Linux-2.6.12-rc2
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / include / linux / kobject_uevent.h
blobaa664fe7e56182cca2f32885840eafabc4dadaa5
1 /*
2 * kobject_uevent.h - list of kobject user events that can be generated
4 * Copyright (C) 2004 IBM Corp.
5 * Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
7 * This file is released under the GPLv2.
9 */
11 #ifndef _KOBJECT_EVENT_H_
12 #define _KOBJECT_EVENT_H_
14 #define HOTPLUG_PATH_LEN 256
16 /* path to the hotplug userspace helper executed on an event */
17 extern char hotplug_path[];
20 * If you add an action here, you must also add the proper string to the
21 * lib/kobject_uevent.c file.
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 */
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)
47 return 0;
49 static inline int kobject_uevent_atomic(struct kobject *kobj,
50 enum kobject_action action,
51 struct attribute *attr)
53 return 0;
55 #endif
57 #endif