Ipifcons.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:14k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4.     ipifcons.h
  5. Abstract:
  6.     Constants needed for the Interface Object
  7. --*/
  8. #ifndef __IPIFCONS_H__
  9. #define __IPIFCONS_H__
  10. #if _MSC_VER > 1000
  11. #pragma once
  12. #endif
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. //////////////////////////////////////////////////////////////////////////////
  17. //                                                                          //
  18. // Media types                                                              //
  19. //                                                                          //
  20. //////////////////////////////////////////////////////////////////////////////
  21. #define MIN_IF_TYPE                     1
  22. #define IF_TYPE_OTHER                   1   // None of the below
  23. #define IF_TYPE_REGULAR_1822            2
  24. #define IF_TYPE_HDH_1822                3
  25. #define IF_TYPE_DDN_X25                 4
  26. #define IF_TYPE_RFC877_X25              5
  27. #define IF_TYPE_ETHERNET_CSMACD         6
  28. #define IF_TYPE_IS088023_CSMACD         7
  29. #define IF_TYPE_ISO88024_TOKENBUS       8
  30. #define IF_TYPE_ISO88025_TOKENRING      9
  31. #define IF_TYPE_ISO88026_MAN            10
  32. #define IF_TYPE_STARLAN                 11
  33. #define IF_TYPE_PROTEON_10MBIT          12
  34. #define IF_TYPE_PROTEON_80MBIT          13
  35. #define IF_TYPE_HYPERCHANNEL            14
  36. #define IF_TYPE_FDDI                    15
  37. #define IF_TYPE_LAP_B                   16
  38. #define IF_TYPE_SDLC                    17
  39. #define IF_TYPE_DS1                     18  // DS1-MIB
  40. #define IF_TYPE_E1                      19  // Obsolete; see DS1-MIB
  41. #define IF_TYPE_BASIC_ISDN              20
  42. #define IF_TYPE_PRIMARY_ISDN            21
  43. #define IF_TYPE_PROP_POINT2POINT_SERIAL 22  // proprietary serial
  44. #define IF_TYPE_PPP                     23
  45. #define IF_TYPE_SOFTWARE_LOOPBACK       24
  46. #define IF_TYPE_EON                     25  // CLNP over IP
  47. #define IF_TYPE_ETHERNET_3MBIT          26
  48. #define IF_TYPE_NSIP                    27  // XNS over IP
  49. #define IF_TYPE_SLIP                    28  // Generic Slip
  50. #define IF_TYPE_ULTRA                   29  // ULTRA Technologies
  51. #define IF_TYPE_DS3                     30  // DS3-MIB
  52. #define IF_TYPE_SIP                     31  // SMDS, coffee
  53. #define IF_TYPE_FRAMERELAY              32  // DTE only
  54. #define IF_TYPE_RS232                   33
  55. #define IF_TYPE_PARA                    34  // Parallel port
  56. #define IF_TYPE_ARCNET                  35
  57. #define IF_TYPE_ARCNET_PLUS             36
  58. #define IF_TYPE_ATM                     37  // ATM cells
  59. #define IF_TYPE_MIO_X25                 38
  60. #define IF_TYPE_SONET                   39  // SONET or SDH
  61. #define IF_TYPE_X25_PLE                 40
  62. #define IF_TYPE_ISO88022_LLC            41
  63. #define IF_TYPE_LOCALTALK               42
  64. #define IF_TYPE_SMDS_DXI                43
  65. #define IF_TYPE_FRAMERELAY_SERVICE      44  // FRNETSERV-MIB
  66. #define IF_TYPE_V35                     45
  67. #define IF_TYPE_HSSI                    46
  68. #define IF_TYPE_HIPPI                   47
  69. #define IF_TYPE_MODEM                   48  // Generic Modem
  70. #define IF_TYPE_AAL5                    49  // AAL5 over ATM
  71. #define IF_TYPE_SONET_PATH              50
  72. #define IF_TYPE_SONET_VT                51
  73. #define IF_TYPE_SMDS_ICIP               52  // SMDS InterCarrier Interface
  74. #define IF_TYPE_PROP_VIRTUAL            53  // Proprietary virtual/internal
  75. #define IF_TYPE_PROP_MULTIPLEXOR        54  // Proprietary multiplexing
  76. #define IF_TYPE_IEEE80212               55  // 100BaseVG
  77. #define IF_TYPE_FIBRECHANNEL            56
  78. #define IF_TYPE_HIPPIINTERFACE          57
  79. #define IF_TYPE_FRAMERELAY_INTERCONNECT 58  // Obsolete, use 32 or 44
  80. #define IF_TYPE_AFLANE_8023             59  // ATM Emulated LAN for 802.3
  81. #define IF_TYPE_AFLANE_8025             60  // ATM Emulated LAN for 802.5
  82. #define IF_TYPE_CCTEMUL                 61  // ATM Emulated circuit
  83. #define IF_TYPE_FASTETHER               62  // Fast Ethernet (100BaseT)
  84. #define IF_TYPE_ISDN                    63  // ISDN and X.25
  85. #define IF_TYPE_V11                     64  // CCITT V.11/X.21
  86. #define IF_TYPE_V36                     65  // CCITT V.36
  87. #define IF_TYPE_G703_64K                66  // CCITT G703 at 64Kbps
  88. #define IF_TYPE_G703_2MB                67  // Obsolete; see DS1-MIB
  89. #define IF_TYPE_QLLC                    68  // SNA QLLC
  90. #define IF_TYPE_FASTETHER_FX            69  // Fast Ethernet (100BaseFX)
  91. #define IF_TYPE_CHANNEL                 70
  92. #define IF_TYPE_IEEE80211               71  // Radio spread spectrum
  93. #define IF_TYPE_IBM370PARCHAN           72  // IBM System 360/370 OEMI Channel
  94. #define IF_TYPE_ESCON                   73  // IBM Enterprise Systems Connection
  95. #define IF_TYPE_DLSW                    74  // Data Link Switching
  96. #define IF_TYPE_ISDN_S                  75  // ISDN S/T interface
  97. #define IF_TYPE_ISDN_U                  76  // ISDN U interface
  98. #define IF_TYPE_LAP_D                   77  // Link Access Protocol D
  99. #define IF_TYPE_IPSWITCH                78  // IP Switching Objects
  100. #define IF_TYPE_RSRB                    79  // Remote Source Route Bridging
  101. #define IF_TYPE_ATM_LOGICAL             80  // ATM Logical Port
  102. #define IF_TYPE_DS0                     81  // Digital Signal Level 0
  103. #define IF_TYPE_DS0_BUNDLE              82  // Group of ds0s on the same ds1
  104. #define IF_TYPE_BSC                     83  // Bisynchronous Protocol
  105. #define IF_TYPE_ASYNC                   84  // Asynchronous Protocol
  106. #define IF_TYPE_CNR                     85  // Combat Net Radio
  107. #define IF_TYPE_ISO88025R_DTR           86  // ISO 802.5r DTR
  108. #define IF_TYPE_EPLRS                   87  // Ext Pos Loc Report Sys
  109. #define IF_TYPE_ARAP                    88  // Appletalk Remote Access Protocol
  110. #define IF_TYPE_PROP_CNLS               89  // Proprietary Connectionless Proto
  111. #define IF_TYPE_HOSTPAD                 90  // CCITT-ITU X.29 PAD Protocol
  112. #define IF_TYPE_TERMPAD                 91  // CCITT-ITU X.3 PAD Facility
  113. #define IF_TYPE_FRAMERELAY_MPI          92  // Multiproto Interconnect over FR
  114. #define IF_TYPE_X213                    93  // CCITT-ITU X213
  115. #define IF_TYPE_ADSL                    94  // Asymmetric Digital Subscrbr Loop
  116. #define IF_TYPE_RADSL                   95  // Rate-Adapt Digital Subscrbr Loop
  117. #define IF_TYPE_SDSL                    96  // Symmetric Digital Subscriber Loop
  118. #define IF_TYPE_VDSL                    97  // Very H-Speed Digital Subscrb Loop
  119. #define IF_TYPE_ISO88025_CRFPRINT       98  // ISO 802.5 CRFP
  120. #define IF_TYPE_MYRINET                 99  // Myricom Myrinet
  121. #define IF_TYPE_VOICE_EM                100 // Voice recEive and transMit
  122. #define IF_TYPE_VOICE_FXO               101 // Voice Foreign Exchange Office
  123. #define IF_TYPE_VOICE_FXS               102 // Voice Foreign Exchange Station
  124. #define IF_TYPE_VOICE_ENCAP             103 // Voice encapsulation
  125. #define IF_TYPE_VOICE_OVERIP            104 // Voice over IP encapsulation
  126. #define IF_TYPE_ATM_DXI                 105 // ATM DXI
  127. #define IF_TYPE_ATM_FUNI                106 // ATM FUNI
  128. #define IF_TYPE_ATM_IMA                 107 // ATM IMA
  129. #define IF_TYPE_PPPMULTILINKBUNDLE      108 // PPP Multilink Bundle
  130. #define IF_TYPE_IPOVER_CDLC             109 // IBM ipOverCdlc
  131. #define IF_TYPE_IPOVER_CLAW             110 // IBM Common Link Access to Workstn
  132. #define IF_TYPE_STACKTOSTACK            111 // IBM stackToStack
  133. #define IF_TYPE_VIRTUALIPADDRESS        112 // IBM VIPA
  134. #define IF_TYPE_MPC                     113 // IBM multi-proto channel support
  135. #define IF_TYPE_IPOVER_ATM              114 // IBM ipOverAtm
  136. #define IF_TYPE_ISO88025_FIBER          115 // ISO 802.5j Fiber Token Ring
  137. #define IF_TYPE_TDLC                    116 // IBM twinaxial data link control
  138. #define IF_TYPE_GIGABITETHERNET         117
  139. #define IF_TYPE_HDLC                    118
  140. #define IF_TYPE_LAP_F                   119
  141. #define IF_TYPE_V37                     120
  142. #define IF_TYPE_X25_MLP                 121 // Multi-Link Protocol
  143. #define IF_TYPE_X25_HUNTGROUP           122 // X.25 Hunt Group
  144. #define IF_TYPE_TRANSPHDLC              123
  145. #define IF_TYPE_INTERLEAVE              124 // Interleave channel
  146. #define IF_TYPE_FAST                    125 // Fast channel
  147. #define IF_TYPE_IP                      126 // IP (for APPN HPR in IP networks)
  148. #define IF_TYPE_DOCSCABLE_MACLAYER      127 // CATV Mac Layer
  149. #define IF_TYPE_DOCSCABLE_DOWNSTREAM    128 // CATV Downstream interface
  150. #define IF_TYPE_DOCSCABLE_UPSTREAM      129 // CATV Upstream interface
  151. #define IF_TYPE_A12MPPSWITCH            130 // Avalon Parallel Processor
  152. #define IF_TYPE_TUNNEL                  131 // Encapsulation interface
  153. #define IF_TYPE_COFFEE                  132 // Coffee pot
  154. #define IF_TYPE_CES                     133 // Circuit Emulation Service
  155. #define IF_TYPE_ATM_SUBINTERFACE        134 // ATM Sub Interface
  156. #define IF_TYPE_L2_VLAN                 135 // Layer 2 Virtual LAN using 802.1Q
  157. #define IF_TYPE_L3_IPVLAN               136 // Layer 3 Virtual LAN using IP
  158. #define IF_TYPE_L3_IPXVLAN              137 // Layer 3 Virtual LAN using IPX
  159. #define IF_TYPE_DIGITALPOWERLINE        138 // IP over Power Lines
  160. #define IF_TYPE_MEDIAMAILOVERIP         139 // Multimedia Mail over IP
  161. #define IF_TYPE_DTM                     140 // Dynamic syncronous Transfer Mode
  162. #define IF_TYPE_DCN                     141 // Data Communications Network
  163. #define IF_TYPE_IPFORWARD               142 // IP Forwarding Interface
  164. #define IF_TYPE_MSDSL                   143 // Multi-rate Symmetric DSL
  165. #define IF_TYPE_IEEE1394                144 // IEEE1394 High Perf Serial Bus
  166. #define IF_TYPE_RECEIVE_ONLY            145 // TV adapter type
  167. #define MAX_IF_TYPE                     145
  168. //////////////////////////////////////////////////////////////////////////////
  169. //                                                                          //
  170. // Access types                                                             //
  171. //                                                                          //
  172. //////////////////////////////////////////////////////////////////////////////
  173. #define IF_ACCESS_LOOPBACK              1
  174. #define IF_ACCESS_BROADCAST             2
  175. #define IF_ACCESS_POINTTOPOINT          3
  176. #define IF_ACCESS_POINTTOMULTIPOINT     4
  177. //////////////////////////////////////////////////////////////////////////////
  178. //                                                                          //
  179. // Interface Capabilities (bit flags)                                       //
  180. //                                                                          //
  181. //////////////////////////////////////////////////////////////////////////////
  182. #define IF_CHECK_NONE                   0x00
  183. #define IF_CHECK_MCAST                  0x01
  184. #define IF_CHECK_SEND                   0x02
  185. //////////////////////////////////////////////////////////////////////////////
  186. //                                                                          //
  187. // Connection Types                                                         //
  188. //                                                                          //
  189. //////////////////////////////////////////////////////////////////////////////
  190. #define IF_CONNECTION_DEDICATED         1
  191. #define IF_CONNECTION_PASSIVE           2
  192. #define IF_CONNECTION_DEMAND            3
  193. #define IF_ADMIN_STATUS_UP              1
  194. #define IF_ADMIN_STATUS_DOWN            2
  195. #define IF_ADMIN_STATUS_TESTING         3
  196. //////////////////////////////////////////////////////////////////////////////
  197. //                                                                          //
  198. // The following are the the operational states for WAN and LAN interfaces. //
  199. // The order of the states seems weird, but is done for a purpose. All      //
  200. // states >= CONNECTED can transmit data right away. States >= DISCONNECTED //
  201. // can tx data but some set up might be needed. States < DISCONNECTED can   //
  202. // not transmit data.                                                       //
  203. // A card is marked UNREACHABLE if DIM calls InterfaceUnreachable for       //
  204. // reasons other than failure to connect.                                   //
  205. //                                                                          //
  206. // NON_OPERATIONAL -- Valid for LAN Interfaces. Means the card is not       //
  207. //                      working or not plugged in or has no address.        //
  208. // UNREACHABLE     -- Valid for WAN Interfaces. Means the remote site is    //
  209. //                      not reachable at this time.                         //
  210. // DISCONNECTED    -- Valid for WAN Interfaces. Means the remote site is    //
  211. //                      not connected at this time.                         //
  212. // CONNECTING      -- Valid for WAN Interfaces. Means a connection attempt  //
  213. //                      has been initiated to the remote site.              //
  214. // CONNECTED       -- Valid for WAN Interfaces. Means the remote site is    //
  215. //                      connected.                                          //
  216. // OPERATIONAL     -- Valid for LAN Interfaces. Means the card is plugged   //
  217. //                      in and working.                                     //
  218. //                                                                          //
  219. // It is the users duty to convert these values to MIB-II values if they    //
  220. // are to be used by a subagent                                             //
  221. //                                                                          //
  222. //////////////////////////////////////////////////////////////////////////////
  223. #define IF_OPER_STATUS_NON_OPERATIONAL  0
  224. #define IF_OPER_STATUS_UNREACHABLE      1
  225. #define IF_OPER_STATUS_DISCONNECTED     2
  226. #define IF_OPER_STATUS_CONNECTING       3
  227. #define IF_OPER_STATUS_CONNECTED        4
  228. #define IF_OPER_STATUS_OPERATIONAL      5
  229. #define MIB_IF_TYPE_OTHER               1
  230. #define MIB_IF_TYPE_ETHERNET            6
  231. #define MIB_IF_TYPE_TOKENRING           9
  232. #define MIB_IF_TYPE_FDDI                15
  233. #define MIB_IF_TYPE_PPP                 23
  234. #define MIB_IF_TYPE_LOOPBACK            24
  235. #define MIB_IF_TYPE_SLIP                28
  236. #define MIB_IF_ADMIN_STATUS_UP          1
  237. #define MIB_IF_ADMIN_STATUS_DOWN        2
  238. #define MIB_IF_ADMIN_STATUS_TESTING     3
  239. #define MIB_IF_OPER_STATUS_NON_OPERATIONAL      0
  240. #define MIB_IF_OPER_STATUS_UNREACHABLE          1
  241. #define MIB_IF_OPER_STATUS_DISCONNECTED         2
  242. #define MIB_IF_OPER_STATUS_CONNECTING           3
  243. #define MIB_IF_OPER_STATUS_CONNECTED            4
  244. #define MIB_IF_OPER_STATUS_OPERATIONAL          5
  245. #ifdef __cplusplus
  246. }
  247. #endif
  248. #endif //__ROUTING_IPIFCONS_H__