/* * rtutils.h Router utility functions * * ========================================================================= * * Open Watcom Project * * Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved. * * This file is automatically generated. Do not edit directly. * * ========================================================================= */ #ifndef __ROUTING_RTUTILS_H__ #define __ROUTING_RTUTILS_H__ #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #ifdef __cplusplus extern "C" { #endif /* TraceRegisterEx() flags */ #define TRACE_USE_FILE 0x00000001L #define TRACE_USE_CONSOLE 0x00000002L #define TRACE_NO_SYNCH 0x00000004L /* TracePrintfEx() flags #define TRACE_NO_STDINFO 0x00000001L #define TRACE_USE_MASK 0x00000002L #define TRACE_USE_MSEC 0x00000004L #define TRACE_USE_DATE 0x00000008L /* Trace identifier special value */ #define INVALID_TRACEID 0xFFFFFFFFL /* Maximum string lengths */ #define RTUTILS_MAX_PROTOCOL_NAME_LEN 40 #define RTUTILS_MAX_PROTOCOL_DLL_LEN 48 /* Worker function */ typedef VOID (APIENTRY *WORKERFUNCTION)( PVOID ); /* MPR protocol (level 0) */ typedef struct _MPR_PROTOCOL_0 { DWORD dwProtocolId; WCHAR wszProtocol[RTUTILS_MAX_PROTOCOL_NAME_LEN + 1]; WCHAR wszDLLName[RTUTILS_MAX_PROTOCOL_DLL_LEN + 1]; } MPR_PROTOCOL_0; /* Functions in RTUTILS.DLL */ VOID APIENTRY LogErrorA( DWORD, DWORD, LPSTR *, DWORD ); VOID APIENTRY LogErrorW( DWORD, DWORD, LPWSTR *, DWORD ); VOID APIENTRY LogEventA( DWORD, DWORD, DWORD, LPSTR * ); VOID APIENTRY LogEventW( DWORD, DWORD, DWORD, LPWSTR * ); DWORD APIENTRY MprSetupProtocolEnum( DWORD, LPBYTE *, LPDWORD ); DWORD APIENTRY MprSetupProtocolFree( LPVOID ); VOID APIENTRY RouterAssert( PSTR, PSTR, DWORD, PSTR ); DWORD APIENTRY RouterGetErrorStringA( DWORD, LPSTR * ); DWORD APIENTRY RouterGetErrorStringW( DWORD, LPWSTR * ); VOID APIENTRY RouterLogDeregisterA( HANDLE ); VOID APIENTRY RouterLogDeregisterW( HANDLE ); VOID APIENTRY RouterLogEventA( HANDLE, DWORD, DWORD, DWORD, LPSTR *, DWORD ); VOID APIENTRY RouterLogEventDataA( HANDLE, DWORD, DWORD, DWORD, LPSTR *, DWORD, LPBYTE ); VOID APIENTRY RouterLogEventDataW( HANDLE, DWORD, DWORD, DWORD, LPWSTR *, DWORD, LPBYTE ); VOID __cdecl RouterLogEventExA( HANDLE, DWORD, DWORD, DWORD, LPCSTR, ... ); VOID __cdecl RouterLogEventExW( HANDLE, DWORD, DWORD, DWORD, LPCWSTR, ... ); VOID APIENTRY RouterLogEventStringA( HANDLE, DWORD, DWORD, DWORD, LPSTR *, DWORD, DWORD ); VOID APIENTRY RouterLogEventStringW( HANDLE, DWORD, DWORD, DWORD, LPWSTR *, DWORD, DWORD ); VOID APIENTRY RouterLogEventValistExA( HANDLE, DWORD, DWORD, DWORD, LPCSTR, void * ); VOID APIENTRY RouterLogEventValistExW( HANDLE, DWORD, DWORD, DWORD, LPCWSTR, void * ); VOID APIENTRY RouterLogEventW( HANDLE, DWORD, DWORD, DWORD, LPWSTR *, DWORD ); HANDLE APIENTRY RouterLogRegisterA( LPCSTR ); HANDLE APIENTRY RouterLogRegisterW( LPCWSTR ); DWORD APIENTRY TraceDeregisterA( DWORD ); DWORD APIENTRY TraceDeregisterExA( DWORD, DWORD ); DWORD APIENTRY TraceDeregisterExW( DWORD, DWORD ); DWORD APIENTRY TraceDeregisterW( DWORD ); DWORD APIENTRY TraceDumpExA( DWORD, DWORD, LPBYTE, DWORD, DWORD, BOOL, LPCSTR ); DWORD APIENTRY TraceDumpExW( DWORD, DWORD, LPBYTE, DWORD, DWORD, BOOL, LPCWSTR ); DWORD APIENTRY TraceGetConsoleA( DWORD, LPHANDLE ); DWORD APIENTRY TraceGetConsoleW( DWORD, LPHANDLE ); DWORD __cdecl TracePrintfA( DWORD, LPCSTR, ... ); DWORD __cdecl TracePrintfExA( DWORD, DWORD, LPCSTR, ... ); DWORD __cdecl TracePrintfExW( DWORD, DWORD, LPCWSTR, ... ); DWORD __cdecl TracePrintfW( DWORD, LPCWSTR, ... ); DWORD APIENTRY TracePutsExA( DWORD, DWORD, LPCSTR ); DWORD APIENTRY TracePutsExW( DWORD, DWORD, LPCWSTR ); DWORD APIENTRY TraceRegisterExA( LPCSTR, DWORD ); DWORD APIENTRY TraceRegisterExW( LPCWSTR, DWORD ); DWORD APIENTRY TraceVprintfExA( DWORD, DWORD, LPCSTR, void * ); DWORD APIENTRY TraceVprintfExW( DWORD, DWORD, LPCWSTR, void * ); /* Functions implemented as macros */ #define RouterLogErrorA( p1, p2, p3, p4, p5 ) \ RouterLogEventA( p1, EVENTLOG_ERROR_TYPE, p2, p3, p4, p5 ) #define RouterLogErrorDataA( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventDataA( p1, EVENTLOG_ERROR_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogErrorDataW( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventDataW( p1, EVENTLOG_ERROR_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogErrorStringA( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventStringA( p1, EVENTLOG_ERROR_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogErrorStringW( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventStringW( p1, EVENTLOG_ERROR_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogErrorW( p1, p2, p3, p4, p5 ) \ RouterLogEventW( p1, EVENTLOG_ERROR_TYPE, p2, p3, p4, p5 ) #define RouterLogInformationA( p1, p2, p3, p4, p5 ) \ RouterLogEventA( p1, EVENTLOG_INFORMATION_TYPE, p2, p3, p4, p5 ) #define RouterLogInformationDataA( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventDataA( p1, EVENTLOG_INFORMATION_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogInformationDataW( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventDataW( p1, EVENTLOG_INFORMATION_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogInformationStringA( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventStringA( p1, EVENTLOG_INFORMATION_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogInformationStringW( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventStringW( p1, EVENTLOG_INFORMATION_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogInformationW( p1, p2, p3, p4, p5 ) \ RouterLogEventW( p1, EVENTLOG_INFORMATION_TYPE, p2, p3, p4, p5 ) #define RouterLogWarningA( p1, p2, p3, p4, p5 ) \ RouterLogEventA( p1, EVENTLOG_WARNING_TYPE, p2, p3, p4, p5 ) #define RouterLogWarningDataA( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventDataA( p1, EVENTLOG_WARNING_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogWarningDataW( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventDataW( p1, EVENTLOG_WARNING_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogWarningStringA( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventStringA( p1, EVENTLOG_WARNING_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogWarningStringW( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventStringW( p1, EVENTLOG_WARNING_TYPE, p2, p3, p4, p5, p6 ) #define RouterLogWarningW( p1, p2, p3, p4, p5 ) \ RouterLogEventW( p1, EVENTLOG_WARNING_TYPE, p2, p3, p4, p5 ) #define TraceDumpA( p1, p2, p3, p4, p5 ) TraceDumpExA( p1, 0, p2, p3, p4, p5 ) #define TraceDumpW( p1, p2, p3, p4, p5 ) TraceDumpExW( p1, 0, p2, p3, p4, p5 ) #define TracePutsA( p1, p2 ) TracePutsExA( p1, 0, p2 ) #define TracePutsW( p1, p2 ) TracePutsExW( p1, 0, p2 ) #define TraceRegisterA( x ) TraceRegisterExA( x, 0 ) #define TraceRegisterW( x ) TraceRegisterExW( x, 0 ) #define TraceVprintfA( p1, p2, p3 ) TraceVprintfExA( p1, 0, p2, p3 ) #define TraceVprintfW( p1, p2, p3 ) TraceVprintfExW( p1, 0, p2, p3 ) /* Microsoft defines va_list differently from Open Watcom, so it must be indexed * before being passed to any Win32 API functions. */ #define RouterLogEventValistExA( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventValistExA( p1, p2, p3, p4, p5, (p6)[0] ) #define RouterLogEventValistExW( p1, p2, p3, p4, p5, p6 ) \ RouterLogEventValistExW( p1, p2, p3, p4, p5, (p6)[0] ) #define TraceVprintfExA( p1, p2, p3, p4 ) \ TraceVprintfExA( p1, p2, p3, (p4)[0] ) #define TraceVprintfExW( p1, p2, p3, p4 ) \ TraceVprintfExW( p1, p2, p3, (p4)[0] ) /* Map generic function names to the appropriate ANSI or Unicode version. */ #ifdef UNICODE #define LogError LogErrorW #define LogEvent LogEventW #define RouterGetErrorString RouterGetErrorStringW #define RouterLogDeregister RouterLogDeregisterW #define RouterLogError RouterLogErrorW #define RouterLogErrorData RouterLogErrorDataW #define RouterLogErrorString RouterLogErrorStringW #define RouterLogEvent RouterLogEventW #define RouterLogEventData RouterLogEventDataW #define RouterLogEventEx RouterLogEventExW #define RouterLogEventString RouterLogEventStringW #define RouterLogEventValistEx RouterLogEventValistExW #define RouterLogInformation RouterLogInformationW #define RouterLogInformationData RouterLogInformationDataW #define RouterLogInformationString RouterLogInformationStringW #define RouterLogRegister RouterLogRegisterW #define RouterLogWarning RouterLogWarningW #define RouterLogWarningData RouterLogWarningDataW #define RouterLogWarningString RouterLogWarningStringW #define TraceDeregister TraceDeregisterW #define TraceDeregisterEx TraceDeregisterExW #define TraceDump TraceDumpW #define TraceDumpEx TraceDumpExW #define TraceGetConsole TraceGetConsoleW #define TracePrintf TracePrintfW #define TracePrintfEx TracePrintfExW #define TracePuts TracePutsW #define TracePutsEx TracePutsExW #define TraceRegister TraceRegisterW #define TraceRegisterEx TraceRegisterExW #define TraceVprintf TraceVprintfW #define TraceVprintfEx TraceVprintfExW #else #define LogError LogErrorA #define LogEvent LogEventA #define RouterGetErrorString RouterGetErrorStringA #define RouterLogDeregister RouterLogDeregisterA #define RouterLogError RouterLogErrorA #define RouterLogErrorData RouterLogErrorDataA #define RouterLogErrorString RouterLogErrorStringA #define RouterLogEvent RouterLogEventA #define RouterLogEventData RouterLogEventDataA #define RouterLogEventEx RouterLogEventExA #define RouterLogEventString RouterLogEventStringA #define RouterLogEventValistEx RouterLogEventValistExA #define RouterLogInformation RouterLogInformationA #define RouterLogInformationData RouterLogInformationDataA #define RouterLogInformationString RouterLogInformationStringA #define RouterLogRegister RouterLogRegisterA #define RouterLogWarning RouterLogWarningA #define RouterLogWarningData RouterLogWarningDataA #define RouterLogWarningString RouterLogWarningStringA #define TraceDeregister TraceDeregisterA #define TraceDeregisterEx TraceDeregisterExA #define TraceDump TraceDumpA #define TraceDumpEx TraceDumpExA #define TraceGetConsole TraceGetConsoleA #define TracePrintf TracePrintfA #define TracePrintfEx TracePrintfExA #define TracePuts TracePutsA #define TracePutsEx TracePutsExA #define TraceRegister TraceRegisterA #define TraceRegisterEx TraceRegisterExA #define TraceVprintf TraceVprintfA #define TraceVprintfEx TraceVprintfExA #endif /* Router assertion macros */ #ifdef DBG #define RTASSERT( x ) \ if( !(x) ) { \ RouterAssert( #x, __FILE__, __LINE__, NULL ); \ } #define RTASSERTMSG( p1, p2 ) \ if( !(x) ) { \ RouterAssert( #x, __FILE__, __LINE__, p2 ); \ } #else #define RTASSERT( x ) #define RTASSERTMSG( p1, p2 ) #endif #ifdef __cplusplus } /* extern "C" */ #endif #endif /* __ROUTING_RTUTILS_H__ */