Merge branch 'linux-2.6'
[linux-2.6] / scripts / kconfig / zconf.hash.c_shipped
1 /* ANSI-C code produced by gperf version 3.0.3 */
2 /* 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
32 struct kconf_id;
33 /* maximum key range = 47, duplicates = 0 */
34
35 #ifdef __GNUC__
36 __inline
37 #else
38 #ifdef __cplusplus
39 inline
40 #endif
41 #endif
42 static unsigned int
43 kconf_id_hash (register const char *str, register unsigned int len)
44 {
45   static unsigned char asso_values[] =
46     {
47       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
48       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
49       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
50       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
51       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
52       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
53       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
54       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
55       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
56       49, 49, 49, 49, 49, 49, 49, 49, 11,  5,
57        0,  0,  5, 49,  5, 20, 49, 49,  5, 20,
58        5,  0, 30, 49,  0, 15,  0, 10,  0, 49,
59       25, 49, 49, 49, 49, 49, 49, 49, 49, 49,
60       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
61       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
62       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
63       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
64       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
65       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
66       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
67       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
68       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
69       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
70       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
71       49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
72       49, 49, 49, 49, 49, 49
73     };
74   register int hval = len;
75
76   switch (hval)
77     {
78       default:
79         hval += asso_values[(unsigned char)str[2]];
80       /*FALLTHROUGH*/
81       case 2:
82       case 1:
83         hval += asso_values[(unsigned char)str[0]];
84         break;
85     }
86   return hval;
87 }
88
89 struct kconf_id_strings_t
90   {
91     char kconf_id_strings_str2[sizeof("on")];
92     char kconf_id_strings_str3[sizeof("env")];
93     char kconf_id_strings_str5[sizeof("endif")];
94     char kconf_id_strings_str6[sizeof("option")];
95     char kconf_id_strings_str7[sizeof("endmenu")];
96     char kconf_id_strings_str8[sizeof("optional")];
97     char kconf_id_strings_str9[sizeof("endchoice")];
98     char kconf_id_strings_str10[sizeof("range")];
99     char kconf_id_strings_str11[sizeof("choice")];
100     char kconf_id_strings_str12[sizeof("default")];
101     char kconf_id_strings_str13[sizeof("def_bool")];
102     char kconf_id_strings_str14[sizeof("help")];
103     char kconf_id_strings_str15[sizeof("bool")];
104     char kconf_id_strings_str16[sizeof("config")];
105     char kconf_id_strings_str17[sizeof("def_tristate")];
106     char kconf_id_strings_str18[sizeof("boolean")];
107     char kconf_id_strings_str19[sizeof("defconfig_list")];
108     char kconf_id_strings_str21[sizeof("string")];
109     char kconf_id_strings_str22[sizeof("if")];
110     char kconf_id_strings_str23[sizeof("int")];
111     char kconf_id_strings_str26[sizeof("select")];
112     char kconf_id_strings_str27[sizeof("modules")];
113     char kconf_id_strings_str28[sizeof("tristate")];
114     char kconf_id_strings_str29[sizeof("menu")];
115     char kconf_id_strings_str31[sizeof("source")];
116     char kconf_id_strings_str32[sizeof("comment")];
117     char kconf_id_strings_str33[sizeof("hex")];
118     char kconf_id_strings_str35[sizeof("menuconfig")];
119     char kconf_id_strings_str36[sizeof("prompt")];
120     char kconf_id_strings_str37[sizeof("depends")];
121     char kconf_id_strings_str48[sizeof("mainmenu")];
122   };
123 static struct kconf_id_strings_t kconf_id_strings_contents =
124   {
125     "on",
126     "env",
127     "endif",
128     "option",
129     "endmenu",
130     "optional",
131     "endchoice",
132     "range",
133     "choice",
134     "default",
135     "def_bool",
136     "help",
137     "bool",
138     "config",
139     "def_tristate",
140     "boolean",
141     "defconfig_list",
142     "string",
143     "if",
144     "int",
145     "select",
146     "modules",
147     "tristate",
148     "menu",
149     "source",
150     "comment",
151     "hex",
152     "menuconfig",
153     "prompt",
154     "depends",
155     "mainmenu"
156   };
157 #define kconf_id_strings ((const char *) &kconf_id_strings_contents)
158 #ifdef __GNUC__
159 __inline
160 #ifdef __GNUC_STDC_INLINE__
161 __attribute__ ((__gnu_inline__))
162 #endif
163 #endif
164 struct kconf_id *
165 kconf_id_lookup (register const char *str, register unsigned int len)
166 {
167   enum
168     {
169       TOTAL_KEYWORDS = 31,
170       MIN_WORD_LENGTH = 2,
171       MAX_WORD_LENGTH = 14,
172       MIN_HASH_VALUE = 2,
173       MAX_HASH_VALUE = 48
174     };
175
176   static struct kconf_id wordlist[] =
177     {
178       {-1}, {-1},
179       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2,             T_ON,           TF_PARAM},
180       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str3,             T_OPT_ENV,      TF_OPTION},
181       {-1},
182       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str5,             T_ENDIF,        TF_COMMAND},
183       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str6,             T_OPTION,       TF_COMMAND},
184       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7,     T_ENDMENU,      TF_COMMAND},
185       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8,     T_OPTIONAL,     TF_COMMAND},
186       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str9,     T_ENDCHOICE,    TF_COMMAND},
187       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str10,            T_RANGE,        TF_COMMAND},
188       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str11,            T_CHOICE,       TF_COMMAND},
189       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12,    T_DEFAULT,      TF_COMMAND, S_UNKNOWN},
190       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13,    T_DEFAULT,      TF_COMMAND, S_BOOLEAN},
191       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14,            T_HELP,         TF_COMMAND},
192       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str15,            T_TYPE,         TF_COMMAND, S_BOOLEAN},
193       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16,            T_CONFIG,       TF_COMMAND},
194       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17,    T_DEFAULT,      TF_COMMAND, S_TRISTATE},
195       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18,    T_TYPE,         TF_COMMAND, S_BOOLEAN},
196       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str19,    T_OPT_DEFCONFIG_LIST,TF_OPTION},
197       {-1},
198       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21,            T_TYPE,         TF_COMMAND, S_STRING},
199       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22,            T_IF,           TF_COMMAND|TF_PARAM},
200       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23,            T_TYPE,         TF_COMMAND, S_INT},
201       {-1}, {-1},
202       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str26,            T_SELECT,       TF_COMMAND},
203       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27,    T_OPT_MODULES,  TF_OPTION},
204       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28,    T_TYPE,         TF_COMMAND, S_TRISTATE},
205       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29,            T_MENU,         TF_COMMAND},
206       {-1},
207       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31,            T_SOURCE,       TF_COMMAND},
208       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32,    T_COMMENT,      TF_COMMAND},
209       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33,            T_TYPE,         TF_COMMAND, S_HEX},
210       {-1},
211       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35,    T_MENUCONFIG,   TF_COMMAND},
212       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36,            T_PROMPT,       TF_COMMAND},
213       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37,    T_DEPENDS,      TF_COMMAND},
214       {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
215       {-1},
216       {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str48,    T_MAINMENU,     TF_COMMAND}
217     };
218
219   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
220     {
221       register int key = kconf_id_hash (str, len);
222
223       if (key <= MAX_HASH_VALUE && key >= 0)
224         {
225           register int o = wordlist[key].name;
226           if (o >= 0)
227             {
228               register const char *s = o + kconf_id_strings;
229
230               if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
231                 return &wordlist[key];
232             }
233         }
234     }
235   return 0;
236 }
237