chiark / gitweb /
substitute format chars in RUN after rule matching
[elogind.git] / udev_rules.h
index 3f37d4b0b4d3345089dda3ebe512d9015d5daa3e..b183d9b5316eeedad11f7db8046596c06292bf8a 100644 (file)
@@ -1,9 +1,8 @@
 /*
  * udev_rules.h
  *
- * Userspace devfs
- *
- * Copyright (C) 2003,2004 Greg Kroah-Hartman <greg@kroah.com>
+ * Copyright (C) 2003-2004 Greg Kroah-Hartman <greg@kroah.com>
+ * Copyright (C) 2004-2005 Kay Sievers <kay.sievers@vrfy.org>
  *
  *     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
@@ -23,7 +22,6 @@
 #ifndef UDEV_RULES_H
 #define UDEV_RULES_H
 
-#include "libsysfs/sysfs/libsysfs.h"
 #include "udev.h"
 #include "list.h"
 
@@ -62,6 +60,8 @@ enum import_type {
 };
 
 struct udev_rule {
+       struct key label;
+       struct key goto_label;
        struct key kernel_name;
        struct key subsystem;
        struct key action;
@@ -99,17 +99,19 @@ struct udev_rules {
        char *buf;
        size_t bufsize;
        size_t current;
-       int mapped;
        int resolve_names;
 };
 
 extern int udev_rules_init(struct udev_rules *rules, int resolve_names);
-extern void udev_rules_close(struct udev_rules *rules);
+extern void udev_rules_cleanup(struct udev_rules *rules);
+
+extern void apply_format(struct udevice *udev, char *string, size_t maxsize);
 
 extern void udev_rules_iter_init(struct udev_rules *rules);
 extern struct udev_rule *udev_rules_iter_next(struct udev_rules *rules);
+extern struct udev_rule *udev_rules_iter_label(struct udev_rules *rules, const char *label);
 
-extern int udev_rules_get_name(struct udev_rules *rules, struct udevice *udev, struct sysfs_class_device *class_dev);
-extern int udev_rules_get_run(struct udev_rules *rules, struct udevice *udev, struct sysfs_device *sysfs_device);
+extern int udev_rules_get_name(struct udev_rules *rules, struct udevice *udev);
+extern int udev_rules_get_run(struct udev_rules *rules, struct udevice *udev);
 
 #endif