#import extern "C" void function1(void *self, uint32_t *arg2, uint32_t * arg3); MACRO1(void, function2, type1 arg1, type2 arg2, const type1 * arg3); MACRO2(status_t, function3, void *arg1, const sp&arg2) { } MACRO2(type4, function4, const void **arg1, type1 arg2, const type3 * arg3, type4 arg4, type4 arg5, bool arg6) { }