]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/udev/udev-builtin.h
0a6dc63ec26e7c299fa4427fe6693fdf051dab25
[thirdparty/systemd.git] / src / udev / udev-builtin.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 #pragma once
3
4 #include <stdbool.h>
5
6 #include "libudev.h"
7
8 enum udev_builtin_cmd {
9 #if HAVE_BLKID
10 UDEV_BUILTIN_BLKID,
11 #endif
12 UDEV_BUILTIN_BTRFS,
13 UDEV_BUILTIN_HWDB,
14 UDEV_BUILTIN_INPUT_ID,
15 UDEV_BUILTIN_KEYBOARD,
16 #if HAVE_KMOD
17 UDEV_BUILTIN_KMOD,
18 #endif
19 UDEV_BUILTIN_NET_ID,
20 UDEV_BUILTIN_NET_LINK,
21 UDEV_BUILTIN_PATH_ID,
22 UDEV_BUILTIN_USB_ID,
23 #if HAVE_ACL
24 UDEV_BUILTIN_UACCESS,
25 #endif
26 UDEV_BUILTIN_MAX
27 };
28
29 struct udev_builtin {
30 const char *name;
31 int (*cmd)(struct udev_device *dev, int argc, char *argv[], bool test);
32 const char *help;
33 int (*init)(void);
34 void (*exit)(void);
35 bool (*validate)(void);
36 bool run_once;
37 };
38
39 #if HAVE_BLKID
40 extern const struct udev_builtin udev_builtin_blkid;
41 #endif
42 extern const struct udev_builtin udev_builtin_btrfs;
43 extern const struct udev_builtin udev_builtin_hwdb;
44 extern const struct udev_builtin udev_builtin_input_id;
45 extern const struct udev_builtin udev_builtin_keyboard;
46 #if HAVE_KMOD
47 extern const struct udev_builtin udev_builtin_kmod;
48 #endif
49 extern const struct udev_builtin udev_builtin_net_id;
50 extern const struct udev_builtin udev_builtin_net_setup_link;
51 extern const struct udev_builtin udev_builtin_path_id;
52 extern const struct udev_builtin udev_builtin_usb_id;
53 #if HAVE_ACL
54 extern const struct udev_builtin udev_builtin_uaccess;
55 #endif
56
57 void udev_builtin_init(void);
58 void udev_builtin_exit(void);
59 enum udev_builtin_cmd udev_builtin_lookup(const char *command);
60 const char *udev_builtin_name(enum udev_builtin_cmd cmd);
61 bool udev_builtin_run_once(enum udev_builtin_cmd cmd);
62 int udev_builtin_run(struct udev_device *dev, enum udev_builtin_cmd cmd, const char *command, bool test);
63 void udev_builtin_list(void);
64 bool udev_builtin_validate(void);
65 int udev_builtin_add_property(struct udev_device *dev, bool test, const char *key, const char *val);
66 int udev_builtin_hwdb_lookup(struct udev_device *dev, const char *prefix, const char *modalias,
67 const char *filter, bool test);