#include "libsysfs/sysfs/libsysfs.h"
#include "list.h"
-#define ALARM_TIMEOUT 120
#define COMMENT_CHARACTER '#'
-
#define LINE_SIZE 512
#define NAME_SIZE 128
#define PATH_SIZE 256
#define SEQNUM_SIZE 32
#define VALUE_SIZE 128
-#define DEVD_DIR "/etc/dev.d"
-#define DEVD_SUFFIX ".dev"
-
-#define HOTPLUGD_DIR "/etc/hotplug.d"
-#define HOTPLUG_SUFFIX ".hotplug"
-
#define DEFAULT_PARTITIONS_COUNT 15
+#define UDEV_ALARM_TIMEOUT 120
enum device_type {
- UNKNOWN,
- CLASS,
- BLOCK,
- NET,
- PHYSDEV,
+ DEV_UNKNOWN,
+ DEV_CLASS,
+ DEV_BLOCK,
+ DEV_NET,
+ DEV_DEVICE,
};
struct udevice {
char devpath[PATH_SIZE];
char subsystem[NAME_SIZE];
+ char action[NAME_SIZE];
+ enum device_type type;
char name[PATH_SIZE];
char devname[PATH_SIZE];
struct list_head symlink_list;
+ int symlink_final;
char owner[USER_SIZE];
+ int owner_final;
char group[USER_SIZE];
+ int group_final;
mode_t mode;
- char type;
+ int mode_final;
dev_t devt;
+ struct list_head run_list;
+ int run_final;
+ struct list_head env_list;
char tmp_node[PATH_SIZE];
int partitions;
+ int ignore_device;
int ignore_remove;
int config_line;
char config_file[PATH_SIZE];
extern int udev_remove_device(struct udevice *udev);
extern void udev_init_config(void);
extern int udev_start(void);
-extern void udev_multiplex_directory(struct udevice *udev, const char *basedir, const char *suffix);
extern int udev_make_node(struct udevice *udev, const char *file, dev_t devt, mode_t mode, uid_t uid, gid_t gid);
extern char sysfs_path[PATH_SIZE];
extern char udev_db_path[PATH_SIZE];
extern char udev_config_filename[PATH_SIZE];
extern char udev_rules_filename[PATH_SIZE];
-extern int udev_log;
-extern int udev_dev_d;
-extern int udev_hotplug_d;
+extern int udev_log_priority;
+extern int udev_run;
#endif