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