/* The developer of starter/generator must use FuncPar macro to declare each of run-time user-defined functional parameter. */ #ifndef EntryPtr #define EntryPtr(Type,Name,Params) Type (* Name)Params #endif #define FuncParStruct(type,params) \ struct { \ EntryPtr(type,_Ptr,params); \ short _Unique; \ char _Selected; \ } #define FuncPar(type,name,params) \ FuncParStruct(type,params) name #define FuncParActive(fp) (fp._Selected && fp._Ptr) #define FuncParCall(fp) (fp._Ptr)