1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
| static struct kconf_id kconf_id_array[] = {
| { "mainmenu", T_MAINMENU, TF_COMMAND },
| { "menu", T_MENU, TF_COMMAND },
| { "endmenu", T_ENDMENU, TF_COMMAND },
| { "source", T_SOURCE, TF_COMMAND },
| { "choice", T_CHOICE, TF_COMMAND },
| { "endchoice", T_ENDCHOICE, TF_COMMAND },
| { "comment", T_COMMENT, TF_COMMAND },
| { "config", T_CONFIG, TF_COMMAND },
| { "menuconfig", T_MENUCONFIG, TF_COMMAND },
| { "help", T_HELP, TF_COMMAND },
| { "---help---", T_HELP, TF_COMMAND },
| { "if", T_IF, TF_COMMAND|TF_PARAM },
| { "endif", T_ENDIF, TF_COMMAND },
| { "depends", T_DEPENDS, TF_COMMAND },
| { "optional", T_OPTIONAL, TF_COMMAND },
| { "default", T_DEFAULT, TF_COMMAND, S_UNKNOWN },
| { "prompt", T_PROMPT, TF_COMMAND },
| { "tristate", T_TYPE, TF_COMMAND, S_TRISTATE },
| { "def_tristate", T_DEFAULT, TF_COMMAND, S_TRISTATE },
| { "bool", T_TYPE, TF_COMMAND, S_BOOLEAN },
| { "def_bool", T_DEFAULT, TF_COMMAND, S_BOOLEAN },
| { "int", T_TYPE, TF_COMMAND, S_INT },
| { "hex", T_TYPE, TF_COMMAND, S_HEX },
| { "string", T_TYPE, TF_COMMAND, S_STRING },
| { "select", T_SELECT, TF_COMMAND },
| { "imply", T_IMPLY, TF_COMMAND },
| { "range", T_RANGE, TF_COMMAND },
| { "visible", T_VISIBLE, TF_COMMAND },
| { "option", T_OPTION, TF_COMMAND },
| { "on", T_ON, TF_PARAM },
| { "modules", T_OPT_MODULES, TF_OPTION },
| { "defconfig_list", T_OPT_DEFCONFIG_LIST, TF_OPTION },
| { "allnoconfig_y", T_OPT_ALLNOCONFIG_Y, TF_OPTION },
| };
|
| #define KCONF_ID_ARRAY_SIZE (sizeof(kconf_id_array)/sizeof(struct kconf_id))
|
| static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len)
| {
| int i;
|
| for (i = 0; i < KCONF_ID_ARRAY_SIZE; i++) {
| struct kconf_id *id = kconf_id_array+i;
| int l = strlen(id->name);
|
| if (len == l && !memcmp(str, id->name, len))
| return id;
| }
| return NULL;
| }
|
|