]>
Commit | Line | Data |
---|---|---|
7612a43d VK |
1 | /* |
2 | * ndis.h | |
3 | * | |
4 | * ntddndis.h modified by Benedikt Spranger <[email protected]> | |
5 | * | |
6 | * Thanks to the cygwin development team, | |
7 | * espacially to Casper S. Hornstrup <[email protected]> | |
8 | * | |
9 | * THIS SOFTWARE IS NOT COPYRIGHTED | |
10 | * | |
11 | * This source code is offered for use in the public domain. You may | |
12 | * use, modify or distribute it freely. | |
13 | * | |
14 | * This code is distributed in the hope that it will be useful but | |
15 | * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY | |
16 | * DISCLAIMED. This includes but is not limited to warranties of | |
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
18 | * | |
19 | */ | |
20 | ||
21 | #ifndef _USBGADGET_NDIS_H | |
22 | #define _USBGADGET_NDIS_H | |
23 | ||
24 | ||
25 | #define NDIS_STATUS_MULTICAST_FULL 0xC0010009 | |
26 | #define NDIS_STATUS_MULTICAST_EXISTS 0xC001000A | |
27 | #define NDIS_STATUS_MULTICAST_NOT_FOUND 0xC001000B | |
28 | ||
29 | enum NDIS_DEVICE_POWER_STATE { | |
30 | NdisDeviceStateUnspecified = 0, | |
31 | NdisDeviceStateD0, | |
32 | NdisDeviceStateD1, | |
33 | NdisDeviceStateD2, | |
34 | NdisDeviceStateD3, | |
35 | NdisDeviceStateMaximum | |
36 | }; | |
37 | ||
38 | struct NDIS_PM_WAKE_UP_CAPABILITIES { | |
39 | enum NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp; | |
40 | enum NDIS_DEVICE_POWER_STATE MinPatternWakeUp; | |
41 | enum NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp; | |
42 | }; | |
43 | ||
44 | /* NDIS_PNP_CAPABILITIES.Flags constants */ | |
45 | #define NDIS_DEVICE_WAKE_UP_ENABLE 0x00000001 | |
46 | #define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002 | |
47 | #define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004 | |
48 | ||
49 | struct NDIS_PNP_CAPABILITIES { | |
50 | __le32 Flags; | |
51 | struct NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities; | |
52 | }; | |
53 | ||
54 | struct NDIS_PM_PACKET_PATTERN { | |
55 | __le32 Priority; | |
56 | __le32 Reserved; | |
57 | __le32 MaskSize; | |
58 | __le32 PatternOffset; | |
59 | __le32 PatternSize; | |
60 | __le32 PatternFlags; | |
61 | }; | |
62 | ||
63 | ||
64 | /* Required Object IDs (OIDs) */ | |
65 | #define OID_GEN_SUPPORTED_LIST 0x00010101 | |
66 | #define OID_GEN_HARDWARE_STATUS 0x00010102 | |
67 | #define OID_GEN_MEDIA_SUPPORTED 0x00010103 | |
68 | #define OID_GEN_MEDIA_IN_USE 0x00010104 | |
69 | #define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105 | |
70 | #define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106 | |
71 | #define OID_GEN_LINK_SPEED 0x00010107 | |
72 | #define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108 | |
73 | #define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109 | |
74 | #define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A | |
75 | #define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B | |
76 | #define OID_GEN_VENDOR_ID 0x0001010C | |
77 | #define OID_GEN_VENDOR_DESCRIPTION 0x0001010D | |
78 | #define OID_GEN_CURRENT_PACKET_FILTER 0x0001010E | |
79 | #define OID_GEN_CURRENT_LOOKAHEAD 0x0001010F | |
80 | #define OID_GEN_DRIVER_VERSION 0x00010110 | |
81 | #define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111 | |
82 | #define OID_GEN_PROTOCOL_OPTIONS 0x00010112 | |
83 | #define OID_GEN_MAC_OPTIONS 0x00010113 | |
84 | #define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114 | |
85 | #define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115 | |
86 | #define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116 | |
87 | #define OID_GEN_SUPPORTED_GUIDS 0x00010117 | |
88 | #define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118 | |
89 | #define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119 | |
90 | #define OID_GEN_MACHINE_NAME 0x0001021A | |
91 | #define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B | |
92 | #define OID_GEN_VLAN_ID 0x0001021C | |
93 | ||
94 | /* Optional OIDs */ | |
95 | #define OID_GEN_MEDIA_CAPABILITIES 0x00010201 | |
96 | #define OID_GEN_PHYSICAL_MEDIUM 0x00010202 | |
97 | ||
98 | /* Required statistics OIDs */ | |
99 | #define OID_GEN_XMIT_OK 0x00020101 | |
100 | #define OID_GEN_RCV_OK 0x00020102 | |
101 | #define OID_GEN_XMIT_ERROR 0x00020103 | |
102 | #define OID_GEN_RCV_ERROR 0x00020104 | |
103 | #define OID_GEN_RCV_NO_BUFFER 0x00020105 | |
104 | ||
105 | /* Optional statistics OIDs */ | |
106 | #define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201 | |
107 | #define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202 | |
108 | #define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203 | |
109 | #define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204 | |
110 | #define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205 | |
111 | #define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206 | |
112 | #define OID_GEN_DIRECTED_BYTES_RCV 0x00020207 | |
113 | #define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208 | |
114 | #define OID_GEN_MULTICAST_BYTES_RCV 0x00020209 | |
115 | #define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A | |
116 | #define OID_GEN_BROADCAST_BYTES_RCV 0x0002020B | |
117 | #define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C | |
118 | #define OID_GEN_RCV_CRC_ERROR 0x0002020D | |
119 | #define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E | |
120 | #define OID_GEN_GET_TIME_CAPS 0x0002020F | |
121 | #define OID_GEN_GET_NETCARD_TIME 0x00020210 | |
122 | #define OID_GEN_NETCARD_LOAD 0x00020211 | |
123 | #define OID_GEN_DEVICE_PROFILE 0x00020212 | |
124 | #define OID_GEN_INIT_TIME_MS 0x00020213 | |
125 | #define OID_GEN_RESET_COUNTS 0x00020214 | |
126 | #define OID_GEN_MEDIA_SENSE_COUNTS 0x00020215 | |
127 | #define OID_GEN_FRIENDLY_NAME 0x00020216 | |
128 | #define OID_GEN_MINIPORT_INFO 0x00020217 | |
129 | #define OID_GEN_RESET_VERIFY_PARAMETERS 0x00020218 | |
130 | ||
131 | /* IEEE 802.3 (Ethernet) OIDs */ | |
132 | #define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001 | |
133 | ||
134 | #define OID_802_3_PERMANENT_ADDRESS 0x01010101 | |
135 | #define OID_802_3_CURRENT_ADDRESS 0x01010102 | |
136 | #define OID_802_3_MULTICAST_LIST 0x01010103 | |
137 | #define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104 | |
138 | #define OID_802_3_MAC_OPTIONS 0x01010105 | |
139 | #define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101 | |
140 | #define OID_802_3_XMIT_ONE_COLLISION 0x01020102 | |
141 | #define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103 | |
142 | #define OID_802_3_XMIT_DEFERRED 0x01020201 | |
143 | #define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202 | |
144 | #define OID_802_3_RCV_OVERRUN 0x01020203 | |
145 | #define OID_802_3_XMIT_UNDERRUN 0x01020204 | |
146 | #define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205 | |
147 | #define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206 | |
148 | #define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207 | |
149 | ||
150 | /* OID_GEN_MINIPORT_INFO constants */ | |
151 | #define NDIS_MINIPORT_BUS_MASTER 0x00000001 | |
152 | #define NDIS_MINIPORT_WDM_DRIVER 0x00000002 | |
153 | #define NDIS_MINIPORT_SG_LIST 0x00000004 | |
154 | #define NDIS_MINIPORT_SUPPORTS_MEDIA_QUERY 0x00000008 | |
155 | #define NDIS_MINIPORT_INDICATES_PACKETS 0x00000010 | |
156 | #define NDIS_MINIPORT_IGNORE_PACKET_QUEUE 0x00000020 | |
157 | #define NDIS_MINIPORT_IGNORE_REQUEST_QUEUE 0x00000040 | |
158 | #define NDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS 0x00000080 | |
159 | #define NDIS_MINIPORT_INTERMEDIATE_DRIVER 0x00000100 | |
160 | #define NDIS_MINIPORT_IS_NDIS_5 0x00000200 | |
161 | #define NDIS_MINIPORT_IS_CO 0x00000400 | |
162 | #define NDIS_MINIPORT_DESERIALIZE 0x00000800 | |
163 | #define NDIS_MINIPORT_REQUIRES_MEDIA_POLLING 0x00001000 | |
164 | #define NDIS_MINIPORT_SUPPORTS_MEDIA_SENSE 0x00002000 | |
165 | #define NDIS_MINIPORT_NETBOOT_CARD 0x00004000 | |
166 | #define NDIS_MINIPORT_PM_SUPPORTED 0x00008000 | |
167 | #define NDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00010000 | |
168 | #define NDIS_MINIPORT_USES_SAFE_BUFFER_APIS 0x00020000 | |
169 | #define NDIS_MINIPORT_HIDDEN 0x00040000 | |
170 | #define NDIS_MINIPORT_SWENUM 0x00080000 | |
171 | #define NDIS_MINIPORT_SURPRISE_REMOVE_OK 0x00100000 | |
172 | #define NDIS_MINIPORT_NO_HALT_ON_SUSPEND 0x00200000 | |
173 | #define NDIS_MINIPORT_HARDWARE_DEVICE 0x00400000 | |
174 | #define NDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS 0x00800000 | |
175 | #define NDIS_MINIPORT_64BITS_DMA 0x01000000 | |
176 | ||
177 | #define NDIS_MEDIUM_802_3 0x00000000 | |
178 | #define NDIS_MEDIUM_802_5 0x00000001 | |
179 | #define NDIS_MEDIUM_FDDI 0x00000002 | |
180 | #define NDIS_MEDIUM_WAN 0x00000003 | |
181 | #define NDIS_MEDIUM_LOCAL_TALK 0x00000004 | |
182 | #define NDIS_MEDIUM_DIX 0x00000005 | |
183 | #define NDIS_MEDIUM_ARCENT_RAW 0x00000006 | |
184 | #define NDIS_MEDIUM_ARCENT_878_2 0x00000007 | |
185 | #define NDIS_MEDIUM_ATM 0x00000008 | |
186 | #define NDIS_MEDIUM_WIRELESS_LAN 0x00000009 | |
187 | #define NDIS_MEDIUM_IRDA 0x0000000A | |
188 | #define NDIS_MEDIUM_BPC 0x0000000B | |
189 | #define NDIS_MEDIUM_CO_WAN 0x0000000C | |
190 | #define NDIS_MEDIUM_1394 0x0000000D | |
191 | ||
192 | #define NDIS_PACKET_TYPE_DIRECTED 0x00000001 | |
193 | #define NDIS_PACKET_TYPE_MULTICAST 0x00000002 | |
194 | #define NDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004 | |
195 | #define NDIS_PACKET_TYPE_BROADCAST 0x00000008 | |
196 | #define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010 | |
197 | #define NDIS_PACKET_TYPE_PROMISCUOUS 0x00000020 | |
198 | #define NDIS_PACKET_TYPE_SMT 0x00000040 | |
199 | #define NDIS_PACKET_TYPE_ALL_LOCAL 0x00000080 | |
200 | #define NDIS_PACKET_TYPE_GROUP 0x00000100 | |
201 | #define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00000200 | |
202 | #define NDIS_PACKET_TYPE_FUNCTIONAL 0x00000400 | |
203 | #define NDIS_PACKET_TYPE_MAC_FRAME 0x00000800 | |
204 | ||
205 | #define NDIS_MEDIA_STATE_CONNECTED 0x00000000 | |
206 | #define NDIS_MEDIA_STATE_DISCONNECTED 0x00000001 | |
207 | ||
208 | #define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001 | |
209 | #define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002 | |
210 | #define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004 | |
211 | #define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008 | |
212 | #define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010 | |
213 | #define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020 | |
214 | #define NDIS_MAC_OPTION_8021P_PRIORITY 0x00000040 | |
215 | #define NDIS_MAC_OPTION_RESERVED 0x80000000 | |
216 | ||
217 | #endif /* _USBGADGET_NDIS_H */ |