mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-26 14:17:26 -04:00
turn fs_param_is_... into functions
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
48ce73b1be
commit
328de5287b
3 changed files with 139 additions and 129 deletions
|
@ -17,26 +17,18 @@ struct constant_table {
|
|||
int value;
|
||||
};
|
||||
|
||||
struct fs_parameter_spec;
|
||||
struct fs_parse_result;
|
||||
typedef int fs_param_type(struct p_log *,
|
||||
const struct fs_parameter_spec *,
|
||||
struct fs_parameter *,
|
||||
struct fs_parse_result *);
|
||||
/*
|
||||
* The type of parameter expected.
|
||||
*/
|
||||
enum fs_parameter_type {
|
||||
__fs_param_wasnt_defined,
|
||||
fs_param_is_flag,
|
||||
fs_param_is_bool,
|
||||
fs_param_is_u32,
|
||||
fs_param_is_u32_octal,
|
||||
fs_param_is_u32_hex,
|
||||
fs_param_is_s32,
|
||||
fs_param_is_u64,
|
||||
fs_param_is_enum,
|
||||
fs_param_is_string,
|
||||
fs_param_is_blob,
|
||||
fs_param_is_blockdev,
|
||||
fs_param_is_path,
|
||||
fs_param_is_fd,
|
||||
nr__fs_parameter_type,
|
||||
};
|
||||
fs_param_type fs_param_is_bool, fs_param_is_u32, fs_param_is_s32, fs_param_is_u64,
|
||||
fs_param_is_enum, fs_param_is_string, fs_param_is_blob, fs_param_is_blockdev,
|
||||
fs_param_is_path, fs_param_is_fd;
|
||||
|
||||
/*
|
||||
* Specification of the type of value a parameter wants.
|
||||
|
@ -46,8 +38,8 @@ enum fs_parameter_type {
|
|||
*/
|
||||
struct fs_parameter_spec {
|
||||
const char *name;
|
||||
fs_param_type *type; /* The desired parameter type */
|
||||
u8 opt; /* Option number (returned by fs_parse()) */
|
||||
enum fs_parameter_type type:8; /* The desired parameter type */
|
||||
unsigned short flags;
|
||||
#define fs_param_neg_with_no 0x0002 /* "noxxx" is negative param */
|
||||
#define fs_param_neg_with_empty 0x0004 /* "xxx=" is negative param */
|
||||
|
@ -120,16 +112,15 @@ static inline bool fs_validate_description(const char *name,
|
|||
.data = DATA \
|
||||
}
|
||||
|
||||
#define fsparam_flag(NAME, OPT) __fsparam(fs_param_is_flag, NAME, OPT, 0, NULL)
|
||||
#define fsparam_flag(NAME, OPT) __fsparam(NULL, NAME, OPT, 0, NULL)
|
||||
#define fsparam_flag_no(NAME, OPT) \
|
||||
__fsparam(fs_param_is_flag, NAME, OPT, \
|
||||
fs_param_neg_with_no, NULL)
|
||||
__fsparam(NULL, NAME, OPT, fs_param_neg_with_no, NULL)
|
||||
#define fsparam_bool(NAME, OPT) __fsparam(fs_param_is_bool, NAME, OPT, 0, NULL)
|
||||
#define fsparam_u32(NAME, OPT) __fsparam(fs_param_is_u32, NAME, OPT, 0, NULL)
|
||||
#define fsparam_u32oct(NAME, OPT) \
|
||||
__fsparam(fs_param_is_u32_octal, NAME, OPT, 0, NULL)
|
||||
__fsparam(fs_param_is_u32, NAME, OPT, 0, (void *)8)
|
||||
#define fsparam_u32hex(NAME, OPT) \
|
||||
__fsparam(fs_param_is_u32_hex, NAME, OPT, 0, NULL)
|
||||
__fsparam(fs_param_is_u32_hex, NAME, OPT, 0, (void *16))
|
||||
#define fsparam_s32(NAME, OPT) __fsparam(fs_param_is_s32, NAME, OPT, 0, NULL)
|
||||
#define fsparam_u64(NAME, OPT) __fsparam(fs_param_is_u64, NAME, OPT, 0, NULL)
|
||||
#define fsparam_enum(NAME, OPT, array) __fsparam(fs_param_is_enum, NAME, OPT, 0, array)
|
||||
|
@ -140,5 +131,4 @@ static inline bool fs_validate_description(const char *name,
|
|||
#define fsparam_path(NAME, OPT) __fsparam(fs_param_is_path, NAME, OPT, 0, NULL)
|
||||
#define fsparam_fd(NAME, OPT) __fsparam(fs_param_is_fd, NAME, OPT, 0, NULL)
|
||||
|
||||
|
||||
#endif /* _LINUX_FS_PARSER_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue