chiark / gitweb /
add builtin load/unload initializers
[elogind.git] / udev / udev.h
index 402c738aee99f35e14c4199bf751d0fd932170f7..a07c525a89431ec7f12a57273e8023218014b462 100644 (file)
@@ -102,6 +102,7 @@ struct udev_ctrl *udev_ctrl_new_from_fd(struct udev *udev, int fd);
 int udev_ctrl_enable_receiving(struct udev_ctrl *uctrl);
 struct udev_ctrl *udev_ctrl_ref(struct udev_ctrl *uctrl);
 struct udev_ctrl *udev_ctrl_unref(struct udev_ctrl *uctrl);
+int udev_ctrl_cleanup(struct udev_ctrl *uctrl);
 struct udev *udev_ctrl_get_udev(struct udev_ctrl *uctrl);
 int udev_ctrl_get_fd(struct udev_ctrl *uctrl);
 int udev_ctrl_send_set_log_level(struct udev_ctrl *uctrl, int priority, int timeout);
@@ -149,20 +150,29 @@ enum udev_builtin_cmd {
        UDEV_BUILTIN_PATH_ID,
        UDEV_BUILTIN_USB_ID,
        UDEV_BUILTIN_INPUT_ID,
-       UDEV_BUILTIN_MODALIAS_MATCH,
+       UDEV_BUILTIN_BLKID,
+       UDEV_BUILTIN_KMOD,
        UDEV_BUILTIN_MAX
 };
 struct udev_builtin {
        const char *name;
-       int (*cmd)(struct udev_device *dev, bool test);
+       int (*cmd)(struct udev_device *dev, const char *command, bool test);
        const char *help;
+       int (*load)(struct udev *udev);
+       int (*unload)(struct udev *udev);
+       bool run_once;
 };
 extern const struct udev_builtin udev_builtin_path_id;
 extern const struct udev_builtin udev_builtin_usb_id;
 extern const struct udev_builtin udev_builtin_input_id;
-enum udev_builtin_cmd udev_builtin_lookup(const char *name);
+extern const struct udev_builtin udev_builtin_blkid;
+extern const struct udev_builtin udev_builtin_kmod;
+int udev_builtin_load(struct udev *udev);
+int udev_builtin_unload(struct udev *udev);
+enum udev_builtin_cmd udev_builtin_lookup(const char *command);
 const char *udev_builtin_name(enum udev_builtin_cmd cmd);
-int udev_builtin_run(struct udev_device *dev, enum udev_builtin_cmd cmd, bool test);
+bool udev_builtin_run_once(enum udev_builtin_cmd cmd);
+int udev_builtin_run(struct udev_device *dev, enum udev_builtin_cmd cmd, const char *command, bool test);
 int udev_builtin_list(struct udev *udev);
 int udev_builtin_add_property(struct udev_device *dev, bool test, const char *key, const char *val, ...);
 #endif