windows-nt/Source/XPSP1/NT/net/rras/ip/ipinip/globals.h
2020-09-26 16:20:57 +08:00

104 lines
1.7 KiB
C

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
ipinip\globals.h
Abstract:
Revision History:
--*/
#ifndef __IPINIP_GLOBALS_H__
#define __IPINIP_GLOBALS_H__
//
// Our IP Registration handle
//
HANDLE g_hIpRegistration;
//
// Callback functions into IP
// No receive packet routine
//
IPRcvRtn g_pfnIpRcv;
IPTDCmpltRtn g_pfnIpTDComplete;
IPTxCmpltRtn g_pfnIpSendComplete;
IPStatusRtn g_pfnIpStatus;
IPRcvCmpltRtn g_pfnIpRcvComplete;
IP_ADD_INTERFACE g_pfnIpAddInterface;
IP_DEL_INTERFACE g_pfnIpDeleteInterface;
IP_BIND_COMPLETE g_pfnIpBindComplete;
IP_PNP g_pfnIpPnp;
IPRcvPktRtn g_pfnIpRcvPkt;
IP_ADD_LINK g_pfnIpAddLink;
IP_DELETE_LINK g_pfnIpDeleteLink;
IP_CHANGE_INDEX g_pfnIpChangeIndex;
IP_RESERVE_INDEX g_pfnIpReserveIndex;
IP_DERESERVE_INDEX g_pfnIpDereserveIndex;
IPAddr (*g_pfnOpenRce)(IPAddr, IPAddr, RouteCacheEntry **, uchar *,
ushort *, IPOptInfo *);
void (*g_pfnCloseRce)(RouteCacheEntry *);
//
// Stuff to maintain driver state
//
DWORD g_dwDriverState;
RT_LOCK g_rlStateLock;
ULONG g_ulNumThreads;
ULONG g_ulNumOpens;
KEVENT g_keStateEvent;
KEVENT g_keStartEvent;
//
// Pointer to our device
//
PDEVICE_OBJECT g_pIpIpDevice;
//
// Table of IOCTL handlers
//
extern PFN_IOCTL_HNDLR g_rgpfnProcessIoctl[];
//
// Reader writer lock to protect the list of tunnels
//
RW_LOCK g_rwlTunnelLock;
//
// List of tunnels (adapters)
//
LIST_ENTRY g_leTunnelList;
//
// List of all the addresses
//
LIST_ENTRY g_leAddressList;
//
// Number of tunnels in the system
//
ULONG g_ulNumTunnels;
#endif // __IPINIP_GLOBALS_H__