Leaked source code of windows server 2003
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.

156 lines
3.6 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. Abstract:
  5. Author:
  6. Revision History:
  7. --*/
  8. #ifndef __ALLINC_H__
  9. #define __ALLINC_H__
  10. #include <nt.h>
  11. #include <ntrtl.h>
  12. #include <nturtl.h>
  13. #include <windows.h>
  14. #include <winsock2.h>
  15. #include <ws2tcpip.h>
  16. #include <stdio.h>
  17. #include <stdarg.h>
  18. #include <stdlib.h>
  19. #include <string.h>
  20. #include <crt\stddef.h>
  21. #include <TCHAR.H>
  22. #include <snmp.h>
  23. #include <snmpexts.h>
  24. #include <snmputil.h>
  25. #include <iphlpapi.h>
  26. #include <iphlpint.h>
  27. #include <ipcmp.h>
  28. #include <tcpinfo.h>
  29. #include <ipinfo.h>
  30. #include <ntddip.h>
  31. #include <iphlpstk.h>
  32. #include <ntddip6.h>
  33. #ifdef MIB_DEBUG
  34. #include <rtutils.h>
  35. extern DWORD g_hTrace;
  36. #endif
  37. #include "mibfuncs.h"
  38. #include "defs.h"
  39. #include "proto.h"
  40. #include "indices.h"
  41. extern DWORD g_dwLastUpdateTable[NUM_CACHE];
  42. extern DWORD g_dwTimeoutTable[NUM_CACHE];
  43. extern HANDLE g_hPrivateHeap;
  44. typedef
  45. DWORD
  46. (*PFNLOAD_FUNCTION)();
  47. extern PFNLOAD_FUNCTION g_pfnLoadFunctionTable[];
  48. typedef struct _MIB_IPV6_IF_TABLE
  49. {
  50. DWORD dwNumEntries;
  51. PMIB_IPV6_IF table;
  52. }MIB_IPV6_IF_TABLE, *PMIB_IPV6_IF_TABLE;
  53. typedef struct _MIB_IPV6_ADDR_TABLE
  54. {
  55. DWORD dwNumEntries;
  56. PMIB_IPV6_ADDR table;
  57. }MIB_IPV6_ADDR_TABLE, *PMIB_IPV6_ADDR_TABLE;
  58. typedef struct _MIB_IPV6_NET_TO_MEDIA_TABLE
  59. {
  60. DWORD dwNumEntries;
  61. PMIB_IPV6_NET_TO_MEDIA table;
  62. }MIB_IPV6_NET_TO_MEDIA_TABLE, *PMIB_IPV6_NET_TO_MEDIA_TABLE;
  63. typedef struct _MIB_IPV6_ROUTE_TABLE
  64. {
  65. DWORD dwNumEntries;
  66. PMIB_IPV6_ROUTE table;
  67. }MIB_IPV6_ROUTE_TABLE, *PMIB_IPV6_ROUTE_TABLE;
  68. typedef struct _MIB_IPV6_ADDR_PREFIX_TABLE
  69. {
  70. DWORD dwNumEntries;
  71. PMIB_IPV6_ADDR_PREFIX table;
  72. }MIB_IPV6_ADDR_PREFIX_TABLE, *PMIB_IPV6_ADDR_PREFIX_TABLE;
  73. typedef struct _MIB_INET_ICMP_TABLE
  74. {
  75. DWORD dwNumEntries;
  76. PMIB_INET_ICMP table;
  77. }MIB_INET_ICMP_TABLE, *PMIB_INET_ICMP_TABLE;
  78. typedef struct _MIB_INET_ICMP_MSG_TABLE
  79. {
  80. DWORD dwNumEntries;
  81. PMIB_INET_ICMP_MSG table;
  82. }MIB_INET_ICMP_MSG_TABLE, *PMIB_INET_ICMP_MSG_TABLE;
  83. typedef struct _MIB_CACHE
  84. {
  85. PMIB_SYSINFO pRpcSysInfo;
  86. PMIB_IFTABLE pRpcIfTable;
  87. PMIB_UDPTABLE pRpcUdpTable;
  88. PMIB_TCPTABLE pRpcTcpTable;
  89. PMIB_IPADDRTABLE pRpcIpAddrTable;
  90. PMIB_IPFORWARDTABLE pRpcIpForwardTable;
  91. PMIB_IPNETTABLE pRpcIpNetTable;
  92. PUDP6_LISTENER_TABLE pRpcUdp6ListenerTable;
  93. PTCP6_EX_TABLE pRpcTcp6Table;
  94. MIB_IPV6_NET_TO_MEDIA_TABLE pRpcIpv6NetToMediaTable;
  95. //
  96. // The following are protected by the same lock.
  97. //
  98. MIB_IPV6_ROUTE_TABLE pRpcIpv6RouteTable;
  99. MIB_IPV6_ADDR_PREFIX_TABLE pRpcIpv6AddrPrefixTable;
  100. //
  101. // The following are protected by the same lock.
  102. //
  103. MIB_IPV6_IF_TABLE pRpcIpv6IfTable;
  104. MIB_IPV6_ADDR_TABLE pRpcIpv6AddrTable;
  105. //
  106. // The following are protected by the same lock.
  107. //
  108. MIB_INET_ICMP_TABLE pRpcInetIcmpTable;
  109. MIB_INET_ICMP_MSG_TABLE pRpcInetIcmpMsgTable;
  110. }MIB_CACHE, *PMIBCACHE;
  111. extern PMIB_IFSTATUS g_pisStatusTable;
  112. extern DWORD g_dwValidStatusEntries;
  113. extern DWORD g_dwTotalStatusEntries;
  114. extern MIB_CACHE g_Cache;
  115. extern BOOL g_bFirstTime;
  116. BOOL
  117. MibTrap(
  118. AsnInteger *paiGenericTrap,
  119. AsnInteger *paiSpecificTrap,
  120. RFC1157VarBindList *pr1157vblVariableBindings
  121. );
  122. #endif