Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. ipinip\globals.h
  5. Abstract:
  6. Revision History:
  7. --*/
  8. #ifndef __IPINIP_GLOBALS_H__
  9. #define __IPINIP_GLOBALS_H__
  10. //
  11. // Our IP Registration handle
  12. //
  13. HANDLE g_hIpRegistration;
  14. //
  15. // Callback functions into IP
  16. // No receive packet routine
  17. //
  18. IPRcvRtn g_pfnIpRcv;
  19. IPTDCmpltRtn g_pfnIpTDComplete;
  20. IPTxCmpltRtn g_pfnIpSendComplete;
  21. IPStatusRtn g_pfnIpStatus;
  22. IPRcvCmpltRtn g_pfnIpRcvComplete;
  23. IP_ADD_INTERFACE g_pfnIpAddInterface;
  24. IP_DEL_INTERFACE g_pfnIpDeleteInterface;
  25. IP_BIND_COMPLETE g_pfnIpBindComplete;
  26. IP_PNP g_pfnIpPnp;
  27. IPRcvPktRtn g_pfnIpRcvPkt;
  28. IP_ADD_LINK g_pfnIpAddLink;
  29. IP_DELETE_LINK g_pfnIpDeleteLink;
  30. IP_CHANGE_INDEX g_pfnIpChangeIndex;
  31. IP_RESERVE_INDEX g_pfnIpReserveIndex;
  32. IP_DERESERVE_INDEX g_pfnIpDereserveIndex;
  33. IPAddr (*g_pfnOpenRce)(IPAddr, IPAddr, RouteCacheEntry **, uchar *,
  34. ushort *, IPOptInfo *);
  35. void (*g_pfnCloseRce)(RouteCacheEntry *);
  36. //
  37. // Stuff to maintain driver state
  38. //
  39. DWORD g_dwDriverState;
  40. RT_LOCK g_rlStateLock;
  41. ULONG g_ulNumThreads;
  42. ULONG g_ulNumOpens;
  43. KEVENT g_keStateEvent;
  44. KEVENT g_keStartEvent;
  45. //
  46. // Pointer to our device
  47. //
  48. PDEVICE_OBJECT g_pIpIpDevice;
  49. //
  50. // Table of IOCTL handlers
  51. //
  52. extern PFN_IOCTL_HNDLR g_rgpfnProcessIoctl[];
  53. //
  54. // Reader writer lock to protect the list of tunnels
  55. //
  56. RW_LOCK g_rwlTunnelLock;
  57. //
  58. // List of tunnels (adapters)
  59. //
  60. LIST_ENTRY g_leTunnelList;
  61. //
  62. // List of all the addresses
  63. //
  64. LIST_ENTRY g_leAddressList;
  65. //
  66. // Number of tunnels in the system
  67. //
  68. ULONG g_ulNumTunnels;
  69. #endif // __IPINIP_GLOBALS_H__