]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - include/linux/kobject_uevent.h
Linux-2.6.12-rc2
[mirror_ubuntu-artful-kernel.git] / include / linux / kobject_uevent.h
1 /*
2 * kobject_uevent.h - list of kobject user events that can be generated
3 *
4 * Copyright (C) 2004 IBM Corp.
5 * Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
6 *
7 * This file is released under the GPLv2.
8 *
9 */
10
11 #ifndef _KOBJECT_EVENT_H_
12 #define _KOBJECT_EVENT_H_
13
14 #define HOTPLUG_PATH_LEN 256
15
16 /* path to the hotplug userspace helper executed on an event */
17 extern char hotplug_path[];
18
19 /*
20 * If you add an action here, you must also add the proper string to the
21 * lib/kobject_uevent.c file.
22 */
23 typedef int __bitwise kobject_action_t;
24 enum kobject_action {
25 KOBJ_ADD = (__force kobject_action_t) 0x01, /* add event, for hotplug */
26 KOBJ_REMOVE = (__force kobject_action_t) 0x02, /* remove event, for hotplug */
27 KOBJ_CHANGE = (__force kobject_action_t) 0x03, /* a sysfs attribute file has changed */
28 KOBJ_MOUNT = (__force kobject_action_t) 0x04, /* mount event for block devices */
29 KOBJ_UMOUNT = (__force kobject_action_t) 0x05, /* umount event for block devices */
30 KOBJ_OFFLINE = (__force kobject_action_t) 0x06, /* offline event for hotplug devices */
31 KOBJ_ONLINE = (__force kobject_action_t) 0x07, /* online event for hotplug devices */
32 };
33
34
35 #ifdef CONFIG_KOBJECT_UEVENT
36 int kobject_uevent(struct kobject *kobj,
37 enum kobject_action action,
38 struct attribute *attr);
39 int kobject_uevent_atomic(struct kobject *kobj,
40 enum kobject_action action,
41 struct attribute *attr);
42 #else
43 static inline int kobject_uevent(struct kobject *kobj,
44 enum kobject_action action,
45 struct attribute *attr)
46 {
47 return 0;
48 }
49 static inline int kobject_uevent_atomic(struct kobject *kobj,
50 enum kobject_action action,
51 struct attribute *attr)
52 {
53 return 0;
54 }
55 #endif
56
57 #endif