Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

65 lines
2.0 KiB

/* ----------------------------------------------------------------------
Copyright (c) 1995-1996, Microsoft Corporation
All rights reserved
siGlobal.h
---------------------------------------------------------------------- */
#ifndef GLOBAL_H
#define GLOBAL_H
//-------------------------------------------------------
// Useful macros
#define ARRAY_ELEMENTS(rg) (sizeof(rg) / sizeof((rg)[0]))
#define ARRAYSIZE(x) (sizeof(x)/sizeof(x[0]))
//-------------------------------------------------------
// Function Prototypes
#ifdef DEBUG /* These are only avaible for debug */
VOID InitDebug(void);
VOID DeInitDebug(void);
#endif /* DEBUG */
#ifdef DEBUG
extern HDBGZONE ghZoneApi;
#define ZONE_API_WARN_FLAG 0x01
#define ZONE_API_EVENT_FLAG 0x02
#define ZONE_API_TRACE_FLAG 0x04
#define ZONE_API_DATA_FLAG 0x08
#define ZONE_API_OBJ_FLAG 0x10
#define ZONE_API_REF_FLAG 0x20
UINT DbgApiWarn(PCSTR pszFormat,...);
UINT DbgApiEvent(PCSTR pszFormat,...);
UINT DbgApiTrace(PCSTR pszFormat,...);
UINT DbgApiData(PCSTR pszFormat,...);
#define DBGAPI_WARN (!IS_ZONE_ENABLED(ghZoneApi, ZONE_API_WARN_FLAG)) ? 0 : DbgApiWarn
#define DBGAPI_EVENT (!IS_ZONE_ENABLED(ghZoneApi, ZONE_API_EVENT_FLAG)) ? 0 : DbgApiEvent
#define DBGAPI_TRACE (!IS_ZONE_ENABLED(ghZoneApi, ZONE_API_TRACE_FLAG)) ? 0 : DbgApiTrace
#define DBGAPI_DATA (!IS_ZONE_ENABLED(ghZoneApi, ZONE_API_DATA_FLAG)) ? 0 : DbgApiData
#define DBGAPI_REF (!IS_ZONE_ENABLED(ghZoneApi, ZONE_API_REF_FLAG)) ? 0 : DbgApiTrace
#define DBGAPI_OBJ (!IS_ZONE_ENABLED(ghZoneApi, ZONE_API_OBJ_FLAG)) ? 0 : DbgApiTrace
#else
inline void WINAPI DbgMsgApi(LPCTSTR, ...) { }
#define DBGAPI_WARN 1 ? (void)0 : ::DbgMsgApi
#define DBGAPI_EVENT 1 ? (void)0 : ::DbgMsgApi
#define DBGAPI_TRACE 1 ? (void)0 : ::DbgMsgApi
#define DBGAPI_DATA 1 ? (void)0 : ::DbgMsgApi
#define DBGAPI_REF 1 ? (void)0 : ::DbgMsgApi
#define DBGAPI_OBJ 1 ? (void)0 : ::DbgMsgApi
#endif
/////////////////////////////////
// Global Variables
extern HINSTANCE g_hInst;
#endif /* GLOBAL_H */