genksyms: pass hash and lookup functions name and target language though the input...
[linux-2.6.git] / scripts / genksyms / keywords.gperf
1 %language=ANSI-C
2 %define hash-function-name is_reserved_hash
3 %define lookup-function-name is_reserved_word
4 %{
5 struct resword;
6 static const struct resword *is_reserved_word(register const char *str, register unsigned int len);
7 %}
8 struct resword { const char *name; int token; }
9 %%
10 EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW
11 EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
12 EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW
13 EXPORT_UNUSED_SYMBOL, EXPORT_SYMBOL_KEYW
14 EXPORT_UNUSED_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
15 __asm, ASM_KEYW
16 __asm__, ASM_KEYW
17 __attribute, ATTRIBUTE_KEYW
18 __attribute__, ATTRIBUTE_KEYW
19 __const, CONST_KEYW
20 __const__, CONST_KEYW
21 __extension__, EXTENSION_KEYW
22 __inline, INLINE_KEYW
23 __inline__, INLINE_KEYW
24 __signed, SIGNED_KEYW
25 __signed__, SIGNED_KEYW
26 __volatile, VOLATILE_KEYW
27 __volatile__, VOLATILE_KEYW
28 # According to rth, c99 defines _Bool, __restrict, __restrict__, restrict.  KAO
29 _Bool, BOOL_KEYW
30 _restrict, RESTRICT_KEYW
31 __restrict__, RESTRICT_KEYW
32 restrict, RESTRICT_KEYW
33 asm, ASM_KEYW
34 # attribute commented out in modutils 2.4.2.  People are using 'attribute' as a
35 # field name which breaks the genksyms parser.  It is not a gcc keyword anyway.
36 # KAO.
37 #   attribute, ATTRIBUTE_KEYW
38 auto, AUTO_KEYW
39 char, CHAR_KEYW
40 const, CONST_KEYW
41 double, DOUBLE_KEYW
42 enum, ENUM_KEYW
43 extern, EXTERN_KEYW
44 float, FLOAT_KEYW
45 inline, INLINE_KEYW
46 int, INT_KEYW
47 long, LONG_KEYW
48 register, REGISTER_KEYW
49 short, SHORT_KEYW
50 signed, SIGNED_KEYW
51 static, STATIC_KEYW
52 struct, STRUCT_KEYW
53 typedef, TYPEDEF_KEYW
54 union, UNION_KEYW
55 unsigned, UNSIGNED_KEYW
56 void, VOID_KEYW
57 volatile, VOLATILE_KEYW
58 typeof, TYPEOF_KEYW
59 __typeof__, TYPEOF_KEYW