blob: 4055d5de1750261453c46d752f09ace7b17df74d [file] [log] [blame]
Adrian Bunk9649ef82008-01-23 01:54:39 +02001/* ANSI-C code produced by gperf version 3.0.3 */
Roman Zippel7a884882005-11-08 21:34:51 -08002/* Command-line: gperf */
3/* Computed positions: -k'1,3' */
4
5#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
6 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
7 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
8 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
9 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
10 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
11 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
12 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
13 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
14 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
15 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
16 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
17 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
18 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
19 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
20 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
21 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
22 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
23 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
24 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
25 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
26 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
27 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
28/* The character set is not based on ISO-646. */
29#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
30#endif
31
32struct kconf_id;
Josh Triplett65166572009-10-15 12:13:36 -070033
34static struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
Arnaud Lacombe09899c92010-11-06 18:30:24 -030035/* maximum key range = 50, duplicates = 0 */
Roman Zippel7a884882005-11-08 21:34:51 -080036
37#ifdef __GNUC__
38__inline
39#else
40#ifdef __cplusplus
41inline
42#endif
43#endif
44static unsigned int
45kconf_id_hash (register const char *str, register unsigned int len)
46{
47 static unsigned char asso_values[] =
48 {
Arnaud Lacombe09899c92010-11-06 18:30:24 -030049 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
50 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
51 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
52 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
53 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
54 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
55 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
56 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
57 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
58 52, 52, 52, 52, 52, 52, 52, 52, 40, 5,
59 0, 0, 5, 52, 0, 20, 52, 52, 10, 20,
60 5, 0, 35, 52, 0, 30, 0, 15, 0, 52,
61 15, 52, 52, 52, 52, 52, 52, 52, 52, 52,
62 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
63 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
64 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
65 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
66 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
67 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
68 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
69 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
70 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
71 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
72 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
73 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
74 52, 52, 52, 52, 52, 52
Roman Zippel7a884882005-11-08 21:34:51 -080075 };
76 register int hval = len;
77
78 switch (hval)
79 {
80 default:
81 hval += asso_values[(unsigned char)str[2]];
82 /*FALLTHROUGH*/
83 case 2:
84 case 1:
85 hval += asso_values[(unsigned char)str[0]];
86 break;
87 }
88 return hval;
89}
90
91struct kconf_id_strings_t
92 {
Roman Zippelf6a88aa2006-06-08 22:12:44 -070093 char kconf_id_strings_str2[sizeof("on")];
Roman Zippel93449082008-01-14 04:50:54 +010094 char kconf_id_strings_str3[sizeof("env")];
Sam Ravnborg14f31562007-09-26 20:15:39 +020095 char kconf_id_strings_str5[sizeof("endif")];
96 char kconf_id_strings_str6[sizeof("option")];
97 char kconf_id_strings_str7[sizeof("endmenu")];
98 char kconf_id_strings_str8[sizeof("optional")];
99 char kconf_id_strings_str9[sizeof("endchoice")];
Roman Zippel7a884882005-11-08 21:34:51 -0800100 char kconf_id_strings_str10[sizeof("range")];
Sam Ravnborg14f31562007-09-26 20:15:39 +0200101 char kconf_id_strings_str11[sizeof("choice")];
102 char kconf_id_strings_str12[sizeof("default")];
103 char kconf_id_strings_str13[sizeof("def_bool")];
104 char kconf_id_strings_str14[sizeof("help")];
Sam Ravnborg14f31562007-09-26 20:15:39 +0200105 char kconf_id_strings_str16[sizeof("config")];
106 char kconf_id_strings_str17[sizeof("def_tristate")];
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300107 char kconf_id_strings_str18[sizeof("hex")];
Sam Ravnborg14f31562007-09-26 20:15:39 +0200108 char kconf_id_strings_str19[sizeof("defconfig_list")];
Sam Ravnborg14f31562007-09-26 20:15:39 +0200109 char kconf_id_strings_str22[sizeof("if")];
110 char kconf_id_strings_str23[sizeof("int")];
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700111 char kconf_id_strings_str27[sizeof("modules")];
Sam Ravnborg14f31562007-09-26 20:15:39 +0200112 char kconf_id_strings_str28[sizeof("tristate")];
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700113 char kconf_id_strings_str29[sizeof("menu")];
Sam Ravnborg14f31562007-09-26 20:15:39 +0200114 char kconf_id_strings_str32[sizeof("comment")];
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700115 char kconf_id_strings_str35[sizeof("menuconfig")];
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300116 char kconf_id_strings_str36[sizeof("string")];
117 char kconf_id_strings_str37[sizeof("visible")];
118 char kconf_id_strings_str41[sizeof("prompt")];
119 char kconf_id_strings_str42[sizeof("depends")];
120 char kconf_id_strings_str44[sizeof("bool")];
121 char kconf_id_strings_str46[sizeof("select")];
122 char kconf_id_strings_str47[sizeof("boolean")];
Sam Ravnborg14f31562007-09-26 20:15:39 +0200123 char kconf_id_strings_str48[sizeof("mainmenu")];
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300124 char kconf_id_strings_str51[sizeof("source")];
Roman Zippel7a884882005-11-08 21:34:51 -0800125 };
126static struct kconf_id_strings_t kconf_id_strings_contents =
127 {
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700128 "on",
Roman Zippel93449082008-01-14 04:50:54 +0100129 "env",
Sam Ravnborg14f31562007-09-26 20:15:39 +0200130 "endif",
131 "option",
132 "endmenu",
133 "optional",
134 "endchoice",
135 "range",
136 "choice",
Roman Zippel7a884882005-11-08 21:34:51 -0800137 "default",
138 "def_bool",
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700139 "help",
Sam Ravnborg14f31562007-09-26 20:15:39 +0200140 "config",
141 "def_tristate",
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300142 "hex",
Sam Ravnborg14f31562007-09-26 20:15:39 +0200143 "defconfig_list",
Sam Ravnborg14f31562007-09-26 20:15:39 +0200144 "if",
145 "int",
Sam Ravnborg14f31562007-09-26 20:15:39 +0200146 "modules",
147 "tristate",
148 "menu",
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700149 "comment",
Sam Ravnborg14f31562007-09-26 20:15:39 +0200150 "menuconfig",
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300151 "string",
152 "visible",
Sam Ravnborg14f31562007-09-26 20:15:39 +0200153 "prompt",
154 "depends",
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300155 "bool",
156 "select",
157 "boolean",
158 "mainmenu",
159 "source"
Roman Zippel7a884882005-11-08 21:34:51 -0800160 };
161#define kconf_id_strings ((const char *) &kconf_id_strings_contents)
162#ifdef __GNUC__
163__inline
Adrian Bunk9649ef82008-01-23 01:54:39 +0200164#ifdef __GNUC_STDC_INLINE__
165__attribute__ ((__gnu_inline__))
166#endif
Roman Zippel7a884882005-11-08 21:34:51 -0800167#endif
168struct kconf_id *
169kconf_id_lookup (register const char *str, register unsigned int len)
170{
171 enum
172 {
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300173 TOTAL_KEYWORDS = 32,
Roman Zippel7a884882005-11-08 21:34:51 -0800174 MIN_WORD_LENGTH = 2,
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700175 MAX_WORD_LENGTH = 14,
Roman Zippel7a884882005-11-08 21:34:51 -0800176 MIN_HASH_VALUE = 2,
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300177 MAX_HASH_VALUE = 51
Roman Zippel7a884882005-11-08 21:34:51 -0800178 };
179
180 static struct kconf_id wordlist[] =
181 {
182 {-1}, {-1},
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700183 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2, T_ON, TF_PARAM},
Roman Zippel93449082008-01-14 04:50:54 +0100184 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str3, T_OPT_ENV, TF_OPTION},
185 {-1},
Sam Ravnborg14f31562007-09-26 20:15:39 +0200186 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str5, T_ENDIF, TF_COMMAND},
187 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str6, T_OPTION, TF_COMMAND},
188 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7, T_ENDMENU, TF_COMMAND},
189 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8, T_OPTIONAL, TF_COMMAND},
190 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str9, T_ENDCHOICE, TF_COMMAND},
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700191 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str10, T_RANGE, TF_COMMAND},
Sam Ravnborg14f31562007-09-26 20:15:39 +0200192 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str11, T_CHOICE, TF_COMMAND},
193 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12, T_DEFAULT, TF_COMMAND, S_UNKNOWN},
194 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13, T_DEFAULT, TF_COMMAND, S_BOOLEAN},
195 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14, T_HELP, TF_COMMAND},
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300196 {-1},
Sam Ravnborg14f31562007-09-26 20:15:39 +0200197 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16, T_CONFIG, TF_COMMAND},
198 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_DEFAULT, TF_COMMAND, S_TRISTATE},
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300199 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_TYPE, TF_COMMAND, S_HEX},
Sam Ravnborg14f31562007-09-26 20:15:39 +0200200 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str19, T_OPT_DEFCONFIG_LIST,TF_OPTION},
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300201 {-1}, {-1},
Sam Ravnborg14f31562007-09-26 20:15:39 +0200202 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_IF, TF_COMMAND|TF_PARAM},
203 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_TYPE, TF_COMMAND, S_INT},
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300204 {-1}, {-1}, {-1},
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700205 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27, T_OPT_MODULES, TF_OPTION},
Sam Ravnborg14f31562007-09-26 20:15:39 +0200206 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28, T_TYPE, TF_COMMAND, S_TRISTATE},
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700207 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29, T_MENU, TF_COMMAND},
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300208 {-1}, {-1},
Sam Ravnborg14f31562007-09-26 20:15:39 +0200209 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_COMMENT, TF_COMMAND},
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300210 {-1}, {-1},
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700211 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_MENUCONFIG, TF_COMMAND},
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300212 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_TYPE, TF_COMMAND, S_STRING},
213 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37, T_VISIBLE, TF_COMMAND},
214 {-1}, {-1}, {-1},
215 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41, T_PROMPT, TF_COMMAND},
216 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str42, T_DEPENDS, TF_COMMAND},
Roman Zippelf6a88aa2006-06-08 22:12:44 -0700217 {-1},
Arnaud Lacombe09899c92010-11-06 18:30:24 -0300218 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str44, T_TYPE, TF_COMMAND, S_BOOLEAN},
219 {-1},
220 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46, T_SELECT, TF_COMMAND},
221 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str47, T_TYPE, TF_COMMAND, S_BOOLEAN},
222 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str48, T_MAINMENU, TF_COMMAND},
223 {-1}, {-1},
224 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str51, T_SOURCE, TF_COMMAND}
Roman Zippel7a884882005-11-08 21:34:51 -0800225 };
226
227 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
228 {
229 register int key = kconf_id_hash (str, len);
230
231 if (key <= MAX_HASH_VALUE && key >= 0)
232 {
233 register int o = wordlist[key].name;
234 if (o >= 0)
235 {
236 register const char *s = o + kconf_id_strings;
237
238 if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
239 return &wordlist[key];
240 }
241 }
242 }
243 return 0;
244}
245