udev-builtin: move definitions related to builtin commands to udev-builtin.h

This commit is contained in:
Yu Watanabe 2018-08-29 16:12:22 +09:00
parent 7d68eb1bdf
commit 07a26e42da
20 changed files with 103 additions and 70 deletions

View File

@ -28,6 +28,7 @@ libudev_core_sources = '''
udev-watch.c
udev-watch.h
udev-builtin.c
udev-builtin.h
udev-builtin-btrfs.c
udev-builtin-hwdb.c
udev-builtin-input_id.c

View File

@ -23,7 +23,8 @@
#include "gpt.h"
#include "parse-util.h"
#include "string-util.h"
#include "udev.h"
#include "strxcpyx.h"
#include "udev-builtin.h"
static void print_property(struct udev_device *dev, bool test, const char *name, const char *value) {
char s[256];

View File

@ -11,7 +11,9 @@
#include "fd-util.h"
#include "missing.h"
#include "string-util.h"
#include "udev.h"
#include "strxcpyx.h"
#include "udev-builtin.h"
#include "util.h"
static int builtin_btrfs(struct udev_device *dev, int argc, char *argv[], bool test) {
struct btrfs_ioctl_vol_args args = {};

View File

@ -9,9 +9,10 @@
#include "alloc-util.h"
#include "hwdb-util.h"
#include "libudev-private.h"
#include "parse-util.h"
#include "string-util.h"
#include "udev.h"
#include "udev-builtin.h"
static sd_hwdb *hwdb;

View File

@ -19,7 +19,7 @@
#include "missing.h"
#include "stdio-util.h"
#include "string-util.h"
#include "udev.h"
#include "udev-builtin.h"
#include "util.h"
/* we must use this kernel-compatible implementation */

View File

@ -1,5 +1,7 @@
/* SPDX-License-Identifier: LGPL-2.1+ */
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@ -10,7 +12,8 @@
#include "parse-util.h"
#include "stdio-util.h"
#include "string-util.h"
#include "udev.h"
#include "strxcpyx.h"
#include "udev-builtin.h"
static const struct key_name *keyboard_lookup_key(const char *str, GPERF_LEN_TYPE len);
#include "keyboard-keys-from-name.h"

View File

@ -13,7 +13,7 @@
#include "module-util.h"
#include "string-util.h"
#include "udev.h"
#include "udev-builtin.h"
static struct kmod_ctx *ctx = NULL;

View File

@ -101,14 +101,18 @@
#include <unistd.h>
#include <linux/pci_regs.h>
#include "alloc-util.h"
#include "dirent-util.h"
#include "fd-util.h"
#include "fileio.h"
#include "fs-util.h"
#include "libudev-private.h"
#include "parse-util.h"
#include "stdio-util.h"
#include "string-util.h"
#include "udev.h"
#include "strv.h"
#include "strxcpyx.h"
#include "udev-builtin.h"
#define ONBOARD_INDEX_MAX (16*1024-1)

View File

@ -4,7 +4,7 @@
#include "libudev-device-internal.h"
#include "link-config.h"
#include "log.h"
#include "udev.h"
#include "udev-builtin.h"
static link_config_ctx *ctx = NULL;

View File

@ -18,9 +18,11 @@
#include "alloc-util.h"
#include "dirent-util.h"
#include "fd-util.h"
#include "libudev-private.h"
#include "string-util.h"
#include "strv.h"
#include "sysexits.h"
#include "udev.h"
#include "udev-builtin.h"
_printf_(2,3)
static void path_prepend(char **path, const char *fmt, ...) {

View File

@ -6,13 +6,14 @@
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include "sd-login.h"
#include "login-util.h"
#include "logind-acl.h"
#include "udev.h"
#include "util.h"
#include "log.h"
#include "udev-builtin.h"
static int builtin_uaccess(struct udev_device *dev, int argc, char *argv[], bool test) {
int r;

View File

@ -17,8 +17,9 @@
#include "alloc-util.h"
#include "fd-util.h"
#include "libudev-private.h"
#include "string-util.h"
#include "udev.h"
#include "udev-builtin.h"
static void set_usb_iftype(char *to, int if_class_num, size_t len) {
const char *type = "generic";

View File

@ -5,6 +5,7 @@
#include <string.h>
#include "string-util.h"
#include "udev-builtin.h"
#include "udev.h"
static bool initialized;

67
src/udev/udev-builtin.h Normal file
View File

@ -0,0 +1,67 @@
/* SPDX-License-Identifier: GPL-2.0+ */
#pragma once
#include <stdbool.h>
#include "libudev.h"
enum udev_builtin_cmd {
#if HAVE_BLKID
UDEV_BUILTIN_BLKID,
#endif
UDEV_BUILTIN_BTRFS,
UDEV_BUILTIN_HWDB,
UDEV_BUILTIN_INPUT_ID,
UDEV_BUILTIN_KEYBOARD,
#if HAVE_KMOD
UDEV_BUILTIN_KMOD,
#endif
UDEV_BUILTIN_NET_ID,
UDEV_BUILTIN_NET_LINK,
UDEV_BUILTIN_PATH_ID,
UDEV_BUILTIN_USB_ID,
#if HAVE_ACL
UDEV_BUILTIN_UACCESS,
#endif
UDEV_BUILTIN_MAX
};
struct udev_builtin {
const char *name;
int (*cmd)(struct udev_device *dev, int argc, char *argv[], bool test);
const char *help;
int (*init)(void);
void (*exit)(void);
bool (*validate)(void);
bool run_once;
};
#if HAVE_BLKID
extern const struct udev_builtin udev_builtin_blkid;
#endif
extern const struct udev_builtin udev_builtin_btrfs;
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;
#if 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_net_setup_link;
extern const struct udev_builtin udev_builtin_path_id;
extern const struct udev_builtin udev_builtin_usb_id;
#if HAVE_ACL
extern const struct udev_builtin udev_builtin_uaccess;
#endif
void udev_builtin_init(void);
void udev_builtin_exit(void);
enum udev_builtin_cmd udev_builtin_lookup(const char *command);
const char *udev_builtin_name(enum udev_builtin_cmd cmd);
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);
void udev_builtin_list(void);
bool udev_builtin_validate(void);
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);

View File

@ -24,6 +24,7 @@
#include "process-util.h"
#include "signal-util.h"
#include "string-util.h"
#include "udev-builtin.h"
#include "udev-node.h"
#include "udev-watch.h"
#include "udev.h"

View File

@ -28,6 +28,7 @@
#include "string-util.h"
#include "strv.h"
#include "sysctl-util.h"
#include "udev-builtin.h"
#include "udev.h"
#include "user-util.h"
#include "util.h"

View File

@ -77,63 +77,6 @@ void udev_event_execute_rules(struct udev_event *event,
struct udev_rules *rules);
void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, usec_t timeout_warn_usec);
/* built-in commands */
enum udev_builtin_cmd {
#if HAVE_BLKID
UDEV_BUILTIN_BLKID,
#endif
UDEV_BUILTIN_BTRFS,
UDEV_BUILTIN_HWDB,
UDEV_BUILTIN_INPUT_ID,
UDEV_BUILTIN_KEYBOARD,
#if HAVE_KMOD
UDEV_BUILTIN_KMOD,
#endif
UDEV_BUILTIN_NET_ID,
UDEV_BUILTIN_NET_LINK,
UDEV_BUILTIN_PATH_ID,
UDEV_BUILTIN_USB_ID,
#if HAVE_ACL
UDEV_BUILTIN_UACCESS,
#endif
UDEV_BUILTIN_MAX
};
struct udev_builtin {
const char *name;
int (*cmd)(struct udev_device *dev, int argc, char *argv[], bool test);
const char *help;
int (*init)(void);
void (*exit)(void);
bool (*validate)(void);
bool run_once;
};
#if HAVE_BLKID
extern const struct udev_builtin udev_builtin_blkid;
#endif
extern const struct udev_builtin udev_builtin_btrfs;
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;
#if 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_net_setup_link;
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_uaccess;
void udev_builtin_init(void);
void udev_builtin_exit(void);
enum udev_builtin_cmd udev_builtin_lookup(const char *command);
const char *udev_builtin_name(enum udev_builtin_cmd cmd);
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);
void udev_builtin_list(void);
bool udev_builtin_validate(void);
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);
/* Cleanup functions */
DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_event*, udev_event_unref);
DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_rules*, udev_rules_unref);

View File

@ -6,9 +6,11 @@
#include <stdio.h>
#include <stdlib.h>
#include "libudev-private.h"
#include "path-util.h"
#include "string-util.h"
#include "udev.h"
#include "strxcpyx.h"
#include "udev-builtin.h"
#include "udevadm.h"
static const char *arg_command = NULL;

View File

@ -13,6 +13,7 @@
#include <unistd.h>
#include "string-util.h"
#include "udev-builtin.h"
#include "udev.h"
#include "udevadm.h"

View File

@ -52,6 +52,7 @@
#include "socket-util.h"
#include "string-util.h"
#include "terminal-util.h"
#include "udev-builtin.h"
#include "udev-ctrl.h"
#include "udev-util.h"
#include "udev-watch.h"