/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DESCRIPTION : ~~~~~~~~~~~ THIS IS AN EXAMPLE OF ACP HEADER FILES For a given file .h, all occurences of the string HEADERNAME must be replaced with the string . For a given module, all occurences of the string MODULETAG must be replaced with the CPA tag of the module (GLI, MTH ...) . You must do : #define MODULETAG_GLOBALS in one (and only one) .c file of your Module. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /* To avoid unnecessary includes : */ #ifndef __GEO_GEOMEM_H #define __GEO_GEOMEM_H #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* For DLLs who are using this module : */ #undef CPA_EXPORT #if defined(CPA_WANTS_IMPORT) #define CPA_EXPORT __declspec(dllimport) #elif defined(CPA_WANTS_EXPORT) #define CPA_EXPORT __declspec(dllexport) #else #define CPA_EXPORT #endif /* For Global declaration in C files : */ #ifdef GEO_GLOBALS #define __GEO_EXTERN extern #else /* !MODULETAG_GLOBALS */ #define __GEO_EXTERN #endif /* !MODULETAG_GLOBALS */ /* ----------------------------------------------------------------------------- INCLUDES FILES : Include here any other header files of your module you need ! Ex : Note : Do Not include header files from other Modules (do this in C files only) ----------------------------------------------------------------------------- */ #include "ErrGEO.h" #include "MmgGEO.h" /* ----------------------------------------------------------------------------- CONSTANT DECLARATION: Ex : #define MODULETAG_C_LMAX 100 ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- TYPES DEFINITION : Declare here any type you need, and constant you need to do this : Ex : typedef struct MODULETAG_tdstToto_ { long aLMAX_lBuffer[MODULETAG_C_LMAX]; ... } MODULETAG_tdst_Toto ; ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- GLOBAL VARIABLE DECLARATION : Ex : __MODULETAG_EXTERN #ifdef MODULETAG_GLOBALS = #endif ; ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- PUBLIC FUNCTIONS DECLARATION: Ex : extern CPA_EXPORT void MODULETAG_fn_vMyPublicFunction(void); Note : Public functions declaration must be done in PUBLIC HEADER files (.h) in your Inc directory ----------------------------------------------------------------------------- */ extern CPA_EXPORT void GEO_PrintUsedStaticMemory(); extern CPA_EXPORT void GEO_xInitGEOError(); extern CPA_EXPORT void GEO_xCreateMemoryChannel(unsigned char ucChannel,unsigned long ulSize); extern CPA_EXPORT void GEO_xSelectMemoryChannel(unsigned char ucChannel); extern CPA_EXPORT void GEO_xDeleteMemoryChannel(unsigned char ucChannel); extern CPA_EXPORT void GEO_xDeleteMemoryAll(); extern CPA_EXPORT void GEO_xEvalMemorySize(unsigned char ucChannel); extern CPA_EXPORT void GEO_fn_vMemoryLogFile(void *p_vPointer,unsigned char ucAction,char *szFile,unsigned long ulLine,unsigned long ulSize); extern CPA_EXPORT void GEO_fn_vPrintMemoryInformation(void); extern CPA_EXPORT unsigned char GEO_fn_ucGetBlocNumberOf(void *p_vPointer); /* ----------------------------------------------------------------------------- PRIVATE FUNCTIONS DECLARATION: Ex : extern void MODULETAG_fn_vMyPrivateFunction(void); Note : Private functions MUST appear ONLY in PRIVATE HEADER files (.h) in your Src directory with source files (.c) ----------------------------------------------------------------------------- */ #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* __HEADERNAME_H */