| | 125 | ////////////////////////////////////////////////////////////////////////// |
| | 126 | |
| | 127 | extern "C" |
| | 128 | { |
| | 129 | typedef void (* CRecordFunction) (void); |
| | 130 | } |
| | 131 | |
| | 132 | struct RecordFunctionProxy |
| | 133 | { |
| | 134 | RecordFunctionProxy(CRecordFunction function) { (function)(); } |
| | 135 | }; |
| | 136 | |
| | 137 | #define USE_FLTRECORD(recname, opcode) \ |
| | 138 | extern "C" void osgfltrec_##recname_##opcode(void); \ |
| | 139 | static flt::RecordFunctionProxy proxy_fltrecord_##recname_##opcode(osgfltrec_##recname_##opcode); |
| | 140 | |
| | 141 | #define REGISTER_FLTRECORD(recname, opcode) \ |
| | 142 | extern "C" void osgfltrec_##recname_##opcode(void) {} \ |
| | 143 | static flt::RegisterRecordProxy<recname> g_proxy_fltrecord_##recname_##opcode(opcode); |
| | 144 | |
| | 145 | |