chiark / gitweb /
[PATCH] udev_volume_id: volume_id v38
[elogind.git] / udev.h
diff --git a/udev.h b/udev.h
index 5beec645572b121ba6f3c2d1a84f343447f581f2..811439faf2a5ee37e6e9f3debd2cbe6a6509f550 100644 (file)
--- a/udev.h
+++ b/udev.h
@@ -4,6 +4,7 @@
  * Userspace devfs
  *
  * Copyright (C) 2003 Greg Kroah-Hartman <greg@kroah.com>
+ * Copyright (C) 2003-2005 Kay Sievers <kay.sievers@vrfy.org>
  *
  *     This program is free software; you can redistribute it and/or modify it
  *     under the terms of the GNU General Public License as published by the
 #include <sys/types.h>
 #include <sys/param.h>
 #include "libsysfs/sysfs/libsysfs.h"
+#include "list.h"
 
 #define ALARM_TIMEOUT                  120
 #define COMMENT_CHARACTER              '#'
 
+#define LINE_SIZE                      512
 #define NAME_SIZE                      256
 #define USER_SIZE                      32
 
 #define SUBSYSTEM_SIZE                 32
 #define SEQNUM_SIZE                    32
 
-#define LINE_SIZE                      512
-
 #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
+
+enum device_type {
+       UNKNOWN,
+       CLASS,
+       BLOCK,
+       NET,
+       PHYSDEV,
+};
+
 struct udevice {
        char devpath[DEVPATH_SIZE];
        char subsystem[SUBSYSTEM_SIZE];
 
        char name[NAME_SIZE];
-       char symlink[NAME_SIZE];
+       char devname[NAME_SIZE];
+       struct list_head symlink_list;
        char owner[USER_SIZE];
        char group[USER_SIZE];
        mode_t mode;
        char type;
-       int major;
-       int minor;
+       dev_t devt;
 
-       char devname[NAME_SIZE];
        char tmp_node[NAME_SIZE];
        int partitions;
        int ignore_remove;
@@ -77,7 +87,7 @@ 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, int major, int minor, mode_t mode, uid_t uid, gid_t gid);
+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[SYSFS_PATH_MAX];
 extern char udev_root[PATH_MAX];