#undef NAME #undef FIELD #undef END #define NAME(x) typedef struct x##_s { #define FIELD(type, name, def, doc) type##_t name; #define END(x) } x##_t;