windows-nt/Source/XPSP1/NT/net/tcpip/tpipv6/6to4svc/precomp.h

77 lines
2.2 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#include <windows.h>
#include <ndisguid.h>
#include <wmium.h>
#include <winsvc.h>
#include <rtutils.h>
#include <tchar.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdio.h>
#include <iphlpapi.h>
#include <iptypes.h>
#pragma warning(disable:4057) // 'volatile LONG *' differs in indirection to
// slightly different base types from 'ULONG *'
#pragma warning(disable:4100) // unreferenced formal parameter
#pragma warning(disable:4152) // function/data pointer conversion
#pragma warning(disable:4200) // zero-sized array in struct/union
#pragma warning(disable:4201) // nameless struct/union
#pragma warning(disable:4214) // bit field types other than int
#include <ip6.h>
#include <icmp6.h>
#include <ntddip6.h>
#include <ws2ip6.h>
#include <rasuip.h>
#include <mswsock.h>
#include "trace.h"
#include "6to4.h"
#include "teredo.h"
#define isnot !=
#define is ==
//
// instead of using goto:end to go to the end of the block, use the following
//
#define BEGIN_BREAKOUT_BLOCK1 do
#define GOTO_END_BLOCK1 goto END_BREAKOUT_BLOCK_1
#define END_BREAKOUT_BLOCK1 while(FALSE); END_BREAKOUT_BLOCK_1:
#define BEGIN_BREAKOUT_BLOCK2 do
#define GOTO_END_BLOCK2 goto END_BREAKOUT_BLOCK_2
#define END_BREAKOUT_BLOCK2 while(FALSE); END_BREAKOUT_BLOCK_2:
extern DWORD g_TraceId;
extern HANDLE g_LogHandle;
extern DWORD g_dwLoggingLevel;
extern HANDLE g_Heap;
extern HANDLE g_Lock;
//
// WaitForSingleObject should always succeed, since we should never
// time out, abandon the mutex, or pass an invalid handle.
//
#define ENTER_API() \
if (WaitForSingleObject(g_Lock, INFINITE) != WAIT_OBJECT_0) \
ASSERT(FALSE)
#define LEAVE_API() \
ReleaseMutex(g_Lock)
#define MALLOC(x) HeapAlloc(g_Heap, 0, x)
#define FREE(x) HeapFree(g_Heap, 0, x)
#define REALLOC(x, y) HeapReAlloc(g_Heap, 0, x, y)
#define PROFILE(x) printf("%s\n", x)
#define PRINT_IPADDR(x) \
((x)&0x000000ff),(((x)&0x0000ff00)>>8),(((x)&0x00ff0000)>>16),(((x)&0xff000000)>>24)
VOID WINAPI
ServiceMain(
IN DWORD argc,
IN LPWSTR *argv);