X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fudev%2Fudev.h;h=c9408f2d463a8f24c21c97ef0b923a14c912e7df;hp=ed5f768ea8aacba18e9be57e83e9c7e04c395727;hb=9d7d42bc406a2ac04639674281ce3ff6beeda790;hpb=6ada823a9a0979ea145fd70add1007c21caa45c0 diff --git a/src/udev/udev.h b/src/udev/udev.h index ed5f768ea..c9408f2d4 100644 --- a/src/udev/udev.h +++ b/src/udev/udev.h @@ -1,6 +1,6 @@ /* * Copyright (C) 2003 Greg Kroah-Hartman - * Copyright (C) 2003-2010 Kay Sievers + * Copyright (C) 2003-2010 Kay Sievers * * 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 @@ -16,15 +16,18 @@ * along with this program. If not, see . */ -#ifndef _UDEV_H_ -#define _UDEV_H_ +#pragma once #include #include #include +#include "macro.h" #include "libudev.h" #include "libudev-private.h" +#include "util.h" +#include "label.h" +#include "strv.h" struct udev_event { struct udev *udev; @@ -38,15 +41,17 @@ struct udev_event { gid_t gid; struct udev_list run_list; int exec_delay; - unsigned long long birth_usec; - unsigned long long timeout_usec; + usec_t birth_usec; + usec_t timeout_usec; int fd_signal; unsigned int builtin_run; unsigned int builtin_ret; bool sigterm; bool inotify_watch; bool inotify_watch_final; + bool group_set; bool group_final; + bool owner_set; bool owner_final; bool mode_set; bool mode_final; @@ -90,7 +95,7 @@ void udev_watch_end(struct udev *udev, struct udev_device *dev); struct udev_device *udev_watch_lookup(struct udev *udev, int wd); /* udev-node.c */ -void udev_node_add(struct udev_device *dev, mode_t mode, uid_t uid, gid_t gid); +void udev_node_add(struct udev_device *dev, bool apply, mode_t mode, uid_t uid, gid_t gid); void udev_node_remove(struct udev_device *dev); void udev_node_update_old_links(struct udev_device *dev, struct udev_device *dev_old); @@ -131,13 +136,21 @@ int udev_ctrl_get_set_children_max(struct udev_ctrl_msg *ctrl_msg); /* built-in commands */ enum udev_builtin_cmd { +#ifdef HAVE_BLKID UDEV_BUILTIN_BLKID, +#endif + UDEV_BUILTIN_BTRFS, +#ifdef HAVE_FIRMWARE UDEV_BUILTIN_FIRMWARE, +#endif + UDEV_BUILTIN_HWDB, UDEV_BUILTIN_INPUT_ID, + UDEV_BUILTIN_KEYBOARD, +#ifdef HAVE_KMOD UDEV_BUILTIN_KMOD, +#endif + UDEV_BUILTIN_NET_ID, UDEV_BUILTIN_PATH_ID, - UDEV_BUILTIN_PCI_DB, - UDEV_BUILTIN_USB_DB, UDEV_BUILTIN_USB_ID, #ifdef HAVE_ACL UDEV_BUILTIN_UACCESS, @@ -153,16 +166,24 @@ struct udev_builtin { bool (*validate)(struct udev *udev); bool run_once; }; +#ifdef HAVE_BLKID extern const struct udev_builtin udev_builtin_blkid; +#endif +extern const struct udev_builtin udev_builtin_btrfs; +#ifdef HAVE_FIRMWARE extern const struct udev_builtin udev_builtin_firmware; +#endif +extern const struct udev_builtin udev_builtin_hwdb; extern const struct udev_builtin udev_builtin_input_id; +extern const struct udev_builtin udev_builtin_keyboard; +#ifdef HAVE_KMOD extern const struct udev_builtin udev_builtin_kmod; +#endif +extern const struct udev_builtin udev_builtin_net_id; extern const struct udev_builtin udev_builtin_path_id; -extern const struct udev_builtin udev_builtin_pci_db; -extern const struct udev_builtin udev_builtin_usb_db; extern const struct udev_builtin udev_builtin_usb_id; extern const struct udev_builtin udev_builtin_uaccess; -int udev_builtin_init(struct udev *udev); +void udev_builtin_init(struct udev *udev); void udev_builtin_exit(struct udev *udev); enum udev_builtin_cmd udev_builtin_lookup(const char *command); const char *udev_builtin_name(enum udev_builtin_cmd cmd); @@ -171,11 +192,13 @@ int udev_builtin_run(struct udev_device *dev, enum udev_builtin_cmd cmd, const c void udev_builtin_list(struct udev *udev); bool udev_builtin_validate(struct udev *udev); int udev_builtin_add_property(struct udev_device *dev, bool test, const char *key, const char *val); +int udev_builtin_hwdb_lookup(struct udev_device *dev, const char *prefix, const char *modalias, + const char *filter, bool test); /* udev logging */ void udev_main_log(struct udev *udev, int priority, const char *file, int line, const char *fn, - const char *format, va_list args); + const char *format, va_list args) _printf_attr_(6, 0); /* udevadm commands */ struct udevadm_cmd { @@ -189,6 +212,6 @@ extern const struct udevadm_cmd udevadm_trigger; extern const struct udevadm_cmd udevadm_settle; extern const struct udevadm_cmd udevadm_control; extern const struct udevadm_cmd udevadm_monitor; +extern const struct udevadm_cmd udevadm_hwdb; extern const struct udevadm_cmd udevadm_test; extern const struct udevadm_cmd udevadm_test_builtin; -#endif