/*
* udev.h
*
- * Userspace devfs
- *
* Copyright (C) 2003 Greg Kroah-Hartman <greg@kroah.com>
* Copyright (C) 2003-2005 Kay Sievers <kay.sievers@vrfy.org>
*
#include "libsysfs/sysfs/libsysfs.h"
#include "list.h"
-#define ALARM_TIMEOUT 120
#define COMMENT_CHARACTER '#'
-
+#define PATH_TO_NAME_CHAR '@'
#define LINE_SIZE 512
#define NAME_SIZE 128
#define PATH_SIZE 256
#define VALUE_SIZE 128
#define DEFAULT_PARTITIONS_COUNT 15
+#define UDEV_ALARM_TIMEOUT 180
+
+#define DB_DIR ".udev/db"
+
+struct udev_rules;
enum device_type {
DEV_UNKNOWN,
enum device_type type;
char name[PATH_SIZE];
- int name_set;
- char devname[PATH_SIZE];
struct list_head symlink_list;
int symlink_final;
char owner[USER_SIZE];
int partitions;
int ignore_device;
int ignore_remove;
- int config_line;
- char config_file[PATH_SIZE];
char bus_id[NAME_SIZE];
char program_result[PATH_SIZE];
char kernel_number[NAME_SIZE];
int test_run;
};
+extern int udev_init_device(struct udevice *udev, const char* devpath, const char *subsystem, const char *action);
+extern void udev_cleanup_device(struct udevice *udev);
+extern dev_t get_devt(struct sysfs_class_device *class_dev);
+extern int udev_process_event(struct udev_rules *rules, struct udevice *udev);
extern int udev_add_device(struct udevice *udev, struct sysfs_class_device *class_dev);
extern int udev_remove_device(struct udevice *udev);
extern void udev_init_config(void);
extern int udev_start(void);
extern int udev_make_node(struct udevice *udev, const char *file, dev_t devt, mode_t mode, uid_t uid, gid_t gid);
+extern int udev_db_add_device(struct udevice *dev);
+extern int udev_db_delete_device(struct udevice *dev);
+extern int udev_db_get_device(struct udevice *udev, const char *devpath);
+extern int udev_db_lookup_name(const char *name, char *devpath, size_t len);
+extern int udev_db_get_all_entries(struct list_head *name_list);
+
extern char sysfs_path[PATH_SIZE];
extern char udev_root[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_priority;