Windows NT 4.0 source code leak
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.

239 lines
8.4 KiB

4 years ago
  1. /*++ BUILD Version: 0001 // Increment this if a change has global effects
  2. Copyright (c) 1992 Microsoft Corporation
  3. Module Name:
  4. perftcp.h
  5. Abstract:
  6. This file provides the RFC 1156 Object Identifier Strings
  7. for all the performance data kept by SNMP agents that
  8. are interesting to the Performance monitor.
  9. Author:
  10. Christos Tsollis 8/28/92
  11. Revision History:
  12. --*/
  13. #ifndef _PERFTCP_H_
  14. #define _PERFTCP_H_
  15. //
  16. // This is the array of the Object Identifier Strings for the IP, ICMP, TCP and
  17. // UDP performance data kept by SNMP agents that are interesting to the
  18. // Performance Monitor.
  19. //
  20. #define NO_OF_OIDS 55 // Number of IP, ICMP, TCP and UDP Oids used
  21. CHAR *OidStr[NO_OF_OIDS] =
  22. {
  23. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifNumber.0",
  24. ".iso.org.dod.internet.mgmt.mib-2.ip.ipInReceives.0",
  25. ".iso.org.dod.internet.mgmt.mib-2.ip.ipInHdrErrors.0",
  26. ".iso.org.dod.internet.mgmt.mib-2.ip.ipInAddrErrors.0",
  27. ".iso.org.dod.internet.mgmt.mib-2.ip.ipForwDatagrams.0",
  28. ".iso.org.dod.internet.mgmt.mib-2.ip.ipInUnknownProtos.0",
  29. ".iso.org.dod.internet.mgmt.mib-2.ip.ipInDiscards.0",
  30. ".iso.org.dod.internet.mgmt.mib-2.ip.ipInDelivers.0",
  31. ".iso.org.dod.internet.mgmt.mib-2.ip.ipOutRequests.0",
  32. ".iso.org.dod.internet.mgmt.mib-2.ip.ipOutDiscards.0",
  33. ".iso.org.dod.internet.mgmt.mib-2.ip.ipOutNoRoutes.0",
  34. ".iso.org.dod.internet.mgmt.mib-2.ip.ipReasmReqds.0",
  35. ".iso.org.dod.internet.mgmt.mib-2.ip.ipReasmOKs.0",
  36. ".iso.org.dod.internet.mgmt.mib-2.ip.ipReasmFails.0",
  37. ".iso.org.dod.internet.mgmt.mib-2.ip.ipFragOKs.0",
  38. ".iso.org.dod.internet.mgmt.mib-2.ip.ipFragFails.0",
  39. ".iso.org.dod.internet.mgmt.mib-2.ip.ipFragCreates.0",
  40. ".iso.org.dod.internet.mgmt.mib-2.tcp.tcpCurrEstab.0",
  41. ".iso.org.dod.internet.mgmt.mib-2.tcp.tcpActiveOpens.0",
  42. ".iso.org.dod.internet.mgmt.mib-2.tcp.tcpPassiveOpens.0",
  43. ".iso.org.dod.internet.mgmt.mib-2.tcp.tcpAttemptFails.0",
  44. ".iso.org.dod.internet.mgmt.mib-2.tcp.tcpEstabResets.0",
  45. ".iso.org.dod.internet.mgmt.mib-2.tcp.tcpInSegs.0",
  46. ".iso.org.dod.internet.mgmt.mib-2.tcp.tcpOutSegs.0",
  47. ".iso.org.dod.internet.mgmt.mib-2.tcp.tcpRetransSegs.0",
  48. ".iso.org.dod.internet.mgmt.mib-2.udp.udpInDatagrams.0",
  49. ".iso.org.dod.internet.mgmt.mib-2.udp.udpNoPorts.0",
  50. ".iso.org.dod.internet.mgmt.mib-2.udp.udpInErrors.0",
  51. ".iso.org.dod.internet.mgmt.mib-2.udp.udpOutDatagrams.0",
  52. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInMsgs.0",
  53. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInErrors.0",
  54. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInDestUnreachs.0",
  55. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInTimeExcds.0",
  56. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInParmProbs.0",
  57. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInSrcQuenchs.0",
  58. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInRedirects.0",
  59. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInEchos.0",
  60. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInEchoReps.0",
  61. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInTimestamps.0",
  62. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInTimestampReps.0",
  63. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInAddrMasks.0",
  64. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpInAddrMaskReps.0",
  65. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutMsgs.0",
  66. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutErrors.0",
  67. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutDestUnreachs.0",
  68. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutTimeExcds.0",
  69. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutParmProbs.0",
  70. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutSrcQuenchs.0",
  71. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutRedirects.0",
  72. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutEchos.0",
  73. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutEchoReps.0",
  74. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutTimestamps.0",
  75. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutTimestampReps.0",
  76. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutAddrMasks.0",
  77. ".iso.org.dod.internet.mgmt.mib-2.icmp.icmpOutAddrMaskReps.0"
  78. };
  79. //
  80. // The indices of the various counters in their VarBind lists.
  81. //
  82. #define IF_NUMBER_INDEX 0
  83. #define IP_INRECEIVES_INDEX 1
  84. #define IP_INHDRERRORS_INDEX 2
  85. #define IP_INADDRERRORS_INDEX 3
  86. #define IP_FORWDATAGRAMS_INDEX 4
  87. #define IP_INUNKNOWNPROTOS_INDEX 5
  88. #define IP_INDISCARDS_INDEX 6
  89. #define IP_INDELIVERS_INDEX 7
  90. #define IP_OUTREQUESTS_INDEX 8
  91. #define IP_OUTDISCARDS_INDEX 9
  92. #define IP_OUTNOROUTES_INDEX 10
  93. #define IP_REASMREQDS_INDEX 11
  94. #define IP_REASMOKS_INDEX 12
  95. #define IP_REASMFAILS_INDEX 13
  96. #define IP_FRAGOKS_INDEX 14
  97. #define IP_FRAGFAILS_INDEX 15
  98. #define IP_FRAGCREATES_INDEX 16
  99. #define TCP_CURRESTAB_INDEX 17
  100. #define TCP_ACTIVEOPENS_INDEX 18
  101. #define TCP_PASSIVEOPENS_INDEX 19
  102. #define TCP_ATTEMPTFAILS_INDEX 20
  103. #define TCP_ESTABRESETS_INDEX 21
  104. #define TCP_INSEGS_INDEX 22
  105. #define TCP_OUTSEGS_INDEX 23
  106. #define TCP_RETRANSSEGS_INDEX 24
  107. #define UDP_INDATAGRAMS_INDEX 25
  108. #define UDP_NOPORTS_INDEX 26
  109. #define UDP_INERRORS_INDEX 27
  110. #define UDP_OUTDATAGRAMS_INDEX 28
  111. #define ICMP_INMSGS_INDEX 0
  112. #define ICMP_INERRORS_INDEX 1
  113. #define ICMP_INDESTUNREACHS_INDEX 2
  114. #define ICMP_INTIMEEXCDS_INDEX 3
  115. #define ICMP_INPARMPROBS_INDEX 4
  116. #define ICMP_INSRCQUENCHS_INDEX 5
  117. #define ICMP_INREDIRECTS_INDEX 6
  118. #define ICMP_INECHOS_INDEX 7
  119. #define ICMP_INECHOREPS_INDEX 8
  120. #define ICMP_INTIMESTAMPS_INDEX 9
  121. #define ICMP_INTIMESTAMPREPS_INDEX 10
  122. #define ICMP_INADDRMASKS_INDEX 11
  123. #define ICMP_INADDRMASKREPS_INDEX 12
  124. #define ICMP_OUTMSGS_INDEX 13
  125. #define ICMP_OUTERRORS_INDEX 14
  126. #define ICMP_OUTDESTUNREACHS_INDEX 15
  127. #define ICMP_OUTTIMEEXCDS_INDEX 16
  128. #define ICMP_OUTPARMPROBS_INDEX 17
  129. #define ICMP_OUTSRCQUENCHS_INDEX 18
  130. #define ICMP_OUTREDIRECTS_INDEX 19
  131. #define ICMP_OUTECHOS_INDEX 20
  132. #define ICMP_OUTECHOREPS_INDEX 21
  133. #define ICMP_OUTTIMESTAMPS_INDEX 22
  134. #define ICMP_OUTTIMESTAMPREPS_INDEX 23
  135. #define ICMP_OUTADDRMASKS_INDEX 24
  136. #define ICMP_OUTADDRMASKREPS_INDEX 25
  137. //
  138. // This is the array of the Object Identifier Strings for the Network Interface
  139. // performance data kept by SNMP agents that are interesting to the
  140. // Performance Monitor.
  141. //
  142. #define NO_OF_IF_OIDS 14 // Number of Network Interface Oids used
  143. CHAR *IfOidStr[NO_OF_IF_OIDS] =
  144. {
  145. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifIndex",
  146. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifSpeed",
  147. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInOctets",
  148. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInUcastPkts",
  149. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInNUcastPkts",
  150. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInDiscards",
  151. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInErrors",
  152. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInUnknownProtos",
  153. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOutOctets",
  154. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOutUcastPkts",
  155. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOutNUcastPkts",
  156. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOutDiscards",
  157. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOutErrors",
  158. ".iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOutQLen"
  159. };
  160. //
  161. // The indices of the various counters in the above array.
  162. //
  163. #define IF_INDEX_INDEX 0
  164. #define IF_SPEED_INDEX 1
  165. #define IF_INOCTETS_INDEX 2
  166. #define IF_INUCASTPKTS_INDEX 3
  167. #define IF_INNUCASTPKTS_INDEX 4
  168. #define IF_INDISCARDS_INDEX 5
  169. #define IF_INERRORS_INDEX 6
  170. #define IF_INUNKNOWNPROTOS_INDEX 7
  171. #define IF_OUTOCTETS_INDEX 8
  172. #define IF_OUTUCASTPKTS_INDEX 9
  173. #define IF_OUTNUCASTPKTS_INDEX 10
  174. #define IF_OUTDISCARDS_INDEX 11
  175. #define IF_OUTERRORS_INDEX 12
  176. #define IF_OUTQLEN_INDEX 13
  177. //
  178. // Snmp "Backdoor" routine defitions
  179. //
  180. #ifdef LOAD_INETMIB1
  181. // load DLL & get function addresses from it
  182. // typedef FARPROC (*SNMP_INIT_PROC) (DWORD, HANDLE *, AsnObjectIdentifier *);
  183. // typedef FARPROC (*SNMP_QUERY_PROC) (BYTE, RFC1157VarBindList *, AsnInteger *, AsnInteger *);
  184. FARPROC SnmpExtensionInit;
  185. FARPROC SnmpExtensionQuery;
  186. #else
  187. // link to DLL & load it automatically
  188. extern SNMPAPI SnmpExtensionInit (
  189. DWORD timeZeroReference,
  190. HANDLE *hPollForTrapEvent,
  191. AsnObjectIdentifier *supportedView);
  192. extern SNMPAPI SnmpExtensionQuery (
  193. IN OUT BYTE requestType,
  194. IN OUT RFC1157VarBindList *variableBindings,
  195. OUT AsnInteger *errorStatus,
  196. OUT AsnInteger *errorIndex);
  197. #endif
  198. SNMPAPI SnmpMgrText2Oid (
  199. IN LPSTR string,
  200. OUT AsnObjectIdentifier *oid);
  201. #endif //_PERFTCP_H_