/*** *common.h * * Copyright (C) 1992, Microsoft Corporation. All Rights Reserved. * Information Contained Herein Is Proprietary and Confidential. * *Purpose: * Definitions that are common to all IDispatch test apps * *Revision History: * * [00] 20-Apr-93 bradlo: Created * *Implementation Notes: * *****************************************************************************/ #if defined(_MAC) #if defined(_PPCMAC) #define OE_MACPPC 1 /* #pragma data_seg("_FAR_DATA") #pragma data_seg( ) */ #define MAXLONG 0x7fffffff #define EventHandlerProcPtr AEEventHandlerUPP #else //_PPCMAC #define GetMenuItemText(mApple,menuItem,daName) GetItem(mApple,menuItem,daName) #define OE_MAC68K 0 #endif //_PPCMAC #define OE_WIN 0 #define OE_WIN16 0 #define OE_WIN32 0 #define OE_MAC 1 typedef int BOOL; typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; #define IfWin(X) #define IfMac(X) (X) #ifdef _MSC_VER # define HC_MSC 1 # define HC_MPW 0 #else # define HC_MSC 0 # define HC_MPW 1 #endif #elif defined(WIN32) #define OE_WIN 1 #define OE_WIN16 0 #define OE_WIN32 1 #define OE_MAC 0 #define OE_MAC68K 0 #define OE_MACPPC 0 #define HC_MPW 0 #define IfWin(X) #define IfMac(X) #else #define OE_WIN 1 #define OE_WIN16 1 #define OE_WIN32 0 #define OE_MAC 0 #define OE_MAC68K 0 #define OE_MACPPC 0 #define HC_MPW 0 #define IfWin(X) (X) #define IfMac(X) #endif #include #include #if OE_MAC # define TRUE 1 # define FALSE 0 # if HC_MPW # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include //# include # else # define __SANE__ # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # ifndef _PPCMAC # include # define pascal _pascal # endif # define far # define FAR far # define near # define NEAR near # define PASCAL pascal # define cdecl _cdecl # define CDECL cdecl # endif # include # include # include #elif OE_WIN32 # define WIN32_LEAN_AND_MEAN # include #else # include # include # include # include #endif #if OE_WIN16 #pragma intrinsic(memcpy) #pragma intrinsic(memcmp) #pragma intrinsic(memset) #pragma intrinsic(strcpy) #pragma intrinsic(_fmemcpy) #pragma intrinsic(_fmemcmp) #pragma intrinsic(_fmemset) #pragma intrinsic(_fstrcpy) # define STRLEN _fstrlen # define STRCPY _fstrcpy # define STRCAT _fstrcat # define STRCHR _fstrchr # define STRREV _fstrrev # define STRUPR _fstrupr # define STRCMP _fstrcmp # define STRNCMP _fstrncmp # define STRSTR _fstrstr # define STRTOD strtod # define SPRINTF sprintf # define TOLOWER tolower # define MEMCPY _fmemcpy # define MEMCMP _fmemcmp # define MEMSET _fmemset # define MEMMOVE _fmemmove # define STRICMP _fstricmp # define OASTR(str) str # define SIZEOFCH(x) sizeof(x) # define TCHAR char # define TSTR(str) str # define STRING(x) (x) # define WIDESTRING(x) (x) #endif #if OE_WIN32 # define MEMCPY memcpy # define MEMCMP memcmp # define MEMSET memset # define MEMMOVE memmove # define STRLEN lstrlen # define STRCPY lstrcpy # define STRCAT lstrcat # define STRCMP lstrcmp # define STRICMP lstrcmpi # if defined(UNICODE) # define STRSTR wcsstr # define STRREV _wcsrev # define STRCHR wcschr # define STRNCMP wcsncmp # define STRTOD wcstod # define STRUPR _wcsupr # define SPRINTF swprintf # define TOLOWER towlower # define SIZEOFCH(x) (sizeof(x)/2) # define OASTR(str) L##str # define TCHAR WCHAR # define TSTR(str) L##str # define STRING(str) (str) # define WIDESTRING(str) (str) # else # define STRSTR strstr # define STRREV _strrev # define STRCHR strchr # define STRNCMP strncmp # define STRTOD strtod # define STRUPR _strupr # define SPRINTF sprintf # define TOLOWER tolower # define SIZEOFCH(x) sizeof(x) # define OASTR(str) str # define TCHAR char # define TSTR(str) str # define STRING(x) DbAnsiString(x) # define WIDESTRING(x) DbWideString(x) # endif #endif #if OE_MAC # define STRLEN strlen # define STRCPY strcpy # define STRCAT strcat # define STRCHR strchr # define STRREV _strrev # define STRUPR _strupr # define STRCMP strcmp # define STRNCMP strncmp # define STRSTR strstr # define STRTOD strtod # define SPRINTF sprintf # define TOLOWER tolower # define MEMCPY memcpy # define MEMCMP memcmp # define MEMSET memset # define MEMMOVE memmove # define SIZEOFCH(x) sizeof(x) # define OASTR(str) str # define TCHAR char # define TSTR(str) str # define STRING(x) (x) # define WIDESTRING(x) (x) # if HC_MPW # define STRICMP disp_stricmp # else # define STRICMP _stricmp # endif #endif #if HC_MPW # define CDECL_(TYPE) TYPE # define PASCAL_(TYPE) pascal TYPE # define UNUSED(X) ((void)&(X)) #else # define CDECL_(TYPE) TYPE __cdecl # define PASCAL_(TYPE) TYPE __pascal # define UNUSED(X) (X) #endif #ifndef NEARDATA # if OE_WIN16 # define NEARDATA __near # else # define NEARDATA # endif #endif #ifndef EXTERN_C # ifdef __cplusplus # define EXTERN_C extern "C" # else # define EXTERN_C extern # endif #endif #ifdef _DEBUG # define LOCAL STDAPI_(void) DispAssert( char FAR* szMsg, char FAR* szFile, int line); # define ASSERT(X) \ if(!(X)){DispAssert(NULL, g_szFileName, __LINE__);}else{} # define ASSERTSZ(X, MSG) \ if(!(X)){DispAssert( MSG, g_szFileName, __LINE__);}else{} # define ASSERTDATA static char g_szFileName[] = __FILE__; #else # define LOCAL static # define ASSERT(X) # define ASSERTSZ(X, SZ) # define ASSERTDATA #endif #ifndef EXPORT # if OE_WIN16 # define EXPORT __export # else # define EXPORT # endif #endif #define UNREACHED 0 #define MAX(X,Y) (((X) >= (Y)) ? (X) : (Y)) #define MIN(X,Y) (((X) <= (Y)) ? (X) : (Y)) #define DIM(X) (sizeof(X) / sizeof(X[0])) #define HRESULT_FAILED(X) ((X) != NOERROR && FAILED(GetScode(X))) #define IfFailGo(expression, label) \ { hresult = (expression); \ if(HRESULT_FAILED(hresult)) \ goto label; \ } #define IfFailRet(expression) \ { HRESULT hresult = (expression); \ if(HRESULT_FAILED(hresult)) \ return hresult; \ } #define RESULT(X) ResultFromScode(X) // common\disphelp.cpp // STDAPI CreateObject(OLECHAR FAR* szClassName, IDispatch FAR* FAR* ppdisp); // common\util.cpp #if HC_MPW int _stricmp(char*, char*); char *_strupr(char*); #endif STDAPI ErrBstrAlloc(OLECHAR FAR* sz, BSTR FAR* pbstrOut); // NLS functions #if !OE_WIN32 #ifdef _PPCMAC #undef CompareString #endif #define CompareString CompareStringA #define LCMapString LCMapStringA #define GetLocaleInfo GetLocaleInfoA #define GetStringType GetStringTypeA #endif #if OE_WIN32 EXTERN_C char FAR* DbAnsiString(OLECHAR FAR* strIn); EXTERN_C OLECHAR FAR* DbWideString(char FAR* strIn); #if 0 // new WIN32 headers define these EXTERN_C int __stdcall CompareStringA(LCID lcid, DWORD dwFlags, LPSTR lpStr1, int cch1, LPSTR lpStr2, int cch2); EXTERN_C int __stdcall LCMapStringA(LCID, unsigned long, const char FAR*, int, char FAR*, int); EXTERN_C int __stdcall GetLocaleInfoA(LCID, LCTYPE, char FAR*, int); EXTERN_C int __stdcall GetStringTypeA(LCID, unsigned long, const char FAR*, int, unsigned short FAR*); #endif //0 #endif #if OE_WIN32 && defined(__cplusplus) extern "C" char FAR* ConvertStrWtoA(OLECHAR FAR* strIn, char FAR* buf, UINT size = 256); extern "C" OLECHAR FAR* ConvertStrAtoW(char FAR* strIn, OLECHAR FAR* buf, UINT size = 256); #endif