1%language=ANSI-C 2%define hash-function-name is_reserved_hash 3%define lookup-function-name is_reserved_word 4%{ 5struct resword; 6static const struct resword *is_reserved_word(register const char *str, register unsigned int len); 7%} 8struct resword { const char *name; int token; } 9%% 10EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW 11EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW 12EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW 13EXPORT_UNUSED_SYMBOL, EXPORT_SYMBOL_KEYW 14EXPORT_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__typeof, TYPEOF_KEYW 27__typeof__, TYPEOF_KEYW 28__volatile, VOLATILE_KEYW 29__volatile__, VOLATILE_KEYW 30# According to rth, c99 defines _Bool, __restrict, __restrict__, restrict. KAO 31_Bool, BOOL_KEYW 32_restrict, RESTRICT_KEYW 33__restrict__, RESTRICT_KEYW 34restrict, RESTRICT_KEYW 35asm, ASM_KEYW 36# attribute commented out in modutils 2.4.2. People are using 'attribute' as a 37# field name which breaks the genksyms parser. It is not a gcc keyword anyway. 38# KAO. 39# attribute, ATTRIBUTE_KEYW 40auto, AUTO_KEYW 41char, CHAR_KEYW 42const, CONST_KEYW 43double, DOUBLE_KEYW 44enum, ENUM_KEYW 45extern, EXTERN_KEYW 46float, FLOAT_KEYW 47inline, INLINE_KEYW 48int, INT_KEYW 49long, LONG_KEYW 50register, REGISTER_KEYW 51short, SHORT_KEYW 52signed, SIGNED_KEYW 53static, STATIC_KEYW 54struct, STRUCT_KEYW 55typedef, TYPEDEF_KEYW 56typeof, TYPEOF_KEYW 57union, UNION_KEYW 58unsigned, UNSIGNED_KEYW 59void, VOID_KEYW 60volatile, VOLATILE_KEYW 61