1 /* HEXTAPI.H (c) Copyright Roger Bowler & Others, 2005-2009 */ 2 /* Definition of Hercules External (public) APIs */ 3 4 /********************************************************/ 5 /* This file originally written by Ivan Warren */ 6 /* THE STATE OF THIS API IS NOT YET FINALIZED */ 7 /* AND THEREFORE, THE INTERFACE MAY CHANGE */ 8 /********************************************************/ 9 10 #ifndef _HEXTAPI_H_ 11 #define _HEXTAPI_H_ 12 13 #if defined(_MSVC_) && defined(HERC_DLL_BUILD) 14 #define DLL_IMPORT __declspec(dllimport) 15 #else 16 #define DLL_IMPORT extern 17 #endif 18 19 typedef void (*LOGCALLBACK)(const char *,size_t); 20 typedef void (*COMMANDHANDLER)(void *); 21 22 #ifdef __cplusplus 23 extern "C" { 24 #endif 25 26 /* LOG Callback */ 27 DLL_IMPORT void registerLogCallback(LOGCALLBACK); 28 /* Panel Commands */ 29 DLL_IMPORT COMMANDHANDLER getCommandHandler(void); 30 /* IMPL */ 31 DLL_IMPORT int impl(int ac,char **av); 32 #ifdef __cplusplus 33 } 34 #endif 35 36 #endif 37