X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udev.h;h=5ecef4abbda3ae17778b0ac9f3f077e934555c6c;hb=655a8acf920cd43356003b4499e545a7b2fcc402;hp=f13eb8366eaa6f5707974b2abc22535efb4413a5;hpb=254d6d3ca2188a396706b363d0840431d360fbd9;p=elogind.git diff --git a/udev.h b/udev.h index f13eb8366..5ecef4abb 100644 --- a/udev.h +++ b/udev.h @@ -39,7 +39,7 @@ #define ALLOWED_CHARS_INPUT ALLOWED_CHARS_FILE " $%?," #define DEFAULT_PARTITIONS_COUNT 15 -#define UDEV_ALARM_TIMEOUT 180 +#define UDEV_EVENT_TIMEOUT 180 #define UDEV_MAX(a,b) ((a) > (b) ? (a) : (b)) @@ -47,9 +47,12 @@ #define READ_END 0 #define WRITE_END 1 +#define UDEV_ROOT "/dev" #define DB_DIR ".udev/db" #define DB_NAME_INDEX_DIR ".udev/names" +#define RULES_LIB_DIR "/lib/udev/rules.d" #define RULES_DYN_DIR ".udev/rules.d" +#define RULES_ETC_DIR "/etc/udev/rules.d" struct udev_rules; @@ -69,6 +72,7 @@ struct udevice { struct sysfs_device dev_local; struct sysfs_device *dev_parent; /* current parent device used for matching */ char action[NAME_SIZE]; + char *devpath_old; /* node */ char name[PATH_SIZE]; @@ -92,6 +96,7 @@ struct udevice { int ignore_remove; char program_result[PATH_SIZE]; int link_priority; + int event_timeout; int test_run; }; @@ -131,6 +136,7 @@ extern int udev_node_remove(struct udevice *udev); /* udev_db.c */ extern int udev_db_add_device(struct udevice *dev); extern int udev_db_delete_device(struct udevice *dev); +extern int udev_db_rename(const char *devpath_old, const char *devpath); extern int udev_db_get_device(struct udevice *udev, const char *devpath); extern int udev_db_get_devices_by_name(const char *name, struct list_head *name_list); extern int udev_db_get_all_entries(struct list_head *name_list); @@ -167,4 +173,12 @@ extern void file_unmap(void *buf, size_t bufsize); extern int unlink_secure(const char *filename); extern size_t buf_get_line(const char *buf, size_t buflen, size_t cur); +/* udev commands */ +extern int udevmonitor(int argc, char *argv[], char *envp[]); +extern int udevinfo(int argc, char *argv[], char *envp[]); +extern int udevcontrol(int argc, char *argv[], char *envp[]); +extern int udevtrigger(int argc, char *argv[], char *envp[]); +extern int udevsettle(int argc, char *argv[], char *envp[]); +extern int udevtest(int argc, char *argv[], char *envp[]); + #endif