#ifndef INCfuncptrh #define INCfuncptrh /* These typedefs have been taken out of common.h. This is a kludge really. There is another version of commonh.h used for GANIL's Hermes package that does not have the typedefs. In order to include the typedefs we have to explicitly include this header file from those source files that are compiled with the GANIL Hermes/include directory in its path before our standard place (/eurogam/include) */ #ifdef __cplusplus typedef int (*FUNCPTR) (...); /* ptr to function returning int */ typedef void (*VOIDFUNCPTR) (...); /* ptr to function returning void */ typedef double (*DBLFUNCPTR) (...); /* ptr to function returning double*/ typedef float (*FLTFUNCPTR) (...); /* ptr to function returning float */ #else /* we did specify (void) for the argument type - but that isn't always *true and yet we want FUNCPTRs to be general. */ typedef int (*FUNCPTR) (); /* ptr to function returning int */ typedef void (*VOIDFUNCPTR) (); /* ptr to function returning void */ typedef double (*DBLFUNCPTR) (); /* ptr to function returning double*/ typedef float (*FLTFUNCPTR) (); /* ptr to function returning float */ #endif /* _cplusplus */ /* The following are not funcptrs but are added here for the same reason - * they have to go somewhere so this'll have to do :-) */ /* storage class specifier definitions */ #ifdef WIN32 #define DLLEXPORT __declspec(dllexport) #define DLLIMPORT __declspec(dllimport) #define IMPORT extern #else #define DLLEXPORT #define DLLIMPORT extern #define IMPORT extern #endif #endif