summaryrefslogtreecommitdiffstats
path: root/devices/parser.h
blob: 840ca1b9d477ee56b50984af58ee5993ee71f0bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

#ifndef _PARSERS_H
#define _PARSERS_H

#include <stdarg.h>
#include "message.h"

struct parser {
	char *name;
	int priority;
	int (*parse)(const char *devicepath, const char *mountpoint);
	struct parser *next;
};

enum generic_icon_type {
	ICON_TYPE_DISK,
	ICON_TYPE_USB,
	ICON_TYPE_OPTICAL,
	ICON_TYPE_NETWORK,
	ICON_TYPE_UNKNOWN
};

#define streq(a,b) (!strcasecmp((a),(b)))

/* general functions provided by parsers.c */
void iterate_parsers(const char *devpath, const char *mountpoint);

void free_device(struct device *dev);
void free_boot_option(struct boot_option *opt);

char *join_paths(const char *a, const char *b);

const char *generic_icon_file(enum generic_icon_type type);

/* functions provided by udev-helper or the test wrapper */
void pb_log(const char *fmt, ...);

int mount_device(const char *dev_path);

char *resolve_path(const char *path, const char *default_mountpoint);
const char *mountpoint_for_device(const char *dev_path);

enum generic_icon_type guess_device_type(void);

int add_device(const struct device *dev);
int add_boot_option(const struct boot_option *opt);

#endif /* _PARSERS_H */
OpenPOWER on IntegriCloud