/* SmallEiffel Dynamic Linking header */ typedef void*(*FeatureMapFunc)(char *Subclass, char *Feature); #define MAP_FEATURE(func,sc,f) ((FeatureMapFunc)(func))(sc,f) typedef void (*InitSERuntimeFunc)(int argc, char *argv[]); #define INIT_SE_RUNTIME(func,argc,argv) ((InitSERuntimeFunc)(func))(argc,argv) typedef void*(*AnyFunc)(); #define CALL_FUNC_0(targ,func) ((AnyFunc)(func))(targ) #define CALL_FUNC_1(targ,func,a1) ((AnyFunc)(func))((targ),a1) #define CALL_FUNC_2(targ,func,a1,a2) ((AnyFunc)(func))((targ),a1,a2) #define CALL_FUNC_3(targ,func,a1,a2,a3) ((AnyFunc)(func))((targ),a1,a2,a3) typedef void (*AnyProc)(); #define CALL_PROC_0(targ,proc) ((AnyProc)(proc))(targ) #define CALL_PROC_1(targ,proc,a1) ((AnyProc)(proc))((targ),a1) #define CALL_PROC_2(targ,proc,a1,a2) ((AnyProc)(proc))((targ),a1,a2) #define CALL_PROC_3(targ,proc,a1,a2,a3) ((AnyProc)(proc))((targ),a1,a2,a3)