chiark / gitweb /
[PATCH] don't sleep if 'dev' file is already present on device add.
[elogind.git] / udevdb.h
1 /*
2  * udevdb header file
3  */
4 #ifndef _UDEVDB_H_
5 #define _UDEVDB_H_
6
7 #define UDEV_DB         "udevdb.tdb" 
8
9 #define PATH_SIZE       256
10
11 #define UDEVDB_DEL      "#"
12
13 /* Udevdb initialization flags */
14 #define UDEVDB_DEFAULT  0       /* Defaults database to use file */
15 #define UDEVDB_INTERNAL 1       /* Don't store db on disk, use in memory */
16
17 struct udevice {
18         char name[NAME_SIZE];
19         char sysfs_dev_path[PATH_SIZE];
20         char class_dev_name[NAME_SIZE];
21         char class_name[NAME_SIZE];
22         char bus_id[NAME_SIZE];
23         char bus_name[NAME_SIZE];
24         char type;
25         int major;
26         int minor;
27         mode_t mode;
28 };
29
30 /* Function Prototypes */
31 extern void udevdb_exit(void);
32 extern int udevdb_init(int init_flag);
33 extern int udevdb_delete_udevice(const char *name);
34 extern int udevdb_add_device(const char *device, const struct sysfs_class_device *class_dev, const char *name, char type, int major, int minor, int mode);
35 extern struct udevice *udevdb_get_udevice(const char *name);
36 extern char *udevdb_get_udevice_by_sysfs(const char *path);
37 extern int udevdb_get_dev(const char *path, char *name, size_t name_size);
38 extern int udevdb_delete_dev(const char *path);
39
40 #endif /* _UDEVDB_H_ */