X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=udev.h;h=811439faf2a5ee37e6e9f3debd2cbe6a6509f550;hb=30c6b4c9a22edc76b2e8335edbdf157dd51241eb;hp=5beec645572b121ba6f3c2d1a84f343447f581f2;hpb=c1ab046124ebef3c82950b91ccfd1678d9f7fe5b;p=elogind.git diff --git a/udev.h b/udev.h index 5beec6455..811439faf 100644 --- a/udev.h +++ b/udev.h @@ -4,6 +4,7 @@ * Userspace devfs * * Copyright (C) 2003 Greg Kroah-Hartman + * Copyright (C) 2003-2005 Kay Sievers * * 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 @@ -26,10 +27,12 @@ #include #include #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 @@ -38,28 +41,35 @@ #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];