summaryrefslogtreecommitdiffstats
path: root/init/ueventd_keywords.h
diff options
context:
space:
mode:
authorGreg Hackmann <ghackmann@google.com>2013-11-18 15:24:40 -0800
committerGreg Hackmann <ghackmann@google.com>2013-11-26 13:18:23 -0800
commit3312aa8379d877044def52f3b3be5c912a5e61a2 (patch)
tree5a6ddb2bcffa458e69c4d789b6683207e0318354 /init/ueventd_keywords.h
parentf6e009ee2650d8812942aa7f5761e86402346739 (diff)
downloadsystem_core-3312aa8379d877044def52f3b3be5c912a5e61a2.zip
system_core-3312aa8379d877044def52f3b3be5c912a5e61a2.tar.gz
system_core-3312aa8379d877044def52f3b3be5c912a5e61a2.tar.bz2
init: add subsystem rules to ueventd.rc
By default ueventd creates device nodes under /dev based on the ueventd DEVPATH. Several subsystems have special rules which are hardcoded in devices.c. Moving forward these special rules should go in ueventd.rc. Special rules have the syntax: subsystem <s> devname (uevent_devname|uevent_devpath) [dirname <dir>] Devices matching SUBSYSTEM=<s> will be populated under <dir>. dirname is optional and defaults to /dev. If dirname is provided, <dir> must start with "/". If devname is uevent_devname, ueventd will create the device node as <dir>/DEVNAME. DEVNAME may include intermediate subdirectories, which ueventd will automatically create. If devname is uevent_devpath, ueventd will use the legacy behavior of computing DEVPATH_BASE=basepath(DEVPATH), and creating the device node as <dir>/DEVPATH_BASE. The new parsing code is based on init_parser.c, with small tweaks to handle commands which don't fall under a section header. Change-Id: I3bd1b59d7e62dfc9d289cf6ae889e237fb5bd7c5 Signed-off-by: Greg Hackmann <ghackmann@google.com>
Diffstat (limited to 'init/ueventd_keywords.h')
-rw-r--r--init/ueventd_keywords.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/init/ueventd_keywords.h b/init/ueventd_keywords.h
new file mode 100644
index 0000000..88e8f01
--- /dev/null
+++ b/init/ueventd_keywords.h
@@ -0,0 +1,15 @@
+#ifndef KEYWORD
+#define __MAKE_KEYWORD_ENUM__
+#define KEYWORD(symbol, flags, nargs) K_##symbol,
+enum {
+ K_UNKNOWN,
+#endif
+ KEYWORD(subsystem, SECTION, 1)
+ KEYWORD(devname, OPTION, 1)
+ KEYWORD(dirname, OPTION, 1)
+#ifdef __MAKE_KEYWORD_ENUM__
+ KEYWORD_COUNT,
+};
+#undef __MAKE_KEYWORD_ENUM__
+#undef KEYWORD
+#endif