diff options
Diffstat (limited to 'include/linux/parser.h')
-rw-r--r-- | include/linux/parser.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/linux/parser.h b/include/linux/parser.h new file mode 100644 index 000000000000..fa3332861a09 --- /dev/null +++ b/include/linux/parser.h | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | * linux/include/linux/parser.h | ||
3 | * | ||
4 | * Header for lib/parser.c | ||
5 | * Intended use of these functions is parsing filesystem argument lists, | ||
6 | * but could potentially be used anywhere else that simple option=arg | ||
7 | * parsing is required. | ||
8 | */ | ||
9 | |||
10 | |||
11 | /* associates an integer enumerator with a pattern string. */ | ||
12 | struct match_token { | ||
13 | int token; | ||
14 | char *pattern; | ||
15 | }; | ||
16 | |||
17 | typedef struct match_token match_table_t[]; | ||
18 | |||
19 | /* Maximum number of arguments that match_token will find in a pattern */ | ||
20 | enum {MAX_OPT_ARGS = 3}; | ||
21 | |||
22 | /* Describe the location within a string of a substring */ | ||
23 | typedef struct { | ||
24 | char *from; | ||
25 | char *to; | ||
26 | } substring_t; | ||
27 | |||
28 | int match_token(char *, match_table_t table, substring_t args[]); | ||
29 | int match_int(substring_t *, int *result); | ||
30 | int match_octal(substring_t *, int *result); | ||
31 | int match_hex(substring_t *, int *result); | ||
32 | void match_strcpy(char *, substring_t *); | ||
33 | char *match_strdup(substring_t *); | ||