/*++ 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__