multipath-tools: add alias_prefix to multipath.conf.5
[multipath-tools/.git] / libmultipath / uevent.h
1 #ifndef _UEVENT_H
2 #define _UEVENT_H
3
4 /*
5  * buffer for environment variables, the kernel's size in
6  * lib/kobject_uevent.c should fit in
7 */
8 #define HOTPLUG_BUFFER_SIZE             2048
9 #define HOTPLUG_NUM_ENVP                32
10 #define OBJECT_SIZE                     512
11
12 #ifndef NETLINK_KOBJECT_UEVENT
13 #define NETLINK_KOBJECT_UEVENT          15
14 #endif
15
16 struct udev;
17
18 struct uevent {
19         struct list_head node;
20         struct udev_device *udev;
21         char buffer[HOTPLUG_BUFFER_SIZE + OBJECT_SIZE];
22         char *devpath;
23         char *action;
24         char *kernel;
25         unsigned long seqnum;
26         char *envp[HOTPLUG_NUM_ENVP];
27 };
28
29 int is_uevent_busy(void);
30 void setup_thread_attr(pthread_attr_t *attr, size_t stacksize, int detached);
31
32 int uevent_listen(struct udev *udev);
33 int uevent_dispatch(int (*store_uev)(struct uevent *, void * trigger_data),
34                     void * trigger_data);
35 int uevent_get_major(struct uevent *uev);
36 int uevent_get_minor(struct uevent *uev);
37 int uevent_get_disk_ro(struct uevent *uev);
38 char *uevent_get_dm_name(struct uevent *uev);
39
40 #endif /* _UEVENT_H */