I want to have a single macro call which takes in multiple function pointers, and each function pointer is called by a second macro which is a function declaration.
I want two macros on the form
#define FUNCTION_DEF(func) extern int func(void);
#define FUNCTION_DEFS(...) (???)
which is called as such
FUNCTION_DEFS(
    myFunc1,
    myFunc2,
    otherFunc1,
    otherFunc2,
    defaultFunc
)
which expands into
FUNCTION_DEF(myFunc1)
FUNCTION_DEF(myFunc2)
FUNCTION_DEF(otherFunc1)
FUNCTION_DEF(otherFunc2)
FUNCTION_DEF(defaultFunc)
In other words, this single call to FUNCTION_DEFS expands into function declarations of all the variadic arguments. 
Currently I'm just skipping the first step and calling FUNCTION_DEF on each function pointer, however a solution to this would be great.
Is this possible?
Edit:
Thanks to @Vality for introducing me to X-Macro. I found this post "Real-world use of X-Macros" which was exactly what I needed.
 
     
     
    