#ifdef _SRVDBG_H
#error srvdbg.h included twice
#endif
#define _SRVDBG_H
#ifndef BASED_CODE
#define BASED_CODE
#endif
#define _SRVDBG_EXPORT
#include "fedmsg.h"
#include "resource.h" #if defined(DEBUG) && defined(INLINE)
#undef THIS_FILE
static char BASED_CODE SRVDBG_H[] = "srvdbg.h";
#define THIS_FILE SRVDBG_H
#endif
#define SRVDBG_ABORT_EXCEPTION 1
#define SRVDBG_SILENTABORT_EXCEPTION 2
#define SRVDBG_NOTIFYABORT_EXCEPTION 3
#define SRVDBG_HACKABORT_EXCEPTION 4
#define SRVDBG_ERROR_TYPE EVENTLOG_ERROR_TYPE
#define SRVDBG_WARNING_TYPE EVENTLOG_WARNING_TYPE
#define SRVDBG_INFO_TYPE EVENTLOG_INFORMATION_TYPE
#ifdef __cplusplus
#define SRVDBG_DEFINIT = FALSE
#define SRVDBG_DEFPATH = NULL
#define SRVDBG_DEFNULLSTR = ""
#else
#define SRVDBG_DEFINIT
#define SRVDBG_DEFPATH
#define SRVDBG_DEFNULLSTR
#endif
_SRVDBG_EXPORT BOOL SRVDBG_Init( LPSTR lpszSource, LPSTR lpszPath SRVDBG_DEFPATH,
BOOL fWantInt3 SRVDBG_DEFINIT);
_SRVDBG_EXPORT BOOL SRVDBG_Terminate( void );
_SRVDBG_EXPORT BOOL SRVDBG_ClearLog( void );
_SRVDBG_EXPORT void SRVDBG_Error( LPCSTR lpsz SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_Error2( LPCSTR lpsz, LPCSTR lpsz2 SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_Error3( LPCSTR lpsz, LPCSTR lpsz2, LPCSTR lpsz3 SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_Info( LPCSTR lpsz SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_Info2( LPCSTR lpsz, LPCSTR lpsz2 SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_Info3( LPCSTR lpsz, LPCSTR lpsz2, LPCSTR lpsz3 SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_Warning( LPCSTR lpsz SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_Warning2( LPCSTR lpsz, LPCSTR lpsz2 SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_Warning3( LPCSTR lpsz, LPCSTR lpsz2, LPCSTR lpsz3 SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_ErrorBinary( LPCSTR lpsz, LPCSTR lpsz2, LPCSTR lpsz3, DWORD dwDataSize, LPVOID lpRawData SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_WarningBinary( LPCSTR lpsz, LPCSTR lpsz2, LPCSTR lpsz3, DWORD dwDataSize, LPVOID lpRawData SRVDBG_DEFNULLSTR );
_SRVDBG_EXPORT void SRVDBG_InfoBinary( LPCSTR lpsz, LPCSTR lpsz2, LPCSTR lpsz3, DWORD dwDataSize, LPVOID lpRawData SRVDBG_DEFNULLSTR );
_SRVDBG_EXPORT void SRVDBG_ErrorEvt( DWORD IDEvent, LPCSTR lpsz SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_WarningEvt( DWORD IDEvent, LPCSTR lpsz SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_InfoEvt( DWORD IDEvent, LPCSTR lpsz SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT void SRVDBG_RebootMachine( );
_SRVDBG_EXPORT void SRVDBG_RestartService( LPCSTR lpsz SRVDBG_DEFNULLSTR );
_SRVDBG_EXPORT void SRVDBG_Assert( LPCSTR lpsz SRVDBG_DEFNULLSTR );
_SRVDBG_EXPORT BOOL SRVDBG_ReportEvent( WORD fwEventType, DWORD IDEvent,
LPCSTR lpsz SRVDBG_DEFNULLSTR,
LPCSTR lpsz2 SRVDBG_DEFNULLSTR,
LPCSTR lpsz3 SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT BOOL SRVDBG_ReportEventBinary
(
WORD fwEventType,
DWORD IDEvent,
LPCSTR lpsz,
LPCSTR lpsz2,
LPCSTR lpsz3,
DWORD dwDataSize,
LPVOID lpRawData
);
_SRVDBG_EXPORT BOOL SRVDBG_LogSystemID (WORD type,DWORD messageID, LPCSTR g_module, ...);
_SRVDBG_EXPORT void LogSystemSZ(WORD type, LPCSTR szMessage SRVDBG_DEFNULLSTR);
_SRVDBG_EXPORT BOOL SRVDBG_LogSystemSZ (WORD type,LPCSTR szMessage SRVDBG_DEFNULLSTR);
#define LoggingAssert( f, lpsz ) if (!(f)) SRVDBG_Assert( lpsz );
typedef enum {
LogNoOp = 0, LogInformation= SRVDBG_INFO_TYPE, LogError = SRVDBG_WARNING_TYPE, LogAttentionRequired = SRVDBG_ERROR_TYPE } LogType;
#define LogSystemID(type, messageID) SRVDBG_LogSystemID(-1,(WORD)type,(DWORD)messageID, g_module)
#define LogSystemID1(type, messageID,sz1) SRVDBG_LogSystemID(-1,(WORD)type,(DWORD)messageID, g_module,sz1)
#define LogSystemID2(type, messageID,sz1,sz2) SRVDBG_LogSystemID(-1,(WORD)type,(DWORD)messageID, g_module,sz1,sz2)
#define LogSystemID3(type, messageID,sz1,sz2,sz3) SRVDBG_LogSystemID(-1,(WORD)type,(DWORD)messageID, g_module,sz1,sz2,sz3)
#define LogSystemID4(type, messageID,sz1,sz2,sz3,sz4) SRVDBG_LogSystemID(-1,(WORD)type,(DWORD)messageID, g_module,sz1,sz2,sz3,sz4)
#define LogSystemID5(type, messageID,sz1,sz2,sz3,sz4,sz5) SRVDBG_LogSystemID(-1,(WORD)type,(DWORD)messageID, g_module,sz1,sz2,sz3,sz4,sz5)
extern char *g_module;
char *LoadMsg(UINT idMsg, HMODULE hmod);
void SRVDBG_DoAssert(
LPCSTR szFile,
int iLine,
LPCSTR szAssert );