|
|
//
// DEFS.H Common macros for the Local Fax Project.
//
// History:
// 2/27/94 JosephJ Created.
//
#define MAX_PATHNAME_SIZE 128
#if defined(DEBUG)
# define DEBUG_CODE // debug-related functionality (the "Test" menu)
# define USE_IPC // Enable IPC communication.
# define ENABLE_LOGGING
# define ASSERT(cond)\
if(!(cond)){LOG_ERR((_ERR, "**** ASSERTION FAILURE *** %s:%d",\ (LPSTR)__FILE__, (int)__LINE__));}
#else // DEBUG
# define ASSERT(cond)\
LOGSTMT({if (!(cond)) {LOG_ERR((_ERR, "Assert Fail %s:%d",\ (LPSTR)__FILE__, (int)__LINE__));}})
#endif // !DEBUG
#ifdef WIN32
#define MYFAR
#else
#define MYFAR __far
#endif
// Logging related.
#ifdef ENABLE_LOGGING
//# define COMPNAME "xxx"
//# define SUBCOMPNAME "yyy"
//# define FUNCNAME "zzz"
# define _WRN "<<WRN>>", COMPNAME, SUBCOMPNAME, FUNCNAME
# define _ERR "<<ERR>>", COMPNAME, SUBCOMPNAME, FUNCNAME
# define _MSG "Message", COMPNAME, SUBCOMPNAME, FUNCNAME
# define _ENTRY " Enter", COMPNAME, SUBCOMPNAME, FUNCNAME
# define _EXITS " Exit", COMPNAME, SUBCOMPNAME, FUNCNAME
# define _EXITF "Exit(FAIL)", COMPNAME, SUBCOMPNAME, FUNCNAME
# define _TS NULL, NULL, NULL, NULL
# define LOGSTMT(expr) expr
// +++ following are old style, should be replaced by LOG(..) macro below
# define LOG_MSG(args) log_log args
# define ODS(str) OutputDebugString(str)
# define LOG_ENTRY(str) log_log(_ENTRY, "%s", str)
# define LOG_EXIT_SUCCESS(str) log_log(_EXITS, "%s", str)
# define LOG_EXIT_FAILURE(str) log_log(_EXITF, "%s", str)
# define LOG_ERR(args) log_log args
# define LOG_WRN(args) log_log args
# define LOG(args) log_log args
#define MYCDECL __cdecl
#define MYLPSTR char MYFAR *
#ifndef _DEF_FILE_
void MYFAR MYCDECL log_log( MYLPSTR lpszComp, MYLPSTR lpszSubComp, MYLPSTR lpszFunc, MYLPSTR lpszType, MYLPSTR lpszFmt, ... ); #endif // _DEF_FILE_
#else // !ENABLE_LOGGING
# define LOGSTMT(expr)
# define LOG_MSG(args)
# define ODS(str)
# define LOG_ENTRY(str)
# define LOG_EXIT_SUCCESS(str)
# define LOG_EXIT_FAILURE(str)
# define LOG_ERR(args)
# define LOG_WRN(args)
# define LOG(args)
#endif // !ENABLE_LOGGING
# define POLLREQ // Poll request
#ifndef _DEF_FILE_
typedef unsigned int MYFAR * LPUINT; #endif // _DEF_FILE_
#ifdef WIN32
#define TAPI
#define MYWEP \
int _export CALLBACK WEP(int type)
#define MYLIBMAIN \
int _export CALLBACK WEP(int type); \ BOOL _export WINAPI LibMain(HINSTANCE hinst, DWORD dwReason, LPVOID lpv)
#define MYLIBSTARTUP(_szName) \
LOG_MSG((_MSG, "LibMain called reason=%lu.P=0x%lx.T=0x%lx\r\n",\ (unsigned long) dwReason,\ (unsigned long) GetCurrentProcessId(),\ (unsigned long) GetCurrentThreadId()\ ));\ if(dwReason==DLL_THREAD_ATTACH || dwReason==DLL_THREAD_DETACH) \ return TRUE; \ if(dwReason==DLL_PROCESS_DETACH) \ return WEP(0);\ if(dwReason==DLL_PROCESS_ATTACH && (_szName)) \ { \ HMODULE hM = GetModuleHandle(_szName); \ if (hM) DisableThreadLibraryCalls(hM); \ }
#define MYLIBSHUTDOWN
#define ADAPTIVE_ANSWER
#else // !WIN32
#define MYWEP \
int __export WINAPI WEP (int nParam)
#define MYLIBMAIN \
int __export WINAPI WEP (int nParam);\ BOOL _export WINAPI LibMain(HINSTANCE hinst, DWORD dwReason, LPVOID lpv)
#define MYLIBSTARTUP() \
if (wHeapSize > 0) UnlockData(0);
#endif // !WIN32
|