244 lines
12 KiB
C
244 lines
12 KiB
C
/*
|
|
* 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__ */
|