1 /* SPDX-License-Identifier: GPL-2.0+ */
14 UDEV_BUILTIN_INPUT_ID
,
15 UDEV_BUILTIN_KEYBOARD
,
20 UDEV_BUILTIN_NET_LINK
,
27 _UDEV_BUILTIN_INVALID
= -1,
30 typedef struct UdevBuiltin
{
32 int (*cmd
)(sd_device
*dev
, int argc
, char *argv
[], bool test
);
36 bool (*validate
)(void);
40 #define PTR_TO_UDEV_BUILTIN_CMD(p) ((UdevBuiltinCommand) ((intptr_t) (p)-1))
41 #define UDEV_BUILTIN_CMD_TO_PTR(u) ((void *) ((intptr_t) (u)+1))
44 extern const UdevBuiltin udev_builtin_blkid
;
46 extern const UdevBuiltin udev_builtin_btrfs
;
47 extern const UdevBuiltin udev_builtin_hwdb
;
48 extern const UdevBuiltin udev_builtin_input_id
;
49 extern const UdevBuiltin udev_builtin_keyboard
;
51 extern const UdevBuiltin udev_builtin_kmod
;
53 extern const UdevBuiltin udev_builtin_net_id
;
54 extern const UdevBuiltin udev_builtin_net_setup_link
;
55 extern const UdevBuiltin udev_builtin_path_id
;
56 extern const UdevBuiltin udev_builtin_usb_id
;
58 extern const UdevBuiltin udev_builtin_uaccess
;
61 void udev_builtin_init(void);
62 void udev_builtin_exit(void);
63 UdevBuiltinCommand
udev_builtin_lookup(const char *command
);
64 const char *udev_builtin_name(UdevBuiltinCommand cmd
);
65 bool udev_builtin_run_once(UdevBuiltinCommand cmd
);
66 int udev_builtin_run(sd_device
*dev
, UdevBuiltinCommand cmd
, const char *command
, bool test
);
67 void udev_builtin_list(void);
68 bool udev_builtin_validate(void);
69 int udev_builtin_add_property(sd_device
*dev
, bool test
, const char *key
, const char *val
);
70 int udev_builtin_hwdb_lookup(sd_device
*dev
, const char *prefix
, const char *modalias
,
71 const char *filter
, bool test
);