chiark / gitweb /
selinux: init once in the daemon, not in every event process
[elogind.git] / udev.h
diff --git a/udev.h b/udev.h
index 2652d46ada8d4db45052aa7ed16f8d4c6674dec5..a69ce0893f0a35bfc64aa05047d29f39d50708e5 100644 (file)
--- a/udev.h
+++ b/udev.h
 
 #include "list.h"
 #include "logging.h"
-#include "udev_libc_wrapper.h"
+#include "udev_sysdeps.h"
 #include "udev_version.h"
 
 #define COMMENT_CHARACTER                      '#'
 #define PATH_TO_NAME_CHAR                      '@'
 #define LINE_SIZE                              512
+#define PATH_SIZE                              512
 #define NAME_SIZE                              128
-#define PATH_SIZE                              256
-#define USER_SIZE                              32
-#define SEQNUM_SIZE                            32
 #define VALUE_SIZE                             128
 
 #define DEFAULT_PARTITIONS_COUNT               15
@@ -73,9 +71,9 @@ struct udevice {
        char name[PATH_SIZE];
        struct list_head symlink_list;
        int symlink_final;
-       char owner[USER_SIZE];
+       char owner[NAME_SIZE];
        int owner_final;
-       char group[USER_SIZE];
+       char group[NAME_SIZE];
        int group_final;
        mode_t mode;
        int mode_final;
@@ -111,18 +109,18 @@ extern dev_t udev_device_get_devt(struct udevice *udev);
 extern char sysfs_path[PATH_SIZE];
 extern int sysfs_init(void);
 extern void sysfs_cleanup(void);
-extern void sysfs_device_set_values(struct sysfs_device *dev, const char *devpath, const char *subsystem);
+extern void sysfs_device_set_values(struct sysfs_device *dev, const char *devpath,
+                                   const char *subsystem, const char *driver);
 extern struct sysfs_device *sysfs_device_get(const char *devpath);
 extern struct sysfs_device *sysfs_device_get_parent(struct sysfs_device *dev);
 extern struct sysfs_device *sysfs_device_get_parent_with_subsystem(struct sysfs_device *dev, const char *subsystem);
 extern char *sysfs_attr_get_value(const char *devpath, const char *attr_name);
 
-/* udev_add.c */
-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_add_device(struct udevice *udev);
-
-/* udev_remove.c */
-extern int udev_remove_device(struct udevice *udev);
+/* udev_node.c */
+extern int udev_node_mknod(struct udevice *udev, const char *file, dev_t devt, mode_t mode, uid_t uid, gid_t gid);
+extern int udev_node_add(struct udevice *udev, struct udevice *udev_old);
+extern void udev_node_remove_symlinks(struct udevice *udev);
+extern int udev_node_remove(struct udevice *udev);
 
 /* udev_db.c */
 extern int udev_db_add_device(struct udevice *dev);
@@ -137,8 +135,8 @@ struct name_entry {
        char name[PATH_SIZE];
 };
 extern int log_priority(const char *priority);
-extern int name_list_add(struct list_head *name_list, const char *name, int sort);
-extern int name_list_key_add(struct list_head *name_list, const char *key, const char *value);
+extern char *name_list_add(struct list_head *name_list, const char *name, int sort);
+extern char *name_list_key_add(struct list_head *name_list, const char *key, const char *value);
 extern void name_list_cleanup(struct list_head *name_list);
 extern int add_matching_files(struct list_head *name_list, const char *dirname, const char *suffix);