|
1 /* |
|
2 * ntddndis.h |
|
3 * |
|
4 * NDIS device driver interface |
|
5 * |
|
6 * This file is part of the w32api package. |
|
7 * |
|
8 * Contributors: |
|
9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> |
|
10 * |
|
11 * THIS SOFTWARE IS NOT COPYRIGHTED |
|
12 * |
|
13 * This source code is offered for use in the public domain. You may |
|
14 * use, modify or distribute it freely. |
|
15 * |
|
16 * This code is distributed in the hope that it will be useful but |
|
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY |
|
18 * DISCLAIMED. This includes but is not limited to warranties of |
|
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
20 * |
|
21 */ |
|
22 |
|
23 #ifndef __NTDDNDIS_H |
|
24 #define __NTDDNDIS_H |
|
25 |
|
26 #if __GNUC__ >=3 |
|
27 #pragma GCC system_header |
|
28 #endif |
|
29 |
|
30 #pragma pack(push,4) |
|
31 |
|
32 #include "ntddk.h" |
|
33 |
|
34 #ifdef __cplusplus |
|
35 extern "C" { |
|
36 #endif |
|
37 |
|
38 typedef enum _NDIS_WAN_QUALITY { |
|
39 NdisWanRaw, |
|
40 NdisWanErrorControl, |
|
41 NdisWanReliable |
|
42 } NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY; |
|
43 |
|
44 typedef enum _NDIS_DEVICE_POWER_STATE { |
|
45 NdisDeviceStateUnspecified = 0, |
|
46 NdisDeviceStateD0, |
|
47 NdisDeviceStateD1, |
|
48 NdisDeviceStateD2, |
|
49 NdisDeviceStateD3, |
|
50 NdisDeviceStateMaximum |
|
51 } NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE; |
|
52 |
|
53 typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES { |
|
54 NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp; |
|
55 NDIS_DEVICE_POWER_STATE MinPatternWakeUp; |
|
56 NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp; |
|
57 } NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES; |
|
58 |
|
59 /* NDIS_PNP_CAPABILITIES.Flags constants */ |
|
60 #define NDIS_DEVICE_WAKE_UP_ENABLE 0x00000001 |
|
61 #define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002 |
|
62 #define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004 |
|
63 |
|
64 typedef struct _NDIS_PNP_CAPABILITIES { |
|
65 ULONG Flags; |
|
66 NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities; |
|
67 } NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES; |
|
68 |
|
69 /* Required Object IDs (OIDs) */ |
|
70 #define OID_GEN_SUPPORTED_LIST 0x00010101 |
|
71 #define OID_GEN_HARDWARE_STATUS 0x00010102 |
|
72 #define OID_GEN_MEDIA_SUPPORTED 0x00010103 |
|
73 #define OID_GEN_MEDIA_IN_USE 0x00010104 |
|
74 #define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105 |
|
75 #define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106 |
|
76 #define OID_GEN_LINK_SPEED 0x00010107 |
|
77 #define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108 |
|
78 #define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109 |
|
79 #define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A |
|
80 #define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B |
|
81 #define OID_GEN_VENDOR_ID 0x0001010C |
|
82 #define OID_GEN_VENDOR_DESCRIPTION 0x0001010D |
|
83 #define OID_GEN_CURRENT_PACKET_FILTER 0x0001010E |
|
84 #define OID_GEN_CURRENT_LOOKAHEAD 0x0001010F |
|
85 #define OID_GEN_DRIVER_VERSION 0x00010110 |
|
86 #define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111 |
|
87 #define OID_GEN_PROTOCOL_OPTIONS 0x00010112 |
|
88 #define OID_GEN_MAC_OPTIONS 0x00010113 |
|
89 #define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114 |
|
90 #define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115 |
|
91 #define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116 |
|
92 #define OID_GEN_SUPPORTED_GUIDS 0x00010117 |
|
93 #define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118 |
|
94 #define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119 |
|
95 #define OID_GEN_MACHINE_NAME 0x0001021A |
|
96 #define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B |
|
97 #define OID_GEN_VLAN_ID 0x0001021C |
|
98 |
|
99 /* Optional OIDs */ |
|
100 #define OID_GEN_MEDIA_CAPABILITIES 0x00010201 |
|
101 #define OID_GEN_PHYSICAL_MEDIUM 0x00010202 |
|
102 |
|
103 /* Required statistics OIDs */ |
|
104 #define OID_GEN_XMIT_OK 0x00020101 |
|
105 #define OID_GEN_RCV_OK 0x00020102 |
|
106 #define OID_GEN_XMIT_ERROR 0x00020103 |
|
107 #define OID_GEN_RCV_ERROR 0x00020104 |
|
108 #define OID_GEN_RCV_NO_BUFFER 0x00020105 |
|
109 |
|
110 /* Optional statistics OIDs */ |
|
111 #define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201 |
|
112 #define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202 |
|
113 #define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203 |
|
114 #define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204 |
|
115 #define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205 |
|
116 #define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206 |
|
117 #define OID_GEN_DIRECTED_BYTES_RCV 0x00020207 |
|
118 #define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208 |
|
119 #define OID_GEN_MULTICAST_BYTES_RCV 0x00020209 |
|
120 #define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A |
|
121 #define OID_GEN_BROADCAST_BYTES_RCV 0x0002020B |
|
122 #define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C |
|
123 #define OID_GEN_RCV_CRC_ERROR 0x0002020D |
|
124 #define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E |
|
125 #define OID_GEN_GET_TIME_CAPS 0x0002020F |
|
126 #define OID_GEN_GET_NETCARD_TIME 0x00020210 |
|
127 #define OID_GEN_NETCARD_LOAD 0x00020211 |
|
128 #define OID_GEN_DEVICE_PROFILE 0x00020212 |
|
129 #define OID_GEN_INIT_TIME_MS 0x00020213 |
|
130 #define OID_GEN_RESET_COUNTS 0x00020214 |
|
131 #define OID_GEN_MEDIA_SENSE_COUNTS 0x00020215 |
|
132 #define OID_GEN_FRIENDLY_NAME 0x00020216 |
|
133 #define OID_GEN_MINIPORT_INFO 0x00020217 |
|
134 #define OID_GEN_RESET_VERIFY_PARAMETERS 0x00020218 |
|
135 |
|
136 /* IEEE 802.3 (Ethernet) OIDs */ |
|
137 #define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001 |
|
138 |
|
139 #define OID_802_3_PERMANENT_ADDRESS 0x01010101 |
|
140 #define OID_802_3_CURRENT_ADDRESS 0x01010102 |
|
141 #define OID_802_3_MULTICAST_LIST 0x01010103 |
|
142 #define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104 |
|
143 #define OID_802_3_MAC_OPTIONS 0x01010105 |
|
144 #define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101 |
|
145 #define OID_802_3_XMIT_ONE_COLLISION 0x01020102 |
|
146 #define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103 |
|
147 #define OID_802_3_XMIT_DEFERRED 0x01020201 |
|
148 #define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202 |
|
149 #define OID_802_3_RCV_OVERRUN 0x01020203 |
|
150 #define OID_802_3_XMIT_UNDERRUN 0x01020204 |
|
151 #define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205 |
|
152 #define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206 |
|
153 #define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207 |
|
154 |
|
155 /* OID_GEN_MINIPORT_INFO constants */ |
|
156 #define NDIS_MINIPORT_BUS_MASTER 0x00000001 |
|
157 #define NDIS_MINIPORT_WDM_DRIVER 0x00000002 |
|
158 #define NDIS_MINIPORT_SG_LIST 0x00000004 |
|
159 #define NDIS_MINIPORT_SUPPORTS_MEDIA_QUERY 0x00000008 |
|
160 #define NDIS_MINIPORT_INDICATES_PACKETS 0x00000010 |
|
161 #define NDIS_MINIPORT_IGNORE_PACKET_QUEUE 0x00000020 |
|
162 #define NDIS_MINIPORT_IGNORE_REQUEST_QUEUE 0x00000040 |
|
163 #define NDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS 0x00000080 |
|
164 #define NDIS_MINIPORT_INTERMEDIATE_DRIVER 0x00000100 |
|
165 #define NDIS_MINIPORT_IS_NDIS_5 0x00000200 |
|
166 #define NDIS_MINIPORT_IS_CO 0x00000400 |
|
167 #define NDIS_MINIPORT_DESERIALIZE 0x00000800 |
|
168 #define NDIS_MINIPORT_REQUIRES_MEDIA_POLLING 0x00001000 |
|
169 #define NDIS_MINIPORT_SUPPORTS_MEDIA_SENSE 0x00002000 |
|
170 #define NDIS_MINIPORT_NETBOOT_CARD 0x00004000 |
|
171 #define NDIS_MINIPORT_PM_SUPPORTED 0x00008000 |
|
172 #define NDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00010000 |
|
173 #define NDIS_MINIPORT_USES_SAFE_BUFFER_APIS 0x00020000 |
|
174 #define NDIS_MINIPORT_HIDDEN 0x00040000 |
|
175 #define NDIS_MINIPORT_SWENUM 0x00080000 |
|
176 #define NDIS_MINIPORT_SURPRISE_REMOVE_OK 0x00100000 |
|
177 #define NDIS_MINIPORT_NO_HALT_ON_SUSPEND 0x00200000 |
|
178 #define NDIS_MINIPORT_HARDWARE_DEVICE 0x00400000 |
|
179 #define NDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS 0x00800000 |
|
180 #define NDIS_MINIPORT_64BITS_DMA 0x01000000 |
|
181 |
|
182 #pragma pack(pop) |
|
183 |
|
184 #ifdef __cplusplus |
|
185 } |
|
186 #endif |
|
187 |
|
188 #endif /* __NTDDNDIS_H */ |