| maug
    Quick and dirty C mini-augmentation library. | 

$MAUG_ROOT/tools/serial.c, generates code based on the header files it is pointed at. In general, header files processed by this tool must meet the following requirements:#  define parse_field_type_table( f ) \
      parse_field_type_table_base( f ) \
      f( custom_type_a,              101 ) \
      f( struct custom_type_b,       102 ) \
 In this example, custom_type_a is the name of the type and 101 is its ID. The IDs start from 100 and there can be thousands.If custom_type_a is provided here, a callback of type mserialize_cb_t() and mdeserialize_cb_t() (called mseralize_custom_type_a and mdeserialize_custom_type_b) must be provided by a linked translation unit.For struct custom_type_b, the callbacks would be called mseralize_struct_custom_type_b() and mdeseralize_struct_custom_type_b().