X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udevdb.h;h=6eaeb25668f6a17a92e57ba6c234e3a8fb39a4db;hp=a9ba2f93b466ef15371b8057643e8c66a7c2253b;hb=eb6c7cd03635ffc28798734f0b87b9e21dae6f9e;hpb=dbfc520c605dee3244dbbfd563e908901324689b diff --git a/udevdb.h b/udevdb.h index a9ba2f93b..6eaeb2566 100644 --- a/udevdb.h +++ b/udevdb.h @@ -4,42 +4,19 @@ #ifndef _UDEVDB_H_ #define _UDEVDB_H_ -#include "namedev.h" -#include "udev.h" - -#define UDEVDB "/home/greg/src/udev/udevdb.tdb" - -#define PATH_SIZE 256 - -#define UDEVDB_DEL "#" - /* Udevdb initialization flags */ -#define UDEVDB_DEFAULT 0 /* Defaults database to use file */ -#define UDEVDB_INTERNAL 1 /* Don't store db on disk, use in memory */ - -struct udevice { - char name[NAME_SIZE]; - char sysfs_path[PATH_SIZE]; - char class_dev_name[NAME_SIZE]; - char class_name[NAME_SIZE]; - char bus_id[NAME_SIZE]; - char bus_name[NAME_SIZE]; - char driver[NAME_SIZE]; - char type; - int major; - int minor; - int mode; -}; +#define UDEVDB_DEFAULT 0 /* defaults database to use file */ +#define UDEVDB_INTERNAL 1 /* don't store db on disk, use in memory */ -/* Function Prototypes */ +/* function prototypes */ extern void udevdb_exit(void); extern int udevdb_init(int init_flag); -extern int udevdb_delete_udevice(const char *name); -extern int udevdb_add_udevice(const struct udevice *dev); -extern struct udevice *udevdb_get_udevice(const char *name); -extern struct udevice *udevdb_get_udevice_by_bus(const char *bus, - const char *id); -extern struct udevice *udevdb_get_udevice_by_class(const char *cls, - const char *cls_dev); +extern int udevdb_open_ro(void); +extern int udevdb_call_foreach(int (*user_record_handler) (char *path, struct udevice *dev)); + +extern int udevdb_add_dev(const char *path, const struct udevice *dev); +extern int udevdb_get_dev(const char *path, struct udevice *dev); +extern int udevdb_delete_dev(const char *path); +extern int udevdb_get_dev_byname(const char *name, char *path, struct udevice *dev); #endif /* _UDEVDB_H_ */