| udev_rules.h | | udev_rules.h | |
| | | | |
| skipping to change at line 30 | | skipping to change at line 30 | |
| * | | * | |
| */ | | */ | |
| | | | |
| #ifndef UDEV_RULES_H | | #ifndef UDEV_RULES_H | |
| #define UDEV_RULES_H | | #define UDEV_RULES_H | |
| | | | |
| #include "libsysfs/sysfs/libsysfs.h" | | #include "libsysfs/sysfs/libsysfs.h" | |
| #include "udev.h" | | #include "udev.h" | |
| #include "list.h" | | #include "list.h" | |
| | | | |
|
| #define KEY_KERNEL "KERNEL" | | #define PAIRS_MAX 5 | |
| #define KEY_SUBSYSTEM "SUBSYSTEM" | | | |
| #define KEY_ACTION "ACTION" | | | |
| #define KEY_DEVPATH "DEVPATH" | | | |
| #define KEY_BUS "BUS" | | | |
| #define KEY_ID "ID" | | | |
| #define KEY_PROGRAM "PROGRAM" | | | |
| #define KEY_RESULT "RESULT" | | | |
| #define KEY_DRIVER "DRIVER" | | | |
| #define KEY_SYSFS "SYSFS" | | | |
| #define KEY_ENV "ENV" | | | |
| #define KEY_MODALIAS "MODALIAS" | | | |
| #define KEY_IMPORT "IMPORT" | | | |
| #define KEY_NAME "NAME" | | | |
| #define KEY_SYMLINK "SYMLINK" | | | |
| #define KEY_OWNER "OWNER" | | | |
| #define KEY_GROUP "GROUP" | | | |
| #define KEY_MODE "MODE" | | | |
| #define KEY_RUN "RUN" | | | |
| #define KEY_OPTIONS "OPTIONS" | | | |
| | | | |
| #define OPTION_LAST_RULE "last_rule" | | | |
| #define OPTION_IGNORE_DEVICE "ignore_device" | | | |
| #define OPTION_IGNORE_REMOVE "ignore_remove" | | | |
| #define OPTION_PARTITIONS "all_partitions" | | | |
| | | | |
| #define KEY_SYSFS_PAIRS_MAX 5 | | | |
| #define KEY_ENV_PAIRS_MAX 5 | | | |
| | | | |
| #define RULEFILE_SUFFIX ".rules" | | #define RULEFILE_SUFFIX ".rules" | |
| | | | |
| enum key_operation { | | enum key_operation { | |
| KEY_OP_UNSET, | | KEY_OP_UNSET, | |
| KEY_OP_MATCH, | | KEY_OP_MATCH, | |
| KEY_OP_NOMATCH, | | KEY_OP_NOMATCH, | |
| KEY_OP_ADD, | | KEY_OP_ADD, | |
| KEY_OP_ASSIGN, | | KEY_OP_ASSIGN, | |
| KEY_OP_ASSIGN_FINAL, | | KEY_OP_ASSIGN_FINAL, | |
| }; | | }; | |
| | | | |
|
| struct key_pair { | | struct key { | |
| char name[NAME_SIZE]; | | | |
| char value[VALUE_SIZE]; | | | |
| enum key_operation operation; | | enum key_operation operation; | |
|
| | | size_t val_off; | |
| }; | | }; | |
| | | | |
|
| struct udev_rule { | | struct key_pair { | |
| struct list_head node; | | struct key key; | |
| | | size_t key_name_off; | |
| | | }; | |
| | | | |
|
| char kernel[NAME_SIZE]; | | struct key_pairs { | |
| enum key_operation kernel_operation; | | int count; | |
| char subsystem[NAME_SIZE]; | | struct key_pair keys[PAIRS_MAX]; | |
| enum key_operation subsystem_operation; | | }; | |
| char action[NAME_SIZE]; | | | |
| enum key_operation action_operation; | | | |
| char devpath[PATH_SIZE]; | | | |
| enum key_operation devpath_operation; | | | |
| char bus[NAME_SIZE]; | | | |
| enum key_operation bus_operation; | | | |
| char id[NAME_SIZE]; | | | |
| enum key_operation id_operation; | | | |
| char driver[NAME_SIZE]; | | | |
| enum key_operation driver_operation; | | | |
| char program[PATH_SIZE]; | | | |
| enum key_operation program_operation; | | | |
| char result[PATH_SIZE]; | | | |
| enum key_operation result_operation; | | | |
| struct key_pair sysfs_pair[KEY_SYSFS_PAIRS_MAX]; | | | |
| int sysfs_pair_count; | | | |
| struct key_pair env_pair[KEY_ENV_PAIRS_MAX]; | | | |
| int env_pair_count; | | | |
| char modalias[NAME_SIZE]; | | | |
| enum key_operation modalias_operation; | | | |
| char import[PATH_SIZE]; | | | |
| enum key_operation import_operation; | | | |
| int import_exec; | | | |
| | | | |
|
| char name[PATH_SIZE]; | | struct udev_rule { | |
| enum key_operation name_operation; | | struct key kernel_name; | |
| char symlink[PATH_SIZE]; | | struct key subsystem; | |
| enum key_operation symlink_operation; | | struct key action; | |
| char owner[USER_SIZE]; | | struct key devpath; | |
| enum key_operation owner_operation; | | struct key bus; | |
| char group[USER_SIZE]; | | struct key id; | |
| enum key_operation group_operation; | | struct key driver; | |
| mode_t mode; | | struct key program; | |
| | | struct key result; | |
| | | struct key modalias; | |
| | | struct key import; | |
| | | struct key_pairs sysfs; | |
| | | struct key_pairs env; | |
| | | | |
| | | struct key name; | |
| | | struct key symlink; | |
| | | struct key run; | |
| | | struct key owner; | |
| | | struct key group; | |
| enum key_operation mode_operation; | | enum key_operation mode_operation; | |
|
| char run[PATH_SIZE]; | | mode_t mode; | |
| enum key_operation run_operation; | | | |
| | | | |
|
| int last_rule; | | unsigned int partitions; | |
| int ignore_device; | | unsigned int last_rule:1, | |
| int ignore_remove; | | ignore_device:1, | |
| int partitions; | | ignore_remove:1, | |
| | | import_exec:1; | |
| | | | |
|
| char config_file[PATH_SIZE]; | | size_t bufsize; | |
| int config_line; | | char buf[]; | |
| }; | | }; | |
| | | | |
|
| extern int udev_rules_init(void); | | struct udev_rules { | |
| extern void udev_rules_close(void); | | char *buf; | |
| | | size_t bufsize; | |
| | | size_t current; | |
| | | int mapped; | |
| | | int resolve_names; | |
| | | }; | |
| | | | |
|
| extern int udev_rules_iter_init(void); | | extern int udev_rules_init(struct udev_rules *rules, int resolve_names); | |
| extern struct udev_rule *udev_rules_iter_next(void); | | extern void udev_rules_close(struct udev_rules *rules); | |
| | | | |
|
| extern int udev_rules_get_name(struct udevice *udev, struct sysfs_class_dev | | extern void udev_rules_iter_init(struct udev_rules *rules); | |
| ice *class_dev); | | extern struct udev_rule *udev_rules_iter_next(struct udev_rules *rules); | |
| extern int udev_rules_get_run(struct udevice *udev, struct sysfs_device *sy | | | |
| sfs_device); | | extern int udev_rules_get_name(struct udev_rules *rules, struct udevice *ud | |
| | | ev, struct sysfs_class_device *class_dev); | |
| | | extern int udev_rules_get_run(struct udev_rules *rules, struct udevice *ude | |
| | | v, struct sysfs_device *sysfs_device); | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 12 change blocks. |
| 86 lines changed or deleted | | 55 lines changed or added | |
|
| udev_version.h | | udev_version.h | |
|
| #define UDEV_VERSION "060" | | #define UDEV_VERSION "061" | |
| #define UDEV_ROOT "/udev" | | #define UDEV_ROOT "/dev" | |
| #define UDEV_DB "/udev/.udevdb" | | #define UDEV_DB "/dev/.udevdb" | |
| #define UDEV_CONFIG_DIR "/etc/udev" | | #define UDEV_CONFIG_DIR "/etc/udev" | |
| #define UDEV_CONFIG_FILE "/etc/udev/udev.conf" | | #define UDEV_CONFIG_FILE "/etc/udev/udev.conf" | |
| #define UDEV_RULES_FILE "/etc/udev/rules.d" | | #define UDEV_RULES_FILE "/etc/udev/rules.d" | |
| #define UDEV_BIN "/sbin/udev" | | #define UDEV_BIN "/sbin/udev" | |
| #define UDEVD_BIN "/sbin/udevd" | | #define UDEVD_BIN "/sbin/udevd" | |
| | | | |
End of changes. 1 change blocks. |
| 3 lines changed or deleted | | 3 lines changed or added | |
|