/^TYPEDEF/s/TYPEDEF \(.*\) \([^ ]*\);$/#if defined(__NEED_\2) \&\& !defined(__DEFINED_\2)\ | |
typedef \1 \2;\ | |
#define __DEFINED_\2\ | |
#endif\ | |
/ | |
/^STRUCT/s/STRUCT * \([^ ]*\) \(.*\);$/#if defined(__NEED_struct_\1) \&\& !defined(__DEFINED_struct_\1)\ | |
struct \1 \2;\ | |
#define __DEFINED_struct_\1\ | |
#endif\ | |
/ | |
/^UNION/s/UNION * \([^ ]*\) \(.*\);$/#if defined(__NEED_union_\1) \&\& !defined(__DEFINED_union_\1)\ | |
union \1 \2;\ | |
#define __DEFINED_union_\1\ | |
#endif\ | |
/ |