ReactOS 0.4.15-dev-7958-gcd0bb1a
ndis.h
Go to the documentation of this file.
1/*
2 * ndis.h
3 *
4 * Network Device Interface Specification definitions
5 *
6 * This file is part of the ReactOS DDK 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 * DEFINES: i386 - Target platform is i386
22 * NDIS_WRAPPER - Define only for NDIS library
23 * NDIS_MINIPORT_DRIVER - Define only for NDIS miniport drivers
24 * NDIS40 - Use NDIS 4.0 structures by default
25 * NDIS50 - Use NDIS 5.0 structures by default
26 * NDIS51 - Use NDIS 5.1 structures by default
27 * NDIS40_MINIPORT - Building NDIS 4.0 miniport driver
28 * NDIS50_MINIPORT - Building NDIS 5.0 miniport driver
29 * NDIS51_MINIPORT - Building NDIS 5.1 miniport driver
30 */
31
32#ifndef _NDIS_
33#define _NDIS_
34
35#ifndef NDIS_WDM
36#define NDIS_WDM 0
37#endif
38
39#include "ntddk.h"
40#include "netpnp.h"
41#include "ntstatus.h"
42#include "netevent.h"
43#include <qos.h>
44
46
47#include "ntddndis.h"
48
49#if !defined(_WINDEF_H)
50typedef unsigned int UINT, *PUINT;
51#endif
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
57__drv_Mode_impl(NDIS_INCLUDED)
58
59#ifndef __NET_PNP__
60#define __NET_PNP__
61
62typedef enum _NET_DEVICE_POWER_STATE {
70
71typedef enum _NET_PNP_EVENT_CODE {
87
88typedef struct _NET_PNP_EVENT {
97
98#endif /* __NET_PNP__ */
99
100#if !defined(NDIS_WRAPPER)
101
102#if (defined(NDIS_MINIPORT_MAJOR_VERSION) || \
103 (defined(NDIS_MINIPORT_MINOR_VERSION)) || \
104 (defined(NDIS_PROTOCOL_MAJOR_VERSION)) || \
105 (defined(NDIS_PROTOCOL_MINOR_VERSION)) || \
106 (defined(NDIS_FILTER_MAJOR_VERSION)) || \
107 (defined(NDIS_FILTER_MINOR_VERSION)))
108#error "Driver should not redefine NDIS reserved macros"
109#endif
110
111#if defined(NDIS_MINIPORT_DRIVER)
112
113#if defined(NDIS620_MINIPORT)
114#define NDIS_MINIPORT_MAJOR_VERSION 6
115#define NDIS_MINIPORT_MINOR_VERSION 20
116#elif defined(NDIS61_MINIPORT)
117#define NDIS_MINIPORT_MAJOR_VERSION 6
118#define NDIS_MINIPORT_MINOR_VERSION 1
119#elif defined(NDIS60_MINIPORT)
120#define NDIS_MINIPORT_MAJOR_VERSION 6
121#define NDIS_MINIPORT_MINOR_VERSION 0
122#elif defined(NDIS51_MINIPORT)
123#define NDIS_MINIPORT_MAJOR_VERSION 5
124#define NDIS_MINIPORT_MINOR_VERSION 1
125#elif defined(NDIS50_MINIPORT)
126#define NDIS_MINIPORT_MAJOR_VERSION 5
127#define NDIS_MINIPORT_MINOR_VERSION 0
128#else
129#error "Only NDIS miniport drivers with version >= 5 are supported"
130#endif
131
132#if ((NDIS_MINIPORT_MAJOR_VERSION == 6) && \
133 (NDIS_MINIPORT_MINOR_VERSION != 20) && \
134 (NDIS_MINIPORT_MINOR_VERSION != 1) && \
135 (NDIS_MINIPORT_MINOR_VERSION != 0))
136#error "Invalid miniport major/minor version combination"
137#elif ((NDIS_MINIPORT_MAJOR_VERSION == 5) && \
138 (NDIS_MINIPORT_MINOR_VERSION != 1) && \
139 (NDIS_MINIPORT_MINOR_VERSION != 0))
140#error "Invalid miniport major/minor version combination"
141#endif
142
143#if (NDIS_MINIPORT_MAJOR_VERSION == 6) && \
144 ((NDIS_MINIPORT_MINOR_VERSION == 20 && NTDDI_VERSION < NTDDI_WIN7) || \
145 (NDIS_MINIPORT_MINOR_VERSION == 1 && NTDDI_VERSION < NTDDI_VISTA) || \
146 (NDIS_MINIPORT_MINOR_VERSION == 0 && NTDDI_VERSION < NTDDI_VISTA))
147#error "Wrong NDIS/DDI version"
148#elif ((NDIS_MINIPORT_MAJOR_VERSION == 5) && \
149 (((NDIS_MINIPORT_MINOR_VERSION == 1) && (NTDDI_VERSION < NTDDI_WINXP)) || \
150 ((NDIS_MINIPORT_MINOR_VERSION == 0) && (NTDDI_VERSION < NTDDI_WIN2K))))
151#error "Wrong NDIS/DDI version"
152#endif
153
154
155#endif /* defined(NDIS_MINIPORT_DRIVER) */
156
157#if defined(NDIS30)
158#error "Only NDIS Protocol drivers version 4 or later are supported"
159#endif
160
161#if defined(NDIS620)
162#define NDIS_PROTOCOL_MAJOR_VERSION 6
163#define NDIS_PROTOCOL_MINOR_VERSION 20
164#define NDIS_FILTER_MAJOR_VERSION 6
165#define NDIS_FILTER_MINOR_VERSION 20
166#elif defined(NDIS61)
167#define NDIS_PROTOCOL_MAJOR_VERSION 6
168#define NDIS_PROTOCOL_MINOR_VERSION 1
169#define NDIS_FILTER_MAJOR_VERSION 6
170#define NDIS_FILTER_MINOR_VERSION 1
171#elif defined(NDIS60)
172#define NDIS_PROTOCOL_MAJOR_VERSION 6
173#define NDIS_PROTOCOL_MINOR_VERSION 0
174#define NDIS_FILTER_MAJOR_VERSION 6
175#define NDIS_FILTER_MINOR_VERSION 0
176#elif defined(NDIS51)
177#define NDIS_PROTOCOL_MAJOR_VERSION 5
178#define NDIS_PROTOCOL_MINOR_VERSION 1
179#elif defined(NDIS50)
180#define NDIS_PROTOCOL_MAJOR_VERSION 5
181#define NDIS_PROTOCOL_MINOR_VERSION 0
182#elif defined(NDIS40)
183#define NDIS_PROTOCOL_MAJOR_VERSION 4
184#define NDIS_PROTOCOL_MINOR_VERSION 0
185#endif
186
187#if !defined(NDIS_MINIPORT_DRIVER) && !defined(NDIS_PROTOCOL_MAJOR_VERSION)
188#define NDIS40
189#define NDIS_PROTOCOL_MAJOR_VERSION 4
190#define NDIS_PROTOCOL_MINOR_VERSION 0
191#endif
192
193#if defined(NDIS_FILTER_MAJOR_VERSION)
194
195#if ((NDIS_FILTER_MAJOR_VERSION == 6) && \
196 (NDIS_FILTER_MINOR_VERSION != 20) && \
197 (NDIS_FILTER_MINOR_VERSION != 1) && \
198 (NDIS_FILTER_MINOR_VERSION != 0))
199#error "Invalid Filter version"
200#endif
201
202#endif /* defined(NDIS_FILTER_MAJOR_VERSION) */
203
204
205#if defined(NDIS_PROTOCOL_MAJOR_VERSION)
206
207#if ((NDIS_PROTOCOL_MAJOR_VERSION == 6) && \
208 (NDIS_PROTOCOL_MINOR_VERSION != 20) && \
209 (NDIS_PROTOCOL_MINOR_VERSION != 1) && \
210 (NDIS_PROTOCOL_MINOR_VERSION != 0))
211#error "Invalid Protocol version"
212#elif ((NDIS_PROTOCOL_MAJOR_VERSION == 5) && \
213 (NDIS_PROTOCOL_MINOR_VERSION != 1) && (NDIS_PROTOCOL_MINOR_VERSION != 0))
214#error "Invalid Protocol version"
215#elif ((NDIS_PROTOCOL_MAJOR_VERSION == 4) && (NDIS_PROTOCOL_MINOR_VERSION != 0))
216#error "Invalid Protocol major/minor version"
217#endif
218
219#if ((NDIS_PROTOCOL_MAJOR_VERSION == 6) && (NTDDI_VERSION < NTDDI_VISTA))
220#error "Wrong NDIS/DDI version"
221#endif
222
223#endif /* defined(NDIS_PROTOCOL_MAJOR_VERSION) */
224
225#endif /* !defined(NDIS_WRAPPER) */
226
227#if !defined(NDIS_LEGACY_MINIPORT)
228
229#if ((defined(NDIS_MINIPORT_DRIVER) && (NDIS_MINIPORT_MAJOR_VERSION < 6)) || NDIS_WRAPPER)
230#define NDIS_LEGACY_MINIPORT 1
231#else
232#define NDIS_LEGACY_MINIPORT 0
233#endif
234
235#endif /* !defined(NDIS_LEGACY_MINIPORT) */
236
237#if !defined(NDIS_LEGACY_PROTOCOL)
238
239#if ((defined(NDIS_PROTOCOL_MAJOR_VERSION) && (NDIS_PROTOCOL_MAJOR_VERSION < 6)) || NDIS_WRAPPER)
240#define NDIS_LEGACY_PROTOCOL 1
241#else
242#define NDIS_LEGACY_PROTOCOL 0
243#endif
244
245#endif /* !defined(NDIS_LEGACY_PROTOCOL) */
246
247#if !defined(NDIS_LEGACY_DRIVER)
248
249#if (NDIS_LEGACY_MINIPORT || NDIS_LEGACY_PROTOCOL || NDIS_WRAPPER)
250#define NDIS_LEGACY_DRIVER 1
251#else
252#define NDIS_LEGACY_DRIVER 0
253#endif
254
255#endif /* !defined(NDIS_LEGACY_DRIVER) */
256
257#if !defined(NDIS_SUPPORT_NDIS6)
258
259#if ((defined (NDIS_MINIPORT_MAJOR_VERSION) && (NDIS_MINIPORT_MAJOR_VERSION >= 6)) || \
260 (defined (NDIS60)) || NDIS_WRAPPER)
261#define NDIS_SUPPORT_NDIS6 1
262#else
263#define NDIS_SUPPORT_NDIS6 0
264#endif
265
266#endif /* !defined(NDIS_SUPPORT_NDIS6) */
267
268#if !defined(NDIS_SUPPORT_NDIS61)
269#if (((defined (NDIS_MINIPORT_MAJOR_VERSION) && (NDIS_MINIPORT_MAJOR_VERSION >= 6)) && \
270 (defined (NDIS_MINIPORT_MINOR_VERSION) && (NDIS_MINIPORT_MINOR_VERSION >= 1))) || \
271 (defined (NDIS61)) || NDIS_WRAPPER)
272#define NDIS_SUPPORT_NDIS61 1
273#else
274#define NDIS_SUPPORT_NDIS61 0
275#endif
276#endif /* !defined(NDIS_SUPPORT_NDIS61) */
277
278#if !defined(NDIS_SUPPORT_NDIS620)
279
280#if (((defined (NDIS_MINIPORT_MAJOR_VERSION) && (NDIS_MINIPORT_MAJOR_VERSION >= 6)) && \
281 (defined (NDIS_MINIPORT_MINOR_VERSION) && (NDIS_MINIPORT_MINOR_VERSION >= 20))) || \
282 (defined (NDIS620)) || NDIS_WRAPPER)
283#define NDIS_SUPPORT_NDIS620 1
284#else
285#define NDIS_SUPPORT_NDIS620 0
286#endif
287
288#endif /* !defined(NDIS_SUPPORT_NDIS620) */
289
290#if (NDIS_SUPPORT_NDIS620)
291#undef NDIS_SUPPORT_NDIS61
292#define NDIS_SUPPORT_NDIS61 1
293#endif
294
295#if (NDIS_SUPPORT_NDIS61)
296#undef NDIS_SUPPORT_NDIS6
297#define NDIS_SUPPORT_NDIS6 1
298#endif
299
300#if defined(NDIS61_MINIPORT) || defined(NDIS60_MINIPORT) || defined(NDIS61) || \
301 defined(NDIS60) || defined(NDIS_WRAPPER) || defined(NDIS_LEGACY_DRIVER)
302#define NDIS_SUPPORT_60_COMPATIBLE_API 1
303#else
304#define NDIS_SUPPORT_60_COMPATIBLE_API 0
305#endif
306
307#if defined(NDIS_WRAPPER)
308#define NDISAPI
309#else
310#define NDISAPI DECLSPEC_IMPORT
311#endif
312
313typedef PVOID QUEUED_CLOSE; //FIXME : Doesn't exist in public headers
314
315typedef struct _X_FILTER FDDI_FILTER, *PFDDI_FILTER;
316typedef struct _X_FILTER TR_FILTER, *PTR_FILTER;
317typedef struct _X_FILTER NULL_FILTER, *PNULL_FILTER;
318
320
321typedef struct _REFERENCE {
326
327/* NDIS base types */
328
329typedef struct _NDIS_SPIN_LOCK {
333
334typedef struct _NDIS_EVENT {
337
339
342
344
345/* NDIS_STATUS constants */
346#define NDIS_STATUS_SUCCESS ((NDIS_STATUS)STATUS_SUCCESS)
347#define NDIS_STATUS_PENDING ((NDIS_STATUS)STATUS_PENDING)
348#define NDIS_STATUS_NOT_RECOGNIZED ((NDIS_STATUS)0x00010001L)
349#define NDIS_STATUS_NOT_COPIED ((NDIS_STATUS)0x00010002L)
350#define NDIS_STATUS_NOT_ACCEPTED ((NDIS_STATUS)0x00010003L)
351#define NDIS_STATUS_CALL_ACTIVE ((NDIS_STATUS)0x00010007L)
352#define NDIS_STATUS_INDICATION_REQUIRED ((NDIS_STATUS)STATUS_NDIS_INDICATION_REQUIRED)
353#define NDIS_STATUS_ONLINE ((NDIS_STATUS)0x40010003L)
354#define NDIS_STATUS_RESET_START ((NDIS_STATUS)0x40010004L)
355#define NDIS_STATUS_RESET_END ((NDIS_STATUS)0x40010005L)
356#define NDIS_STATUS_RING_STATUS ((NDIS_STATUS)0x40010006L)
357#define NDIS_STATUS_CLOSED ((NDIS_STATUS)0x40010007L)
358#define NDIS_STATUS_WAN_LINE_UP ((NDIS_STATUS)0x40010008L)
359#define NDIS_STATUS_WAN_LINE_DOWN ((NDIS_STATUS)0x40010009L)
360#define NDIS_STATUS_WAN_FRAGMENT ((NDIS_STATUS)0x4001000AL)
361#define NDIS_STATUS_MEDIA_CONNECT ((NDIS_STATUS)0x4001000BL)
362#define NDIS_STATUS_MEDIA_DISCONNECT ((NDIS_STATUS)0x4001000CL)
363#define NDIS_STATUS_HARDWARE_LINE_UP ((NDIS_STATUS)0x4001000DL)
364#define NDIS_STATUS_HARDWARE_LINE_DOWN ((NDIS_STATUS)0x4001000EL)
365#define NDIS_STATUS_INTERFACE_UP ((NDIS_STATUS)0x4001000FL)
366#define NDIS_STATUS_INTERFACE_DOWN ((NDIS_STATUS)0x40010010L)
367#define NDIS_STATUS_MEDIA_BUSY ((NDIS_STATUS)0x40010011L)
368#define NDIS_STATUS_MEDIA_SPECIFIC_INDICATION ((NDIS_STATUS)0x40010012L)
369#define NDIS_STATUS_WW_INDICATION NDIS_STATUS_MEDIA_SPECIFIC_INDICATION
370#define NDIS_STATUS_LINK_SPEED_CHANGE ((NDIS_STATUS)0x40010013L)
371#define NDIS_STATUS_WAN_GET_STATS ((NDIS_STATUS)0x40010014L)
372#define NDIS_STATUS_WAN_CO_FRAGMENT ((NDIS_STATUS)0x40010015L)
373#define NDIS_STATUS_WAN_CO_LINKPARAMS ((NDIS_STATUS)0x40010016L)
374#if NDIS_SUPPORT_NDIS6
375#define NDIS_STATUS_LINK_STATE ((NDIS_STATUS)0x40010017L)
376#define NDIS_STATUS_NETWORK_CHANGE ((NDIS_STATUS)0x40010018L)
377#define NDIS_STATUS_MEDIA_SPECIFIC_INDICATION_EX ((NDIS_STATUS)0x40010019L)
378#define NDIS_STATUS_PORT_STATE ((NDIS_STATUS)0x40010022L)
379#define NDIS_STATUS_OPER_STATUS ((NDIS_STATUS)0x40010023L)
380#define NDIS_STATUS_PACKET_FILTER ((NDIS_STATUS)0x40010024L)
381#endif /* NDIS_SUPPORT_NDIS6 */
382#define NDIS_STATUS_WAN_CO_MTULINKPARAMS ((NDIS_STATUS)0x40010025L)
383
384#if NDIS_SUPPORT_NDIS6
385
386#define NDIS_STATUS_IP_OPER_STATUS ((NDIS_STATUS)0x40010026L)
387
388#define NDIS_STATUS_OFFLOAD_PAUSE ((NDIS_STATUS)0x40020001L)
389#define NDIS_STATUS_UPLOAD_ALL ((NDIS_STATUS)0x40020002L)
390#define NDIS_STATUS_OFFLOAD_RESUME ((NDIS_STATUS)0x40020003L)
391#define NDIS_STATUS_OFFLOAD_PARTIAL_SUCCESS ((NDIS_STATUS)0x40020004L)
392#define NDIS_STATUS_OFFLOAD_STATE_INVALID ((NDIS_STATUS)0x40020005L)
393#define NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG ((NDIS_STATUS)0x40020006L)
394#define NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES ((NDIS_STATUS)0x40020007L)
395#define NDIS_STATUS_OFFLOAD_ENCASPULATION_CHANGE ((NDIS_STATUS)0x40020008L)
396#define NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES ((NDIS_STATUS)0x4002000BL)
397
398#if (NDIS_SUPPORT_NDIS61)
399#define NDIS_STATUS_HD_SPLIT_CURRENT_CONFIG ((NDIS_STATUS)0x4002000CL)
400#endif
401
402#if (NDIS_SUPPORT_NDIS620)
403#define NDIS_STATUS_RECEIVE_QUEUE_STATE ((NDIS_STATUS)0x4002000DL)
404#endif
405
406#define NDIS_STATUS_OFFLOAD_IM_RESERVED1 ((NDIS_STATUS)0x40020100L)
407#define NDIS_STATUS_OFFLOAD_IM_RESERVED2 ((NDIS_STATUS)0x40020101L)
408#define NDIS_STATUS_OFFLOAD_IM_RESERVED3 ((NDIS_STATUS)0x40020102L)
409
410#define NDIS_STATUS_DOT11_SCAN_CONFIRM ((NDIS_STATUS)0x40030000L)
411#define NDIS_STATUS_DOT11_MPDU_MAX_LENGTH_CHANGED ((NDIS_STATUS)0x40030001L)
412#define NDIS_STATUS_DOT11_ASSOCIATION_START ((NDIS_STATUS)0x40030002L)
413#define NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION ((NDIS_STATUS)0x40030003L)
414#define NDIS_STATUS_DOT11_CONNECTION_START ((NDIS_STATUS)0x40030004L)
415#define NDIS_STATUS_DOT11_CONNECTION_COMPLETION ((NDIS_STATUS)0x40030005L)
416#define NDIS_STATUS_DOT11_ROAMING_START ((NDIS_STATUS)0x40030006L)
417#define NDIS_STATUS_DOT11_ROAMING_COMPLETION ((NDIS_STATUS)0x40030007L)
418#define NDIS_STATUS_DOT11_DISASSOCIATION ((NDIS_STATUS)0x40030008L)
419#define NDIS_STATUS_DOT11_TKIPMIC_FAILURE ((NDIS_STATUS)0x40030009L)
420#define NDIS_STATUS_DOT11_PMKID_CANDIDATE_LIST ((NDIS_STATUS)0x4003000AL)
421#define NDIS_STATUS_DOT11_PHY_STATE_CHANGED ((NDIS_STATUS)0x4003000BL)
422#define NDIS_STATUS_DOT11_LINK_QUALITY ((NDIS_STATUS)0x4003000CL)
423#define NDIS_STATUS_DOT11_INCOMING_ASSOC_STARTED ((NDIS_STATUS)0x4003000DL)
424#define NDIS_STATUS_DOT11_INCOMING_ASSOC_REQUEST_RECEIVED ((NDIS_STATUS)0x4003000EL)
425#define NDIS_STATUS_DOT11_INCOMING_ASSOC_COMPLETION ((NDIS_STATUS)0x4003000FL)
426#define NDIS_STATUS_DOT11_STOP_AP ((NDIS_STATUS)0x40030010L)
427#define NDIS_STATUS_DOT11_PHY_FREQUENCY_ADOPTED ((NDIS_STATUS)0x40030011L)
428#define NDIS_STATUS_DOT11_CAN_SUSTAIN_AP ((NDIS_STATUS)0x40030012L)
429
430#define NDIS_STATUS_WWAN_DEVICE_CAPS ((NDIS_STATUS)0x40041000)
431#define NDIS_STATUS_WWAN_READY_INFO ((NDIS_STATUS)0x40041001)
432#define NDIS_STATUS_WWAN_RADIO_STATE ((NDIS_STATUS)0x40041002)
433#define NDIS_STATUS_WWAN_PIN_INFO ((NDIS_STATUS)0x40041003)
434#define NDIS_STATUS_WWAN_PIN_LIST ((NDIS_STATUS)0x40041004)
435#define NDIS_STATUS_WWAN_HOME_PROVIDER ((NDIS_STATUS)0x40041005)
436#define NDIS_STATUS_WWAN_PREFERRED_PROVIDERS ((NDIS_STATUS)0x40041006)
437#define NDIS_STATUS_WWAN_VISIBLE_PROVIDERS ((NDIS_STATUS)0x40041007)
438#define NDIS_STATUS_WWAN_REGISTER_STATE ((NDIS_STATUS)0x40041008)
439#define NDIS_STATUS_WWAN_PACKET_SERVICE ((NDIS_STATUS)0x40041009)
440#define NDIS_STATUS_WWAN_SIGNAL_STATE ((NDIS_STATUS)0x4004100a)
441#define NDIS_STATUS_WWAN_CONTEXT_STATE ((NDIS_STATUS)0x4004100b)
442#define NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS ((NDIS_STATUS)0x4004100c)
443#define NDIS_STATUS_WWAN_SERVICE_ACTIVATION ((NDIS_STATUS)0x4004100d)
444#define NDIS_STATUS_WWAN_SMS_CONFIGURATION ((NDIS_STATUS)0x4004100e)
445#define NDIS_STATUS_WWAN_SMS_RECEIVE ((NDIS_STATUS)0x4004100f)
446#define NDIS_STATUS_WWAN_SMS_SEND ((NDIS_STATUS)0x40041010)
447#define NDIS_STATUS_WWAN_SMS_DELETE ((NDIS_STATUS)0x40041011)
448#define NDIS_STATUS_WWAN_SMS_STATUS ((NDIS_STATUS)0x40041012)
449#define NDIS_STATUS_WWAN_DNS_ADDRESS ((NDIS_STATUS)0x40041013)
450
451#define NDIS_STATUS_WWAN_VENDOR_SPECIFIC ((NDIS_STATUS)0x40043000)
452
453#endif /* NDIS_SUPPORT_NDIS6 */
454
455#if (NDIS_SUPPORT_NDIS620)
456#define NDIS_STATUS_PM_WOL_PATTERN_REJECTED ((NDIS_STATUS)0x40030051L)
457#define NDIS_STATUS_PM_OFFLOAD_REJECTED ((NDIS_STATUS)0x40030052L)
458#define NDIS_STATUS_PM_CAPABILITIES_CHANGE ((NDIS_STATUS)0x40030053L)
459#endif
460
461#define NDIS_STATUS_NOT_RESETTABLE ((NDIS_STATUS)0x80010001L)
462#define NDIS_STATUS_SOFT_ERRORS ((NDIS_STATUS)0x80010003L)
463#define NDIS_STATUS_HARD_ERRORS ((NDIS_STATUS)0x80010004L)
464#define NDIS_STATUS_BUFFER_OVERFLOW ((NDIS_STATUS)STATUS_BUFFER_OVERFLOW)
465#define NDIS_STATUS_FAILURE ((NDIS_STATUS)STATUS_UNSUCCESSFUL)
466#define NDIS_STATUS_RESOURCES ((NDIS_STATUS)STATUS_INSUFFICIENT_RESOURCES)
467#define NDIS_STATUS_CLOSING ((NDIS_STATUS)0xC0010002L)
468#define NDIS_STATUS_BAD_VERSION ((NDIS_STATUS)0xC0010004L)
469#define NDIS_STATUS_BAD_CHARACTERISTICS ((NDIS_STATUS)0xC0010005L)
470#define NDIS_STATUS_ADAPTER_NOT_FOUND ((NDIS_STATUS)0xC0010006L)
471#define NDIS_STATUS_OPEN_FAILED ((NDIS_STATUS)0xC0010007L)
472#define NDIS_STATUS_DEVICE_FAILED ((NDIS_STATUS)0xC0010008L)
473#define NDIS_STATUS_MULTICAST_FULL ((NDIS_STATUS)0xC0010009L)
474#define NDIS_STATUS_MULTICAST_EXISTS ((NDIS_STATUS)0xC001000AL)
475#define NDIS_STATUS_MULTICAST_NOT_FOUND ((NDIS_STATUS)0xC001000BL)
476#define NDIS_STATUS_REQUEST_ABORTED ((NDIS_STATUS)0xC001000CL)
477#define NDIS_STATUS_RESET_IN_PROGRESS ((NDIS_STATUS)0xC001000DL)
478#define NDIS_STATUS_CLOSING_INDICATING ((NDIS_STATUS)0xC001000EL)
479#define NDIS_STATUS_NOT_SUPPORTED ((NDIS_STATUS)STATUS_NOT_SUPPORTED)
480#define NDIS_STATUS_INVALID_PACKET ((NDIS_STATUS)0xC001000FL)
481#define NDIS_STATUS_OPEN_LIST_FULL ((NDIS_STATUS)0xC0010010L)
482#define NDIS_STATUS_ADAPTER_NOT_READY ((NDIS_STATUS)0xC0010011L)
483#define NDIS_STATUS_ADAPTER_NOT_OPEN ((NDIS_STATUS)0xC0010012L)
484#define NDIS_STATUS_NOT_INDICATING ((NDIS_STATUS)0xC0010013L)
485#define NDIS_STATUS_INVALID_LENGTH ((NDIS_STATUS)0xC0010014L)
486#define NDIS_STATUS_INVALID_DATA ((NDIS_STATUS)0xC0010015L)
487#define NDIS_STATUS_BUFFER_TOO_SHORT ((NDIS_STATUS)0xC0010016L)
488#define NDIS_STATUS_INVALID_OID ((NDIS_STATUS)0xC0010017L)
489#define NDIS_STATUS_ADAPTER_REMOVED ((NDIS_STATUS)0xC0010018L)
490#define NDIS_STATUS_UNSUPPORTED_MEDIA ((NDIS_STATUS)0xC0010019L)
491#define NDIS_STATUS_GROUP_ADDRESS_IN_USE ((NDIS_STATUS)0xC001001AL)
492#define NDIS_STATUS_FILE_NOT_FOUND ((NDIS_STATUS)0xC001001BL)
493#define NDIS_STATUS_ERROR_READING_FILE ((NDIS_STATUS)0xC001001CL)
494#define NDIS_STATUS_ALREADY_MAPPED ((NDIS_STATUS)0xC001001DL)
495#define NDIS_STATUS_RESOURCE_CONFLICT ((NDIS_STATUS)0xC001001EL)
496#define NDIS_STATUS_NO_CABLE ((NDIS_STATUS)0xC001001FL)
497
498#define NDIS_STATUS_INVALID_SAP ((NDIS_STATUS)0xC0010020L)
499#define NDIS_STATUS_SAP_IN_USE ((NDIS_STATUS)0xC0010021L)
500#define NDIS_STATUS_INVALID_ADDRESS ((NDIS_STATUS)0xC0010022L)
501#define NDIS_STATUS_VC_NOT_ACTIVATED ((NDIS_STATUS)0xC0010023L)
502#define NDIS_STATUS_DEST_OUT_OF_ORDER ((NDIS_STATUS)0xC0010024L)
503#define NDIS_STATUS_VC_NOT_AVAILABLE ((NDIS_STATUS)0xC0010025L)
504#define NDIS_STATUS_CELLRATE_NOT_AVAILABLE ((NDIS_STATUS)0xC0010026L)
505#define NDIS_STATUS_INCOMPATABLE_QOS ((NDIS_STATUS)0xC0010027L)
506#define NDIS_STATUS_AAL_PARAMS_UNSUPPORTED ((NDIS_STATUS)0xC0010028L)
507#define NDIS_STATUS_NO_ROUTE_TO_DESTINATION ((NDIS_STATUS)0xC0010029L)
508
509#define NDIS_STATUS_TOKEN_RING_OPEN_ERROR ((NDIS_STATUS)0xC0011000L)
510#define NDIS_STATUS_INVALID_DEVICE_REQUEST ((NDIS_STATUS)STATUS_INVALID_DEVICE_REQUEST)
511#define NDIS_STATUS_NETWORK_UNREACHABLE ((NDIS_STATUS)STATUS_NETWORK_UNREACHABLE)
512#define NDIS_STATUS_HOST_UNREACHABLE ((NDIS_STATUS)STATUS_HOST_UNREACHABLE)
513
514#if NDIS_SUPPORT_NDIS6
515
516#define NDIS_STATUS_SEND_ABORTED ((NDIS_STATUS)STATUS_NDIS_REQUEST_ABORTED)
517#define NDIS_STATUS_PAUSED ((NDIS_STATUS)STATUS_NDIS_PAUSED)
518#define NDIS_STATUS_INTERFACE_NOT_FOUND ((NDIS_STATUS)STATUS_NDIS_INTERFACE_NOT_FOUND)
519#define NDIS_STATUS_INVALID_PARAMETER ((NDIS_STATUS)STATUS_INVALID_PARAMETER)
520#define NDIS_STATUS_UNSUPPORTED_REVISION ((NDIS_STATUS)STATUS_NDIS_UNSUPPORTED_REVISION)
521#define NDIS_STATUS_INVALID_PORT ((NDIS_STATUS)STATUS_NDIS_INVALID_PORT)
522#define NDIS_STATUS_INVALID_PORT_STATE ((NDIS_STATUS)STATUS_NDIS_INVALID_PORT_STATE)
523#define NDIS_STATUS_INVALID_STATE ((NDIS_STATUS)STATUS_INVALID_DEVICE_STATE)
524#define NDIS_STATUS_MEDIA_DISCONNECTED ((NDIS_STATUS)STATUS_NDIS_MEDIA_DISCONNECTED)
525#define NDIS_STATUS_LOW_POWER_STATE ((NDIS_STATUS)STATUS_NDIS_LOW_POWER_STATE)
526#define NDIS_STATUS_DOT11_AUTO_CONFIG_ENABLED ((NDIS_STATUS)STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED)
527#define NDIS_STATUS_DOT11_MEDIA_IN_USE ((NDIS_STATUS)STATUS_NDIS_DOT11_MEDIA_IN_USE)
528#define NDIS_STATUS_DOT11_POWER_STATE_INVALID ((NDIS_STATUS)STATUS_NDIS_DOT11_POWER_STATE_INVALID)
529#define NDIS_STATUS_UPLOAD_IN_PROGRESS ((NDIS_STATUS)0xC0231001L)
530#define NDIS_STATUS_REQUEST_UPLOAD ((NDIS_STATUS)0xC0231002L)
531#define NDIS_STATUS_UPLOAD_REQUESTED ((NDIS_STATUS)0xC0231003L)
532#define NDIS_STATUS_OFFLOAD_TCP_ENTRIES ((NDIS_STATUS)0xC0231004L)
533#define NDIS_STATUS_OFFLOAD_PATH_ENTRIES ((NDIS_STATUS)0xC0231005L)
534#define NDIS_STATUS_OFFLOAD_NEIGHBOR_ENTRIES ((NDIS_STATUS)0xC0231006L)
535#define NDIS_STATUS_OFFLOAD_IP_ADDRESS_ENTRIES ((NDIS_STATUS)0xC0231007L)
536#define NDIS_STATUS_OFFLOAD_HW_ADDRESS_ENTRIES ((NDIS_STATUS)0xC0231008L)
537#define NDIS_STATUS_OFFLOAD_VLAN_ENTRIES ((NDIS_STATUS)0xC0231009L)
538#define NDIS_STATUS_OFFLOAD_TCP_XMIT_BUFFER ((NDIS_STATUS)0xC023100AL)
539#define NDIS_STATUS_OFFLOAD_TCP_RCV_BUFFER ((NDIS_STATUS)0xC023100BL)
540#define NDIS_STATUS_OFFLOAD_TCP_RCV_WINDOW ((NDIS_STATUS)0xC023100CL)
541#define NDIS_STATUS_OFFLOAD_VLAN_MISMATCH ((NDIS_STATUS)0xC023100DL)
542#define NDIS_STATUS_OFFLOAD_DATA_NOT_ACCEPTED ((NDIS_STATUS)0xC023100EL)
543#define NDIS_STATUS_OFFLOAD_POLICY ((NDIS_STATUS)0xC023100FL)
544#define NDIS_STATUS_OFFLOAD_DATA_PARTIALLY_ACCEPTED ((NDIS_STATUS)0xC0231010L)
545#define NDIS_STATUS_OFFLOAD_REQUEST_RESET ((NDIS_STATUS)0xC0231011L)
546
547#if NDIS_SUPPORT_NDIS620
548#define NDIS_STATUS_PM_WOL_PATTERN_LIST_FULL ((NDIS_STATUS)STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL)
549#define NDIS_STATUS_PM_PROTOCOL_OFFLOAD_LIST_FULL ((NDIS_STATUS)STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL)
550#endif
551
552#endif /* NDIS_SUPPORT_NDIS6 */
553
554#if (NDIS_SUPPORT_NDIS620)
555#define NDIS_STATUS_OFFLOAD_CONNECTION_REJECTED ((NDIS_STATUS)STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED)
556#endif
557
558/* NDIS error codes for error logging */
559
560#define NDIS_ERROR_CODE ULONG
561
562#define NDIS_ERROR_CODE_RESOURCE_CONFLICT EVENT_NDIS_RESOURCE_CONFLICT
563#define NDIS_ERROR_CODE_OUT_OF_RESOURCES EVENT_NDIS_OUT_OF_RESOURCE
564#define NDIS_ERROR_CODE_HARDWARE_FAILURE EVENT_NDIS_HARDWARE_FAILURE
565#define NDIS_ERROR_CODE_ADAPTER_NOT_FOUND EVENT_NDIS_ADAPTER_NOT_FOUND
566#define NDIS_ERROR_CODE_INTERRUPT_CONNECT EVENT_NDIS_INTERRUPT_CONNECT
567#define NDIS_ERROR_CODE_DRIVER_FAILURE EVENT_NDIS_DRIVER_FAILURE
568#define NDIS_ERROR_CODE_BAD_VERSION EVENT_NDIS_BAD_VERSION
569#define NDIS_ERROR_CODE_TIMEOUT EVENT_NDIS_TIMEOUT
570#define NDIS_ERROR_CODE_NETWORK_ADDRESS EVENT_NDIS_NETWORK_ADDRESS
571#define NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION EVENT_NDIS_UNSUPPORTED_CONFIGURATION
572#define NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER EVENT_NDIS_INVALID_VALUE_FROM_ADAPTER
573#define NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER EVENT_NDIS_MISSING_CONFIGURATION_PARAMETER
574#define NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS EVENT_NDIS_BAD_IO_BASE_ADDRESS
575#define NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL EVENT_NDIS_RECEIVE_SPACE_SMALL
576#define NDIS_ERROR_CODE_ADAPTER_DISABLED EVENT_NDIS_ADAPTER_DISABLED
577
578/* Memory allocation flags. Used by Ndis[Allocate|Free]Memory */
579#define NDIS_MEMORY_CONTIGUOUS 0x00000001
580#define NDIS_MEMORY_NONCACHED 0x00000002
581
582/* NIC attribute flags. Used by NdisMSetAttributes(Ex) */
583#define NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT 0x00000001
584#define NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT 0x00000002
585#define NDIS_ATTRIBUTE_IGNORE_TOKEN_RING_ERRORS 0x00000004
586#define NDIS_ATTRIBUTE_BUS_MASTER 0x00000008
587#define NDIS_ATTRIBUTE_INTERMEDIATE_DRIVER 0x00000010
588#define NDIS_ATTRIBUTE_DESERIALIZE 0x00000020
589#define NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND 0x00000040
590#define NDIS_ATTRIBUTE_SURPRISE_REMOVE_OK 0x00000080
591#define NDIS_ATTRIBUTE_NOT_CO_NDIS 0x00000100
592#define NDIS_ATTRIBUTE_USES_SAFE_BUFFER_APIS 0x00000200
593
594/* Lock */
595
596#if NDIS_SUPPORT_60_COMPATIBLE_API
597
598typedef union _NDIS_RW_LOCK_REFCOUNT {
600 UCHAR cacheLine[16];
602
603typedef struct _NDIS_RW_LOCK {
604 __MINGW_EXTENSION union {
605 __MINGW_EXTENSION struct {
608 };
609 UCHAR Reserved[16];
610 };
611 __MINGW_EXTENSION union {
614 __MINGW_EXTENSION struct {
618 };
619 };
621
622typedef struct _LOCK_STATE {
626
627#endif /* NDIS_SUPPORT_60_COMPATIBLE_API */
628
629/* Timer */
630
633_Function_class_(NDIS_TIMER_FUNCTION)
634typedef VOID
635(NTAPI NDIS_TIMER_FUNCTION)(
636 _In_ PVOID SystemSpecific1,
640typedef NDIS_TIMER_FUNCTION *PNDIS_TIMER_FUNCTION;
641
642typedef struct _NDIS_TIMER {
646
647/* Hardware */
648
653
654/* Flag bits */
655#define READABLE_LOCAL_CLOCK 0x00000001
656#define CLOCK_NETWORK_DERIVED 0x00000002
657#define CLOCK_PRECISION 0x00000004
658#define RECEIVE_TIME_INDICATION_CAPABLE 0x00000008
659#define TIMED_SEND_CAPABLE 0x00000010
660#define TIME_STAMP_CAPABLE 0x00000020
661
662/* NDIS packet filter bits (OID_GEN_CURRENT_PACKET_FILTER) */
663#define NDIS_PACKET_TYPE_DIRECTED 0x00000001
664#define NDIS_PACKET_TYPE_MULTICAST 0x00000002
665#define NDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004
666#define NDIS_PACKET_TYPE_BROADCAST 0x00000008
667#define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010
668#define NDIS_PACKET_TYPE_PROMISCUOUS 0x00000020
669#define NDIS_PACKET_TYPE_SMT 0x00000040
670#define NDIS_PACKET_TYPE_ALL_LOCAL 0x00000080
671#define NDIS_PACKET_TYPE_GROUP 0x00001000
672#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00002000
673#define NDIS_PACKET_TYPE_FUNCTIONAL 0x00004000
674#define NDIS_PACKET_TYPE_MAC_FRAME 0x00008000
675
676/* NDIS protocol option bits (OID_GEN_PROTOCOL_OPTIONS) */
677#define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001
678#define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002
679#define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004
680
681/* NDIS MAC option bits (OID_GEN_MAC_OPTIONS) */
682#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
683#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002
684#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004
685#define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008
686#define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010
687#define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020
688#define NDIS_MAC_OPTION_8021P_PRIORITY 0x00000040
689#define NDIS_MAC_OPTION_RESERVED 0x80000000
690
691#define NDIS_GUID_TO_OID 0x00000001
692#define NDIS_GUID_TO_STATUS 0x00000002
693#define NDIS_GUID_ANSI_STRING 0x00000004
694#define NDIS_GUID_UNICODE_STRING 0x00000008
695#define NDIS_GUID_ARRAY 0x00000010
696
697#if NDIS_LEGACY_DRIVER
698
699/* NDIS_PACKET_PRIVATE.Flags constants */
700#define fPACKET_WRAPPER_RESERVED 0x3f
701#define fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO 0x40
702#define fPACKET_ALLOCATED_BY_NDIS 0x80
703
704#define NDIS_FLAGS_PROTOCOL_ID_MASK 0x0000000f
705#define NDIS_FLAGS_MULTICAST_PACKET 0x00000010
706#define NDIS_FLAGS_RESERVED2 0x00000020
707#define NDIS_FLAGS_RESERVED3 0x00000040
708#define NDIS_FLAGS_DONT_LOOPBACK 0x00000080
709#define NDIS_FLAGS_IS_LOOPBACK_PACKET 0x00000100
710#define NDIS_FLAGS_LOOPBACK_ONLY 0x00000200
711#define NDIS_FLAGS_RESERVED4 0x00000400
712#define NDIS_FLAGS_DOUBLE_BUFFERED 0x00000800
713#define NDIS_FLAGS_SENT_AT_DPC 0x00001000
714#define NDIS_FLAGS_USES_SG_BUFFER_LIST 0x00002000
715#define NDIS_FLAGS_USES_ORIGINAL_PACKET 0x00004000
716#define NDIS_FLAGS_PADDED 0x00010000
717#define NDIS_FLAGS_XLATE_AT_TOP 0x00020000
718
720
721typedef struct _NDIS_PACKET_PRIVATE {
733
734typedef struct _NDIS_PACKET {
736 __MINGW_EXTENSION union {
737 __MINGW_EXTENSION struct {
740 };
741 __MINGW_EXTENSION struct {
744 };
745 __MINGW_EXTENSION struct {
746 UCHAR MacReserved[4 * sizeof(PVOID)];
747 };
748 };
752
753typedef struct _NDIS_PACKET_STACK {
757
758#endif /* NDIS_LEGACY_DRIVER */
759
760typedef enum _NDIS_CLASS_ID {
766
773
774#if NDIS_LEGACY_DRIVER
775typedef struct _NDIS_PACKET_OOB_DATA {
776 __MINGW_EXTENSION union {
779 };
786#endif
787
788/* Request types used by NdisRequest */
789typedef enum _NDIS_REQUEST_TYPE {
802#if NDIS_SUPPORT_NDIS6
803 NdisRequestMethod,
804#endif
806
807#if NDIS_LEGACY_DRIVER
808typedef struct _NDIS_REQUEST {
809 UCHAR MacReserved[4 * sizeof(PVOID)];
811 union _DATA {
818 } QUERY_INFORMATION;
825 } SET_INFORMATION;
827#if (defined(NDIS50) || defined(NDIS51) || defined(NDIS50_MINIPORT) || defined(NDIS51_MINIPORT))
828 UCHAR NdisReserved[9 * sizeof(PVOID)];
829 __MINGW_EXTENSION union {
830 UCHAR CallMgrReserved[2 * sizeof(PVOID)];
831 UCHAR ProtocolReserved[2 * sizeof(PVOID)];
832 };
833 UCHAR MiniportReserved[2 * sizeof(PVOID)];
834#endif
836#endif /* NDIS_LEGACY_DRIVER */
837
838/* Wide Area Networks definitions */
839
840#if NDIS_LEGACY_DRIVER
841typedef struct _NDIS_WAN_PACKET {
856#endif
857
858/* DMA channel information */
859
860typedef struct _NDIS_DMA_DESCRIPTION {
869
870typedef struct _NDIS_DMA_BLOCK {
877
879
880#define NDIS_DMA_24BITS ((NDIS_DMA_SIZE)0)
881#define NDIS_DMA_32BITS ((NDIS_DMA_SIZE)1)
882#define NDIS_DMA_64BITS ((NDIS_DMA_SIZE)2)
883
892
897
898/* Possible hardware architecture */
919
920#define NdisInterruptLevelSensitive LevelSensitive
921#define NdisInterruptLatched Latched
922
924
932
933typedef struct _BINARY_DATA {
937
940 union {
946
948
953
954typedef struct _NDIS_WAN_LINE_DOWN {
958
959typedef struct _NDIS_WAN_LINE_UP {
971
972typedef NTSTATUS
975 _Out_ HANDLE *TdiHandle);
976
977typedef NTSTATUS
979 _In_ PUNICODE_STRING UpperComponent,
980 _In_ PUNICODE_STRING LowerComponent,
981 _In_ PUNICODE_STRING BindList,
982 _In_ PVOID ReconfigBuffer,
983 _In_ UINT ReconfigBufferSize,
985
986typedef struct _OID_LIST OID_LIST, *POID_LIST;
987
988/* PnP state */
998
1006#if NDIS_SUPPORT_NDIS6
1007 NdisDevicePnPEventFilterListChanged,
1008#endif /* NDIS_SUPPORT_NDIS6 */
1011
1012/* Power profiles */
1017
1018#define NDIS_DEVICE_NOT_STOPPABLE 0x00000001
1019#define NDIS_DEVICE_NOT_REMOVEABLE 0x00000002
1020#define NDIS_DEVICE_NOT_SUSPENDABLE 0x00000004
1021#define NDIS_DEVICE_DISABLE_PM 0x00000008
1022#define NDIS_DEVICE_DISABLE_WAKE_UP 0x00000010
1023#define NDIS_DEVICE_DISABLE_WAKE_ON_RECONNECT 0x00000020
1024#define NDIS_DEVICE_RESERVED 0x00000040
1025#define NDIS_DEVICE_DISABLE_WAKE_ON_MAGIC_PACKET 0x00000080
1026#define NDIS_DEVICE_DISABLE_WAKE_ON_PATTERN_MATCH 0x00000100
1027
1028/* Protocol types supported by NDIS */
1029#define NDIS_PROTOCOL_ID_DEFAULT 0x00
1030#define NDIS_PROTOCOL_ID_TCP_IP 0x02
1031#define NDIS_PROTOCOL_ID_IPX 0x06
1032#define NDIS_PROTOCOL_ID_NBF 0x07
1033#define NDIS_PROTOCOL_ID_MAX 0x0F
1034#define NDIS_PROTOCOL_ID_MASK 0x0F
1035
1037
1038#define CO_ADDRESS_FAMILY_Q2931 ((NDIS_AF)0x1)
1039#define CO_ADDRESS_FAMILY_PSCHED ((NDIS_AF)0x2)
1040#define CO_ADDRESS_FAMILY_L2TP ((NDIS_AF)0x3)
1041#define CO_ADDRESS_FAMILY_IRDA ((NDIS_AF)0x4)
1042#define CO_ADDRESS_FAMILY_1394 ((NDIS_AF)0x5)
1043#define CO_ADDRESS_FAMILY_PPP ((NDIS_AF)0x6)
1044#define CO_ADDRESS_FAMILY_INFINIBAND ((NDIS_AF)0x7)
1045#define CO_ADDRESS_FAMILY_TAPI ((NDIS_AF)0x800)
1046#define CO_ADDRESS_FAMILY_TAPI_PROXY ((NDIS_AF)0x801)
1047
1048#define CO_ADDRESS_FAMILY_PROXY 0x80000000
1049
1050typedef struct _CO_ADDRESS_FAMILY {
1055
1061
1067
1068/* CO_MEDIA_PARAMETERS.Flags constants */
1069#define RECEIVE_TIME_INDICATION 0x00000001
1070#define USE_TIME_STAMPS 0x00000002
1071#define TRANSMIT_VC 0x00000004
1072#define RECEIVE_VC 0x00000008
1073#define INDICATE_ERRED_PACKETS 0x00000010
1074#define INDICATE_END_OF_TX 0x00000020
1075#define RESERVE_RESOURCES_VC 0x00000040
1076#define ROUND_DOWN_FLOW 0x00000080
1077#define ROUND_UP_FLOW 0x00000100
1078
1079typedef struct _CO_MEDIA_PARAMETERS {
1085
1086/* CO_CALL_PARAMETERS.Flags constants */
1087#define PERMANENT_VC 0x00000001
1088#define CALL_PARAMETERS_CHANGED 0x00000002
1089#define QUERY_CALL_PARAMETERS 0x00000004
1090#define BROADCAST_VC 0x00000008
1091#define MULTIPOINT_VC 0x00000010
1092
1093typedef struct _CO_CALL_PARAMETERS {
1098
1099typedef struct _CO_SAP {
1104
1105#if NDIS_LEGACY_DRIVER
1107 __MINGW_EXTENSION union {
1108 struct {
1112 struct {
1118 };
1120#endif
1121
1122#if (NDIS_SUPPORT_NDIS6 || NDIS60)
1123typedef struct _NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO {
1124 __MINGW_EXTENSION union {
1125 struct {
1126 NDIS_HANDLE OffloadHandle;
1127 } Transmit;
1128 struct {
1129 USHORT SaDeleteReq:1;
1130 USHORT CryptoDone:1;
1131 USHORT NextCryptoDone:1;
1132 USHORT Pad:13;
1133 USHORT CryptoStatus;
1134 } Receive;
1135 };
1136} NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO, *PNDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO;
1137#endif
1138
1139/* NDIS_MAC_FRAGMENT.Errors constants */
1140#define WAN_ERROR_CRC 0x00000001
1141#define WAN_ERROR_FRAMING 0x00000002
1142#define WAN_ERROR_HARDWAREOVERRUN 0x00000004
1143#define WAN_ERROR_BUFFEROVERRUN 0x00000008
1144#define WAN_ERROR_TIMEOUT 0x00000010
1145#define WAN_ERROR_ALIGNMENT 0x00000020
1146
1147typedef struct _NDIS_MAC_FRAGMENT {
1151
1152typedef struct _NDIS_MAC_LINE_DOWN {
1155
1156typedef struct _NDIS_MAC_LINE_UP {
1164
1166 __MINGW_EXTENSION union {
1167 struct {
1174 };
1176
1192
1193#if NDIS_LEGACY_DRIVER
1194
1198
1199typedef enum _NDIS_TASK {
1205
1214
1217 struct {
1223
1231
1232typedef struct _NDIS_TASK_OFFLOAD {
1240
1242 struct {
1249 struct {
1254 ULONG IpChecksum:1;
1256 struct {
1262 struct {
1269
1270#define NDIS_TASK_TCP_LARGE_SEND_V0 0
1271
1279
1280typedef struct _NDIS_TASK_IPSEC {
1281 struct {
1287 struct {
1295 struct {
1297 ULONG RESERVED:1;
1300 ULONG Transport:1;
1301 ULONG Tunnel:1;
1302 ULONG Send:1;
1303 ULONG Receive:1;
1306
1307#endif /* NDIS_LEGACY_DRIVER */
1308
1309#define IPSEC_TPT_UDPESP_ENCAPTYPE_IKE 0x00000001
1310#define IPSEC_TUN_UDPESP_ENCAPTYPE_IKE 0x00000002
1311#define IPSEC_TPTOVERTUN_UDPESP_ENCAPTYPE_IKE 0x00000004
1312#define IPSEC_TPT_UDPESP_OVER_PURE_TUN_ENCAPTYPE_IKE 0x00000008
1313#define IPSEC_TPT_UDPESP_ENCAPTYPE_OTHER 0x00000010
1314#define IPSEC_TUN_UDPESP_ENCAPTYPE_OTHER 0x00000020
1315#define IPSEC_TPTOVERTUN_UDPESP_ENCAPTYPE_OTHER 0x00000040
1316#define IPSEC_TPT_UDPESP_OVER_PURE_TUN_ENCAPTYPE_OTHER 0x00000080
1317
1318#if NDIS_LEGACY_DRIVER
1319
1320/*
1321 * PNDIS_PACKET
1322 * NDIS_GET_ORIGINAL_PACKET(
1323 * IN PNDIS_PACKET Packet);
1324 */
1325#define NDIS_GET_ORIGINAL_PACKET(Packet) \
1326 NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo)
1327
1328/*
1329 * PVOID
1330 * NDIS_GET_PACKET_CANCEL_ID(
1331 * IN PNDIS_PACKET Packet);
1332 */
1333#define NDIS_GET_PACKET_CANCEL_ID(Packet) \
1334 NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId)
1335
1336/*
1337 * PNDIS_PACKET_EXTENSION
1338 * NDIS_PACKET_EXTENSION_FROM_PACKET(
1339 * IN PNDIS_PACKET Packet);
1340 */
1341#define NDIS_PACKET_EXTENSION_FROM_PACKET(Packet) \
1342 ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) \
1343 + (Packet)->Private.NdisPacketOobOffset + sizeof(NDIS_PACKET_OOB_DATA)))
1344
1345/*
1346 * PVOID
1347 * NDIS_PER_PACKET_INFO_FROM_PACKET(
1348 * IN OUT PNDIS_PACKET Packet,
1349 * IN NDIS_PER_PACKET_INFO InfoType);
1350 */
1351#define NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, InfoType) \
1352 ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) + (Packet)->Private.NdisPacketOobOffset \
1353 + sizeof(NDIS_PACKET_OOB_DATA)))->NdisPacketInfo[(InfoType)]
1354
1355/*
1356 * VOID
1357 * NDIS_SET_ORIGINAL_PACKET(
1358 * IN OUT PNDIS_PACKET Packet,
1359 * IN PNDIS_PACKET OriginalPacket);
1360 */
1361#define NDIS_SET_ORIGINAL_PACKET(Packet, OriginalPacket) \
1362 NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo) = (OriginalPacket)
1363
1364/*
1365 * VOID
1366 * NDIS_SET_PACKET_CANCEL_ID(
1367 * IN PNDIS_PACKET Packet
1368 * IN ULONG_PTR CancelId);
1369 */
1370#define NDIS_SET_PACKET_CANCEL_ID(Packet, CancelId) \
1371 NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId) = (CancelId)
1372
1373#define NdisSetPacketCancelId(_Packet, _CancelId) NDIS_SET_PACKET_CANCEL_ID(_Packet, _CancelId)
1374#define NdisGetPacketCancelId(_Packet) NDIS_GET_PACKET_CANCEL_ID(_Packet)
1375
1376#endif /* NDIS_LEGACY_DRIVER */
1377
1378#if NDIS_SUPPORT_NDIS6
1379typedef struct _NDIS_GENERIC_OBJECT {
1381 PVOID Caller;
1382 PVOID CallersCaller;
1384} NDIS_GENERIC_OBJECT, *PNDIS_GENERIC_OBJECT;
1385#endif
1386
1387/* NDIS_TASK_OFFLOAD_HEADER.Version constants */
1388#define NDIS_TASK_OFFLOAD_VERSION 1
1389
1390#define MAX_HASHES 4
1391#define TRUNCATED_HASH_LEN 12
1392
1393#define CRYPTO_SUCCESS 0
1394#define CRYPTO_GENERIC_ERROR 1
1395#define CRYPTO_TRANSPORT_AH_AUTH_FAILED 2
1396#define CRYPTO_TRANSPORT_ESP_AUTH_FAILED 3
1397#define CRYPTO_TUNNEL_AH_AUTH_FAILED 4
1398#define CRYPTO_TUNNEL_ESP_AUTH_FAILED 5
1399#define CRYPTO_INVALID_PACKET_SYNTAX 6
1400#define CRYPTO_INVALID_PROTOCOL 7
1401
1403 __MINGW_EXTENSION union {
1404 struct {
1411 struct {
1421 };
1423
1427
1428typedef struct _NDIS_WAN_FRAGMENT {
1432
1433typedef struct _WAN_CO_LINKPARAMS {
1438
1439typedef struct _NDIS_WAN_GET_STATS {
1456
1457/* Call Manager */
1458
1459typedef VOID
1462 IN NDIS_HANDLE CallMgrVcContext,
1464
1467 IN NDIS_HANDLE CallMgrVcContext,
1471
1475
1478 IN NDIS_HANDLE CallMgrVcContext,
1480 IN PVOID CloseData OPTIONAL,
1482
1486
1487typedef VOID
1490 IN NDIS_HANDLE CallMgrVcContext);
1491
1495 IN PVOID CloseData OPTIONAL,
1497
1498typedef VOID
1501 IN NDIS_HANDLE CallMgrVcContext,
1503
1506 IN NDIS_HANDLE CallMgrVcContext,
1510
1513 IN NDIS_HANDLE CallMgrVcContext,
1515
1518 IN NDIS_HANDLE CallMgrBindingContext,
1522
1526 IN PCO_SAP Sap,
1529
1535
1539
1540#define PROTOCOL_RESERVED_SIZE_IN_PACKET (4 * sizeof(PVOID))
1541
1542/* Prototypes for NDIS 5.0 protocol characteristics */
1543
1545typedef VOID
1546(NTAPI *CO_SEND_COMPLETE_HANDLER)(
1550
1552typedef VOID
1553(NTAPI *CO_STATUS_HANDLER)(
1559
1561typedef UINT
1562(NTAPI *CO_RECEIVE_PACKET_HANDLER)(
1566
1568typedef NDIS_STATUS
1569(NTAPI *CO_REQUEST_HANDLER)(
1574
1576typedef VOID
1577(NTAPI *CO_REQUEST_COMPLETE_HANDLER)(
1583
1603 CO_REQUEST_HANDLER CmRequestHandler;
1604 CO_REQUEST_COMPLETE_HANDLER CmRequestCompleteHandler;
1606
1607
1608
1609/* Call Manager clients */
1610
1615
1616typedef VOID
1620
1621typedef VOID
1625 IN PCO_SAP Sap,
1627
1628typedef VOID
1632
1633typedef VOID
1639
1640typedef VOID
1645
1646typedef VOID
1651
1652typedef VOID
1658
1659typedef VOID
1663
1669
1670typedef VOID
1674
1675typedef VOID
1677 IN NDIS_STATUS CloseStatus,
1679 IN PVOID CloseData OPTIONAL,
1681
1682typedef VOID
1684 IN NDIS_STATUS DropStatus,
1686 IN PVOID CloseData OPTIONAL,
1688
1689typedef VOID
1692
1693
1701 CO_REQUEST_HANDLER ClRequestHandler;
1702 CO_REQUEST_COMPLETE_HANDLER ClRequestCompleteHandler;
1718
1719
1720/* NDIS protocol structures */
1721
1722/* Prototypes for NDIS 3.0 protocol characteristics */
1723
1724typedef VOID
1729
1730typedef VOID
1734
1735typedef VOID
1739
1740typedef VOID
1745
1746typedef VOID
1752
1753typedef VOID
1756
1757typedef VOID
1762
1763typedef VOID
1768
1769typedef VOID
1775
1776typedef VOID
1778 VOID);
1779
1783 _In_ NDIS_HANDLE MacReceiveContext,
1784 _In_ PVOID HeaderBuffer,
1785 _In_ UINT HeaderBufferSize,
1786 _In_ PVOID LookAheadBuffer,
1787 _In_ UINT LookaheadBufferSize,
1789
1792 _In_ NDIS_HANDLE NdisLinkHandle,
1795
1796typedef VOID
1799
1800/* Protocol characteristics for NDIS 3.0 protocols */
1801
1802#define NDIS30_PROTOCOL_CHARACTERISTICS_S \
1803 UCHAR MajorNdisVersion; \
1804 UCHAR MinorNdisVersion; \
1805 USHORT Filler; \
1806 _ANONYMOUS_UNION union { \
1807 UINT Reserved; \
1808 UINT Flags; \
1809 } DUMMYUNIONNAME; \
1810 OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler; \
1811 CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler; \
1812 _ANONYMOUS_UNION union { \
1813 SEND_COMPLETE_HANDLER SendCompleteHandler; \
1814 WAN_SEND_COMPLETE_HANDLER WanSendCompleteHandler; \
1815 } DUMMYUNIONNAME2; \
1816 _ANONYMOUS_UNION union { \
1817 TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler; \
1818 WAN_TRANSFER_DATA_COMPLETE_HANDLER WanTransferDataCompleteHandler; \
1819 } DUMMYUNIONNAME3; \
1820 RESET_COMPLETE_HANDLER ResetCompleteHandler; \
1821 REQUEST_COMPLETE_HANDLER RequestCompleteHandler; \
1822 _ANONYMOUS_UNION union { \
1823 RECEIVE_HANDLER ReceiveHandler; \
1824 WAN_RECEIVE_HANDLER WanReceiveHandler; \
1825 } DUMMYUNIONNAME4; \
1826 RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler; \
1827 STATUS_HANDLER StatusHandler; \
1828 STATUS_COMPLETE_HANDLER StatusCompleteHandler; \
1829 NDIS_STRING Name;
1830
1834
1835
1836/* Prototypes for NDIS 4.0 protocol characteristics */
1837
1838typedef INT
1842
1843typedef VOID
1846 IN NDIS_HANDLE BindContext,
1848 IN PVOID SystemSpecific1,
1850
1851typedef VOID
1855 IN NDIS_HANDLE UnbindContext);
1856
1861
1862typedef VOID
1864 VOID);
1865
1866/* Protocol characteristics for NDIS 4.0 protocols */
1867
1872 __MINGW_EXTENSION union {
1875 };
1878 __MINGW_EXTENSION union {
1881 };
1882 __MINGW_EXTENSION union {
1885 };
1888 __MINGW_EXTENSION union {
1891 };
1902
1903typedef VOID
1904(NTAPI PROTCOL_CO_AF_REGISTER_NOTIFY)(
1907typedef PROTCOL_CO_AF_REGISTER_NOTIFY *CO_AF_REGISTER_NOTIFY_HANDLER;
1908
1909#if NDIS_LEGACY_PROTOCOL
1910
1912#ifdef __cplusplus
1914#else
1916#endif
1918 CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler;
1919 CO_STATUS_HANDLER CoStatusHandler;
1920 CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler;
1923
1924#if (defined(NDIS50) || defined(NDIS51))
1926#else
1928#endif
1929
1931
1932#endif /* NDIS_LEGACY_PROTOCOL */
1933
1934/* Prototypes for NDIS_MINIPORT_CHARACTERISTICS */
1935
1936typedef BOOLEAN
1938 _In_ NDIS_HANDLE MiniportAdapterContext);
1939
1940typedef VOID
1942 _In_ NDIS_HANDLE MiniportAdapterContext);
1943
1944typedef VOID
1946 _In_ NDIS_HANDLE MiniportAdapterContext);
1947
1948typedef VOID
1950 _In_ NDIS_HANDLE MiniportAdapterContext);
1951
1952typedef VOID
1954 _In_ NDIS_HANDLE MiniportAdapterContext);
1955
1960 _In_ PNDIS_MEDIUM MediumArray,
1962 _In_ NDIS_HANDLE MiniportAdapterContext,
1964
1965typedef VOID
1967 _Out_ PBOOLEAN InterruptRecognized,
1968 _Out_ PBOOLEAN QueueMiniportHandleInterrupt,
1969 _In_ NDIS_HANDLE MiniportAdapterContext);
1970
1973 _In_ NDIS_HANDLE MiniportAdapterContext,
1974 _In_ NDIS_OID Oid,
1975 _In_ PVOID InformationBuffer,
1976 _In_ ULONG InformationBufferLength,
1978 _Out_ PULONG BytesNeeded);
1979
1983 _In_ NDIS_HANDLE MiniportAdapterContext,
1985
1988 _Out_ PBOOLEAN AddressingReset,
1989 _In_ NDIS_HANDLE MiniportAdapterContext);
1990
1993 _In_ NDIS_HANDLE MiniportAdapterContext,
1995 _In_ UINT Flags);
1996
1999 _In_ NDIS_HANDLE MiniportAdapterContext,
2000 _In_ NDIS_HANDLE NdisLinkHandle,
2002
2005 _In_ NDIS_HANDLE MiniportAdapterContext,
2006 _In_ NDIS_OID Oid,
2007 _In_ PVOID InformationBuffer,
2008 _In_ ULONG InformationBufferLength,
2010 _Out_ PULONG BytesNeeded);
2011
2016 _In_ NDIS_HANDLE MiniportAdapterContext,
2017 _In_ NDIS_HANDLE MiniportReceiveContext,
2019 _In_ UINT BytesToTransfer);
2020
2023
2024typedef VOID
2026 _In_ PVOID ShutdownContext);
2027
2028typedef VOID
2030 _In_ NDIS_HANDLE MiniportAdapterContext,
2032
2033typedef VOID
2035 _In_ NDIS_HANDLE MiniportAdapterContext,
2038
2039typedef VOID
2041 _In_ NDIS_HANDLE MiniportAdapterContext,
2046
2047/* NDIS structures available only to miniport drivers */
2048
2049#define NDIS30_MINIPORT_CHARACTERISTICS_S \
2050 UCHAR MajorNdisVersion; \
2051 UCHAR MinorNdisVersion; \
2052 UINT Reserved; \
2053 W_CHECK_FOR_HANG_HANDLER CheckForHangHandler; \
2054 W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler; \
2055 W_ENABLE_INTERRUPT_HANDLER EnableInterruptHandler; \
2056 W_HALT_HANDLER HaltHandler; \
2057 W_HANDLE_INTERRUPT_HANDLER HandleInterruptHandler; \
2058 W_INITIALIZE_HANDLER InitializeHandler; \
2059 W_ISR_HANDLER ISRHandler; \
2060 W_QUERY_INFORMATION_HANDLER QueryInformationHandler; \
2061 W_RECONFIGURE_HANDLER ReconfigureHandler; \
2062 W_RESET_HANDLER ResetHandler; \
2063 W_SEND_HANDLER SendHandler; \
2064 W_SET_INFORMATION_HANDLER SetInformationHandler; \
2065 W_TRANSFER_DATA_HANDLER TransferDataHandler;
2066
2070
2071#ifdef __cplusplus
2072
2073#define NDIS40_MINIPORT_CHARACTERISTICS_S \
2074 NDIS30_MINIPORT_CHARACTERISTICS Ndis30Chars; \
2075 W_RETURN_PACKET_HANDLER ReturnPacketHandler; \
2076 W_SEND_PACKETS_HANDLER SendPacketsHandler; \
2077 W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
2078
2079#else /* !__cplusplus */
2080
2081#define NDIS40_MINIPORT_CHARACTERISTICS_S \
2082 NDIS30_MINIPORT_CHARACTERISTICS_S \
2083 W_RETURN_PACKET_HANDLER ReturnPacketHandler; \
2084 W_SEND_PACKETS_HANDLER SendPacketsHandler; \
2085 W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
2086
2087#endif /* !__cplusplus */
2088
2092
2093/* Extensions for NDIS 5.0 miniports */
2094
2096_Function_class_(MINIPORT_CO_CREATE_VC)
2097typedef NDIS_STATUS
2098(NTAPI MINIPORT_CO_CREATE_VC)(
2099 _In_ NDIS_HANDLE MiniportAdapterContext,
2102typedef MINIPORT_CO_CREATE_VC *W_CO_CREATE_VC_HANDLER;
2103
2105_Function_class_(MINIPORT_CO_DELETE_VC)
2106typedef NDIS_STATUS
2107(NTAPI MINIPORT_CO_DELETE_VC)(
2109typedef MINIPORT_CO_DELETE_VC *W_CO_DELETE_VC_HANDLER;
2110
2112_Function_class_(MINIPORT_CO_ACTIVATE_VC)
2113typedef NDIS_STATUS
2114(NTAPI MINIPORT_CO_ACTIVATE_VC)(
2117typedef MINIPORT_CO_ACTIVATE_VC *W_CO_ACTIVATE_VC_HANDLER;
2118
2120_Function_class_(MINIPORT_CO_DEACTIVATE_VC)
2121typedef NDIS_STATUS
2122(NTAPI MINIPORT_CO_DEACTIVATE_VC)(
2124typedef MINIPORT_CO_DEACTIVATE_VC *W_CO_DEACTIVATE_VC_HANDLER;
2125
2126typedef VOID
2131
2134 _In_ NDIS_HANDLE MiniportAdapterContext,
2137
2138#ifdef __cplusplus
2139
2140#define NDIS50_MINIPORT_CHARACTERISTICS_S \
2141 NDIS40_MINIPORT_CHARACTERISTICS Ndis40Chars; \
2142 W_CO_CREATE_VC_HANDLER CoCreateVcHandler; \
2143 W_CO_DELETE_VC_HANDLER CoDeleteVcHandler; \
2144 W_CO_ACTIVATE_VC_HANDLER CoActivateVcHandler; \
2145 W_CO_DEACTIVATE_VC_HANDLER CoDeactivateVcHandler; \
2146 W_CO_SEND_PACKETS_HANDLER CoSendPacketsHandler; \
2147 W_CO_REQUEST_HANDLER CoRequestHandler;
2148
2149#else /* !__cplusplus */
2150
2151#define NDIS50_MINIPORT_CHARACTERISTICS_S \
2152 NDIS40_MINIPORT_CHARACTERISTICS_S \
2153 W_CO_CREATE_VC_HANDLER CoCreateVcHandler; \
2154 W_CO_DELETE_VC_HANDLER CoDeleteVcHandler; \
2155 W_CO_ACTIVATE_VC_HANDLER CoActivateVcHandler; \
2156 W_CO_DEACTIVATE_VC_HANDLER CoDeactivateVcHandler; \
2157 W_CO_SEND_PACKETS_HANDLER CoSendPacketsHandler; \
2158 W_CO_REQUEST_HANDLER CoRequestHandler;
2159
2160#endif /* !__cplusplus */
2161
2165
2166/* Extensions for NDIS 5.1 miniports */
2167
2168typedef VOID
2170 _In_ NDIS_HANDLE MiniportAdapterContext,
2172
2173typedef VOID
2175 _In_ NDIS_HANDLE MiniportAdapterContext,
2176 _In_ NDIS_DEVICE_PNP_EVENT PnPEvent,
2177 _In_ PVOID InformationBuffer,
2178 _In_ ULONG InformationBufferLength);
2179
2180typedef VOID
2182 _In_ PVOID ShutdownContext);
2183
2184#ifdef __cplusplus
2185
2186#define NDIS51_MINIPORT_CHARACTERISTICS_S \
2187 NDIS50_MINIPORT_CHARACTERISTICS Ndis50Chars; \
2188 W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \
2189 W_PNP_EVENT_NOTIFY_HANDLER PnPEventNotifyHandler; \
2190 W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler; \
2191 PVOID Reserved1; \
2192 PVOID Reserved2; \
2193 PVOID Reserved3; \
2194 PVOID Reserved4;
2195
2196#else
2197
2198#define NDIS51_MINIPORT_CHARACTERISTICS_S \
2199 NDIS50_MINIPORT_CHARACTERISTICS_S \
2200 W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \
2201 W_PNP_EVENT_NOTIFY_HANDLER PnPEventNotifyHandler; \
2202 W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler; \
2203 PVOID Reserved1; \
2204 PVOID Reserved2; \
2205 PVOID Reserved3; \
2206 PVOID Reserved4;
2207
2208#endif
2209
2213
2214#if defined(NDIS51_MINIPORT)
2215typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
2218#elif defined(NDIS50_MINIPORT)
2219typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
2222#elif defined(NDIS40_MINIPORT)
2223typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
2226#else /* NDIS30 */
2230#endif
2231
2246
2247/* Structures available only to full MAC drivers */
2248
2249typedef BOOLEAN
2251 IN PVOID InterruptContext);
2252
2253typedef VOID
2255 IN PVOID SystemSpecific1,
2256 IN PVOID InterruptContext,
2259
2260typedef struct _NDIS_WRAPPER_HANDLE NDIS_WRAPPER_HANDLE, *PNDIS_WRAPPER_HANDLE;
2261typedef struct _NDIS_PROTOCOL_BLOCK NDIS_PROTOCOL_BLOCK, *PNDIS_PROTOCOL_BLOCK;
2264typedef struct _NDIS_OFFLOAD NDIS_OFFLOAD, *PNDIS_OFFLOAD;
2265typedef struct _NDIS_AF_LIST NDIS_AF_LIST, *PNDIS_AF_LIST;
2266typedef struct _X_FILTER ETH_FILTER, *PETH_FILTER;
2267#if NDIS_SUPPORT_NDIS6
2268typedef USHORT NET_FRAME_TYPE, *PNET_FRAME_TYPE;
2269#endif
2270
2271typedef struct _NDIS_MINIPORT_TIMER {
2279
2280typedef struct _NDIS_INTERRUPT {
2291
2292
2304
2305#define NUMBER_OF_WORK_ITEM_TYPES NdisMaxWorkItems
2306#define NUMBER_OF_SINGLE_WORK_ITEMS 6
2307
2313
2314struct _NDIS_WORK_ITEM;
2316
2317typedef struct _NDIS_WORK_ITEM {
2322
2323typedef struct _NDIS_BIND_PATHS {
2327
2328
2329typedef VOID
2332
2333typedef VOID
2336 _In_ NDIS_HANDLE MacReceiveContext,
2338 _In_ PVOID HeaderBuffer,
2339 _In_ UINT HeaderBufferSize,
2340 _In_ PVOID LookaheadBuffer,
2341 _In_ UINT LookaheadBufferSize,
2343
2344typedef VOID
2347
2348typedef VOID
2351 IN NDIS_HANDLE MacReceiveContext,
2353 IN UINT AddressLength,
2354 IN PVOID HeaderBuffer,
2355 IN UINT HeaderBufferSize,
2356 IN PVOID LookaheadBuffer,
2357 IN UINT LookaheadBufferSize,
2359
2360typedef VOID
2362 _In_ NDIS_HANDLE Miniport,
2365
2366typedef VOID
2369
2370typedef VOID
2373 _In_ NDIS_HANDLE MacReceiveContext,
2374 _In_ PVOID HeaderBuffer,
2375 _In_ UINT HeaderBufferSize,
2376 _In_ PVOID LookaheadBuffer,
2377 _In_ UINT LookaheadBufferSize,
2379
2380typedef VOID
2383 _In_ NDIS_HANDLE NdisLinkContext);
2384
2385typedef VOID
2389 _In_ NDIS_HANDLE NdisLinkContext,
2392
2393typedef VOID
2395 IN PNDIS_MINIPORT_BLOCK Miniport,
2396 IN NDIS_WORK_ITEM_TYPE WorkItemType,
2397 OUT PVOID *WorkItemContext);
2398
2401 IN PNDIS_MINIPORT_BLOCK Miniport,
2402 IN NDIS_WORK_ITEM_TYPE WorkItemType,
2403 IN PVOID WorkItemContext);
2404
2407 IN PNDIS_MINIPORT_BLOCK Miniport,
2408 IN NDIS_WORK_ITEM_TYPE WorkItemType,
2409 IN PVOID WorkItemContext);
2410
2411typedef VOID
2415
2416typedef VOID
2420 _In_ BOOLEAN AddressingReset);
2421
2422typedef VOID
2427
2428typedef VOID
2431
2432typedef BOOLEAN
2434 _In_ PNDIS_MINIPORT_BLOCK Miniport);
2435
2436typedef VOID
2438 _In_ NDIS_HANDLE MiniportHandle,
2442
2443typedef VOID
2446
2447typedef VOID
2453
2458
2459
2460#if ARCNET
2461
2462#define ARC_SEND_BUFFERS 8
2463#define ARC_HEADER_SIZE 4
2464
2465typedef struct _NDIS_ARC_BUF {
2466 NDIS_HANDLE ArcnetBufferPool;
2467 PUCHAR ArcnetLookaheadBuffer;
2468 UINT NumFree;
2469 ARC_BUFFER_LIST ArcnetBuffers[ARC_SEND_BUFFERS];
2470} NDIS_ARC_BUF, *PNDIS_ARC_BUF;
2471
2472#endif /* ARCNET */
2473
2474typedef struct _NDIS_LOG {
2484
2485#if ARCNET
2486#define FILTERDBS_ARCNET_S \
2487 PARC_FILTER ArcDB;
2488#else /* !ARCNET */
2489#define FILTERDBS_ARCNET_S \
2490 PVOID XXXDB;
2491#endif /* !ARCNET */
2492
2493#define FILTERDBS_S \
2494 _ANONYMOUS_UNION union { \
2495 PETH_FILTER EthDB; \
2496 PNULL_FILTER NullDB; \
2497 } DUMMYUNIONNAME; \
2498 PTR_FILTER TrDB; \
2499 PFDDI_FILTER FddiDB; \
2500 FILTERDBS_ARCNET_S
2501
2502typedef struct _FILTERDBS {
2505
2590#if defined(NDIS_WRAPPER)
2591 PNDIS_MINIPORT_BLOCK NextGlobalMiniport;
2594 UCHAR SendFlags;
2595 UCHAR TrResetRing;
2596 UCHAR ArcnetAddress;
2597 UCHAR XState;
2598 _ANONYMOUS_UNION union {
2599#if ARCNET
2600 PNDIS_ARC_BUF ArcBuf;
2601#endif
2602 PVOID BusInterface;
2604 PNDIS_LOG Log;
2608 SINGLE_LIST_ENTRY PatternList;
2609 NDIS_PNP_CAPABILITIES PMCapabilities;
2610 DEVICE_CAPABILITIES DeviceCaps;
2611 ULONG WakeUpEnable;
2612 DEVICE_POWER_STATE CurrentDevicePowerState;
2613 PIRP pIrpWaitWake;
2614 SYSTEM_POWER_STATE WaitWakeSystemState;
2615 LARGE_INTEGER VcIndex;
2616 KSPIN_LOCK VcCountLock;
2617 LIST_ENTRY WmiEnabledVcs;
2618 PNDIS_GUID pNdisGuidMap;
2619 PNDIS_GUID pCustomGuidMap;
2620 USHORT VcCount;
2621 USHORT cNdisGuidMap;
2622 USHORT cCustomGuidMap;
2623 USHORT CurrentMapRegister;
2624 PKEVENT AllocationEvent;
2625 USHORT BaseMapRegistersNeeded;
2626 USHORT SGMapRegistersNeeded;
2628 NDIS_TIMER MediaDisconnectTimer;
2629 USHORT MediaDisconnectTimeOut;
2630 USHORT InstanceNumber;
2631 NDIS_EVENT OpenReadyEvent;
2632 NDIS_PNP_DEVICE_STATE PnPDeviceState;
2633 NDIS_PNP_DEVICE_STATE OldPnPDeviceState;
2634 PGET_SET_DEVICE_DATA SetBusData;
2635 PGET_SET_DEVICE_DATA GetBusData;
2636 KDPC DeferredDpc;
2637#if 0
2638 /* FIXME: */
2639 NDIS_STATS NdisStats;
2640#else
2641 ULONG NdisStats;
2642#endif
2643 PNDIS_PACKET IndicatedPacket[MAXIMUM_PROCESSORS];
2644 PKEVENT RemoveReadyEvent;
2645 PKEVENT AllOpensClosedEvent;
2646 PKEVENT AllRequestsCompletedEvent;
2647 ULONG InitTimeMs;
2649 PDMA_ADAPTER SystemAdapterObject;
2650 ULONG DriverVerifyFlags;
2651 POID_LIST OidList;
2652 USHORT InternalResetCount;
2653 USHORT MiniportResetCount;
2654 USHORT MediaSenseConnectCount;
2655 USHORT MediaSenseDisconnectCount;
2656 PNDIS_PACKET *xPackets;
2657 ULONG UserModeOpenReferences;
2658 _ANONYMOUS_UNION union {
2659 PVOID SavedSendHandler;
2660 PVOID SavedWanSendHandler;
2662 PVOID SavedSendPacketsHandler;
2663 PVOID SavedCancelSendPacketsHandler;
2664 W_SEND_PACKETS_HANDLER WSendPacketsHandler;
2665 ULONG MiniportAttributes;
2666 PDMA_ADAPTER SavedSystemAdapterObject;
2667 USHORT NumOpens;
2668 USHORT CFHangXTicks;
2669 ULONG RequestCount;
2670 ULONG IndicatedPacketsCount;
2671 ULONG PhysicalMediumType;
2672 PNDIS_REQUEST LastRequest;
2673 LONG DmaAdapterRefCount;
2674 PVOID FakeMac;
2675 ULONG LockDbg;
2676 ULONG LockDbgX;
2677 PVOID LockThread;
2678 ULONG InfoFlags;
2679 KSPIN_LOCK TimerQueueLock;
2680 PKEVENT ResetCompletedEvent;
2681 PKEVENT QueuedBindingCompletedEvent;
2682 PKEVENT DmaResourcesReleasedEvent;
2683 FILTER_PACKET_INDICATION_HANDLER SavedPacketIndicateHandler;
2684 ULONG RegisteredInterrupts;
2685 PNPAGED_LOOKASIDE_LIST SGListLookasideList;
2686 ULONG ScatterGatherListSize;
2687#endif /* _NDIS_ */
2688};
2689
2690#if NDIS_LEGACY_DRIVER
2691
2694 _In_ NDIS_HANDLE MacBindingHandle,
2695 _In_ NDIS_HANDLE LinkHandle,
2696 _In_ PVOID Packet);
2697
2698typedef VOID
2700 _In_ NDIS_HANDLE MiniportAdapterContext,
2703
2708
2712 _In_ NDIS_HANDLE MacReceiveContext,
2714 _In_ UINT BytesToTransfer,
2717
2721
2726
2727#endif /* NDIS_LEGACY_DRIVER */
2728
2729#if defined(NDIS_WRAPPER)
2730#define NDIS_COMMON_OPEN_BLOCK_WRAPPER_S \
2731 ULONG Flags; \
2732 ULONG References; \
2733 KSPIN_LOCK SpinLock; \
2734 NDIS_HANDLE FilterHandle; \
2735 ULONG ProtocolOptions; \
2736 USHORT CurrentLookahead; \
2737 USHORT ConnectDampTicks; \
2738 USHORT DisconnectDampTicks; \
2739 W_SEND_HANDLER WSendHandler; \
2740 W_TRANSFER_DATA_HANDLER WTransferDataHandler; \
2741 W_SEND_PACKETS_HANDLER WSendPacketsHandler; \
2742 W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \
2743 ULONG WakeUpEnable; \
2744 PKEVENT CloseCompleteEvent; \
2745 QUEUED_CLOSE QC; \
2746 ULONG AfReferences; \
2747 PNDIS_OPEN_BLOCK NextGlobalOpen;
2748#else
2749#define NDIS_COMMON_OPEN_BLOCK_WRAPPER_S
2750#endif
2751
2752#define NDIS_COMMON_OPEN_BLOCK_S \
2753 PVOID MacHandle; \
2754 NDIS_HANDLE BindingHandle; \
2755 PNDIS_MINIPORT_BLOCK MiniportHandle; \
2756 PNDIS_PROTOCOL_BLOCK ProtocolHandle; \
2757 NDIS_HANDLE ProtocolBindingContext; \
2758 PNDIS_OPEN_BLOCK MiniportNextOpen; \
2759 PNDIS_OPEN_BLOCK ProtocolNextOpen; \
2760 NDIS_HANDLE MiniportAdapterContext; \
2761 BOOLEAN Reserved1; \
2762 BOOLEAN Reserved2; \
2763 BOOLEAN Reserved3; \
2764 BOOLEAN Reserved4; \
2765 PNDIS_STRING BindDeviceName; \
2766 KSPIN_LOCK Reserved5; \
2767 PNDIS_STRING RootDeviceName; \
2768 _ANONYMOUS_UNION union { \
2769 SEND_HANDLER SendHandler; \
2770 WAN_SEND_HANDLER WanSendHandler; \
2771 } DUMMYUNIONNAME; \
2772 TRANSFER_DATA_HANDLER TransferDataHandler; \
2773 SEND_COMPLETE_HANDLER SendCompleteHandler; \
2774 TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler; \
2775 RECEIVE_HANDLER ReceiveHandler; \
2776 RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler; \
2777 WAN_RECEIVE_HANDLER WanReceiveHandler; \
2778 REQUEST_COMPLETE_HANDLER RequestCompleteHandler; \
2779 RECEIVE_PACKET_HANDLER ReceivePacketHandler; \
2780 SEND_PACKETS_HANDLER SendPacketsHandler; \
2781 RESET_HANDLER ResetHandler; \
2782 REQUEST_HANDLER RequestHandler; \
2783 RESET_COMPLETE_HANDLER ResetCompleteHandler; \
2784 STATUS_HANDLER StatusHandler; \
2785 STATUS_COMPLETE_HANDLER StatusCompleteHandler; \
2786 NDIS_COMMON_OPEN_BLOCK_WRAPPER_S
2787
2791
2793{
2794#ifdef __cplusplus
2795 NDIS_COMMON_OPEN_BLOCK NdisCommonOpenBlock;
2796#else
2798#endif
2799};
2800
2801#include <xfilter.h>
2802
2803#define NDIS_M_MAX_LOOKAHEAD 526
2804
2806NDISAPI
2807VOID
2808NTAPI
2813
2815NDISAPI
2816VOID
2817NTAPI
2821
2823NDISAPI
2824VOID
2825NTAPI
2829
2830NDISAPI
2831VOID
2832NTAPI
2834 _In_ PNDIS_TIMER NdisTimer,
2835 _In_ UINT MillisecondsPeriod);
2836
2838NDISAPI
2839VOID
2840NTAPI
2842 _In_ PNDIS_TIMER NdisTimer,
2845
2847NDISAPI
2848PVOID
2849NTAPI
2851 _In_ PNDIS_STRING NdisRoutineName);
2852
2854NDISAPI
2855UINT
2856NTAPI
2858
2859#if NDIS_LEGACY_DRIVER
2860
2862NDISAPI
2863VOID
2864NTAPI
2871
2873NDISAPI
2874VOID
2875NTAPI
2880
2882NDISAPI
2883VOID
2884NTAPI
2887
2888/*
2889NDISAPI
2890VOID
2891NTAPI
2892NdisFreeBuffer(
2893 IN PNDIS_BUFFER Buffer);
2894*/
2895#define NdisFreeBuffer IoFreeMdl
2896
2898NDISAPI
2899VOID
2900NTAPI
2906
2908NDISAPI
2909VOID
2910NTAPI
2917
2919NDISAPI
2920VOID
2921NTAPI
2923 _In_ NDIS_HANDLE PacketPoolHandle,
2925
2927NDISAPI
2928UINT
2929NTAPI
2932
2934NDISAPI
2935UINT
2936NTAPI
2938 _In_ UINT ProtocolReservedSize);
2939
2941NDISAPI
2943NTAPI
2946
2948NDISAPI
2950NTAPI
2954
2956NDISAPI
2957VOID
2958NTAPI
2961
2963NDISAPI
2964VOID
2965NTAPI
2968
2970NDISAPI
2971VOID
2972NTAPI
2975
2977NDISAPI
2978VOID
2979NTAPI
2982
2984NDISAPI
2985VOID
2986NTAPI
2991
2993NDISAPI
2994VOID
2995NTAPI
3000
3002NDISAPI
3003VOID
3004NTAPI
3009
3010/*
3011 * VOID
3012 * NdisReinitializePacket(
3013 * IN OUT PNDIS_PACKET Packet);
3014 */
3015#define NdisReinitializePacket(Packet) { \
3016 (Packet)->Private.Head = (PNDIS_BUFFER)NULL; \
3017 (Packet)->Private.ValidCounts = FALSE; \
3018}
3019
3020/*
3021NDISAPI
3022VOID
3023NTAPI
3024NdisQueryBuffer(
3025 IN PNDIS_BUFFER Buffer,
3026 OUT PVOID *VirtualAddress OPTIONAL,
3027 OUT PUINT Length);
3028*/
3029#define NdisQueryBuffer(_Buffer, _VirtualAddress, _Length) { \
3030 if (ARGUMENT_PRESENT(_VirtualAddress)) { \
3031 *(PVOID *)(_VirtualAddress) = MmGetSystemAddressForMdl(_Buffer); \
3032 } \
3033 *(_Length) = MmGetMdlByteCount(_Buffer); \
3034}
3035
3036NDISAPI
3037VOID
3038NTAPI
3041 OUT PNDIS_BUFFER *_FirstBuffer,
3042 OUT PVOID *_FirstBufferVA,
3043 OUT PUINT _FirstBufferLength,
3044 OUT PUINT _TotalBufferLength);
3045
3046/*
3047 * VOID
3048 * NdisGetFirstBufferFromPacketSafe(
3049 * IN PNDIS_PACKET _Packet,
3050 * OUT PNDIS_BUFFER * _FirstBuffer,
3051 * OUT PVOID * _FirstBufferVA,
3052 * OUT PUINT _FirstBufferLength,
3053 * OUT PUINT _TotalBufferLength),
3054 * IN MM_PAGE_PRIORITY _Priority)
3055 */
3056#define NdisGetFirstBufferFromPacketSafe(_Packet, \
3057 _FirstBuffer, \
3058 _FirstBufferVA, \
3059 _FirstBufferLength, \
3060 _TotalBufferLength, \
3061 _Priority) \
3062{ \
3063 PNDIS_BUFFER _Buffer; \
3064 \
3065 _Buffer = (_Packet)->Private.Head; \
3066 *(_FirstBuffer) = _Buffer; \
3067 if (_Buffer != NULL) { \
3068 *(_FirstBufferVA) = MmGetSystemAddressForMdlSafe(_Buffer, _Priority); \
3069 *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer); \
3070 _Buffer = _Buffer->Next; \
3071 *(_TotalBufferLength) = *(_FirstBufferLength); \
3072 while (_Buffer != NULL) { \
3073 *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer); \
3074 _Buffer = _Buffer->Next; \
3075 } \
3076 } \
3077 else { \
3078 *(_FirstBufferVA) = 0; \
3079 *(_FirstBufferLength) = 0; \
3080 *(_TotalBufferLength) = 0; \
3081 } \
3082}
3083
3084/*
3085 * VOID
3086 * NdisRecalculatePacketCounts(
3087 * IN OUT PNDIS_PACKET Packet);
3088 */
3089#define NdisRecalculatePacketCounts(Packet) { \
3090 PNDIS_BUFFER _Buffer = (Packet)->Private.Head; \
3091 if (_Buffer != NULL) { \
3092 while (_Buffer->Next != NULL) { \
3093 _Buffer = _Buffer->Next; \
3094 } \
3095 (Packet)->Private.Tail = _Buffer; \
3096 } \
3097 (Packet)->Private.ValidCounts = FALSE; \
3098}
3099
3100/*
3101 * VOID
3102 * NdisChainBufferAtFront(
3103 * IN OUT PNDIS_PACKET Packet,
3104 * IN OUT PNDIS_BUFFER Buffer)
3105 */
3106#define NdisChainBufferAtFront(Packet, \
3107 Buffer) \
3108{ \
3109 PNDIS_BUFFER _NdisBuffer = (Buffer); \
3110 \
3111 while (_NdisBuffer->Next != NULL) \
3112 _NdisBuffer = _NdisBuffer->Next; \
3113 \
3114 if ((Packet)->Private.Head == NULL) \
3115 (Packet)->Private.Tail = _NdisBuffer; \
3116 \
3117 _NdisBuffer->Next = (Packet)->Private.Head; \
3118 (Packet)->Private.Head = (Buffer); \
3119 (Packet)->Private.ValidCounts = FALSE; \
3120}
3121
3122/*
3123 * VOID
3124 * NdisChainBufferAtBack(
3125 * IN OUT PNDIS_PACKET Packet,
3126 * IN OUT PNDIS_BUFFER Buffer)
3127 */
3128#define NdisChainBufferAtBack(Packet, \
3129 Buffer) \
3130{ \
3131 PNDIS_BUFFER _NdisBuffer = (Buffer); \
3132 \
3133 while (_NdisBuffer->Next != NULL) \
3134 _NdisBuffer = _NdisBuffer->Next; \
3135 \
3136 _NdisBuffer->Next = NULL; \
3137 \
3138 if ((Packet)->Private.Head != NULL) \
3139 (Packet)->Private.Tail->Next = (Buffer); \
3140 else \
3141 (Packet)->Private.Head = (Buffer); \
3142 \
3143 (Packet)->Private.Tail = _NdisBuffer; \
3144 (Packet)->Private.ValidCounts = FALSE; \
3145}
3146
3147NDISAPI
3148VOID
3149NTAPI
3153
3154NDISAPI
3155VOID
3156NTAPI
3160
3162NDISAPI
3163VOID
3164NTAPI
3172
3173NDISAPI
3174VOID
3175NTAPI
3184
3186__drv_preferredFunction("NdisAllocateMemoryWithTag", "Obsolete")
3187NDISAPI
3189NTAPI
3194 _In_ UINT MemoryFlags,
3196
3197#define NdisInitializeWorkItem(_WI_, _R_, _C_) { \
3198 (_WI_)->Context = _C_; \
3199 (_WI_)->Routine = _R_; \
3200}
3201
3203NDISAPI
3205NTAPI
3208
3210NDISAPI
3211VOID
3212NTAPI
3218
3219#endif /* NDIS_LEGACY_DRIVER */
3220
3222NDISAPI
3223VOID
3224NTAPI
3231
3233NDISAPI
3234VOID
3235NTAPI
3238
3240NDISAPI
3241VOID
3242NTAPI
3247
3249NDISAPI
3250VOID
3251NTAPI
3254
3256NDISAPI
3257ULONG
3258NTAPI
3260
3261#define NdisFlushBuffer(Buffer,WriteToDevice) \
3262 KeFlushIoBuffers((Buffer),!(WriteToDevice), TRUE)
3263
3265NDISAPI
3266VOID
3267NTAPI
3274 _In_ UINT Length);
3275
3276/*
3277 * VOID
3278 * NdisCopyLookaheadData(
3279 * IN PVOID Destination,
3280 * IN PVOID Source,
3281 * IN ULONG Length,
3282 * IN ULONG ReceiveFlags);
3283 */
3284
3285#if defined(_M_IX86) || defined(_M_AMD64)
3286#define NdisCopyLookaheadData(Destination, Source, Length, MacOptions) \
3287 RtlCopyMemory(Destination, Source, Length)
3288#else
3289#define NdisCopyLookaheadData(Destination, Source, Length, MacOptions) \
3290 { \
3291 if ((MacOptions) & NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA) \
3292 { \
3293 RtlCopyMemory(Destination, Source, Length); \
3294 } \
3295 else \
3296 { \
3297 PUCHAR _Src = (PUCHAR)(Source); \
3298 PUCHAR _Dest = (PUCHAR)(Destination); \
3299 PUCHAR _End = _Dest + (Length); \
3300 while (_Dest < _End) \
3301 *_Dest++ = *_Src++; \
3302 } \
3303 }
3304#endif
3305
3306/*
3307NDISAPI
3308VOID
3309NTAPI
3310NdisAdjustBufferLength(
3311 IN PNDIS_BUFFER Buffer,
3312 IN UINT Length);
3313*/
3314#define NdisAdjustBufferLength(Buffer, Length) \
3315 (((Buffer)->ByteCount) = (Length))
3316
3317#if NDIS_SUPPORT_NDIS6
3318#define NdisAdjustMdlLength(_Mdl, _Length) \
3319 (((_Mdl)->ByteCount) = (_Length))
3320#endif
3321
3322/*
3323NDISAPI
3324ULONG
3325NTAPI
3326NdisBufferLength(
3327 IN PNDIS_BUFFER Buffer);
3328*/
3329#define NdisBufferLength MmGetMdlByteCount
3330
3331/*
3332NDISAPI
3333PVOID
3334NTAPI
3335NdisBufferVirtualAddress(
3336 IN PNDIS_BUFFER Buffer);
3337*/
3338#define NdisBufferVirtualAddress MmGetSystemAddressForMdl
3339
3340#define NdisBufferVirtualAddressSafe MmGetSystemAddressForMdlSafe
3341
3342NDISAPI
3343ULONG
3344NTAPI
3347
3348/*
3349NDISAPI
3350VOID
3351NTAPI
3352NdisGetBufferPhysicalArraySize(
3353 IN PNDIS_BUFFER Buffer,
3354 OUT PUINT ArraySize);
3355*/
3356#define NdisGetBufferPhysicalArraySize(Buffer, ArraySize) \
3357 (*(ArraySize) = NDIS_BUFFER_TO_SPAN_PAGES(Buffer))
3358
3359/*
3360NDISAPI
3361VOID
3362NTAPI
3363NdisQueryBufferOffset(
3364 IN PNDIS_BUFFER Buffer,
3365 OUT PUINT Offset,
3366 OUT PUINT Length);
3367*/
3368#define NdisQueryBufferOffset(_Buffer, _Offset, _Length) { \
3369 *(_Offset) = MmGetMdlByteOffset(_Buffer); \
3370 *(_Length) = MmGetMdlByteCount(_Buffer); \
3371}
3372
3373/*
3374 * PVOID
3375 * NDIS_BUFFER_LINKAGE(
3376 * IN PNDIS_BUFFER Buffer);
3377 */
3378#define NDIS_BUFFER_LINKAGE(Buffer) (Buffer)->Next
3379
3380/*
3381 * VOID
3382 * NdisGetNextBuffer(
3383 * IN PNDIS_BUFFER CurrentBuffer,
3384 * OUT PNDIS_BUFFER * NextBuffer)
3385 */
3386#define NdisGetNextBuffer(CurrentBuffer, \
3387 NextBuffer) \
3388{ \
3389 *(NextBuffer) = (CurrentBuffer)->Next; \
3390}
3391
3392#if NDIS_LEGACY_DRIVER
3393
3394#define NDIS_PACKET_FIRST_NDIS_BUFFER(_Packet) ((_Packet)->Private.Head)
3395#define NDIS_PACKET_LAST_NDIS_BUFFER(_Packet) ((_Packet)->Private.Tail)
3396#define NDIS_PACKET_VALID_COUNTS(_Packet) ((_Packet)->Private.ValidCounts)
3397
3398/*
3399 * UINT
3400 * NdisGetPacketFlags(
3401 * IN PNDIS_PACKET Packet);
3402 */
3403#define NdisGetPacketFlags(Packet) (Packet)->Private.Flags
3404
3405/*
3406 * ULONG
3407 * NDIS_GET_PACKET_PROTOCOL_TYPE(
3408 * IN PNDIS_PACKET Packet);
3409 */
3410#define NDIS_GET_PACKET_PROTOCOL_TYPE(_Packet) \
3411 ((_Packet)->Private.Flags & NDIS_PROTOCOL_ID_MASK)
3412
3413/*
3414 * PNDIS_PACKET_OOB_DATA
3415 * NDIS_OOB_DATA_FROM_PACKET(
3416 * IN PNDIS_PACKET Packet);
3417 */
3418#define NDIS_OOB_DATA_FROM_PACKET(_Packet) \
3419 (PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3420 (_Packet)->Private.NdisPacketOobOffset)
3421
3422/*
3423 * ULONG
3424 * NDIS_GET_PACKET_HEADER_SIZE(
3425 * IN PNDIS_PACKET Packet);
3426 */
3427#define NDIS_GET_PACKET_HEADER_SIZE(_Packet) \
3428 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3429 (_Packet)->Private.NdisPacketOobOffset))->HeaderSize
3430
3431/*
3432 * NDIS_STATUS
3433 * NDIS_GET_PACKET_STATUS(
3434 * IN PNDIS_PACKET Packet);
3435 */
3436#define NDIS_GET_PACKET_STATUS(_Packet) \
3437 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3438 (_Packet)->Private.NdisPacketOobOffset))->Status
3439
3440/*
3441 * ULONGLONG
3442 * NDIS_GET_PACKET_TIME_TO_SEND(
3443 * IN PNDIS_PACKET Packet);
3444 */
3445#define NDIS_GET_PACKET_TIME_TO_SEND(_Packet) \
3446 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3447 (_Packet)->Private.NdisPacketOobOffset))->TimeToSend
3448
3449/*
3450 * ULONGLONG
3451 * NDIS_GET_PACKET_TIME_SENT(
3452 * IN PNDIS_PACKET Packet);
3453 */
3454#define NDIS_GET_PACKET_TIME_SENT(_Packet) \
3455 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3456 (_Packet)->Private.NdisPacketOobOffset))->TimeSent
3457
3458/*
3459 * ULONGLONG
3460 * NDIS_GET_PACKET_TIME_RECEIVED(
3461 * IN PNDIS_PACKET Packet);
3462 */
3463#define NDIS_GET_PACKET_TIME_RECEIVED(_Packet) \
3464 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3465 (_Packet)->Private.NdisPacketOobOffset))->TimeReceived
3466
3467/*
3468 * VOID
3469 * NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(
3470 * IN PNDIS_PACKET Packet,
3471 * IN PPVOID pMediaSpecificInfo,
3472 * IN PUINT pSizeMediaSpecificInfo);
3473 */
3474#define NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(_Packet, \
3475 _pMediaSpecificInfo, \
3476 _pSizeMediaSpecificInfo) \
3477{ \
3478 if (!((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS) || \
3479 !((_Packet)->Private.NdisPacketFlags & fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO)) \
3480 { \
3481 *(_pMediaSpecificInfo) = NULL; \
3482 *(_pSizeMediaSpecificInfo) = 0; \
3483 } \
3484 else \
3485 { \
3486 *(_pMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3487 (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation; \
3488 *(_pSizeMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3489 (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo; \
3490 } \
3491}
3492
3493/*
3494 * VOID
3495 * NDIS_SET_PACKET_HEADER_SIZE(
3496 * IN PNDIS_PACKET Packet,
3497 * IN UINT HdrSize);
3498 */
3499#define NDIS_SET_PACKET_HEADER_SIZE(_Packet, _HdrSize) \
3500 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3501 (_Packet)->Private.NdisPacketOobOffset))->HeaderSize = (_HdrSize)
3502
3503/*
3504 * VOID
3505 * NDIS_SET_PACKET_STATUS(
3506 * IN PNDIS_PACKET Packet,
3507 * IN NDIS_STATUS Status);
3508 */
3509#define NDIS_SET_PACKET_STATUS(_Packet, _Status) \
3510 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3511 (_Packet)->Private.NdisPacketOobOffset))->Status = (_Status)
3512
3513/*
3514 * VOID
3515 * NDIS_SET_PACKET_TIME_TO_SEND(
3516 * IN PNDIS_PACKET Packet,
3517 * IN ULONGLONG TimeToSend);
3518 */
3519#define NDIS_SET_PACKET_TIME_TO_SEND(_Packet, _TimeToSend) \
3520 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3521 (_Packet)->Private.NdisPacketOobOffset))->TimeToSend = (_TimeToSend)
3522
3523/*
3524 * VOID
3525 * NDIS_SET_PACKET_TIME_SENT(
3526 * IN PNDIS_PACKET Packet,
3527 * IN ULONGLONG TimeSent);
3528 */
3529#define NDIS_SET_PACKET_TIME_SENT(_Packet, _TimeSent) \
3530 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3531 (_Packet)->Private.NdisPacketOobOffset))->TimeSent = (_TimeSent)
3532
3533/*
3534 * VOID
3535 * NDIS_SET_PACKET_TIME_RECEIVED(
3536 * IN PNDIS_PACKET Packet,
3537 * IN ULONGLONG TimeReceived);
3538 */
3539#define NDIS_SET_PACKET_TIME_RECEIVED(_Packet, _TimeReceived) \
3540 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3541 (_Packet)->Private.NdisPacketOobOffset))->TimeReceived = (_TimeReceived)
3542
3543/*
3544 * VOID
3545 * NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(
3546 * IN PNDIS_PACKET Packet,
3547 * IN PVOID MediaSpecificInfo,
3548 * IN UINT SizeMediaSpecificInfo);
3549 */
3550#define NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(_Packet, \
3551 _MediaSpecificInfo, \
3552 _SizeMediaSpecificInfo) \
3553{ \
3554 if ((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS) \
3555 { \
3556 (_Packet)->Private.NdisPacketFlags |= fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO; \
3557 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3558 (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation = \
3559 (_MediaSpecificInfo); \
3560 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3561 (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo = \
3562 (_SizeMediaSpecificInfo); \
3563 } \
3564}
3565
3566/*
3567 * VOID
3568 * NdisSetPacketFlags(
3569 * IN PNDIS_PACKET Packet,
3570 * IN UINT Flags);
3571 */
3572#define NdisSetPacketFlags(Packet, Flags) (Packet)->Private.Flags |= (Flags)
3573
3574/*
3575 * VOID
3576 * NdisClearPacketFlags(
3577 * IN PNDIS_PACKET Packet,
3578 * IN UINT Flags);
3579 */
3580#define NdisClearPacketFlags(Packet, Flags) (Packet)->Private.Flags &= ~(Flags)
3581
3582/*
3583 * VOID
3584 * NdisQueryPacket(
3585 * IN PNDIS_PACKET Packet,
3586 * OUT PUINT PhysicalBufferCount OPTIONAL,
3587 * OUT PUINT BufferCount OPTIONAL,
3588 * OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
3589 * OUT PUINT TotalPacketLength OPTIONAL);
3590 */
3591static __inline
3592VOID
3595 OUT PUINT PhysicalBufferCount OPTIONAL,
3596 OUT PUINT BufferCount OPTIONAL,
3597 OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
3598 OUT PUINT TotalPacketLength OPTIONAL)
3599{
3600 if (FirstBuffer)
3601 *FirstBuffer = Packet->Private.Head;
3602 if (TotalPacketLength || BufferCount || PhysicalBufferCount) {
3603 if (!Packet->Private.ValidCounts) {
3604 UINT Offset;
3605 UINT PacketLength;
3606 PNDIS_BUFFER NdisBuffer;
3607 UINT _PhysicalBufferCount = 0;
3608 UINT _TotalPacketLength = 0;
3609 UINT Count = 0;
3610
3611 for (NdisBuffer = Packet->Private.Head;
3612 NdisBuffer != (PNDIS_BUFFER)NULL;
3613 NdisBuffer = NdisBuffer->Next) {
3614 _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(NdisBuffer);
3615 NdisQueryBufferOffset(NdisBuffer, &Offset, &PacketLength);
3616 _TotalPacketLength += PacketLength;
3617 Count++;
3618 }
3619 Packet->Private.PhysicalCount = _PhysicalBufferCount;
3620 Packet->Private.TotalLength = _TotalPacketLength;
3621 Packet->Private.Count = Count;
3622 Packet->Private.ValidCounts = TRUE;
3623 }
3624
3625 if (PhysicalBufferCount)
3626 *PhysicalBufferCount = Packet->Private.PhysicalCount;
3627
3628 if (BufferCount)
3629 *BufferCount = Packet->Private.Count;
3630
3631 if (TotalPacketLength)
3632 *TotalPacketLength = Packet->Private.TotalLength;
3633 }
3634}
3635
3636/*
3637 * VOID
3638 * NdisQueryPacketLength(
3639 * IN PNDIS_PACKET Packet,
3640 * OUT PUINT PhysicalBufferCount OPTIONAL,
3641 * OUT PUINT BufferCount OPTIONAL,
3642 * OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
3643 * OUT PUINT TotalPacketLength OPTIONAL);
3644 */
3645#define NdisQueryPacketLength(_Packet, \
3646 _TotalPacketLength) \
3647{ \
3648 if (!(_Packet)->Private.ValidCounts) { \
3649 NdisQueryPacket(_Packet, NULL, NULL, NULL, _TotalPacketLength); \
3650 } \
3651 else *(_TotalPacketLength) = (_Packet)->Private.TotalLength; \
3652}
3653
3654#endif /* NDIS_LEGACY_DRIVER */
3655
3656/* Memory management routines */
3657
3658/*
3659NDISAPI
3660VOID
3661NTAPI
3662NdisCreateLookaheadBufferFromSharedMemory(
3663 IN PVOID pSharedMemory,
3664 IN UINT LookaheadLength,
3665 OUT PVOID *pLookaheadBuffer);
3666*/
3667#define NdisCreateLookaheadBufferFromSharedMemory(_S, _L, _B) ((*(_B)) = (_S))
3668
3669NDISAPI
3670VOID
3671NTAPI
3673 IN PVOID pLookaheadBuffer);
3674
3675#if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_ARM) || defined(_M_PPC)
3676
3677/*
3678 * VOID
3679 * NdisMoveMappedMemory(
3680 * OUT PVOID Destination,
3681 * IN PVOID Source,
3682 * IN ULONG Length);
3683 */
3684#define NdisMoveMappedMemory(Destination, Source, Length) \
3685 RtlCopyMemory(Destination, Source, Length)
3686
3687/*
3688 * VOID
3689 * NdisZeroMappedMemory(
3690 * IN PVOID Destination,
3691 * IN ULONG Length);
3692 */
3693#define NdisZeroMappedMemory(Destination, Length) \
3694 RtlZeroMemory(Destination, Length)
3695
3696#else
3697
3698#define NdisMoveMappedMemory(Destination, Source, Length) \
3699{ \
3700 PUCHAR _Dest = Destination, _Src = Source, _End = _Dest + Length; \
3701 while (_Dest < _End) \
3702 *_Dest++ = _Src++; \
3703}
3704
3705#define NdisZeroMappedMemory(Destination, Length) \
3706{ \
3707 PUCHAR _Dest = Destination, _End = _Dest + Length; \
3708 while (_Dest < _End) \
3709 *_Dest++ = 0; \
3710}
3711
3712#endif /* _M_IX86 or _M_AMD64 */
3713
3714/*
3715 * VOID
3716 * NdisMoveFromMappedMemory(
3717 * OUT PVOID Destination,
3718 * IN PVOID Source,
3719 * IN ULONG Length);
3720 */
3721#define NdisMoveFromMappedMemory(Destination, Source, Length) \
3722 NdisMoveMappedMemory(Destination, Source, Length)
3723
3724/*
3725 * VOID
3726 * NdisMoveToMappedMemory(
3727 * OUT PVOID Destination,
3728 * IN PVOID Source,
3729 * IN ULONG Length);
3730 */
3731#define NdisMoveToMappedMemory(Destination, Source, Length) \
3732 NdisMoveMappedMemory(Destination, Source, Length)
3733
3734/*
3735 * VOID
3736 * NdisMUpdateSharedMemory(
3737 * IN NDIS_HANDLE MiniportAdapterHandle,
3738 * IN ULONG Length,
3739 * IN PVOID VirtualAddress,
3740 * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
3741 */
3742#define NdisMUpdateSharedMemory(_H, _L, _V, _P) \
3743 NdisUpdateSharedMemory(_H, _L, _V, _P)
3744
3748NDISAPI
3749VOID
3750NTAPI
3754 _In_ _Pre_satisfies_(MemoryFlags == 0 || MemoryFlags == NDIS_MEMORY_NONCACHED || MemoryFlags == NDIS_MEMORY_CONTIGUOUS)
3755 UINT MemoryFlags);
3756
3757NDISAPI
3758VOID
3759NTAPI
3762 IN ULONG Tag);
3763
3764NDISAPI
3765VOID
3766NTAPI
3769 IN ULONG SharedMemoryAddress,
3771 IN ULONG Length);
3772
3773NDISAPI
3774VOID
3775NTAPI
3778 IN ULONG SharedMemoryAddress,
3780 IN ULONG Length);
3781
3783NDISAPI
3784VOID
3785NTAPI
3794
3796NDISAPI
3798NTAPI
3804
3805#if defined(NDIS50)
3806
3807#define NdisUpdateSharedMemory(NdisAdapterHandle, \
3808 Length, \
3809 VirtualAddress, \
3810 PhysicalAddress)
3811
3812#else
3813
3814NDISAPI
3815VOID
3816NTAPI
3818 IN NDIS_HANDLE NdisAdapterHandle,
3819 IN ULONG Length,
3822
3823#endif /* defined(NDIS50) */
3824
3825/*
3826 * ULONG
3827 * NdisGetPhysicalAddressHigh(
3828 * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
3829 */
3830#define NdisGetPhysicalAddressHigh(PhysicalAddress) \
3831 ((PhysicalAddress).HighPart)
3832
3833/*
3834 * VOID
3835 * NdisSetPhysicalAddressHigh(
3836 * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
3837 * IN ULONG Value);
3838 */
3839#define NdisSetPhysicalAddressHigh(PhysicalAddress, Value) \
3840 ((PhysicalAddress).HighPart) = (Value)
3841
3842/*
3843 * ULONG
3844 * NdisGetPhysicalAddressLow(
3845 * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
3846 */
3847#define NdisGetPhysicalAddressLow(PhysicalAddress) \
3848 ((PhysicalAddress).LowPart)
3849
3850
3851/*
3852 * VOID
3853 * NdisSetPhysicalAddressLow(
3854 * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
3855 * IN ULONG Value);
3856 */
3857#define NdisSetPhysicalAddressLow(PhysicalAddress, Value) \
3858 ((PhysicalAddress).LowPart) = (Value)
3859
3860/*
3861 * VOID
3862 * NDIS_PHYSICAL_ADDRESS_CONST(
3863 * IN ULONG Low,
3864 * IN LONG High);
3865 */
3866#define NDIS_PHYSICAL_ADDRESS_CONST(Low, High) \
3867 { {(ULONG)(Low), (LONG)(High)} }
3868
3869/*
3870 * ULONG
3871 * NdisEqualMemory(
3872 * IN CONST VOID *Source1,
3873 * IN CONST VOID *Source2,
3874 * IN ULONG Length);
3875 */
3876#define NdisEqualMemory(Source1, Source2, Length) \
3877 RtlEqualMemory(Source1, Source2, Length)
3878
3879/*
3880 * VOID
3881 * NdisFillMemory(
3882 * IN PVOID Destination,
3883 * IN ULONG Length,
3884 * IN UCHAR Fill);
3885 */
3886#define NdisFillMemory(Destination, Length, Fill) \
3887 RtlFillMemory(Destination, Length, Fill)
3888
3889/*
3890 * VOID
3891 * NdisMoveMemory(
3892 * OUT PVOID Destination,
3893 * IN PVOID Source,
3894 * IN ULONG Length);
3895 */
3896#define NdisMoveMemory(Destination, Source, Length) \
3897 RtlCopyMemory(Destination, Source, Length)
3898
3899
3900/*
3901 * VOID
3902 * NdisRetrieveUlong(
3903 * IN PULONG DestinationAddress,
3904 * IN PULONG SourceAddress);
3905 */
3906#define NdisRetrieveUlong(DestinationAddress, SourceAddress) \
3907 RtlRetrieveUlong(DestinationAddress, SourceAddress)
3908
3909
3910/*
3911 * VOID
3912 * NdisStoreUlong(
3913 * IN PULONG DestinationAddress,
3914 * IN ULONG Value);
3915 */
3916#define NdisStoreUlong(DestinationAddress, Value) \
3917 RtlStoreUlong(DestinationAddress, Value)
3918
3919
3920/*
3921 * VOID
3922 * NdisZeroMemory(
3923 * IN PVOID Destination,
3924 * IN ULONG Length)
3925 */
3926#define NdisZeroMemory(Destination, Length) \
3927 RtlZeroMemory(Destination, Length)
3928
3929typedef VOID
3931 IN PUCHAR Block,
3933 );
3934
3935/* Configuration routines */
3936
3937#if NDIS_LEGACY_DRIVER
3939_Success_(*Status >= 0)
3940NDISAPI
3941VOID
3942NTAPI
3947#endif
3948
3950_Success_(*Status >= 0)
3951NDISAPI
3952VOID
3953NTAPI
3960
3961NDISAPI
3962VOID
3963NTAPI
3969
3970NDISAPI
3971VOID
3972NTAPI
3978 OUT PUINT NumberOfFunctions);
3979
3980#if NDIS_LEGACY_MINIPORT
3981
3983NDISAPI
3984ULONG
3985NTAPI
3987 _In_ NDIS_HANDLE NdisAdapterHandle,
3991 _In_ ULONG Length);
3992
3994NDISAPI
3995ULONG
3996NTAPI
3998 _In_ NDIS_HANDLE NdisAdapterHandle,
4002 _In_ ULONG Length);
4003
4005NDISAPI
4006ULONG
4007NTAPI
4009 _In_ NDIS_HANDLE NdisAdapterHandle,
4012 _In_ ULONG Length);
4013
4015NDISAPI
4016ULONG
4017NTAPI
4019 _In_ NDIS_HANDLE NdisAdapterHandle,
4022 _In_ ULONG Length);
4023
4024#endif /* NDIS_LEGACY_MINIPORT */
4025
4026/* String management routines */
4027
4028/*
4029NDISAPI
4030NDIS_STATUS
4031NTAPI
4032NdisAnsiStringToUnicodeString(
4033 IN OUT PNDIS_STRING DestinationString,
4034 IN PNDIS_ANSI_STRING SourceString);
4035*/
4036#define NdisAnsiStringToUnicodeString(_us, _as) RtlAnsiStringToUnicodeString(_us, _as, FALSE)
4037
4038/*
4039 * BOOLEAN
4040 * NdisEqualString(
4041 * IN PNDIS_STRING String1,
4042 * IN PNDIS_STRING String2,
4043 * IN BOOLEAN CaseInsensitive);
4044 */
4045#define NdisEqualString RtlEqualString
4046
4047#define NdisEqualUnicodeString RtlEqualUnicodeString
4048
4049/*
4050NDISAPI
4051VOID
4052NTAPI
4053NdisInitAnsiString(
4054 IN OUT PNDIS_ANSI_STRING DestinationString,
4055 IN PCSTR SourceString);
4056*/
4057#define NdisInitAnsiString RtlInitString
4058
4059NDISAPI
4060VOID
4061NTAPI
4065
4066/*
4067NDISAPI
4068NDIS_STATUS
4069NTAPI
4070NdisUnicodeStringToAnsiString(
4071 IN OUT PNDIS_ANSI_STRING DestinationString,
4072 IN PNDIS_STRING SourceString);
4073*/
4074#define NdisUnicodeStringToAnsiString(_as, _us) RtlUnicodeStringToAnsiString(_as, _us, FALSE)
4075
4076#define NdisFreeString(_s) NdisFreeMemory((_s).Buffer, (_s).MaximumLength, 0)
4077#define NdisPrintString(_s) DbgPrint("%ls", (_s).Buffer)
4078
4079/* Spin lock reoutines */
4080
4081/*
4082NDISAPI
4083VOID
4084NTAPI
4085NdisAllocateSpinLock(
4086 IN PNDIS_SPIN_LOCK SpinLock);
4087*/
4088#define NdisAllocateSpinLock(_SpinLock) KeInitializeSpinLock(&(_SpinLock)->SpinLock)
4089
4090/*
4091NDISAPI
4092VOID
4093NTAPI
4094NdisFreeSpinLock(
4095 IN PNDIS_SPIN_LOCK SpinLock);
4096*/
4097#define NdisFreeSpinLock(_SpinLock)
4098
4099/*
4100NDISAPI
4101VOID
4102NTAPI
4103NdisAcquireSpinLock(
4104 IN PNDIS_SPIN_LOCK SpinLock);
4105*/
4106#define NdisAcquireSpinLock(_SpinLock) KeAcquireSpinLock(&(_SpinLock)->SpinLock, &(_SpinLock)->OldIrql)
4107
4108/*
4109NDISAPI
4110VOID
4111NTAPI
4112NdisReleaseSpinLock(
4113 IN PNDIS_SPIN_LOCK SpinLock);
4114*/
4115#define NdisReleaseSpinLock(_SpinLock) KeReleaseSpinLock(&(_SpinLock)->SpinLock,(_SpinLock)->OldIrql)
4116
4117/*
4118NDISAPI
4119VOID
4120NTAPI
4121NdisDprAcquireSpinLock(
4122 IN PNDIS_SPIN_LOCK SpinLock);
4123*/
4124#define NdisDprAcquireSpinLock(_SpinLock) KeAcquireSpinLockAtDpcLevel(&(_SpinLock)->SpinLock)
4125
4126/*
4127NDISAPI
4128VOID
4129NTAPI
4130NdisDprReleaseSpinLock(
4131 IN PNDIS_SPIN_LOCK SpinLock);
4132*/
4133#define NdisDprReleaseSpinLock(_SpinLock) KeReleaseSpinLockFromDpcLevel(&(_SpinLock)->SpinLock)
4134
4135/* I/O routines */
4136
4137/*
4138 * VOID
4139 * NdisRawReadPortBufferUchar(
4140 * IN ULONG Port,
4141 * OUT PUCHAR Buffer,
4142 * IN ULONG Length);
4143 */
4144#define NdisRawReadPortBufferUchar(Port, Buffer, Length) \
4145 READ_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
4146
4147/*
4148 * VOID
4149 * NdisRawReadPortBufferUlong(
4150 * IN ULONG Port,
4151 * OUT PULONG Buffer,
4152 * IN ULONG Length);
4153 */
4154#define NdisRawReadPortBufferUlong(Port, Buffer, Length) \
4155 READ_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
4156
4157/*
4158 * VOID
4159 * NdisRawReadPortBufferUshort(
4160 * IN ULONG Port,
4161 * OUT PUSHORT Buffer,
4162 * IN ULONG Length);
4163 */
4164#define NdisRawReadPortBufferUshort(Port, Buffer, Length) \
4165 READ_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
4166
4167/*
4168 * VOID
4169 * NdisRawReadPortUchar(
4170 * IN ULONG Port,
4171 * OUT PUCHAR Data);
4172 */
4173#define NdisRawReadPortUchar(Port, Data) \
4174 *(Data) = READ_PORT_UCHAR((PUCHAR)(Port))
4175
4176/*
4177 * VOID
4178 * NdisRawReadPortUlong(
4179 * IN ULONG Port,
4180 * OUT PULONG Data);
4181 */
4182#define NdisRawReadPortUlong(Port, Data) \
4183 *(Data) = READ_PORT_ULONG((PULONG)(Port))
4184
4185/*
4186 * VOID
4187 * NdisRawReadPortUshort(
4188 * IN ULONG Port,
4189 * OUT PUSHORT Data);
4190 */
4191#define NdisRawReadPortUshort(Port, Data) \
4192 *(Data) = READ_PORT_USHORT((PUSHORT)(Port))
4193
4194/*
4195 * VOID
4196 * NdisRawWritePortBufferUchar(
4197 * IN ULONG Port,
4198 * IN PUCHAR Buffer,
4199 * IN ULONG Length);
4200 */
4201#define NdisRawWritePortBufferUchar(Port, Buffer, Length) \
4202 WRITE_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
4203
4204/*
4205 * VOID
4206 * NdisRawWritePortBufferUlong(
4207 * IN ULONG Port,
4208 * IN PULONG Buffer,
4209 * IN ULONG Length);
4210 */
4211#define NdisRawWritePortBufferUlong(Port, Buffer, Length) \
4212 WRITE_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
4213
4214/*
4215 * VOID
4216 * NdisRawWritePortBufferUshort(
4217 * IN ULONG Port,
4218 * IN PUSHORT Buffer,
4219 * IN ULONG Length);
4220 */
4221#define NdisRawWritePortBufferUshort(Port, Buffer, Length) \
4222 WRITE_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
4223
4224/*
4225 * VOID
4226 * NdisRawWritePortUchar(
4227 * IN ULONG Port,
4228 * IN UCHAR Data);
4229 */
4230#define NdisRawWritePortUchar(Port, Data) \
4231 WRITE_PORT_UCHAR((PUCHAR)(Port), (UCHAR)(Data))
4232
4233/*
4234 * VOID
4235 * NdisRawWritePortUlong(
4236 * IN ULONG Port,
4237 * IN ULONG Data);
4238 */
4239#define NdisRawWritePortUlong(Port, Data) \
4240 WRITE_PORT_ULONG((PULONG)(Port), (ULONG)(Data))
4241
4242/*
4243 * VOID
4244 * NdisRawWritePortUshort(
4245 * IN ULONG Port,
4246 * IN USHORT Data);
4247 */
4248#define NdisRawWritePortUshort(Port, Data) \
4249 WRITE_PORT_USHORT((PUSHORT)(Port), (USHORT)(Data))
4250
4251
4252/*
4253 * VOID
4254 * NdisReadRegisterUchar(
4255 * IN PUCHAR Register,
4256 * OUT PUCHAR Data);
4257 */
4258#define NdisReadRegisterUchar(Register, Data) \
4259 *(Data) = *((volatile UCHAR * const) (Register))
4260
4261/*
4262 * VOID
4263 * NdisReadRegisterUlong(
4264 * IN PULONG Register,
4265 * OUT PULONG Data);
4266 */
4267#define NdisReadRegisterUlong(Register, Data) \
4268 *(Data) = *((volatile ULONG * const) (Register))
4269
4270/*
4271 * VOID
4272 * NdisReadRegisterUshort(
4273 * IN PUSHORT Register,
4274 * OUT PUSHORT Data);
4275 */
4276#define NdisReadRegisterUshort(Register, Data) \
4277 *(Data) = *((volatile USHORT * const) (Register))
4278
4279/*
4280 * VOID
4281 * NdisReadRegisterUchar(
4282 * IN PUCHAR Register,
4283 * IN UCHAR Data);
4284 */
4285#define NdisWriteRegisterUchar(Register, Data) \
4286 WRITE_REGISTER_UCHAR((Register), (Data))
4287
4288/*
4289 * VOID
4290 * NdisReadRegisterUlong(
4291 * IN PULONG Register,
4292 * IN ULONG Data);
4293 */
4294#define NdisWriteRegisterUlong(Register, Data) \
4295 WRITE_REGISTER_ULONG((Register), (Data))
4296
4297/*
4298 * VOID
4299 * NdisReadRegisterUshort(
4300 * IN PUSHORT Register,
4301 * IN USHORT Data);
4302 */
4303#define NdisWriteRegisterUshort(Register, Data) \
4304 WRITE_REGISTER_USHORT((Register), (Data))
4305
4306
4307/* Linked lists */
4308
4309/*
4310 * VOID
4311 * NdisInitializeListHead(
4312 * IN PLIST_ENTRY ListHead);
4313 */
4314#define NdisInitializeListHead InitializeListHead
4315
4316/*
4317 * PLIST_ENTRY
4318 * NdisInterlockedInsertHeadList(
4319 * IN PLIST_ENTRY ListHead,
4320 * IN PLIST_ENTRY ListEntry,
4321 * IN PNDIS_SPIN_LOCK SpinLock);
4322 */
4323#define NdisInterlockedInsertHeadList(_ListHead, _ListEntry, _SpinLock) \
4324 ExInterlockedInsertHeadList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
4325
4326/*
4327 * PLIST_ENTRY
4328 * NdisInterlockedInsertTailList(
4329 * IN PLIST_ENTRY ListHead,
4330 * IN PLIST_ENTRY ListEntry,
4331 * IN PNDIS_SPIN_LOCK SpinLock);
4332 */
4333#define NdisInterlockedInsertTailList(_ListHead, _ListEntry, _SpinLock) \
4334 ExInterlockedInsertTailList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
4335
4336/*
4337 * PLIST_ENTRY
4338 * NdisInterlockedRemoveHeadList(
4339 * IN PLIST_ENTRY ListHead,
4340 * IN PNDIS_SPIN_LOCK SpinLock);
4341*/
4342#define NdisInterlockedRemoveHeadList(_ListHead, _SpinLock) \
4343 ExInterlockedRemoveHeadList(_ListHead, &(_SpinLock)->SpinLock)
4344
4345/*
4346 * VOID
4347 * NdisInitializeSListHead(
4348 * IN PSLIST_HEADER SListHead);
4349 */
4350#define NdisInitializeSListHead(SListHead) ExInitializeSListHead(SListHead)
4351
4352/*
4353 * USHORT NdisQueryDepthSList(
4354 * IN PSLIST_HEADER SListHead);
4355 */
4356#define NdisQueryDepthSList(SListHead) ExQueryDepthSList(SListHead)
4357
4358#define NdisInterlockedPushEntryList(ListHead, ListEntry, Lock) \
4359 ExInterlockedPushEntryList(ListHead, ListEntry, &(Lock)->SpinLock)
4360
4361#define NdisInterlockedPopEntryList(ListHead, Lock) \
4362 ExInterlockedPopEntryList(ListHead, &(Lock)->SpinLock)
4363
4364/* Non-paged lookaside lists */
4365
4366#define NdisInitializeNPagedLookasideList(_L, _AR, _FR, _Fl, _S, _T, _D) \
4367 ExInitializeNPagedLookasideList(_L, _AR, _FR, _Fl, _S, _T, _D)
4368#define NdisDeleteNPagedLookasideList(_L) ExDeleteNPagedLookasideList(_L)
4369#define NdisAllocateFromNPagedLookasideList(_L) ExAllocateFromNPagedLookasideList(_L)
4370#define NdisFreeToNPagedLookasideList(_L, _E) ExFreeToNPagedLookasideList(_L, _E)
4371
4372/* Interlocked routines */
4373
4374/*
4375 * LONG
4376 * NdisInterlockedDecrement(
4377 * IN PLONG Addend);
4378 */
4379#define NdisInterlockedDecrement(Addend) InterlockedDecrement(Addend)
4380
4381/*
4382 * LONG
4383 * NdisInterlockedIncrement(
4384 * IN PLONG Addend);
4385 */
4386#define NdisInterlockedIncrement(Addend) InterlockedIncrement(Addend)
4387
4388/*
4389 * VOID
4390 * NdisInterlockedAddUlong(
4391 * IN PULONG Addend,
4392 * IN ULONG Increment,
4393 * IN PNDIS_SPIN_LOCK SpinLock);
4394 */
4395#define NdisInterlockedAddUlong(_Addend, _Increment, _SpinLock) \
4396 ExInterlockedAddUlong(_Addend, _Increment, &(_SpinLock)->SpinLock)
4397
4398/* Miscellaneous routines */
4399
4401NDISAPI
4402VOID
4403NTAPI
4406
4408_Success_(*Status >= 0)
4409NDISAPI
4410VOID
4411NTAPI
4418
4420_Success_(*Status >= 0)
4421NDISAPI
4422VOID
4423NTAPI
4429
4431NDISAPI
4432VOID
4433__cdecl
4435 _In_ NDIS_HANDLE NdisAdapterHandle,
4438 ...);
4439
4441NDISAPI
4442VOID
4443NTAPI
4447
4448/*
4449 * VOID
4450 * NdisStallExecution(
4451 * IN UINT MicrosecondsToStall)
4452 */
4453#define NdisStallExecution KeStallExecutionProcessor
4454
4455/*
4456NDISAPI
4457VOID
4458NTAPI
4459NdisGetCurrentSystemTime(
4460 IN PLARGE_INTEGER pSystemTime);
4461*/
4462#define NdisGetCurrentSystemTime KeQuerySystemTime
4463
4464#if NDIS_SUPPORT_60_COMPATIBLE_API
4466NDISAPI
4467CCHAR
4468NTAPI
4470#endif
4471
4472NDISAPI
4473VOID
4474NTAPI
4476 OUT PULONG pCpuUsage);
4477
4478/* NDIS helper macros */
4479
4480/*
4481 * VOID
4482 * NDIS_INIT_FUNCTION(FunctionName)
4483 */
4484#define NDIS_INIT_FUNCTION(FunctionName) \
4485 alloc_text(INIT, FunctionName)
4486
4487/*
4488 * VOID
4489 * NDIS_PAGABLE_FUNCTION(FunctionName)
4490 */
4491#define NDIS_PAGEABLE_FUNCTION(FunctionName) \
4492 alloc_text(PAGE, FunctionName)
4493
4494#define NDIS_PAGABLE_FUNCTION NDIS_PAGEABLE_FUNCTION
4495
4496
4497/* NDIS 4.0 extensions */
4498
4500NDISAPI
4501VOID
4502NTAPI
4509
4510NDISAPI
4511VOID
4512NTAPI
4516 IN NDIS_HANDLE NdisLinkContext,
4517 IN PUCHAR PacketBuffer,
4519
4520NDISAPI
4521VOID
4522NTAPI
4525 IN NDIS_HANDLE NdisLinkContext);
4526
4527NDISAPI
4528VOID
4529NTAPI
4534
4535NDISAPI
4537NTAPI
4539 IN NDIS_HANDLE NdisMacHandle,
4540 IN NDIS_HANDLE NdisWrapperHandle,
4543 OUT PNDIS_RESOURCE_LIST *AssignedResources);
4544
4545
4546/* NDIS 5.0 extensions */
4547
4549NDISAPI
4551NTAPI
4557
4559NDISAPI
4560VOID
4561NTAPI
4563 _Out_ PULONG pIdleCount,
4566
4567#if NDIS_LEGACY_DRIVER
4568NDISAPI
4569VOID
4570NTAPI
4572 OUT PULONG pSystemUpTime);
4573#endif
4574
4575#if NDIS_SUPPORT_60_COMPATIBLE_API
4576
4581NDISAPI
4582VOID
4583NTAPI
4588
4590NDISAPI
4591VOID
4592NTAPI
4595
4599NDISAPI
4600VOID
4601NTAPI
4605
4606#if NDIS_SUPPORT_NDIS6
4607
4608NDISAPI
4609VOID
4610NTAPI
4611NdisDprAcquireReadWriteLock(
4615
4616NDISAPI
4617VOID
4618NTAPI
4619NdisDprReleaseReadWriteLock(
4622
4623#endif /* NDIS_SUPPORT_NDIS6 */
4624
4625#endif /* NDIS_SUPPORT_60_COMPATIBLE_API */
4626
4628NDISAPI
4630NTAPI
4633
4635NDISAPI
4636VOID
4637NTAPI
4645
4647NDISAPI
4649NTAPI
4654
4656NDISAPI
4658NTAPI
4661
4663NDISAPI
4665NTAPI
4667 _Out_ PNDIS_STRING AdapterInstanceName,
4669
4671NDISAPI
4673NTAPI
4675 _In_ NDIS_HANDLE NdisWrapperHandle,
4681
4683NDISAPI
4684VOID
4685NTAPI
4687 _In_ NDIS_HANDLE NdisWrapperHandle,
4689
4691NDISAPI
4693NTAPI
4696
4698NDISAPI
4700NTAPI
4704
4706_Success_(*Status >= 0)
4707NDISAPI
4708VOID
4709NTAPI
4716
4718_Success_(*Status >= 0)
4719NDISAPI
4720VOID
4721NTAPI
4727
4730NDISAPI
4732NTAPI
4734 _Out_ PNDIS_STRING AdapterInstanceName,
4736
4738NDISAPI
4740NTAPI
4742 _Out_ PNDIS_STRING pAdapterInstanceName,
4743 _In_ NDIS_HANDLE BindingContext);
4744
4746NDISAPI
4748NTAPI
4757
4758/* Connectionless services */
4759
4762NDISAPI
4764NTAPI
4770
4773NDISAPI
4775NTAPI
4778
4781NDISAPI
4783NTAPI
4789
4792NDISAPI
4794NTAPI
4797
4800NDISAPI
4802NTAPI
4807
4809NDISAPI
4810VOID
4811NTAPI
4816
4819NDISAPI
4821NTAPI
4827
4830NDISAPI
4832NTAPI
4836
4839NDISAPI
4841NTAPI
4849
4852NDISAPI
4854NTAPI
4860
4861
4862/* Call Manager services */
4863
4866NDISAPI
4868NTAPI
4872
4874NDISAPI
4875VOID
4876NTAPI
4882
4884NDISAPI
4885VOID
4886NTAPI
4890
4892NDISAPI
4893VOID
4894NTAPI
4899
4902NDISAPI
4904NTAPI
4907
4909NDISAPI
4910VOID
4911NTAPI
4915
4917NDISAPI
4918VOID
4919NTAPI
4922
4925NDISAPI
4927NTAPI
4932
4934NDISAPI
4935VOID
4936NTAPI
4940
4942NDISAPI
4943VOID
4944NTAPI
4946 _In_ NDIS_STATUS CloseStatus,
4949 _In_ UINT Size);
4950
4952NDISAPI
4953VOID
4954NTAPI
4956 _In_ NDIS_STATUS DropStatus,
4959 _In_ UINT Size);
4960
4962NDISAPI
4963VOID
4964NTAPI
4968
4970NDISAPI
4971VOID
4972NTAPI
4979
4981NDISAPI
4982VOID
4983NTAPI
4988
4990NDISAPI
4991VOID
4992NTAPI
4997
5000NDISAPI
5002NTAPI
5008
5010NDISAPI
5011VOID
5012NTAPI
5017
5019NDISAPI
5021NTAPI
5025
5027NDISAPI
5029NTAPI
5035
5037NDISAPI
5039NTAPI
5042
5044NDISAPI
5046NTAPI
5049
5050NDISAPI
5052NTAPI
5058
5060NDISAPI
5062NTAPI
5068
5069
5070/* Connection-oriented services */
5071
5074NDISAPI
5076NTAPI
5082
5085NDISAPI
5087NTAPI
5090
5093NDISAPI
5095NTAPI
5102
5104NDISAPI
5105VOID
5106NTAPI
5113
5115NDISAPI
5116VOID
5117NTAPI
5122
5124NDISAPI
5125VOID
5126NTAPI
5131
5133NDISAPI
5134VOID
5135NTAPI
5139
5141NDISAPI
5142VOID
5143NTAPI
5148
5150NDISAPI
5151VOID
5152NTAPI
5159
5161NDISAPI
5162VOID
5163NTAPI
5166
5168NDISAPI
5169VOID
5170NTAPI
5175
5177NDISAPI
5178VOID
5179NTAPI
5184
5185
5186/* NDIS 5.0 extensions for intermediate drivers */
5187
5189NDISAPI
5190VOID
5191NTAPI
5195
5197NDISAPI
5199NTAPI
5203
5204NDISAPI
5205VOID
5206NTAPI
5208 IN PNDIS_PACKET DstPacket,
5209 IN PNDIS_PACKET SrcPacket);
5210
5211NDISAPI
5212VOID
5213NTAPI
5215 IN PNDIS_PACKET DstPacket,
5216 IN PNDIS_PACKET SrcPacket);
5217
5219NDISAPI
5220VOID
5221NTAPI
5224
5226NDISAPI
5228NTAPI
5231
5233NDISAPI
5235NTAPI
5238
5240NDISAPI
5242NTAPI
5247
5248/*
5249NDISAPI
5250PSINGLE_LIST_ENTRY
5251NTAPI
5252NdisInterlockedPopEntrySList(
5253 IN PSLIST_HEADER ListHead,
5254 IN PKSPIN_LOCK Lock);
5255*/
5256#define NdisInterlockedPopEntrySList(SListHead, Lock) \
5257 ExInterlockedPopEntrySList(SListHead, &(Lock)->SpinLock)
5258
5259/*
5260NDISAPI
5261PSINGLE_LIST_ENTRY
5262NTAPI
5263NdisInterlockedPushEntrySList(
5264 IN PSLIST_HEADER ListHead,
5265 IN PSINGLE_LIST_ENTRY ListEntry,
5266 IN PKSPIN_LOCK Lock);
5267*/
5268#define NdisInterlockedPushEntrySList(SListHead, SListEntry, Lock) \
5269 ExInterlockedPushEntrySList(SListHead, SListEntry, &(Lock)->SpinLock)
5270
5271#define NdisInterlockedFlushSList(SListHead) ExInterlockedFlushSList(SListHead)
5272
5273/*
5274NDISAPI
5275VOID
5276NTAPI
5277NdisQueryBufferSafe(
5278 IN PNDIS_BUFFER Buffer,
5279 OUT PVOID *VirtualAddress OPTIONAL,
5280 OUT PUINT Length,
5281 IN UINT Priority);
5282*/
5283#define NdisQueryBufferSafe(_Buffer, _VirtualAddress, _Length, _Priority) { \
5284 if (ARGUMENT_PRESENT(_VirtualAddress)) { \
5285 *(PVOID *)(_VirtualAddress) = MmGetSystemAddressForMdlSafe(_Buffer, _Priority); \
5286 } \
5287 *(_Length) = MmGetMdlByteCount(_Buffer); \
5288}
5289
5290/* Routines for NDIS miniport drivers */
5291
5292#if NDIS_SUPPORT_NDIS6
5293
5294NDISAPI
5295PNDIS_GENERIC_OBJECT
5296NTAPI
5299 ULONG Tag,
5300 USHORT Size);
5301
5302NDISAPI
5303VOID
5304NTAPI
5306 IN PNDIS_GENERIC_OBJECT NdisObject);
5307
5308#endif /* NDIS_SUPPORT_NDIS6 */
5309
5310NDISAPI
5311VOID
5312NTAPI
5314 OUT PNDIS_HANDLE NdisWrapperHandle,
5315 IN PVOID SystemSpecific1,
5318
5321__drv_preferredFunction("NdisMInitializeScatterGatherDma", "See details in NdisMAllocateMapRegisters documentation")
5322NDISAPI
5324NTAPI
5327 _In_ UINT DmaChannel,
5328 _In_ NDIS_DMA_SIZE DmaSize,
5329 _In_ ULONG PhysicalMapRegistersNeeded,
5331
5332/*
5333 * VOID
5334 * NdisMArcIndicateReceive(
5335 * IN NDIS_HANDLE MiniportAdapterHandle,
5336 * IN PUCHAR HeaderBuffer,
5337 * IN PUCHAR DataBuffer,
5338 * IN UINT Length);
5339 */
5340#define NdisMArcIndicateReceive(MiniportAdapterHandle, \
5341 HeaderBuffer, \
5342 DataBuffer, \
5343 Length) \
5344{ \
5345 ArcFilterDprIndicateReceive( \
5346 (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ArcDB), \
5347 (HeaderBuffer), \
5348 (DataBuffer), \
5349 (Length)); \
5350}
5351
5352/*
5353 * VOID
5354 * NdisMArcIndicateReceiveComplete(
5355 * IN NDIS_HANDLE MiniportAdapterHandle);
5356 */
5357#define NdisMArcIndicateReceiveComplete(MiniportAdapterHandle) \
5358{ \
5359 if (((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->EthDB) \
5360 { \
5361 NdisMEthIndicateReceiveComplete(_H); \
5362 } \
5363 \
5364 ArcFilterDprIndicateReceiveComplete( \
5365 ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->ArcDB); \
5366}
5367
5369NDISAPI
5370VOID
5371NTAPI
5374
5376NDISAPI
5378NTAPI
5381 _In_ UINT Size,
5383
5384NDISAPI
5385VOID
5386NTAPI
5388 _In_ NDIS_HANDLE MiniportHandle);
5389
5390#if NDIS_LEGACY_MINIPORT
5391
5393NDISAPI
5394VOID
5395NTAPI
5398
5400NDISAPI
5401VOID
5402NTAPI
5404 _In_ NDIS_HANDLE MiniportHandle,
5405 _In_ PVOID ShutdownContext,
5407
5408NDISAPI
5410NTAPI
5414 IN UINT InterruptVector,
5415 IN UINT InterruptLevel,
5416 IN BOOLEAN RequestIsr,
5417 IN BOOLEAN SharedInterrupt,
5419
5420NDISAPI
5422NTAPI
5424 IN NDIS_HANDLE NdisWrapperHandle,
5425 IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
5427
5428NDISAPI
5429BOOLEAN
5430NTAPI
5433 IN PVOID SynchronizeFunction,
5435#endif /* NDIS_LEGACY_MINIPORT */
5436
5438NDISAPI
5439VOID
5440NTAPI
5446
5447/*
5448 * VOID
5449 * NdisMEthIndicateReceive(
5450 * IN NDIS_HANDLE MiniportAdapterHandle,
5451 * IN NDIS_HANDLE MiniportReceiveContext,
5452 * IN PVOID HeaderBuffer,
5453 * IN UINT HeaderBufferSize,
5454 * IN PVOID LookaheadBuffer,
5455 * IN UINT LookaheadBufferSize,
5456 * IN UINT PacketSize);
5457 */
5458#define NdisMEthIndicateReceive(MiniportAdapterHandle, \
5459 MiniportReceiveContext, \
5460 HeaderBuffer, \
5461 HeaderBufferSize, \
5462 LookaheadBuffer, \
5463 LookaheadBufferSize, \
5464 PacketSize) \
5465{ \
5466 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxIndicateHandler)( \
5467 ((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthDB, \
5468 (MiniportReceiveContext), \
5469 (HeaderBuffer), \
5470 (HeaderBuffer), \
5471 (HeaderBufferSize), \
5472 (LookaheadBuffer), \
5473 (LookaheadBufferSize), \
5474 (PacketSize)); \
5475}
5476
5477/*
5478 * VOID
5479 * NdisMEthIndicateReceiveComplete(
5480 * IN NDIS_HANDLE MiniportAdapterHandle);
5481 */
5482#define NdisMEthIndicateReceiveComplete(MiniportAdapterHandle) \
5483{ \
5484 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxCompleteHandler)( \
5485 ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->EthDB); \
5486}
5487
5488/*
5489 * VOID
5490 * NdisMFddiIndicateReceive(
5491 * IN NDIS_HANDLE MiniportAdapterHandle,
5492 * IN NDIS_HANDLE MiniportReceiveContext,
5493 * IN PVOID HeaderBuffer,
5494 * IN UINT HeaderBufferSize,
5495 * IN PVOID LookaheadBuffer,
5496 * IN UINT LookaheadBufferSize,
5497 * IN UINT PacketSize);
5498 */
5499#define NdisMFddiIndicateReceive(MiniportAdapterHandle, \
5500 MiniportReceiveContext, \
5501 HeaderBuffer, \
5502 HeaderBufferSize, \
5503 LookaheadBuffer, \
5504 LookaheadBufferSize, \
5505 PacketSize) \
5506{ \
5507 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxIndicateHandler)( \
5508 (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiDB), \
5509 (MiniportReceiveContext), \
5510 (PUCHAR)(HeaderBuffer) + 1, \
5511 (((*(PUCHAR*)(HeaderBuffer)) & 0x40) ? \
5512 FDDI_LENGTH_OF_LONG_ADDRESS : \
5513 FDDI_LENGTH_OF_SHORT_ADDRESS), \
5514 (HeaderBuffer), \
5515 (HeaderBufferSize), \
5516 (LookaheadBuffer), \
5517 (LookaheadBufferSize), \
5518 (PacketSize)); \
5519}
5520
5521
5522
5523/*
5524 * VOID
5525 * NdisMFddiIndicateReceiveComplete(
5526 * IN NDIS_HANDLE MiniportAdapterHandle);
5527 */
5528#define NdisMFddiIndicateReceiveComplete(MiniportAdapterHandle) \
5529{ \
5530 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxCompleteHandler)( \
5531 ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FddiDB); \
5532}
5533
5535NDISAPI
5536VOID
5537NTAPI
5540
5542NDISAPI
5543VOID
5544NTAPI
5547
5548/*
5549 * VOID
5550 * EXPORT
5551 * NdisMIndicateReceivePacket(
5552 * IN NDIS_HANDLE MiniportAdapterHandle,
5553 * IN PPNDIS_PACKET ReceivePackets,
5554 * IN UINT NumberOfPackets);
5555 */
5556#define NdisMIndicateReceivePacket(MiniportAdapterHandle, \
5557 ReceivePackets, NumberOfPackets) \
5558 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->PacketIndicateHandler)( \
5559 MiniportAdapterHandle, ReceivePackets, NumberOfPackets)
5560
5561/*
5562 * VOID
5563 * NdisMIndicateStatus(
5564 * IN NDIS_HANDLE MiniportAdapterHandle,
5565 * IN NDIS_STATUS GeneralStatus,
5566 * IN PVOID StatusBuffer,
5567 * IN UINT StatusBufferSize);
5568 */
5569
5570#define NdisMIndicateStatus(MiniportAdapterHandle, \
5571 GeneralStatus, StatusBuffer, StatusBufferSize) \
5572 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->StatusHandler)( \
5573 MiniportAdapterHandle, GeneralStatus, StatusBuffer, StatusBufferSize)
5574
5575/*
5576 * VOID
5577 * NdisMIndicateStatusComplete(
5578 * IN NDIS_HANDLE MiniportAdapterHandle);
5579 */
5580#define NdisMIndicateStatusComplete(MiniportAdapterHandle) \
5581 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->StatusCompleteHandler)( \
5582 MiniportAdapterHandle)
5583
5584/*
5585 * VOID
5586 * NdisMInitializeWrapper(
5587 * OUT PNDIS_HANDLE NdisWrapperHandle,
5588 * IN PVOID SystemSpecific1,
5589 * IN PVOID SystemSpecific2,
5590 * IN PVOID SystemSpecific3);
5591 */
5592#define NdisMInitializeWrapper(NdisWrapperHandle, \
5593 SystemSpecific1, \
5594 SystemSpecific2, \
5595 SystemSpecific3) \
5596 NdisInitializeWrapper((NdisWrapperHandle), \
5597 (SystemSpecific1), \
5598 (SystemSpecific2), \
5599 (SystemSpecific3))
5600
5603NDISAPI
5605NTAPI
5610 _In_ UINT Length);
5611
5612/*
5613 * VOID
5614 * NdisMQueryInformationComplete(
5615 * IN NDIS_HANDLE MiniportAdapterHandle,
5616 * IN NDIS_STATUS Status);
5617 */
5618#define NdisMQueryInformationComplete(MiniportAdapterHandle, Status) \
5619 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->QueryCompleteHandler)(MiniportAdapterHandle, Status)
5620
5623NDISAPI
5625NTAPI
5631
5632NDISAPI
5633VOID
5634NTAPI
5638
5640NDISAPI
5641VOID
5642NTAPI
5648
5650NDISAPI
5651VOID
5652NTAPI
5656
5658NDISAPI
5659VOID
5660NTAPI
5664
5665#if !defined(NDIS_WRAPPER)
5666
5667/*
5668 * VOID
5669 * NdisMResetComplete(
5670 * IN NDIS_HANDLE MiniportAdapterHandle,
5671 * IN NDIS_STATUS Status,
5672 * IN BOOLEAN AddressingReset);
5673 */
5674#define NdisMResetComplete(MiniportAdapterHandle, \
5675 Status, \
5676 AddressingReset) \
5677{ \
5678 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ResetCompleteHandler)( \
5679 MiniportAdapterHandle, Status, AddressingReset); \
5680}
5681
5682/*
5683 * VOID
5684 * NdisMSendComplete(
5685 * IN NDIS_HANDLE MiniportAdapterHandle,
5686 * IN PNDIS_PACKET Packet,
5687 * IN NDIS_STATUS Status);
5688 */
5689#define NdisMSendComplete(MiniportAdapterHandle, \
5690 Packet, \
5691 Status) \
5692{ \
5693 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendCompleteHandler)( \
5694 MiniportAdapterHandle, Packet, Status); \
5695}
5696
5697/*
5698 * VOID
5699 * NdisMSendResourcesAvailable(
5700 * IN NDIS_HANDLE MiniportAdapterHandle);
5701 */
5702#define NdisMSendResourcesAvailable(MiniportAdapterHandle) \
5703{ \
5704 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendResourcesHandler)( \
5705 MiniportAdapterHandle); \
5706}
5707
5708/*
5709 * VOID
5710 * NdisMTransferDataComplete(
5711 * IN NDIS_HANDLE MiniportAdapterHandle,
5712 * IN PNDIS_PACKET Packet,
5713 * IN NDIS_STATUS Status,
5714 * IN UINT BytesTransferred);
5715 */
5716#define NdisMTransferDataComplete(MiniportAdapterHandle, \
5717 Packet, \
5718 Status, \
5719 BytesTransferred) \
5720{ \
5721 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TDCompleteHandler)( \
5722 MiniportAdapterHandle, Packet, Status, BytesTransferred) \
5723}
5724
5725#endif /* !_NDIS_ */
5726
5727
5728/*
5729 * VOID
5730 * NdisMSetAttributes(
5731 * IN NDIS_HANDLE MiniportAdapterHandle,
5732 * IN NDIS_HANDLE MiniportAdapterContext,
5733 * IN BOOLEAN BusMaster,
5734 * IN NDIS_INTERFACE_TYPE AdapterType);
5735 */
5736#define NdisMSetAttributes(MiniportAdapterHandle, \
5737 MiniportAdapterContext, \
5738 BusMaster, \
5739 AdapterType) \
5740 NdisMSetAttributesEx(MiniportAdapterHandle, \
5741 MiniportAdapterContext, \
5742 0, \
5743 (BusMaster) ? NDIS_ATTRIBUTE_BUS_MASTER : 0, \
5744 AdapterType)
5745
5746NDISAPI
5747VOID
5748NTAPI
5751 IN NDIS_HANDLE MiniportAdapterContext,
5752 IN UINT CheckForHangTimeInSeconds OPTIONAL,
5753 IN ULONG AttributeFlags,
5755
5756/*
5757 * VOID
5758 * NdisMSetInformationComplete(
5759 * IN NDIS_HANDLE MiniportAdapterHandle,
5760 * IN NDIS_STATUS Status);
5761 */
5762#define NdisMSetInformationComplete(MiniportAdapterHandle, \
5763 Status) \
5764 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SetCompleteHandler)( \
5765 MiniportAdapterHandle, Status)
5766
5768NDISAPI
5769VOID
5770NTAPI
5772 _In_ ULONG MicrosecondsToSleep);
5773
5774/*
5775 * VOID
5776 * NdisMTrIndicateReceive(
5777 * IN NDIS_HANDLE MiniportAdapterHandle,
5778 * IN NDIS_HANDLE MiniportReceiveContext,
5779 * IN PVOID HeaderBuffer,
5780 * IN UINT HeaderBufferSize,
5781 * IN PVOID LookaheadBuffer,
5782 * IN UINT LookaheadBufferSize,
5783 * IN UINT PacketSize);
5784 */
5785#define NdisMTrIndicateReceive(MiniportAdapterHandle, \
5786 MiniportReceiveContext, \
5787 HeaderBuffer, \
5788 HeaderBufferSize, \
5789 LookaheadBuffer, \
5790 LookaheadBufferSize, \
5791 PacketSize) \
5792{ \
5793 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxIndicateHandler)( \
5794 (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrDB), \
5795 (MiniportReceiveContext), \
5796 (HeaderBuffer), \
5797 (HeaderBuffer), \
5798 (HeaderBufferSize), \
5799 (LookaheadBuffer), \
5800 (LookaheadBufferSize), \
5801 (PacketSize)); \
5802}
5803
5804/*
5805 * VOID
5806 * NdisMTrIndicateReceiveComplete(
5807 * IN NDIS_HANDLE MiniportAdapterHandle);
5808 */
5809#define NdisMTrIndicateReceiveComplete(MiniportAdapterHandle) \
5810{ \
5811 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxCompleteHandler)( \
5812 ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->TrDB); \
5813}
5814
5816NDISAPI
5818NTAPI
5823
5825NDISAPI
5826VOID
5827NTAPI
5833
5835NDISAPI
5836VOID
5837NTAPI
5839 _In_ NDIS_HANDLE NdisWrapperHandle,
5841
5843NDISAPI
5844VOID
5845NTAPI
5849 _In_ UINT Length);
5850
5851/* Event functions */
5852
5854NDISAPI
5855VOID
5856NTAPI
5859
5861NDISAPI
5862VOID
5863NTAPI
5866
5868NDISAPI
5869VOID
5870NTAPI
5873
5876NDISAPI
5877BOOLEAN
5878NTAPI
5882
5883/* NDIS intermediate miniport structures */
5884
5886 IN NDIS_HANDLE MiniportAdapterContext,
5888
5889/* Routines for intermediate miniport drivers */
5890
5892NDISAPI
5894NTAPI
5896 _In_ NDIS_HANDLE NdisMiniportHandle);
5897
5898/*
5899 * NDIS_STATUS
5900 * NdisIMInitializeDeviceInstance(
5901 * IN NDIS_HANDLE DriverHandle,
5902 * IN PNDIS_STRING DeviceInstance);
5903 */
5904#define NdisIMInitializeDeviceInstance(DriverHandle, DeviceInstance) \
5905 NdisIMInitializeDeviceInstanceEx(DriverHandle, DeviceInstance, NULL)
5906
5907/* Functions obsoleted by NDIS 5.0 */
5908
5909NDISAPI
5910VOID
5911NTAPI
5913 IN PNDIS_HANDLE NdisDmaHandle);
5914
5915NDISAPI
5916VOID
5917NTAPI
5920 IN PNDIS_HANDLE NdisDmaHandle,
5922 IN ULONG Offset,
5923 IN ULONG Length,
5925
5926/*
5927NDISAPI
5928NTSTATUS
5929NTAPI
5930NdisUpcaseUnicodeString(
5931 OUT PUNICODE_STRING DestinationString,
5932 IN PUNICODE_STRING SourceString);
5933*/
5934#define NdisUpcaseUnicodeString(_d, _s) RtlUpcaseUnicodeString(_d, _s, FALSE)
5935
5936
5937/* Routines for NDIS protocol drivers */
5938
5939#if NDIS_LEGACY_PROTOCOL
5940
5941NDISAPI
5943NTAPI
5945 _In_ NDIS_HANDLE NdisWrapperHandle,
5946 _In_ PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
5949
5950NDISAPI
5951VOID
5952NTAPI
5956 IN NDIS_HANDLE MacReceiveContext,
5958 IN UINT BytesToTransfer,
5961
5962NDISAPI
5963VOID
5964NTAPI
5965NdisSend(
5969
5970NDISAPI
5971VOID
5972NTAPI
5977
5979NDISAPI
5980VOID
5981NTAPI
5986
5988NDISAPI
5989VOID
5990NTAPI
5991NdisReset(
5994
5996NDISAPI
5997VOID
5998NTAPI
6002
6004NDISAPI
6005VOID
6006NTAPI
6019
6021NDISAPI
6022VOID
6023NTAPI
6027
6029NDISAPI
6030VOID
6031NTAPI
6033 _In_ NDIS_HANDLE BindAdapterContext,
6036
6038NDISAPI
6039VOID
6040NTAPI
6042 _In_ NDIS_HANDLE UnbindAdapterContext,
6044
6045NDISAPI
6046VOID
6047NTAPI
6051 _In_ RECEIVE_HANDLER ReceiveHandler,
6052 _In_ RECEIVE_PACKET_HANDLER ReceivePacketHandler,
6053 _In_ NDIS_MEDIUM Medium,
6055 _In_ UINT Size,
6056 _In_ PUCHAR Pattern);
6057
6059NDISAPI
6060VOID
6061NTAPI
6065
6067NDISAPI
6068VOID
6069NTAPI
6074
6076NDISAPI
6077VOID
6078NTAPI
6083
6084/*
6085 * VOID
6086 * NdisSetSendFlags(
6087 * IN PNDIS_PACKET Packet,
6088 * IN UINT Flags);
6089 */
6090#define NdisSetSendFlags(_Packet,_Flags)(_Packet)->Private.Flags = (_Flags)
6091
6092#define NdisQuerySendFlags(_Packet,_Flags) *(_Flags) = (_Packet)->Private.Flags
6093
6095NDISAPI
6096VOID
6097NTAPI
6099 _In_reads_(NumberOfPackets) PNDIS_PACKET *PacketsToReturn,
6101
6104NDISAPI
6106NTAPI
6110
6112NDISAPI
6113VOID
6114NTAPI
6118
6121NDISAPI
6123NTAPI
6127
6129NDISAPI
6130VOID
6131NTAPI
6137
6138#endif /* NDIS_LEGACY_PROTOCOL */
6139
6141NDISAPI
6142UCHAR
6143NTAPI
6145
6147NDISAPI
6148VOID
6149NTAPI
6152
6153NDISAPI
6154VOID
6155NTAPI
6157 _In_ TDI_REGISTER_CALLBACK RegisterCallback,
6158 _In_ TDI_PNP_HANDLER PnPHandler);
6159
6160NDISAPI
6161VOID
6162NTAPI
6164
6165/* Obsoleted in Windows XP */
6166
6167/* Prototypes for NDIS_MAC_CHARACTERISTICS */
6168
6171 OUT NDIS_HANDLE *MacBindingHandle,
6173 IN PNDIS_MEDIUM MediumArray,
6175 IN NDIS_HANDLE NdisBindingContext,
6176 IN NDIS_HANDLE MacAdapterContext,
6179
6181 IN NDIS_HANDLE MacBindingHandle);
6182
6184 VOID);
6185
6187 IN NDIS_HANDLE MacAdapterContext,
6189
6191 IN NDIS_HANDLE MacMacContext);
6192
6194 IN NDIS_HANDLE MacMacContext,
6197
6199 IN NDIS_HANDLE MacAdapterContext);
6200
6218
6221
6222#ifdef __cplusplus
6223}
6224#endif
6225
6226#endif /* _NDIS_ */
6227
6228/* EOF */
NDIS_STATUS EXPORT NdisMPromoteMiniport(IN NDIS_HANDLE MiniportAdapterHandle)
Definition: 50stubs.c:356
PVOID EXPORT NdisGetRoutineAddress(IN PUNICODE_STRING NdisRoutineName)
Definition: 50stubs.c:129
VOID EXPORT NdisSetPacketStatus(IN PNDIS_PACKET Packet, IN NDIS_STATUS Status, IN NDIS_HANDLE Handle, IN ULONG Code)
Definition: 50stubs.c:20
VOID EXPORT NdisSetPacketPoolProtocolId(IN NDIS_HANDLE PacketPoolHandle, IN UINT ProtocolId)
Definition: 50stubs.c:156
UINT EXPORT NdisPacketPoolUsage(IN NDIS_HANDLE PoolHandle)
Definition: 50stubs.c:497
NDIS_STATUS EXPORT NdisIMInitializeDeviceInstanceEx(IN NDIS_HANDLE DriverHandle, IN PNDIS_STRING DriverInstance, IN NDIS_HANDLE DeviceContext OPTIONAL)
Definition: 50stubs.c:475
NDIS_STATUS EXPORT NdisIMDeInitializeDeviceInstance(IN NDIS_HANDLE NdisMiniportHandle)
Definition: 50stubs.c:182
NDIS_STATUS EXPORT NdisMSetMiniportSecondary(IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_HANDLE PrimaryMiniportAdapterHandle)
Definition: 50stubs.c:396
NDIS_STATUS EXPORT NdisQueryPendingIOCount(IN PVOID NdisBindingHandle, OUT PULONG IoCount)
Definition: 50stubs.c:34
NDIS_STATUS EXPORT NdisIMCancelInitializeDeviceInstance(IN NDIS_HANDLE DriverHandle, IN PNDIS_STRING DeviceInstance)
Definition: 50stubs.c:436
PNDIS_PACKET EXPORT NdisGetReceivedPacket(IN PNDIS_HANDLE NdisBindingHandle, IN PNDIS_HANDLE MacContext)
Definition: 50stubs.c:335
NDIS_STATUS EXPORT NdisMRemoveMiniport(IN NDIS_HANDLE MiniportAdapterHandle)
Definition: 50stubs.c:376
PNDIS_PACKET_STACK EXPORT NdisIMGetCurrentPacketStack(IN PNDIS_PACKET Packet, OUT BOOLEAN *StacksRemaining)
Definition: 50stubs.c:62
VOID EXPORT NdisIMDeregisterLayeredMiniport(IN NDIS_HANDLE DriverHandle)
Definition: 50stubs.c:457
VOID EXPORT NdisIMAssociateMiniport(IN NDIS_HANDLE DriverHandle, IN NDIS_HANDLE ProtocolHandle)
Definition: 50stubs.c:417
static NDIS_HANDLE DriverHandle
unsigned char BOOLEAN
unsigned int UINT32
#define __MINGW_EXTENSION
Definition: _mingw.h:166
#define __cdecl
Definition: accygwin.h:79
#define VOID
Definition: acefi.h:82
#define __drv_aliasesMem
Definition: btrfs_drv.h:203
char * Pad(char *Str, char PadChar, ULONG Length)
Definition: cabman.cxx:29
_In_ PSCSI_REQUEST_BLOCK _In_opt_ PVOID _In_ ULONG _In_ BOOLEAN WriteToDevice
Definition: cdrom.h:992
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
NDIS_STATUS EXPORT NdisClOpenAddressFamily(IN NDIS_HANDLE NdisBindingHandle, IN PCO_ADDRESS_FAMILY AddressFamily, IN NDIS_HANDLE ProtocolAfContext, IN PNDIS_CLIENT_CHARACTERISTICS ClCharacteristics, IN UINT SizeOfClCharacteristics, OUT PNDIS_HANDLE NdisAfHandle)
Definition: cl.c:204
NDIS_STATUS EXPORT NdisClDropParty(IN NDIS_HANDLE NdisPartyHandle, IN PVOID Buffer OPTIONAL, IN UINT Size)
Definition: cl.c:118
NDIS_STATUS EXPORT NdisClCloseAddressFamily(IN NDIS_HANDLE NdisAfHandle)
Definition: cl.c:55
NDIS_STATUS EXPORT NdisClDeregisterSap(IN NDIS_HANDLE NdisSapHandle)
Definition: cl.c:98
NDIS_STATUS EXPORT NdisClMakeCall(IN NDIS_HANDLE NdisVcHandle, IN OUT PCO_CALL_PARAMETERS CallParameters, IN NDIS_HANDLE ProtocolPartyContext OPTIONAL, OUT PNDIS_HANDLE NdisPartyHandle OPTIONAL)
Definition: cl.c:160
NDIS_STATUS EXPORT NdisClCloseCall(IN NDIS_HANDLE NdisVcHandle, IN NDIS_HANDLE NdisPartyHandle OPTIONAL, IN PVOID Buffer OPTIONAL, IN UINT Size)
Definition: cl.c:75
NDIS_STATUS EXPORT NdisClRegisterSap(IN NDIS_HANDLE NdisAfHandle, IN NDIS_HANDLE ProtocolSapContext, IN PCO_SAP Sap, OUT PNDIS_HANDLE NdisSapHandle)
Definition: cl.c:229
VOID EXPORT NdisClIncomingCallComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisVcHandle, IN PCO_CALL_PARAMETERS CallParameters)
Definition: cl.c:140
NDIS_STATUS EXPORT NdisClAddParty(IN NDIS_HANDLE NdisVcHandle, IN NDIS_HANDLE ProtocolPartyContext, IN OUT PCO_CALL_PARAMETERS CallParameters, OUT PNDIS_HANDLE NdisPartyHandle)
Definition: cl.c:32
NDIS_STATUS EXPORT NdisClModifyCallQoS(IN NDIS_HANDLE NdisVcHandle, IN PCO_CALL_PARAMETERS CallParameters)
Definition: cl.c:183
Definition: bufpool.h:45
Definition: Header.h:9
VOID EXPORT NdisCmDispatchIncomingCloseCall(IN NDIS_STATUS CloseStatus, IN NDIS_HANDLE NdisVcHandle, IN PVOID Buffer OPTIONAL, IN UINT Size)
Definition: cm.c:197
VOID EXPORT NdisCmModifyCallQoSComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisVcHandle, IN PCO_CALL_PARAMETERS CallParameters)
Definition: cm.c:280
VOID EXPORT NdisCmMakeCallComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisVcHandle, IN NDIS_HANDLE NdisPartyHandle OPTIONAL, IN NDIS_HANDLE CallMgrPartyContext OPTIONAL, IN PCO_CALL_PARAMETERS CallParameters)
Definition: cm.c:258
NDIS_STATUS EXPORT NdisCmActivateVc(IN NDIS_HANDLE NdisVcHandle, IN OUT PCO_CALL_PARAMETERS CallParameters)
Definition: cm.c:18
NDIS_STATUS EXPORT NdisMCmDeleteVc(IN NDIS_HANDLE NdisVcHandle)
Definition: cm.c:427
VOID EXPORT NdisCmCloseAddressFamilyComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisAfHandle)
Definition: cm.c:60
NDIS_STATUS EXPORT NdisCmRegisterAddressFamily(IN NDIS_HANDLE NdisBindingHandle, IN PCO_ADDRESS_FAMILY AddressFamily, IN PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics, IN UINT SizeOfCmCharacteristics)
Definition: cm.c:320
VOID EXPORT NdisCmCloseCallComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisVcHandle, IN NDIS_HANDLE NdisPartyHandle OPTIONAL)
Definition: cm.c:79
VOID EXPORT NdisCmDropPartyComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisPartyHandle)
Definition: cm.c:239
NDIS_STATUS EXPORT NdisMCmRequest(IN NDIS_HANDLE NdisAfHandle, IN NDIS_HANDLE NdisVcHandle OPTIONAL, IN NDIS_HANDLE NdisPartyHandle OPTIONAL, IN OUT PNDIS_REQUEST NdisRequest)
Definition: cm.c:470
VOID EXPORT NdisCmDeregisterSapComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisSapHandle)
Definition: cm.c:119
VOID EXPORT NdisCmOpenAddressFamilyComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisAfHandle, IN NDIS_HANDLE CallMgrAfContext)
Definition: cm.c:300
VOID EXPORT NdisCmRegisterSapComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisSapHandle, IN NDIS_HANDLE CallMgrSapContext)
Definition: cm.c:343
NDIS_STATUS EXPORT NdisCmDispatchIncomingCall(IN NDIS_HANDLE NdisSapHandle, IN NDIS_HANDLE NdisVcHandle, IN PCO_CALL_PARAMETERS CallParameters)
Definition: cm.c:156
VOID EXPORT NdisCmDispatchCallConnected(IN NDIS_HANDLE NdisVcHandle)
Definition: cm.c:138
VOID EXPORT NdisCmDispatchIncomingCallQoSChange(IN NDIS_HANDLE NdisVcHandle, IN PCO_CALL_PARAMETERS CallParameters)
Definition: cm.c:178
VOID EXPORT NdisCmAddPartyComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisPartyHandle, IN NDIS_HANDLE CallMgrPartyContext OPTIONAL, IN PCO_CALL_PARAMETERS CallParameters)
Definition: cm.c:39
NDIS_STATUS EXPORT NdisMCmCreateVc(IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_HANDLE NdisAfHandle, IN NDIS_HANDLE MiniportVcContext, OUT PNDIS_HANDLE NdisVcHandle)
Definition: cm.c:384
NDIS_STATUS EXPORT NdisMCmDeactivateVc(IN NDIS_HANDLE NdisVcHandle)
Definition: cm.c:407
NDIS_STATUS EXPORT NdisCmDeactivateVc(IN NDIS_HANDLE NdisVcHandle)
Definition: cm.c:99
NDIS_STATUS EXPORT NdisMCmActivateVc(IN NDIS_HANDLE NdisVcHandle, IN PCO_CALL_PARAMETERS CallParameters)
Definition: cm.c:363
VOID EXPORT NdisCmDispatchIncomingDropParty(IN NDIS_STATUS DropStatus, IN NDIS_HANDLE NdisPartyHandle, IN PVOID Buffer OPTIONAL, IN UINT Size)
Definition: cm.c:218
VOID EXPORT NdisMCoActivateVcComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisVcHandle, IN PCO_CALL_PARAMETERS CallParameters)
Definition: co.c:158
VOID EXPORT NdisMCoSendComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisVcHandle, IN PNDIS_PACKET Packet)
Definition: co.c:277
NDIS_STATUS EXPORT NdisCoRequest(IN NDIS_HANDLE NdisBindingHandle, IN NDIS_HANDLE NdisAfHandle OPTIONAL, IN NDIS_HANDLE NdisVcHandle OPTIONAL, IN NDIS_HANDLE NdisPartyHandle OPTIONAL, IN OUT PNDIS_REQUEST NdisRequest)
Definition: co.c:92
VOID EXPORT NdisCoRequestComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisAfHandle, IN NDIS_HANDLE NdisVcHandle OPTIONAL, IN NDIS_HANDLE NdisPartyHandle OPTIONAL, IN PNDIS_REQUEST NdisRequest)
Definition: co.c:116
VOID EXPORT NdisMCoIndicateReceivePacket(IN NDIS_HANDLE NdisVcHandle, IN PPNDIS_PACKET PacketArray, IN UINT NumberOfPackets)
Definition: co.c:197
NDIS_STATUS EXPORT NdisCoCreateVc(IN NDIS_HANDLE NdisBindingHandle, IN NDIS_HANDLE NdisAfHandle OPTIONAL, IN NDIS_HANDLE ProtocolVcContext, IN OUT PNDIS_HANDLE NdisVcHandle)
Definition: co.c:49
VOID EXPORT NdisMCoReceiveComplete(IN NDIS_HANDLE MiniportAdapterHandle)
Definition: co.c:239
VOID EXPORT NdisMCoRequestComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE MiniportAdapterHandle, IN PNDIS_REQUEST Request)
Definition: co.c:257
NDIS_STATUS EXPORT NdisCoDeleteVc(IN NDIS_HANDLE NdisVcHandle)
Definition: co.c:72
VOID EXPORT NdisCoSendPackets(IN NDIS_HANDLE NdisVcHandle, IN PPNDIS_PACKET PacketArray, IN UINT NumberOfPackets)
Definition: co.c:138
VOID EXPORT NdisMCoIndicateStatus(IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_HANDLE NdisVcHandle OPTIONAL, IN NDIS_STATUS GeneralStatus, IN PVOID StatusBuffer OPTIONAL, IN ULONG StatusBufferSize)
Definition: co.c:217
VOID EXPORT NdisMCoDeactivateVcComplete(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisVcHandle)
Definition: co.c:178
#define _Requires_lock_held_(lock)
#define _Acquires_exclusive_lock_(lock)
#define _Acquires_shared_lock_(lock)
#define _Releases_lock_(lock)
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define NTSTATUS
Definition: precomp.h:21
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
VOID EXPORT NdisDprFreePacket(IN PNDIS_PACKET Packet)
Definition: buffer.c:736
VOID EXPORT NdisAllocateBuffer(OUT PNDIS_STATUS Status, OUT PNDIS_BUFFER *Buffer, IN NDIS_HANDLE PoolHandle, IN PVOID VirtualAddress, IN UINT Length)
Definition: buffer.c:336
VOID EXPORT NdisDprFreePacketNonInterlocked(IN PNDIS_PACKET Packet)
Definition: buffer.c:757
VOID EXPORT NdisFreePacket(IN PNDIS_PACKET Packet)
Definition: buffer.c:828
VOID EXPORT NdisAllocateBufferPool(OUT PNDIS_STATUS Status, OUT PNDIS_HANDLE PoolHandle, IN UINT NumberOfDescriptors)
Definition: buffer.c:372
VOID EXPORT NdisCopyFromPacketToPacket(IN PNDIS_PACKET Destination, IN UINT DestinationOffset, IN UINT BytesToCopy, IN PNDIS_PACKET Source, IN UINT SourceOffset, OUT PUINT BytesCopied)
Definition: buffer.c:571
VOID EXPORT NdisDprAllocatePacket(OUT PNDIS_STATUS Status, OUT PNDIS_PACKET *Packet, IN NDIS_HANDLE PoolHandle)
Definition: buffer.c:656
VOID EXPORT NdisFreeBufferPool(IN NDIS_HANDLE PoolHandle)
Definition: buffer.c:777
VOID EXPORT NdisAllocatePacketPoolEx(OUT PNDIS_STATUS Status, OUT PNDIS_HANDLE PoolHandle, IN UINT NumberOfDescriptors, IN UINT NumberOfOverflowDescriptors, IN UINT ProtocolReservedLength)
Definition: buffer.c:449
VOID EXPORT NdisAllocatePacket(OUT PNDIS_STATUS Status, OUT PNDIS_PACKET *Packet, IN NDIS_HANDLE PoolHandle)
Definition: buffer.c:394
VOID EXPORT NdisDprAllocatePacketNonInterlocked(OUT PNDIS_STATUS Status, OUT PNDIS_PACKET *Packet, IN NDIS_HANDLE PoolHandle)
Definition: buffer.c:683
UINT EXPORT NdisPacketSize(IN UINT ProtocolReservedSize)
Definition: buffer.c:1165
NDIS_HANDLE EXPORT NdisGetPoolFromPacket(IN PNDIS_PACKET Packet)
Definition: buffer.c:1154
VOID EXPORT NdisFreePacketPool(IN NDIS_HANDLE PoolHandle)
Definition: buffer.c:793
VOID EXPORT NdisCopyBuffer(OUT PNDIS_STATUS Status, OUT PNDIS_BUFFER *Buffer, IN NDIS_HANDLE PoolHandle, IN PVOID MemoryDescriptor, IN UINT Offset, IN UINT Length)
Definition: buffer.c:1110
VOID EXPORT NdisAllocatePacketPool(OUT PNDIS_STATUS Status, OUT PNDIS_HANDLE PoolHandle, IN UINT NumberOfDescriptors, IN UINT ProtocolReservedLength)
Definition: buffer.c:421
VOID EXPORT NdisOpenConfigurationKeyByName(OUT PNDIS_STATUS Status, IN NDIS_HANDLE ConfigurationHandle, IN PNDIS_STRING KeyName, OUT PNDIS_HANDLE KeyHandle)
Definition: config.c:953
VOID EXPORT NdisCloseConfiguration(IN NDIS_HANDLE ConfigurationHandle)
Definition: config.c:136
VOID EXPORT NdisWriteConfiguration(OUT PNDIS_STATUS Status, IN NDIS_HANDLE ConfigurationHandle, IN PNDIS_STRING Keyword, IN PNDIS_CONFIGURATION_PARAMETER ParameterValue)
Definition: config.c:45
VOID EXPORT NdisOpenProtocolConfiguration(OUT PNDIS_STATUS Status, OUT PNDIS_HANDLE ConfigurationHandle, IN PNDIS_STRING ProtocolSection)
Definition: config.c:264
VOID EXPORT NdisReadConfiguration(OUT PNDIS_STATUS Status, OUT PNDIS_CONFIGURATION_PARAMETER *ParameterValue, IN NDIS_HANDLE ConfigurationHandle, IN PNDIS_STRING Keyword, IN NDIS_PARAMETER_TYPE ParameterType)
Definition: config.c:414
VOID EXPORT NdisReadNetworkAddress(OUT PNDIS_STATUS Status, OUT PVOID *NetworkAddress, OUT PUINT NetworkAddressLength, IN NDIS_HANDLE ConfigurationHandle)
Definition: config.c:740
VOID EXPORT NdisOpenConfiguration(OUT PNDIS_STATUS Status, OUT PNDIS_HANDLE ConfigurationHandle, IN NDIS_HANDLE WrapperConfigurationContext)
Definition: config.c:197
VOID EXPORT NdisOpenConfigurationKeyByIndex(OUT PNDIS_STATUS Status, IN NDIS_HANDLE ConfigurationHandle, IN ULONG Index, OUT PNDIS_STRING KeyName, OUT PNDIS_HANDLE KeyHandle)
Definition: config.c:855
BOOLEAN EXPORT NdisWaitEvent(IN PNDIS_EVENT Event, IN UINT MsToWait)
Definition: control.c:290
VOID EXPORT NdisAcquireReadWriteLock(IN PNDIS_RW_LOCK Lock, IN BOOLEAN fWrite, IN PLOCK_STATE LockState)
Definition: control.c:40
VOID EXPORT NdisResetEvent(IN PNDIS_EVENT Event)
Definition: control.c:256
VOID EXPORT NdisSetEvent(IN PNDIS_EVENT Event)
Definition: control.c:273
VOID EXPORT NdisInitializeEvent(IN PNDIS_EVENT Event)
Definition: control.c:221
ULONG EXPORT NdisReadPcmciaAttributeMemory(IN NDIS_HANDLE NdisAdapterHandle, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length)
Definition: hardware.c:267
ULONG EXPORT NdisReadPciSlotInformation(IN NDIS_HANDLE NdisAdapterHandle, IN ULONG SlotNumber, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length)
Definition: hardware.c:180
ULONG EXPORT NdisWritePciSlotInformation(IN NDIS_HANDLE NdisAdapterHandle, IN ULONG SlotNumber, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length)
Definition: hardware.c:199
ULONG EXPORT NdisWritePcmciaAttributeMemory(IN NDIS_HANDLE NdisAdapterHandle, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length)
Definition: hardware.c:297
VOID EXPORT NdisMQueryAdapterResources(OUT PNDIS_STATUS Status, IN NDIS_HANDLE WrapperConfigurationContext, OUT PNDIS_RESOURCE_LIST ResourceList, IN OUT PUINT BufferSize)
Definition: hardware.c:103
NDIS_STATUS EXPORT NdisMMapIoSpace(OUT PVOID *VirtualAddress, IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_PHYSICAL_ADDRESS PhysicalAddress, IN UINT Length)
Definition: io.c:774
VOID EXPORT NdisMDeregisterInterrupt(IN PNDIS_MINIPORT_INTERRUPT Interrupt)
Definition: io.c:700
VOID EXPORT NdisMDeregisterIoPortRange(IN NDIS_HANDLE MiniportAdapterHandle, IN UINT InitialPort, IN UINT NumberOfPorts, IN PVOID PortOffset)
Definition: io.c:1093
VOID EXPORT NdisMFreeMapRegisters(IN NDIS_HANDLE MiniportAdapterHandle)
Definition: io.c:721
NDIS_STATUS EXPORT NdisMRegisterIoPortRange(OUT PVOID *PortOffset, IN NDIS_HANDLE MiniportAdapterHandle, IN UINT InitialPort, IN UINT NumberOfPorts)
Definition: io.c:1018
VOID EXPORT NdisMUnmapIoSpace(IN NDIS_HANDLE MiniportAdapterHandle, IN PVOID VirtualAddress, IN UINT Length)
Definition: io.c:1139
NDIS_STATUS EXPORT NdisMInitializeScatterGatherDma(IN NDIS_HANDLE MiniportAdapterHandle, IN BOOLEAN Dma64BitAddresses, IN ULONG MaximumPhysicalMapping)
Definition: io.c:1169
NDIS_STATUS EXPORT NdisMRegisterInterrupt(OUT PNDIS_MINIPORT_INTERRUPT Interrupt, IN NDIS_HANDLE MiniportAdapterHandle, IN UINT InterruptVector, IN UINT InterruptLevel, IN BOOLEAN RequestIsr, IN BOOLEAN SharedInterrupt, IN NDIS_INTERRUPT_MODE InterruptMode)
Definition: io.c:941
NDIS_STATUS EXPORT NdisWriteEventLogEntry(IN PVOID LogHandle, IN NDIS_STATUS EventCode, IN ULONG UniqueEventValue, IN USHORT NumStrings, IN PVOID StringsList OPTIONAL, IN ULONG DataSize, IN PVOID Data OPTIONAL)
Definition: main.c:104
VOID _cdecl NdisWriteErrorLogEntry(IN NDIS_HANDLE NdisAdapterHandle, IN NDIS_ERROR_CODE ErrorCode, IN ULONG NumberOfErrorValues,...)
Definition: main.c:76
VOID EXPORT NdisFreeMemory(IN PVOID VirtualAddress, IN UINT Length, IN UINT MemoryFlags)
Definition: memory.c:110
NDIS_STATUS EXPORT NdisAllocateMemoryWithTag(OUT PVOID *VirtualAddress, IN UINT Length, IN ULONG Tag)
Definition: memory.c:21
VOID EXPORT NdisMAllocateSharedMemory(IN NDIS_HANDLE MiniportAdapterHandle, IN ULONG Length, IN BOOLEAN Cached, OUT PVOID *VirtualAddress, OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress)
Definition: memory.c:148
NDIS_STATUS EXPORT NdisMAllocateSharedMemoryAsync(IN NDIS_HANDLE MiniportAdapterHandle, IN ULONG Length, IN BOOLEAN Cached, IN PVOID Context)
Definition: memory.c:330
VOID EXPORT NdisMFreeSharedMemory(IN NDIS_HANDLE MiniportAdapterHandle, IN ULONG Length, IN BOOLEAN Cached, IN PVOID VirtualAddress, IN NDIS_PHYSICAL_ADDRESS PhysicalAddress)
Definition: memory.c:215
VOID EXPORT NdisGetCurrentProcessorCounts(OUT PULONG pIdleCount, OUT PULONG pKernelAndUser, OUT PULONG pIndex)
Definition: misc.c:336
VOID EXPORT NdisOpenFile(OUT PNDIS_STATUS Status, OUT PNDIS_HANDLE FileHandle, OUT PUINT FileLength, IN PNDIS_STRING FileName, IN NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress)
Definition: misc.c:224
UINT EXPORT NdisGetVersion(VOID)
Definition: misc.c:514
NDIS_STATUS EXPORT NdisScheduleWorkItem(IN PNDIS_WORK_ITEM pWorkItem)
Definition: misc.c:467
VOID EXPORT NdisMapFile(OUT PNDIS_STATUS Status, OUT PVOID *MappedBuffer, IN NDIS_HANDLE FileHandle)
Definition: misc.c:149
ULONG EXPORT NdisGetSharedDataAlignment(VOID)
Definition: misc.c:502
VOID EXPORT NdisCloseFile(IN NDIS_HANDLE FileHandle)
Definition: misc.c:193
VOID EXPORT NdisUnmapFile(IN NDIS_HANDLE FileHandle)
Definition: misc.c:178
UCHAR EXPORT NdisGeneratePartialCancelId(VOID)
Definition: misc.c:526
CCHAR EXPORT NdisSystemProcessorCount(VOID)
Definition: misc.c:324
VOID EXPORT NdisFreeGenericObject(IN PNDIS_GENERIC_OBJECT NdisGenericObject)
Definition: object.c:35
PNDIS_GENERIC_OBJECT EXPORT NdisAllocateGenericObject(IN PDRIVER_OBJECT DriverObject OPTIONAL, IN ULONG Tag, IN USHORT Size)
Definition: object.c:13
VOID EXPORT NdisOpenAdapter(OUT PNDIS_STATUS Status, OUT PNDIS_STATUS OpenErrorStatus, OUT PNDIS_HANDLE NdisBindingHandle, OUT PUINT SelectedMediumIndex, IN PNDIS_MEDIUM MediumArray, IN UINT MediumArraySize, IN NDIS_HANDLE NdisProtocolHandle, IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_STRING AdapterName, IN UINT OpenOptions, IN PSTRING AddressingInformation OPTIONAL)
Definition: protocol.c:764
VOID EXPORT NdisDeregisterProtocol(OUT PNDIS_STATUS Status, IN NDIS_HANDLE NdisProtocolHandle)
Definition: protocol.c:734
VOID EXPORT NdisCompleteBindAdapter(IN NDIS_HANDLE BindAdapterContext, IN NDIS_STATUS Status, IN NDIS_STATUS OpenStatus)
Definition: protocol.c:193
VOID EXPORT NdisCompleteUnbindAdapter(IN NDIS_HANDLE UnbindAdapterContext, IN NDIS_STATUS Status)
Definition: protocol.c:224
VOID NTAPI NdisReEnumerateProtocolBindings(IN NDIS_HANDLE NdisProtocolHandle)
Definition: protocol.c:1340
VOID EXPORT NdisReset(OUT PNDIS_STATUS Status, IN NDIS_HANDLE NdisBindingHandle)
Definition: protocol.c:1259
VOID EXPORT NdisCloseAdapter(OUT PNDIS_STATUS Status, IN NDIS_HANDLE NdisBindingHandle)
Definition: protocol.c:703
VOID EXPORT NdisRegisterProtocol(OUT PNDIS_STATUS Status, OUT PNDIS_HANDLE NdisProtocolHandle, IN PNDIS_PROTOCOL_CHARACTERISTICS ProtocolCharacteristics, IN UINT CharacteristicsLength)
Definition: protocol.c:1115
VOID EXPORT NdisGetDriverHandle(IN PNDIS_HANDLE NdisBindingHandle, OUT PNDIS_HANDLE NdisDriverHandle)
Definition: protocol.c:1353
VOID EXPORT NdisInitializeString(IN OUT PNDIS_STRING DestinationString, IN PUCHAR SourceString)
Definition: string.c:101
VOID EXPORT NdisMCancelTimer(IN PNDIS_MINIPORT_TIMER Timer, OUT PBOOLEAN TimerCancelled)
Definition: time.c:131
VOID EXPORT NdisMSetPeriodicTimer(IN PNDIS_MINIPORT_TIMER Timer, IN UINT MillisecondsPeriod)
Definition: time.c:226
VOID EXPORT NdisCancelTimer(IN PNDIS_TIMER Timer, OUT PBOOLEAN TimerCancelled)
Definition: time.c:27
VOID EXPORT NdisInitializeTimer(IN OUT PNDIS_TIMER Timer, IN PNDIS_TIMER_FUNCTION TimerFunction, IN PVOID FunctionContext)
Definition: time.c:71
VOID EXPORT NdisSetTimer(IN PNDIS_TIMER Timer, IN UINT MillisecondsToDelay)
Definition: time.c:317
VOID EXPORT NdisMInitializeTimer(IN OUT PNDIS_MINIPORT_TIMER Timer, IN NDIS_HANDLE MiniportAdapterHandle, IN PNDIS_TIMER_FUNCTION TimerFunction, IN PVOID FunctionContext)
Definition: time.c:192
VOID EXPORT NdisSetTimerEx(IN PNDIS_TIMER Timer, IN UINT MillisecondsToDelay, IN PVOID FunctionContext)
Definition: time.c:348
#define __drv_preferredFunction(func, why)
Definition: driverspecs.h:311
#define _IRQL_requires_same_
Definition: driverspecs.h:232
#define __drv_freesMem(kind)
Definition: driverspecs.h:272
#define _IRQL_requires_max_(irql)
Definition: driverspecs.h:230
#define _IRQL_restores_
Definition: driverspecs.h:233
#define __drv_allocatesMem(kind)
Definition: driverspecs.h:257
#define _IRQL_requires_(irql)
Definition: driverspecs.h:229
#define _IRQL_saves_
Definition: driverspecs.h:235
#define _IRQL_raises_(irql)
Definition: driverspecs.h:228
#define __drv_Mode_impl(x)
Definition: driverspecs.h:294
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
UCHAR KIRQL
Definition: env_spec_w32.h:591
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
#define APC_LEVEL
Definition: env_spec_w32.h:695
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
IN PDCB IN PCCB IN VBO IN OUT PULONG OUT PDIRENT OUT PBCB OUT PVBO ByteOffset
Definition: fatprocs.h:731
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment NdisInitializeReadWriteLock
Definition: CrNtStubs.h:77
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock NdisReleaseReadWriteLock
Definition: CrNtStubs.h:101
#define MAXIMUM_PROCESSORS
Definition: rwlock.h:5
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
FP_OP Operation
Definition: fpcontrol.c:150
Status
Definition: gdiplustypes.h:25
@ Eisa
Definition: hwresource.cpp:139
@ CBus
Definition: hwresource.cpp:146
@ TurboChannel
Definition: hwresource.cpp:141
@ PNPBus
Definition: hwresource.cpp:152
@ PCIBus
Definition: hwresource.cpp:142
@ MPIBus
Definition: hwresource.cpp:147
@ InternalPowerBus
Definition: hwresource.cpp:150
@ MPSABus
Definition: hwresource.cpp:148
@ Internal
Definition: hwresource.cpp:137
@ MicroChannel
Definition: hwresource.cpp:140
@ PNPISABus
Definition: hwresource.cpp:151
@ ProcessorInternal
Definition: hwresource.cpp:149
@ Isa
Definition: hwresource.cpp:138
@ PCMCIABus
Definition: hwresource.cpp:145
enum _MM_PAGE_PRIORITY MM_PAGE_PRIORITY
#define _Outptr_result_bytebuffer_(size)
Definition: ms_sal.h:472
#define _Function_class_(x)
Definition: ms_sal.h:2946
#define _Out_opt_
Definition: ms_sal.h:346
#define _Success_(expr)
Definition: ms_sal.h:259
#define _In_reads_bytes_(size)
Definition: ms_sal.h:321
#define _Inout_
Definition: ms_sal.h:378
#define _Out_writes_bytes_(size)
Definition: ms_sal.h:350
#define _Check_return_
Definition: ms_sal.h:557
#define _In_opt_z_
Definition: ms_sal.h:314
#define _Outptr_result_bytebuffer_to_(size, count)
Definition: ms_sal.h:474
#define _Pre_satisfies_(cond)
Definition: ms_sal.h:587
#define _Return_type_success_(expr)
Definition: ms_sal.h:263
#define _At_(target, annos)
Definition: ms_sal.h:244
#define _Inout_opt_
Definition: ms_sal.h:379
#define _Must_inspect_result_
Definition: ms_sal.h:558
#define _Out_
Definition: ms_sal.h:345
#define _When_(expr, annos)
Definition: ms_sal.h:254
#define _In_
Definition: ms_sal.h:308
#define _In_reads_bytes_opt_(size)
Definition: ms_sal.h:322
#define _In_opt_
Definition: ms_sal.h:309
#define _Points_to_data_
Definition: ms_sal.h:552
#define _In_reads_(size)
Definition: ms_sal.h:319
ULONG * PNDIS_AF
Definition: ndis.h:1036
struct _NDIS_PACKET * PNDIS_PACKET
PHYSICAL_ADDRESS NDIS_PHYSICAL_ADDRESS
Definition: ndis.h:947
CM_EISA_SLOT_INFORMATION * PNDIS_EISA_SLOT_INFORMATION
Definition: ndis.h:650
_Must_inspect_result_ _Out_ PNDIS_STATUS _Outptr_result_bytebuffer_to_ NetworkAddressLength PVOID * NetworkAddress
Definition: ndis.h:3956
struct _NDIS_COMMON_OPEN_BLOCK NDIS_COMMON_OPEN_BLOCK
VOID(NTAPI * W_SEND_PACKETS_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ PPNDIS_PACKET PacketArray, _In_ UINT NumberOfPackets)
Definition: ndis.h:2034
_Out_ PNDIS_HANDLE _In_ PNDIS_PROTOCOL_CHARACTERISTICS _In_ UINT CharacteristicsLength
Definition: ndis.h:6136
_In_ NDIS_HANDLE ProtocolHandle
Definition: ndis.h:5194
struct _NDIS_MINIPORT_INTERRUPT * PNDIS_MINIPORT_INTERRUPT
_In_ UINT MillisecondPeriod
Definition: ndis.h:5655
enum _NDIS_DEVICE_PNP_EVENT NDIS_DEVICE_PNP_EVENT
_NDIS_DEVICE_PNP_EVENT
Definition: ndis.h:999
@ NdisDevicePnPEventRemoved
Definition: ndis.h:1001
@ NdisDevicePnPEventQueryStopped
Definition: ndis.h:1003
@ NdisDevicePnPEventPowerProfileChanged
Definition: ndis.h:1005
@ NdisDevicePnPEventStopped
Definition: ndis.h:1004
@ NdisDevicePnPEventQueryRemoved
Definition: ndis.h:1000
@ NdisDevicePnPEventMaximum
Definition: ndis.h:1009
@ NdisDevicePnPEventSurpriseRemoved
Definition: ndis.h:1002
enum _NDIS_DEVICE_PNP_EVENT * PNDIS_DEVICE_PNP_EVENT
struct _NDIS_MAC_LINE_UP * PNDIS_MAC_LINE_UP
enum _NDIS_WORK_ITEM_TYPE * PNDIS_WORK_ITEM_TYPE
struct _BINARY_DATA BINARY_DATA
NDISAPI VOID NTAPI NdisIMCopySendPerPacketInfo(IN PNDIS_PACKET DstPacket, IN PNDIS_PACKET SrcPacket)
Definition: buffer.c:1308
enum _NDIS_INTERFACE_TYPE * PNDIS_INTERFACE_TYPE
NDIS_STATUS(NTAPI * CM_DEREG_SAP_HANDLER)(IN NDIS_HANDLE CallMgrSapContext)
Definition: ndis.h:1484
struct _NDIS_MAC_CHARACTERISTICS NDIS_MAC_CHARACTERISTICS
VOID(NTAPI * FILTER_PACKET_INDICATION_HANDLER)(_In_ NDIS_HANDLE Miniport, _In_ PPNDIS_PACKET PacketArray, _In_ UINT NumberOfPackets)
Definition: ndis.h:2361
struct _NDIS30_PROTOCOL_CHARACTERISTICS * PNDIS30_PROTOCOL_CHARACTERISTICS
_NDIS_PNP_DEVICE_STATE
Definition: ndis.h:989
@ NdisPnPDeviceQueryStopped
Definition: ndis.h:992
@ NdisPnPDeviceQueryRemoved
Definition: ndis.h:994
@ NdisPnPDeviceRemoved
Definition: ndis.h:995
@ NdisPnPDeviceStopped
Definition: ndis.h:993
@ NdisPnPDeviceSurpriseRemoved
Definition: ndis.h:996
@ NdisPnPDeviceStarted
Definition: ndis.h:991
@ NdisPnPDeviceAdded
Definition: ndis.h:990
_Must_inspect_result_ _In_ PNDIS_HANDLE MacContext
Definition: ndis.h:6109
struct _NDIS_TASK_OFFLOAD NDIS_TASK_OFFLOAD
_Inout_ PCO_CALL_PARAMETERS CallParameters
Definition: ndis.h:2116
_Out_ PNDIS_BUFFER * Buffer
Definition: ndis.h:2867
struct _NDIS_SPIN_LOCK NDIS_SPIN_LOCK
NDIS_HANDLE PNDIS_PACKET_POOL
Definition: ndis.h:719
NDIS_STATUS(NTAPI * W_CO_REQUEST_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_opt_ NDIS_HANDLE MiniportVcContext, _Inout_ PNDIS_REQUEST NdisRequest)
Definition: ndis.h:2133
NDIS_STATUS(NTAPI * WAN_RECEIVE_HANDLER)(_In_ NDIS_HANDLE NdisLinkHandle, _In_ PUCHAR Packet, _In_ ULONG PacketSize)
Definition: ndis.h:1791
_Must_inspect_result_ See details in NdisMAllocateMapRegisters documentation NDISAPI NDIS_STATUS NTAPI NdisMAllocateMapRegisters(_In_ NDIS_HANDLE MiniportAdapterHandle, _In_ UINT DmaChannel, _In_ NDIS_DMA_SIZE DmaSize, _In_ ULONG PhysicalMapRegistersNeeded, _In_ ULONG MaximumPhysicalMapping)
VOID(NTAPI * UNLOAD_MAC_HANDLER)(IN NDIS_HANDLE MacMacContext)
Definition: ndis.h:6190
_In_ NDIS_HANDLE PrimaryMiniportAdapterHandle
Definition: ndis.h:4703
VOID(NTAPI * SEND_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ PNDIS_PACKET Packet, _In_ NDIS_STATUS Status)
Definition: ndis.h:1758
#define NDIS50_MINIPORT_CHARACTERISTICS_S
Definition: ndis.h:2151
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_CONFIGURATION_PARAMETER _In_ NDIS_HANDLE _In_ PNDIS_STRING _In_ NDIS_PARAMETER_TYPE ParameterType
Definition: ndis.h:4417
struct _NDIS_WAN_GET_STATS * PNDIS_WAN_GET_STATS
_In_ UINT _In_ UINT _In_ PVOID PortOffset
Definition: ndis.h:5445
VOID(NTAPI * NDIS_M_STS_COMPLETE_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle)
Definition: ndis.h:2444
NDIS_STATUS(NTAPI * W_RECONFIGURE_HANDLER)(_Out_ PNDIS_STATUS OpenErrorStatus, _In_ NDIS_HANDLE MiniportAdapterContext, _In_ NDIS_HANDLE WrapperConfigurationContext)
Definition: ndis.h:1981
NDIS40_PROTOCOL_CHARACTERISTICS NDIS_PROTOCOL_CHARACTERISTICS
Definition: ndis.h:1927
VOID(NTAPI * CLOSE_ADAPTER_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ NDIS_STATUS Status)
Definition: ndis.h:1731
INT(NTAPI * RECEIVE_PACKET_HANDLER)(IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET Packet)
Definition: ndis.h:1839
struct _NDIS_TASK_OFFLOAD_HEADER * PNDIS_TASK_OFFLOAD_HEADER
VOID(NTAPI * NDIS_M_SEND_RESOURCES_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle)
Definition: ndis.h:2429
struct _NDIS_DMA_BLOCK NDIS_DMA_BLOCK
struct _NDIS_WAN_FRAGMENT NDIS_WAN_FRAGMENT
VOID(NTAPI * CL_DROP_PARTY_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolPartyContext)
Definition: ndis.h:1660
_Must_inspect_result_ _In_ NDIS_HANDLE NdisBindingHandle
Definition: ndis.h:4735
#define NDIS_MEMORY_CONTIGUOUS
Definition: ndis.h:579
_In_ UINT ProtocolId
Definition: ndis.h:2924
_Out_ PNDIS_HANDLE _In_ UINT _In_ UINT ProtocolReservedLength
Definition: ndis.h:2905
NDIS_STATUS(NTAPI * SEND_HANDLER)(_In_ NDIS_HANDLE NdisBindingHandle, _In_ PNDIS_PACKET Packet)
Definition: ndis.h:2705
struct _NDIS_MAC_CHARACTERISTICS * PNDIS_MAC_CHARACTERISTICS
NDIS_STATUS(FASTCALL * NDIS_M_QUEUE_WORK_ITEM)(IN PNDIS_MINIPORT_BLOCK Miniport, IN NDIS_WORK_ITEM_TYPE WorkItemType, IN PVOID WorkItemContext)
Definition: ndis.h:2406
NDISAPI VOID NTAPI NdisInitializeWrapper(OUT PNDIS_HANDLE NdisWrapperHandle, IN PVOID SystemSpecific1, IN PVOID SystemSpecific2, IN PVOID SystemSpecific3)
Definition: miniport.c:1591
struct _NDIS_TASK_OFFLOAD * PNDIS_TASK_OFFLOAD
#define FILTERDBS_S
Definition: ndis.h:2493
NDIS_STATUS(NTAPI * CM_CLOSE_AF_HANDLER)(IN NDIS_HANDLE CallMgrAfContext)
Definition: ndis.h:1473
struct _NDIS_LOG * PNDIS_LOG
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
Definition: ndis.h:1549
_Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT * FunctionalDeviceObject
Definition: ndis.h:4641
NDISAPI VOID NTAPI NdisInitUnicodeString(IN OUT PNDIS_STRING DestinationString, IN PCWSTR SourceString)
Definition: string.c:130
_In_opt_ NDIS_HANDLE _In_opt_ NDIS_HANDLE ProtocolPartyContext
Definition: ndis.h:1572
_NDIS_PARAMETER_TYPE
Definition: ndis.h:925
@ NdisParameterBinary
Definition: ndis.h:930
@ NdisParameterInteger
Definition: ndis.h:926
@ NdisParameterString
Definition: ndis.h:928
@ NdisParameterMultiString
Definition: ndis.h:929
@ NdisParameterHexInteger
Definition: ndis.h:927
struct _NDIS_PROTOCOL_BLOCK * PNDIS_PROTOCOL_BLOCK
Definition: ndis.h:2261
struct _OID_LIST * POID_LIST
Definition: ndis.h:986
_In_ PNDIS_STRING _In_ PNDIS_STRING _Out_ PDEVICE_OBJECT * pDeviceObject
Definition: ndis.h:4679
VOID(NTAPI * NDIS_WM_SEND_COMPLETE_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle, _In_ PVOID Packet, _In_ NDIS_STATUS Status)
Definition: ndis.h:2454
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID StringsList
Definition: ndis.h:4754
struct _WAN_CO_LINKPARAMS WAN_CO_LINKPARAMS
struct _NDIS_PACKET_OOB_DATA NDIS_PACKET_OOB_DATA
struct _X_FILTER * PNULL_FILTER
Definition: ndis.h:317
struct _X_FILTER * PETH_FILTER
Definition: ndis.h:2266
struct _NDIS50_MINIPORT_CHARACTERISTICS NDIS50_MINIPORT_CHARACTERISTICS
VOID(NTAPI * W_PNP_EVENT_NOTIFY_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ NDIS_DEVICE_PNP_EVENT PnPEvent, _In_ PVOID InformationBuffer, _In_ ULONG InformationBufferLength)
Definition: ndis.h:2174
VOID(* REMOVE_ADAPTER_HANDLER)(IN NDIS_HANDLE MacAdapterContext)
Definition: ndis.h:6198
_In_ PVOID _In_ PVOID SystemSpecific2
Definition: ndis.h:638
PROTCOL_CO_AF_REGISTER_NOTIFY * CO_AF_REGISTER_NOTIFY_HANDLER
Definition: ndis.h:1907
struct _NDIS_DMA_BLOCK * PNDIS_DMA_BLOCK
struct _CO_CALL_MANAGER_PARAMETERS * PCO_CALL_MANAGER_PARAMETERS
struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO NDIS_TCP_IP_CHECKSUM_PACKET_INFO
struct _NDIS_PACKET_PRIVATE NDIS_PACKET_PRIVATE
_In_ PNDIS_STRING DriverInstance
Definition: ndis.h:5245
_In_ NDIS_ERROR_CODE _In_ ULONG NumberOfErrorValues
Definition: ndis.h:4437
struct _NDIS_MINIPORT_CHARACTERISTICS NDIS_MINIPORT_CHARACTERISTICS
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
Definition: ndis.h:4755
struct _NDIS30_PROTOCOL_CHARACTERISTICS NDIS30_PROTOCOL_CHARACTERISTICS
_In_ ULONG _In_ BOOLEAN _Must_inspect_result_ PVOID _Out_ _At_ PhysicalAddress PNDIS_PHYSICAL_ADDRESS PhysicalAddress
Definition: ndis.h:3792
_Out_ PULONG _Out_ PULONG pIndex
Definition: ndis.h:4565
struct _FILTERDBS * PFILTERDBS
NDISAPI VOID NTAPI NdisMSetTimer(IN PNDIS_MINIPORT_TIMER Timer, IN UINT MillisecondsToDelay)
Definition: time.c:272
unsigned int * PUINT
Definition: ndis.h:50
#define NDIS_MEMORY_NONCACHED
Definition: ndis.h:580
struct _NDIS_PACKET_EXTENSION NDIS_PACKET_EXTENSION
struct _NDIS_OPEN_BLOCK * PNDIS_OPEN_BLOCK
Definition: ndis.h:2262
_In_ PDRIVER_UNLOAD UnloadHandler
Definition: ndis.h:4688
struct _NDIS_LOG NDIS_LOG
VOID(NTAPI * PNDIS_DEFERRED_PROCESSING)(IN PVOID SystemSpecific1, IN PVOID InterruptContext, IN PVOID SystemSpecific2, IN PVOID SystemSpecific3)
Definition: ndis.h:2254
unsigned int UINT
Definition: ndis.h:50
NDIS_TIMER_FUNCTION * PNDIS_TIMER_FUNCTION
Definition: ndis.h:640
_NDIS_ENCAPSULATION
Definition: ndis.h:1206
@ LLC_SNAP_ROUTED_Encapsulation
Definition: ndis.h:1211
@ NULL_Encapsulation
Definition: ndis.h:1208
@ LLC_SNAP_BRIDGED_Encapsulation
Definition: ndis.h:1212
@ UNSPECIFIED_Encapsulation
Definition: ndis.h:1207
@ IEEE_802_3_Encapsulation
Definition: ndis.h:1209
@ IEEE_802_5_Encapsulation
Definition: ndis.h:1210
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING SubKeyName
Definition: ndis.h:4725
VOID(NTAPI * CL_REG_SAP_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolSapContext, IN PCO_SAP Sap, IN NDIS_HANDLE NdisSapHandle)
Definition: ndis.h:1622
_Out_ PNDIS_HANDLE _In_ UINT _In_ UINT NumberOfOverflowDescriptors
Definition: ndis.h:2915
struct _MEDIA_SPECIFIC_INFORMATION * PMEDIA_SPECIFIC_INFORMATION
struct _NDIS_WRAPPER_HANDLE * PNDIS_WRAPPER_HANDLE
Definition: ndis.h:2260
struct _REFERENCE * PREFERENCE
VOID(NTAPI * CL_DEREG_SAP_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolSapContext)
Definition: ndis.h:1629
_In_opt_ NDIS_HANDLE _In_ NDIS_STATUS _In_ PVOID _In_ UINT StatusBufferSize
Definition: ndis.h:1558
enum _NDIS_TASK * PNDIS_TASK
PVOID NDIS_HANDLE
Definition: ndis.h:338
NDISAPI VOID NTAPI NdisSetupDmaTransfer(OUT PNDIS_STATUS Status, IN PNDIS_HANDLE NdisDmaHandle, IN PNDIS_BUFFER Buffer, IN ULONG Offset, IN ULONG Length, IN BOOLEAN WriteToDevice)
Definition: io.c:497
struct _NDIS_INTERRUPT * PNDIS_INTERRUPT
struct _NDIS_WAN_GET_STATS NDIS_WAN_GET_STATS
VOID(NTAPI * W_ALLOCATE_COMPLETE_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ PVOID VirtualAddress, _In_ PNDIS_PHYSICAL_ADDRESS PhysicalAddress, _In_ ULONG Length, _In_ PVOID Context)
Definition: ndis.h:2040
NDISAPI VOID NTAPI NdisFreeMemoryWithTag(IN PVOID VirtualAddress, IN ULONG Tag)
static __inline VOID NdisQueryPacket(IN PNDIS_PACKET Packet, OUT PUINT PhysicalBufferCount OPTIONAL, OUT PUINT BufferCount OPTIONAL, OUT PNDIS_BUFFER *FirstBuffer OPTIONAL, OUT PUINT TotalPacketLength OPTIONAL)
Definition: ndis.h:3593
NDIS_STATUS(NTAPI * REQUEST_HANDLER)(_In_ NDIS_HANDLE NdisBindingHandle, _In_ PNDIS_REQUEST NdisRequest)
Definition: ndis.h:2723
_Out_ PNDIS_BUFFER _In_opt_ NDIS_HANDLE PoolHandle
Definition: ndis.h:2868
struct _NDIS_TASK_IPSEC * PNDIS_TASK_IPSEC
_Out_ PNDIS_HANDLE FileHandle
Definition: ndis.h:3227
NDISAPI ULONG NTAPI NDIS_BUFFER_TO_SPAN_PAGES(IN PNDIS_BUFFER Buffer)
Definition: buffer.c:314
PHYSICAL_ADDRESS * PNDIS_PHYSICAL_ADDRESS
Definition: ndis.h:947
ANSI_STRING * PNDIS_ANSI_STRING
Definition: ndis.h:340
VOID(NTAPI * NDIS_M_TD_COMPLETE_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle, _In_ PNDIS_PACKET Packet, _In_ NDIS_STATUS Status, _In_ UINT BytesTransferred)
Definition: ndis.h:2448
_Out_ PNDIS_BUFFER _In_ NDIS_HANDLE _In_ PVOID _In_ UINT Offset
Definition: ndis.h:3273
UCHAR NDIS_DMA_SIZE
Definition: ndis.h:878
struct _NDIS_RW_LOCK NDIS_RW_LOCK
VOID(NTAPI * NDIS_M_RESET_COMPLETE_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle, _In_ NDIS_STATUS Status, _In_ BOOLEAN AddressingReset)
Definition: ndis.h:2417
BOOLEAN(NTAPI * W_CHECK_FOR_HANG_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1937
NDISAPI VOID NTAPI NdisUnchainBufferAtFront(IN OUT PNDIS_PACKET Packet, OUT PNDIS_BUFFER *Buffer)
Definition: buffer.c:1069
NDIS_STATUS(NTAPI * WAN_SEND_HANDLER)(_In_ NDIS_HANDLE MacBindingHandle, _In_ NDIS_HANDLE LinkHandle, _In_ PVOID Packet)
Definition: ndis.h:2693
NDISAPI VOID NTAPI NdisFreeDmaChannel(IN PNDIS_HANDLE NdisDmaHandle)
Definition: io.c:1245
enum _NDIS_POWER_PROFILE NDIS_POWER_PROFILE
VOID(NTAPI * SEND_PACKETS_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ PPNDIS_PACKET PacketArray, _In_ UINT NumberOfPackets)
Definition: ndis.h:2699
_NDIS_PROCESSOR_TYPE
Definition: ndis.h:884
@ NdisProcessorPpc
Definition: ndis.h:888
@ NdisProcessorAlpha
Definition: ndis.h:887
@ NdisProcessorMips
Definition: ndis.h:886
@ NdisProcessorAmd64
Definition: ndis.h:889
@ NdisProcessorIA64
Definition: ndis.h:890
@ NdisProcessorX86
Definition: ndis.h:885
struct _NDIS_PHYSICAL_ADDRESS_UNIT * PNDIS_PHYSICAL_ADDRESS_UNIT
NDIS_STATUS(NTAPI * CM_OPEN_AF_HANDLER)(IN NDIS_HANDLE CallMgrBindingContext, IN PCO_ADDRESS_FAMILY AddressFamily, IN NDIS_HANDLE NdisAfHandle, OUT PNDIS_HANDLE CallMgrAfContext)
Definition: ndis.h:1517
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT _In_ UINT _In_ NDIS_HANDLE _In_ NDIS_HANDLE _In_ PNDIS_STRING _In_ UINT _In_opt_ PSTRING AddressingInformation
Definition: ndis.h:6018
MINIPORT_CO_ACTIVATE_VC * W_CO_ACTIVATE_VC_HANDLER
Definition: ndis.h:2117
_NDIS_WORK_ITEM_TYPE
Definition: ndis.h:2293
@ NdisWorkItemSendLoopback
Definition: ndis.h:2300
@ NdisWorkItemReturnPackets
Definition: ndis.h:2296
@ NdisMaxWorkItems
Definition: ndis.h:2302
@ NdisWorkItemSend
Definition: ndis.h:2295
@ NdisWorkItemRequest
Definition: ndis.h:2294
@ NdisWorkItemHalt
Definition: ndis.h:2299
@ NdisWorkItemResetInProgress
Definition: ndis.h:2298
@ NdisWorkItemMiniportCallback
Definition: ndis.h:2301
@ NdisWorkItemResetRequested
Definition: ndis.h:2297
struct _NDIS_M_DRIVER_BLOCK * PNDIS_M_DRIVER_BLOCK
Definition: ndis.h:2263
VOID(NTAPI * CL_CLOSE_AF_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolAfContext)
Definition: ndis.h:1617
struct _NDIS_PACKET_STACK NDIS_PACKET_STACK
_Out_ PNDIS_HANDLE _In_ UINT NumberOfDescriptors
Definition: ndis.h:2879
NDIS_STATUS(NTAPI * CO_CREATE_VC_HANDLER)(IN NDIS_HANDLE ProtocolAfContext, IN NDIS_HANDLE NdisVcHandle, OUT PNDIS_HANDLE ProtocolVcContext)
Definition: ndis.h:1531
_In_ UINT _Out_ PNDIS_HANDLE LogHandle
Definition: ndis.h:5382
NDIS_STATUS(NTAPI * RESET_HANDLER)(_In_ NDIS_HANDLE NdisBindingHandle)
Definition: ndis.h:2719
struct _NDIS_MINIPORT_INTERRUPT NDIS_MINIPORT_INTERRUPT
enum _NDIS_CLASS_ID NDIS_CLASS_ID
struct _NDIS_WAN_FRAGMENT * PNDIS_WAN_FRAGMENT
struct _NDIS51_MINIPORT_CHARACTERISTICS * PSNDIS51_MINIPORT_CHARACTERISTICS
NDISAPI VOID NTAPI NdisGetSystemUpTime(OUT PULONG pSystemUpTime)
Definition: misc.c:358
#define NDIS51_MINIPORT_CHARACTERISTICS_S
Definition: ndis.h:2198
struct _NDIS_MAC_LINE_UP NDIS_MAC_LINE_UP
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_CONFIGURATION_PARAMETER * ParameterValue
Definition: ndis.h:4414
struct _NDIS_INTERRUPT NDIS_INTERRUPT
enum _NDIS_ENVIRONMENT_TYPE * PNDIS_ENVIRONMENT_TYPE
struct _NDIS_MINIPORT_CHARACTERISTICS * PNDIS_MINIPORT_CHARACTERISTICS
NDISAPI VOID NTAPI NdisMWanSendComplete(IN NDIS_HANDLE MiniportAdapterHandle, IN PNDIS_WAN_PACKET Packet, IN NDIS_STATUS Status)
Definition: 50stubs.c:261
struct _NDIS_TASK_IPSEC NDIS_TASK_IPSEC
struct _NDIS_CONFIGURATION_PARAMETER * PNDIS_CONFIGURATION_PARAMETER
NDIS_STATUS(NTAPI * WM_SEND_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ NDIS_HANDLE NdisLinkHandle, _In_ PNDIS_WAN_PACKET Packet)
Definition: ndis.h:1998
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT NumStrings
Definition: ndis.h:4753
NDIS_STATUS(NTAPI * CM_MODIFY_CALL_QOS_HANDLER)(IN NDIS_HANDLE CallMgrVcContext, IN PCO_CALL_PARAMETERS CallParameters)
Definition: ndis.h:1512
NDIS_STATUS(NTAPI * TRANSFER_DATA_HANDLER)(_In_ NDIS_HANDLE NdisBindingHandle, _In_ NDIS_HANDLE MacReceiveContext, _In_ UINT ByteOffset, _In_ UINT BytesToTransfer, _Out_ PNDIS_PACKET Packet, _Out_ PUINT BytesTransferred)
Definition: ndis.h:2710
struct _NDIS40_MINIPORT_CHARACTERISTICS NDIS40_MINIPORT_CHARACTERISTICS
_Out_ PULONG pKernelAndUser
Definition: ndis.h:4564
NDIS_STATUS(NTAPI * CM_DROP_PARTY_HANDLER)(IN NDIS_HANDLE CallMgrPartyContext, IN PVOID CloseData OPTIONAL, IN UINT Size OPTIONAL)
Definition: ndis.h:1493
struct _NDIS_TASK_TCP_LARGE_SEND * PNDIS_TASK_TCP_LARGE_SEND
struct _NDIS_PROTOCOL_BLOCK NDIS_PROTOCOL_BLOCK
Definition: ndis.h:2261
CM_MCA_POS_DATA * PNDIS_MCA_POS_DATA
Definition: ndis.h:649
struct _CO_SPECIFIC_PARAMETERS * PCO_SPECIFIC_PARAMETERS
NDIS_STATUS(NTAPI * CM_ADD_PARTY_HANDLER)(IN NDIS_HANDLE CallMgrVcContext, IN OUT PCO_CALL_PARAMETERS CallParameters, IN NDIS_HANDLE NdisPartyHandle, OUT PNDIS_HANDLE CallMgrPartyContext)
Definition: ndis.h:1466
VOID(NTAPI * NDIS_M_REQ_COMPLETE_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle, _In_ NDIS_STATUS Status)
Definition: ndis.h:2412
NDISAPI VOID NTAPI NdisMWanIndicateReceiveComplete(IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_HANDLE NdisLinkContext)
Definition: 50stubs.c:247
NDIS_STATUS(NTAPI * QUERY_GLOBAL_STATISTICS_HANDLER)(IN NDIS_HANDLE MacAdapterContext, IN PNDIS_REQUEST NdisRequest)
Definition: ndis.h:6186
_Must_inspect_result_ _Out_ PNDIS_STATUS _Outptr_result_bytebuffer_to_ NetworkAddressLength PVOID _Out_ PUINT NetworkAddressLength
Definition: ndis.h:3958
VOID(NTAPI * WAN_RCV_HANDLER)(_Out_ PNDIS_STATUS Status, _In_ NDIS_HANDLE MiniportAdapterHandle, _In_ NDIS_HANDLE NdisLinkContext, _In_ PUCHAR Packet, _In_ ULONG PacketSize)
Definition: ndis.h:2386
struct _NDIS_MINIPORT_BLOCK * PNDIS_MINIPORT_BLOCK
Definition: ndis.h:319
struct _NDIS_PACKET ** PPNDIS_PACKET
struct _NDIS_TASK_TCP_IP_CHECKSUM NDIS_TASK_TCP_IP_CHECKSUM
enum _NDIS_INTERFACE_TYPE NDIS_INTERFACE_TYPE
NDIS_STATUS(NTAPI * W_INITIALIZE_HANDLER)(_Out_ PNDIS_STATUS OpenErrorStatus, _Out_ PUINT SelectedMediumIndex, _In_ PNDIS_MEDIUM MediumArray, _In_ UINT MediumArraySize, _In_ NDIS_HANDLE MiniportAdapterContext, _In_ NDIS_HANDLE WrapperConfigurationContext)
Definition: ndis.h:1957
struct _NDIS_MAC_LINE_DOWN NDIS_MAC_LINE_DOWN
_Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT * NextDeviceObject
Definition: ndis.h:4642
VOID(* CL_OPEN_AF_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolAfContext, IN NDIS_HANDLE NdisAfHandle)
Definition: ndis.h:1611
NDISAPI VOID NTAPI NdisMSetAttributesEx(IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_HANDLE MiniportAdapterContext, IN UINT CheckForHangTimeInSeconds OPTIONAL, IN ULONG AttributeFlags, IN NDIS_INTERFACE_TYPE AdapterType)
Definition: miniport.c:2883
VOID(NTAPI * CL_ADD_PARTY_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolPartyContext, IN NDIS_HANDLE NdisPartyHandle, IN PCO_CALL_PARAMETERS CallParameters)
Definition: ndis.h:1653
struct _NDIS_WAN_PACKET * PNDIS_WAN_PACKET
enum _NDIS_PROCESSOR_TYPE * PNDIS_PROCESSOR_TYPE
VOID(NTAPI * STATUS_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext)
Definition: ndis.h:1754
struct _X_FILTER FDDI_FILTER
Definition: ndis.h:315
NDIS_WAN_MAC_CHARACTERISTICS * PNDIS_WAN_MAC_CHARACTERISTICS
Definition: ndis.h:6220
_In_ PVOID FunctionContext
Definition: ndis.h:637
struct _NDIS_PACKET_STACK * PNDIS_PACKET_STACK
_Must_inspect_result_ _In_ PCO_ADDRESS_FAMILY _In_ NDIS_HANDLE _In_ PNDIS_CLIENT_CHARACTERISTICS ClCharacteristics
Definition: ndis.h:4846
struct _CO_MEDIA_PARAMETERS * PCO_MEDIA_PARAMETERS
_Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PCM_RESOURCE_LIST * AllocatedResources
Definition: ndis.h:4643
VOID(NTAPI * W_MINIPORT_SHUTDOWN_HANDLER)(_In_ PVOID ShutdownContext)
Definition: ndis.h:2181
_In_opt_ PVOID SystemSpecific
Definition: ndis.h:5840
VOID(NTAPI * REQUEST_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ PNDIS_REQUEST NdisRequest, _In_ NDIS_STATUS Status)
Definition: ndis.h:1741
enum _NDIS_TASK NDIS_TASK
struct _NDIS_RW_LOCK * PNDIS_RW_LOCK
struct _CO_ADDRESS_FAMILY CO_ADDRESS_FAMILY
_In_ NDIS_HANDLE _In_ NDIS_HANDLE CallMgrAfContext
Definition: ndis.h:4996
struct _NDIS_AF_LIST NDIS_AF_LIST
Definition: ndis.h:2265
#define NUMBER_OF_SINGLE_WORK_ITEMS
Definition: ndis.h:2306
#define NdisQueryBufferOffset(_Buffer, _Offset, _Length)
Definition: ndis.h:3368
enum _NDIS_PNP_DEVICE_STATE NDIS_PNP_DEVICE_STATE
VOID(NTAPI * CM_DEACTIVATE_VC_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE CallMgrVcContext)
Definition: ndis.h:1488
VOID(NTAPI * NDIS_BLOCK_INITIALIZER)(IN PUCHAR Block, IN SIZE_T NumberOfBytes)
Definition: ndis.h:3930
_NDIS_POWER_PROFILE
Definition: ndis.h:1013
@ NdisPowerProfileBattery
Definition: ndis.h:1014
@ NdisPowerProfileAcOnLine
Definition: ndis.h:1015
struct _CO_SAP * PCO_SAP
struct _NDIS50_PROTOCOL_CHARACTERISTICS NDIS50_PROTOCOL_CHARACTERISTICS
NDIS_STATUS(NTAPI * WM_TRANSFER_DATA_HANDLER)(VOID)
Definition: ndis.h:2022
_In_ UINT _In_ UINT _In_ PNDIS_PACKET _In_ UINT _Out_ PUINT BytesCopied
Definition: ndis.h:3171
struct _NDIS_DMA_DESCRIPTION NDIS_DMA_DESCRIPTION
NDISAPI VOID NTAPI NdisGetCurrentProcessorCpuUsage(OUT PULONG pCpuUsage)
NDISAPI VOID NTAPI NdisDestroyLookaheadBufferFromSharedMemory(IN PVOID pLookaheadBuffer)
struct _NDIS_SPIN_LOCK * PNDIS_SPIN_LOCK
_In_ PPNDIS_PACKET _In_ UINT NumberOfPackets
Definition: ndis.h:5121
VOID(NTAPI * TR_RCV_COMPLETE_HANDLER)(_In_ PTR_FILTER Filter)
Definition: ndis.h:2367
VOID(NTAPI * CL_INCOMING_CLOSE_CALL_HANDLER)(IN NDIS_STATUS CloseStatus, IN NDIS_HANDLE ProtocolVcContext, IN PVOID CloseData OPTIONAL, IN UINT Size OPTIONAL)
Definition: ndis.h:1676
NDISAPI VOID NTAPI NdisMDeregisterAdapterShutdownHandler(_In_ NDIS_HANDLE MiniportHandle)
_In_ UINT InitialPort
Definition: ndis.h:5443
VOID(NTAPI * W_HANDLE_INTERRUPT_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1953
_In_ NDIS_HANDLE _In_ PNET_PNP_EVENT NetPnPEvent
Definition: ndis.h:6082
UNICODE_STRING NDIS_STRING
Definition: ndis.h:341
struct _NDIS_WORK_ITEM * PNDIS_WORK_ITEM
CM_EISA_FUNCTION_INFORMATION NDIS_EISA_FUNCTION_INFORMATION
Definition: ndis.h:651
_Must_inspect_result_ _In_ NDIS_HANDLE _In_ PCO_SAP _Out_ PNDIS_HANDLE NdisSapHandle
Definition: ndis.h:4859
VOID(NTAPI * WAN_SEND_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ PNDIS_WAN_PACKET Packet, _In_ NDIS_STATUS Status)
Definition: ndis.h:1764
struct _NDIS_ENCAPSULATION_FORMAT * PNDIS_ENCAPSULATION_FORMAT
_In_ PPNDIS_PACKET PacketArray
Definition: ndis.h:5120
#define NDIS_COMMON_OPEN_BLOCK_S
Definition: ndis.h:2752
NDISAPI VOID NTAPI NdisSetPeriodicTimer(_In_ PNDIS_TIMER NdisTimer, _In_ UINT MillisecondsPeriod)
VOID(NTAPI * W_MINIPORT_CALLBACK)(IN NDIS_HANDLE MiniportAdapterContext, IN PVOID CallbackContext)
Definition: ndis.h:5885
VOID(NTAPI * ADAPTER_SHUTDOWN_HANDLER)(_In_ PVOID ShutdownContext)
Definition: ndis.h:2025
_Out_ PNDIS_HANDLE _Out_ PUINT FileLength
Definition: ndis.h:3228
struct _NDIS50_MINIPORT_CHARACTERISTICS * PSNDIS50_MINIPORT_CHARACTERISTICS
VOID(NTAPI * UNLOAD_PROTOCOL_HANDLER)(VOID)
Definition: ndis.h:1863
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT _In_ UINT _In_ NDIS_HANDLE _In_ NDIS_HANDLE ProtocolBindingContext
Definition: ndis.h:6015
_In_ NDIS_HANDLE NdisProtocolHandle
Definition: ndis.h:6001
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT SelectedMediumIndex
Definition: ndis.h:6011
VOID(NTAPI * OPEN_ADAPTER_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ NDIS_STATUS Status, _In_ NDIS_STATUS OpenErrorStatus)
Definition: ndis.h:1725
struct _NDIS_CONFIGURATION_PARAMETER NDIS_CONFIGURATION_PARAMETER
MINIPORT_CO_CREATE_VC * W_CO_CREATE_VC_HANDLER
Definition: ndis.h:2102
_NDIS_CLASS_ID
Definition: ndis.h:760
@ NdisClassAtmAALInfo
Definition: ndis.h:764
@ NdisClassWirelessWanMbxMailbox
Definition: ndis.h:762
@ NdisClassIrdaPacketInfo
Definition: ndis.h:763
@ NdisClass802_3Priority
Definition: ndis.h:761
struct _NDIS51_MINIPORT_CHARACTERISTICS NDIS51_MINIPORT_CHARACTERISTICS
struct _OID_LIST OID_LIST
Definition: ndis.h:986
VOID(NTAPI * CM_INCOMING_CALL_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE CallMgrVcContext, IN PCO_CALL_PARAMETERS CallParameters)
Definition: ndis.h:1499
NDISAPI VOID NTAPI NdisCopyFromPacketToPacketSafe(IN PNDIS_PACKET Destination, IN UINT DestinationOffset, IN UINT BytesToCopy, IN PNDIS_PACKET Source, IN UINT SourceOffset, OUT PUINT BytesCopied, IN MM_PAGE_PRIORITY Priority)
Definition: buffer.c:1202
struct _NDIS40_MINIPORT_CHARACTERISTICS * PNDIS40_MINIPORT_CHARACTERISTICS
#define NUMBER_OF_WORK_ITEM_TYPES
Definition: ndis.h:2305
MDL NDIS_BUFFER
Definition: ndis.h:343
_In_ PNDIS_STRING _In_ PNDIS_STRING _Out_ PDEVICE_OBJECT _Out_ NDIS_HANDLE * NdisDeviceHandle
Definition: ndis.h:4680
_In_ NDIS_STATUS EventCode
Definition: ndis.h:4751
struct _NDIS_AF_LIST * PNDIS_AF_LIST
Definition: ndis.h:2265
_Must_inspect_result_ _In_ PCO_ADDRESS_FAMILY _In_ NDIS_HANDLE _In_ PNDIS_CLIENT_CHARACTERISTICS _In_ UINT _Out_ PNDIS_HANDLE NdisAfHandle
Definition: ndis.h:4848
_Out_ PNDIS_HANDLE _In_ PNDIS_PROTOCOL_CHARACTERISTICS ProtocolCharacteristics
Definition: ndis.h:6135
struct _X_FILTER NULL_FILTER
Definition: ndis.h:317
struct _NDIS_PACKET_8021Q_INFO * PNDIS_PACKET_8021Q_INFO
struct _X_FILTER TR_FILTER
Definition: ndis.h:316
VOID(FASTCALL * NDIS_M_DEQUEUE_WORK_ITEM)(IN PNDIS_MINIPORT_BLOCK Miniport, IN NDIS_WORK_ITEM_TYPE WorkItemType, OUT PVOID *WorkItemContext)
Definition: ndis.h:2394
_Out_ PNDIS_BUFFER _In_opt_ NDIS_HANDLE _In_ UINT Length
Definition: ndis.h:2870
_Must_inspect_result_ _In_ NDIS_HANDLE _In_ PCO_CALL_PARAMETERS _Out_ PNDIS_HANDLE NdisPartyHandle
Definition: ndis.h:4769
_In_ UINT _In_ UINT BytesToCopy
Definition: ndis.h:3168
struct _CO_CALL_PARAMETERS * PCO_CALL_PARAMETERS
_Must_inspect_result_ _In_ PCO_ADDRESS_FAMILY _In_ NDIS_HANDLE _In_ PNDIS_CLIENT_CHARACTERISTICS _In_ UINT SizeOfClCharacteristics
Definition: ndis.h:4847
ULONG NDIS_AF
Definition: ndis.h:1036
NDIS_STATUS(NTAPI * ADD_ADAPTER_HANDLER)(IN NDIS_HANDLE MacMacContext, IN NDIS_HANDLE WrapperConfigurationContext, IN PNDIS_STRING AdapterName)
Definition: ndis.h:6193
_In_ PNDIS_TIMER_FUNCTION TimerFunction
Definition: ndis.h:2811
NDISAPI NDIS_STATUS NTAPI NdisIMRegisterLayeredMiniport(_In_ NDIS_HANDLE NdisWrapperHandle, _In_ PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics, _In_ UINT CharacteristicsLength, _Out_ PNDIS_HANDLE DriverHandle)
NDIS_STATUS(NTAPI * PNP_EVENT_HANDLER)(IN NDIS_HANDLE ProtocolBindingContext, IN PNET_PNP_EVENT NetPnPEvent)
Definition: ndis.h:1858
_In_ NDIS_STATUS Status
Definition: ndis.h:3215
_Out_ PNDIS_HANDLE NdisDriverHandle
Definition: ndis.h:6064
struct _NDIS_MINIPORT_TIMER NDIS_MINIPORT_TIMER
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT _In_ UINT _In_ NDIS_HANDLE _In_ NDIS_HANDLE _In_ PNDIS_STRING _In_ UINT OpenOptions
Definition: ndis.h:6017
NDISAPI VOID NTAPI NdisTransferData(OUT PNDIS_STATUS Status, IN NDIS_HANDLE NdisBindingHandle, IN NDIS_HANDLE MacReceiveContext, IN UINT ByteOffset, IN UINT BytesToTransfer, IN OUT PNDIS_PACKET Packet, OUT PUINT BytesTransferred)
Definition: protocol.c:1307
NDISAPI VOID NTAPI NdisReadEisaSlotInformationEx(OUT PNDIS_STATUS Status, IN NDIS_HANDLE WrapperConfigurationContext, OUT PUINT SlotNumber, OUT PNDIS_EISA_FUNCTION_INFORMATION *EisaData, OUT PUINT NumberOfFunctions)
Definition: 40stubs.c:298
NDIS_STATUS(NTAPI * W_SET_INFORMATION_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ NDIS_OID Oid, _In_ PVOID InformationBuffer, _In_ ULONG InformationBufferLength, _Out_ PULONG BytesRead, _Out_ PULONG BytesNeeded)
Definition: ndis.h:2004
NDIS_STATUS(NTAPI * W_TRANSFER_DATA_HANDLER)(_Out_ PNDIS_PACKET Packet, _Out_ PUINT BytesTransferred, _In_ NDIS_HANDLE MiniportAdapterContext, _In_ NDIS_HANDLE MiniportReceiveContext, _In_ UINT ByteOffset, _In_ UINT BytesToTransfer)
Definition: ndis.h:2013
_In_ NDIS_STATUS _In_ NDIS_HANDLE Handle
Definition: ndis.h:3216
UNICODE_STRING * PNDIS_STRING
Definition: ndis.h:341
_In_ PNDIS_STRING DeviceName
Definition: ndis.h:4676
NDISAPI VOID NTAPI NdisSend(OUT PNDIS_STATUS Status, IN NDIS_HANDLE NdisBindingHandle, IN PNDIS_PACKET Packet)
Definition: protocol.c:1272
MDL * PNDIS_BUFFER
Definition: ndis.h:343
struct _NDIS_TASK_OFFLOAD_HEADER NDIS_TASK_OFFLOAD_HEADER
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT _In_ UINT MediumArraySize
Definition: ndis.h:6013
_In_ UINT MsToWait
Definition: ndis.h:5881
CM_PARTIAL_RESOURCE_LIST * PNDIS_RESOURCE_LIST
Definition: ndis.h:652
enum _NDIS_REQUEST_TYPE NDIS_REQUEST_TYPE
NDIS_STATUS(NTAPI * CLOSE_ADAPTER_HANDLER)(IN NDIS_HANDLE MacBindingHandle)
Definition: ndis.h:6180
_NDIS_TASK
Definition: ndis.h:1199
@ MaxNdisTask
Definition: ndis.h:1203
@ TcpIpChecksumNdisTask
Definition: ndis.h:1200
@ TcpLargeSendNdisTask
Definition: ndis.h:1202
@ IpSecNdisTask
Definition: ndis.h:1201
enum _NDIS_PROCESSOR_TYPE NDIS_PROCESSOR_TYPE
enum _NDIS_POWER_PROFILE * PNDIS_POWER_PROFILE
struct _NDIS_WORK_ITEM NDIS_WORK_ITEM
_In_ PNDIS_STRING DeviceInstance
Definition: ndis.h:5202
NTSTATUS(NTAPI * TDI_REGISTER_CALLBACK)(_In_ PUNICODE_STRING DeviceName, _Out_ HANDLE *TdiHandle)
Definition: ndis.h:973
VOID(NTAPI * CL_CALL_CONNECTED_HANDLER)(IN NDIS_HANDLE ProtocolVcContext)
Definition: ndis.h:1690
_Acquires_exclusive_lock_ Lock _In_ BOOLEAN _Out_ _IRQL_saves_ PLOCK_STATE LockState
Definition: ndis.h:4587
_Must_inspect_result_ _In_ PCO_ADDRESS_FAMILY _In_ PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics
Definition: ndis.h:5006
struct _CO_SPECIFIC_PARAMETERS CO_SPECIFIC_PARAMETERS
VOID(NTAPI * RESET_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ NDIS_STATUS Status)
Definition: ndis.h:1736
struct _NDIS_WAN_LINE_UP NDIS_WAN_LINE_UP
NDIS_PROTOCOL_CHARACTERISTICS * PNDIS_PROTOCOL_CHARACTERISTICS
Definition: ndis.h:1930
_NDIS_INTERFACE_TYPE
Definition: ndis.h:899
@ NdisInterfaceIrda
Definition: ndis.h:915
@ NdisInterfaceIsa
Definition: ndis.h:901
@ NdisInterfaceUSB
Definition: ndis.h:914
@ NdisInterfaceInternal
Definition: ndis.h:900
@ NdisInterfaceInternalPowerBus
Definition: ndis.h:911
@ NdisInterfacePci
Definition: ndis.h:905
@ NdisInterfaceProcessorInternal
Definition: ndis.h:910
@ NdisInterfaceTurboChannel
Definition: ndis.h:904
@ NdisInterface1394
Definition: ndis.h:916
@ NdisMaximumInterfaceType
Definition: ndis.h:917
@ NdisInterfacePNPBus
Definition: ndis.h:913
@ NdisInterfaceMca
Definition: ndis.h:903
@ NdisInterfaceEisa
Definition: ndis.h:902
@ NdisInterfacePcMcia
Definition: ndis.h:906
@ NdisInterfaceMPSABus
Definition: ndis.h:909
@ NdisInterfacePNPISABus
Definition: ndis.h:912
@ NdisInterfaceCBus
Definition: ndis.h:907
@ NdisInterfaceMPIBus
Definition: ndis.h:908
struct _NDIS_CALL_MANAGER_CHARACTERISTICS NDIS_CALL_MANAGER_CHARACTERISTICS
struct _NDIS_DMA_DESCRIPTION * PNDIS_DMA_DESCRIPTION
VOID(NTAPI * NDIS_M_SEND_COMPLETE_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle, _In_ PNDIS_PACKET Packet, _In_ NDIS_STATUS Status)
Definition: ndis.h:2423
struct _NDIS30_MINIPORT_CHARACTERISTICS NDIS30_MINIPORT_CHARACTERISTICS
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _In_ NDIS_HANDLE WrapperConfigurationContext
Definition: ndis.h:3946
struct _NDIS_WAN_CO_FRAGMENT NDIS_WAN_CO_FRAGMENT
VOID(NTAPI * W_RETURN_PACKET_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ PNDIS_PACKET Packet)
Definition: ndis.h:2029
_In_ NDIS_ERROR_CODE ErrorCode
Definition: ndis.h:4436
_In_ NDIS_HANDLE _In_opt_ NDIS_HANDLE CallMgrPartyContext
Definition: ndis.h:4880
VOID(NTAPI * CL_CLOSE_CALL_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolVcContext, IN NDIS_HANDLE ProtocolPartyContext OPTIONAL)
Definition: ndis.h:1647
struct _NDIS_IPSEC_PACKET_INFO * PNDIS_IPSEC_PACKET_INFO
_NDIS_ENVIRONMENT_TYPE
Definition: ndis.h:893
@ NdisEnvironmentWindows
Definition: ndis.h:894
@ NdisEnvironmentWindowsNt
Definition: ndis.h:895
struct _WAN_CO_LINKPARAMS * PWAN_CO_LINKPARAMS
_In_ ULONG _In_ BOOLEAN _Must_inspect_result_ PVOID * VirtualAddress
Definition: ndis.h:3791
NDISAPI NDIS_STATUS NTAPI NdisPciAssignResources(IN NDIS_HANDLE NdisMacHandle, IN NDIS_HANDLE NdisWrapperHandle, IN NDIS_HANDLE WrapperConfigurationContext, IN ULONG SlotNumber, OUT PNDIS_RESOURCE_LIST *AssignedResources)
Definition: hardware.c:83
_In_ UINT _In_ UINT NumberOfPorts
Definition: ndis.h:5444
NDISAPI VOID NTAPI NdisImmediateReadSharedMemory(IN NDIS_HANDLE WrapperConfigurationContext, IN ULONG SharedMemoryAddress, OUT PUCHAR Buffer, IN ULONG Length)
Definition: 40stubs.c:269
_In_ BOOLEAN Dma64BitAddresses
Definition: ndis.h:4652
NDIS_STATUS(* OPEN_ADAPTER_HANDLER)(OUT PNDIS_STATUS OpenErrorStatus, OUT NDIS_HANDLE *MacBindingHandle, OUT PUINT SelectedMediumIndex, IN PNDIS_MEDIUM MediumArray, IN UINT MediumArraySize, IN NDIS_HANDLE NdisBindingContext, IN NDIS_HANDLE MacAdapterContext, IN UINT OpenOptions, IN PSTRING AddressingInformation OPTIONAL)
Definition: ndis.h:6169
struct _CO_ADDRESS_FAMILY * PCO_ADDRESS_FAMILY
NDIS_STATUS(NTAPI * RECEIVE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ NDIS_HANDLE MacReceiveContext, _In_ PVOID HeaderBuffer, _In_ UINT HeaderBufferSize, _In_ PVOID LookAheadBuffer, _In_ UINT LookaheadBufferSize, _In_ UINT PacketSize)
Definition: ndis.h:1781
_Must_inspect_result_ _Out_ PULONG IoCount
Definition: ndis.h:6126
NDISAPI VOID NTAPI NdisDeregisterTdiCallBack(VOID)
Definition: 50stubs.c:286
_In_ BOOLEAN _In_ ULONG MaximumPhysicalMapping
Definition: ndis.h:4653
VOID(NTAPI * RECEIVE_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext)
Definition: ndis.h:1797
struct _CO_CALL_MANAGER_PARAMETERS CO_CALL_MANAGER_PARAMETERS
struct _CO_CALL_PARAMETERS CO_CALL_PARAMETERS
_NDIS_PER_PACKET_INFO
Definition: ndis.h:1177
@ ClassificationHandlePacketInfo
Definition: ndis.h:1181
@ MaxPerPacketInfo
Definition: ndis.h:1190
@ OriginalNetBufferList
Definition: ndis.h:1187
@ IpSecPacketInfo
Definition: ndis.h:1179
@ TcpIpChecksumPacketInfo
Definition: ndis.h:1178
@ NdisReserved
Definition: ndis.h:1182
@ Ieee8021QInfo
Definition: ndis.h:1184
@ PacketCancelId
Definition: ndis.h:1186
@ ShortPacketPaddingInfo
Definition: ndis.h:1189
@ ScatterGatherListPacketInfo
Definition: ndis.h:1183
@ OriginalPacketInfo
Definition: ndis.h:1185
@ TcpLargeSendPacketInfo
Definition: ndis.h:1180
@ CachedNetBufferList
Definition: ndis.h:1188
enum _NDIS_PARAMETER_TYPE * PNDIS_PARAMETER_TYPE
struct _NDIS40_PROTOCOL_CHARACTERISTICS NDIS40_PROTOCOL_CHARACTERISTICS
VOID(NTAPI * WAN_TRANSFER_DATA_COMPLETE_HANDLER)(VOID)
Definition: ndis.h:1777
_Must_inspect_result_ _In_ NDIS_HANDLE _In_ PCO_SAP Sap
Definition: ndis.h:4858
struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO * PNDIS_TCP_IP_CHECKSUM_PACKET_INFO
_In_ NDIS_HANDLE _Out_ PNDIS_HANDLE MiniportVcContext
Definition: ndis.h:2101
_In_ ULONG _In_ BOOLEAN Cached
Definition: ndis.h:3789
Obsolete NDISAPI NDIS_STATUS NTAPI NdisAllocateMemory(_At_(*VirtualAddress, __drv_allocatesMem(Mem)) _Outptr_result_bytebuffer_(Length) PVOID *VirtualAddress, _In_ UINT Length, _In_ UINT MemoryFlags, _In_ NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress)
_In_ NDIS_HANDLE MiniportAdapterHandle
Definition: ndis.h:4668
#define NDIS_ERROR_CODE
Definition: ndis.h:560
_Acquires_exclusive_lock_ Lock _In_ BOOLEAN fWrite
Definition: ndis.h:4586
struct _NDIS_TASK_TCP_LARGE_SEND NDIS_TASK_TCP_LARGE_SEND
struct _NDIS_PHYSICAL_ADDRESS_UNIT NDIS_PHYSICAL_ADDRESS_UNIT
_Must_inspect_result_ _In_ NDIS_HANDLE ProtocolSapContext
Definition: ndis.h:4857
_In_ PNDIS_STRING _In_opt_ NDIS_HANDLE DeviceContext
Definition: ndis.h:5246
struct _NDIS_WAN_LINE_DOWN * PNDIS_WAN_LINE_DOWN
NDISAPI VOID NTAPI NdisSendPackets(IN NDIS_HANDLE NdisBindingHandle, IN PPNDIS_PACKET PacketArray, IN UINT NumberOfPackets)
Definition: protocol.c:1293
CM_PARTIAL_RESOURCE_LIST NDIS_RESOURCE_LIST
Definition: ndis.h:652
_In_ UINT MillisecondsToDelay
Definition: ndis.h:2828
enum _NDIS_ENVIRONMENT_TYPE NDIS_ENVIRONMENT_TYPE
_In_ NDIS_HANDLE NdisVcHandle
Definition: ndis.h:2100
struct _NDIS_CLIENT_CHARACTERISTICS NDIS_CLIENT_CHARACTERISTICS
ANSI_STRING NDIS_ANSI_STRING
Definition: ndis.h:340
PVOID * PNDIS_HANDLE
Definition: ndis.h:338
struct _NDIS30_MINIPORT_CHARACTERISTICS * PSNDIS30_MINIPORT_CHARACTERISTICS
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE ConfigurationHandle
Definition: ndis.h:3945
struct _NDIS_PACKET_8021Q_INFO NDIS_PACKET_8021Q_INFO
NDISAPI VOID NTAPI NdisIMCopySendCompletePerPacketInfo(IN PNDIS_PACKET DstPacket, IN PNDIS_PACKET SrcPacket)
Definition: buffer.c:1281
VOID(NTAPI * WAN_RCV_COMPLETE_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle, _In_ NDIS_HANDLE NdisLinkContext)
Definition: ndis.h:2381
struct _X_FILTER * PFDDI_FILTER
Definition: ndis.h:315
enum _NDIS_PARAMETER_TYPE NDIS_PARAMETER_TYPE
struct _NDIS_BIND_PATHS * PNDIS_BIND_PATHS
VOID(NTAPI * NDIS_PROC)(struct _NDIS_WORK_ITEM *, PVOID)
Definition: ndis.h:2315
struct _NDIS_PACKET_EXTENSION * PNDIS_PACKET_EXTENSION
VOID(NTAPI * ETH_RCV_INDICATE_HANDLER)(_In_ PETH_FILTER Filter, _In_ NDIS_HANDLE MacReceiveContext, _In_ PCHAR Address, _In_ PVOID HeaderBuffer, _In_ UINT HeaderBufferSize, _In_ PVOID LookaheadBuffer, _In_ UINT LookaheadBufferSize, _In_ UINT PacketSize)
Definition: ndis.h:2334
#define NDIS30_MINIPORT_CHARACTERISTICS_S
Definition: ndis.h:2049
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS OpenErrorStatus
Definition: ndis.h:6009
enum _NDIS_WORK_ITEM_TYPE NDIS_WORK_ITEM_TYPE
struct _X_FILTER ETH_FILTER
Definition: ndis.h:2266
VOID(NTAPI * NDIS_M_STATUS_HANDLER)(_In_ NDIS_HANDLE MiniportHandle, _In_ NDIS_STATUS GeneralStatus, _In_ PVOID StatusBuffer, _In_ UINT StatusBufferSize)
Definition: ndis.h:2437
VOID(NTAPI * W_CANCEL_SEND_PACKETS_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ PVOID CancelId)
Definition: ndis.h:2169
struct _NDIS_CALL_MANAGER_CHARACTERISTICS * PNDIS_CALL_MANAGER_CHARACTERISTICS
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
struct _NDIS_WAN_PACKET NDIS_WAN_PACKET
NDIS_STATUS(NTAPI * W_QUERY_INFORMATION_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ NDIS_OID Oid, _In_ PVOID InformationBuffer, _In_ ULONG InformationBufferLength, _Out_ PULONG BytesWritten, _Out_ PULONG BytesNeeded)
Definition: ndis.h:1972
_Inout_opt_ PDEVICE_OBJECT * PhysicalDeviceObject
Definition: ndis.h:4640
NDISAPI NDIS_STATUS NTAPI NdisMCmRegisterAddressFamily(IN NDIS_HANDLE MiniportAdapterHandle, IN PCO_ADDRESS_FAMILY AddressFamily, IN PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics, IN UINT SizeOfCmCharacteristics)
Definition: cm.c:447
NDISAPI VOID NTAPI NdisImmediateWriteSharedMemory(IN NDIS_HANDLE WrapperConfigurationContext, IN ULONG SharedMemoryAddress, IN PUCHAR Buffer, IN ULONG Length)
Definition: 40stubs.c:283
_Must_inspect_result_ NDISAPI NDIS_STATUS NTAPI NdisQueryBindInstanceName(_Out_ PNDIS_STRING pAdapterInstanceName, _In_ NDIS_HANDLE BindingContext)
CM_EISA_FUNCTION_INFORMATION * PNDIS_EISA_FUNCTION_INFORMATION
Definition: ndis.h:651
_In_ NDIS_STATUS _In_ ULONG UniqueEventValue
Definition: ndis.h:4752
NDISAPI VOID NTAPI NdisGetFirstBufferFromPacket(IN PNDIS_PACKET _Packet, OUT PNDIS_BUFFER *_FirstBuffer, OUT PVOID *_FirstBufferVA, OUT PUINT _FirstBufferLength, OUT PUINT _TotalBufferLength)
Definition: buffer.c:873
_Out_ PVOID * MappedBuffer
Definition: ndis.h:3245
NDIS_STATUS(NTAPI * CM_REG_SAP_HANDLER)(IN NDIS_HANDLE CallMgrAfContext, IN PCO_SAP Sap, IN NDIS_HANDLE NdisSapHandle, OUT PNDIS_HANDLE CallMgrSapContext)
Definition: ndis.h:1524
NDISAPI VOID NTAPI NdisRegisterTdiCallBack(_In_ TDI_REGISTER_CALLBACK RegisterCallback, _In_ TDI_PNP_HANDLER PnPHandler)
VOID(NTAPI * UNBIND_HANDLER)(OUT PNDIS_STATUS Status, IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE UnbindContext)
Definition: ndis.h:1852
_In_opt_ NDIS_HANDLE _In_ NDIS_STATUS _In_ PVOID StatusBuffer
Definition: ndis.h:1557
_In_ NDIS_HANDLE ProtocolVcContext
Definition: ndis.h:1548
VOID(NTAPI * TR_RCV_INDICATE_HANDLER)(_In_ PTR_FILTER Filter, _In_ NDIS_HANDLE MacReceiveContext, _In_ PVOID HeaderBuffer, _In_ UINT HeaderBufferSize, _In_ PVOID LookaheadBuffer, _In_ UINT LookaheadBufferSize, _In_ UINT PacketSize)
Definition: ndis.h:2371
struct _NDIS_REQUEST * PNDIS_REQUEST
MINIPORT_CO_DELETE_VC * W_CO_DELETE_VC_HANDLER
Definition: ndis.h:2109
#define NDIS40_MINIPORT_CHARACTERISTICS_S
Definition: ndis.h:2081
_In_ NDIS_HANDLE _In_ NDIS_HANDLE CallMgrSapContext
Definition: ndis.h:5016
* PNDIS_STATUS
Definition: ndis.h:45
NDIS_STATUS(NTAPI * CM_MAKE_CALL_HANDLER)(IN NDIS_HANDLE CallMgrVcContext, IN OUT PCO_CALL_PARAMETERS CallParameters, IN NDIS_HANDLE NdisPartyHandle OPTIONAL, OUT PNDIS_HANDLE CallMgrPartyContext OPTIONAL)
Definition: ndis.h:1505
VOID(NTAPI * W_HALT_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1949
VOID(NTAPI * W_ENABLE_INTERRUPT_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1945
struct _NDIS_TIMER NDIS_TIMER
VOID(NTAPI * CM_ACTIVATE_VC_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE CallMgrVcContext, IN PCO_CALL_PARAMETERS CallParameters)
Definition: ndis.h:1460
NDIS_MAC_CHARACTERISTICS NDIS_WAN_MAC_CHARACTERISTICS
Definition: ndis.h:6219
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT _In_ UINT _In_ NDIS_HANDLE _In_ NDIS_HANDLE _In_ PNDIS_STRING AdapterName
Definition: ndis.h:6016
_Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PCM_RESOURCE_LIST _Inout_opt_ PCM_RESOURCE_LIST * AllocatedResourcesTranslated
Definition: ndis.h:4644
_In_ ULONG _In_ BOOLEAN _In_ PVOID Context
Definition: ndis.h:3803
_Must_inspect_result_ _In_ PCO_ADDRESS_FAMILY _In_ PNDIS_CALL_MANAGER_CHARACTERISTICS _In_ UINT SizeOfCmCharacteristics
Definition: ndis.h:5007
NDISAPI VOID NTAPI NdisUnchainBufferAtBack(IN OUT PNDIS_PACKET Packet, OUT PNDIS_BUFFER *Buffer)
Definition: buffer.c:1020
CM_EISA_SLOT_INFORMATION NDIS_EISA_SLOT_INFORMATION
Definition: ndis.h:650
struct _NDIS_IPSEC_PACKET_INFO NDIS_IPSEC_PACKET_INFO
_In_opt_ NDIS_HANDLE _In_opt_ NDIS_HANDLE _Inout_ PNDIS_REQUEST NdisRequest
Definition: ndis.h:1573
NDIS_STATUS(NTAPI * CL_INCOMING_CALL_HANDLER)(IN NDIS_HANDLE ProtocolSapContext, IN NDIS_HANDLE ProtocolVcContext, IN OUT PCO_CALL_PARAMETERS CallParameters)
Definition: ndis.h:1665
struct _NDIS_EVENT * PNDIS_EVENT
VOID(NTAPI * TRANSFER_DATA_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ PNDIS_PACKET Packet, _In_ NDIS_STATUS Status, _In_ UINT BytesTransferred)
Definition: ndis.h:1770
struct _NDIS_MAC_FRAGMENT * PNDIS_MAC_FRAGMENT
NTSTATUS(NTAPI * TDI_PNP_HANDLER)(_In_ PUNICODE_STRING UpperComponent, _In_ PUNICODE_STRING LowerComponent, _In_ PUNICODE_STRING BindList, _In_ PVOID ReconfigBuffer, _In_ UINT ReconfigBufferSize, _In_ UINT Operation)
Definition: ndis.h:978
NDIS_STATUS(NTAPI * WAN_TRANSFER_DATA_HANDLER)(VOID)
Definition: ndis.h:6183
struct _NDIS_MINIPORT_WORK_ITEM * PNDIS_MINIPORT_WORK_ITEM
struct _NDIS_WAN_LINE_UP * PNDIS_WAN_LINE_UP
_In_opt_ NDIS_HANDLE ProtocolAfContext
Definition: ndis.h:1579
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING _Out_ PNDIS_HANDLE SubKeyHandle
Definition: ndis.h:4726
_In_ UINT LogBufferSize
Definition: ndis.h:5822
enum _NDIS_ENCAPSULATION NDIS_ENCAPSULATION
VOID(NTAPI * CL_MODIFY_CALL_QOS_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolVcContext, IN PCO_CALL_PARAMETERS CallParameters)
Definition: ndis.h:1641
struct _NDIS_CLIENT_CHARACTERISTICS * PNDIS_CLIENT_CHARACTERISTICS
VOID(NTAPI * BIND_HANDLER)(OUT PNDIS_STATUS Status, IN NDIS_HANDLE BindContext, IN PNDIS_STRING DeviceName, IN PVOID SystemSpecific1, IN PVOID SystemSpecific2)
Definition: ndis.h:1844
struct _NDIS_PACKET_OOB_DATA * PNDIS_PACKET_OOB_DATA
struct _CO_SAP CO_SAP
VOID(NTAPI * FDDI_RCV_INDICATE_HANDLER)(IN PFDDI_FILTER Filter, IN NDIS_HANDLE MacReceiveContext, IN PCHAR Address, IN UINT AddressLength, IN PVOID HeaderBuffer, IN UINT HeaderBufferSize, IN PVOID LookaheadBuffer, IN UINT LookaheadBufferSize, IN UINT PacketSize)
Definition: ndis.h:2349
NDIS_STATUS(NTAPI * W_SEND_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ PNDIS_PACKET Packet, _In_ UINT Flags)
Definition: ndis.h:1992
struct _NDIS_EVENT NDIS_EVENT
VOID(NTAPI * W_DISABLE_INTERRUPT_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1941
_Out_ PNDIS_HANDLE _Out_ PUINT _In_ PNDIS_STRING _In_ NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
Definition: ndis.h:3230
_In_ _Points_to_data_ PVOID CancelId
Definition: ndis.h:6117
MINIPORT_CO_DEACTIVATE_VC * W_CO_DEACTIVATE_VC_HANDLER
Definition: ndis.h:2124
BOOLEAN(NTAPI * PNDIS_INTERRUPT_SERVICE)(IN PVOID InterruptContext)
Definition: ndis.h:2250
NDISAPI VOID NTAPI NdisSetProtocolFilter(_At_(*Status, _Must_inspect_result_) _Out_ PNDIS_STATUS Status, _In_ NDIS_HANDLE NdisBindingHandle, _In_ RECEIVE_HANDLER ReceiveHandler, _In_ RECEIVE_PACKET_HANDLER ReceivePacketHandler, _In_ NDIS_MEDIUM Medium, _In_ UINT Offset, _In_ UINT Size, _In_ PUCHAR Pattern)
NDIS_STATUS(FASTCALL * NDIS_M_QUEUE_NEW_WORK_ITEM)(IN PNDIS_MINIPORT_BLOCK Miniport, IN NDIS_WORK_ITEM_TYPE WorkItemType, IN PVOID WorkItemContext)
Definition: ndis.h:2400
#define NDISAPI
enum _NDIS_REQUEST_TYPE * PNDIS_REQUEST_TYPE
struct _NDIS_WAN_CO_FRAGMENT * PNDIS_WAN_CO_FRAGMENT
NDISAPI VOID NTAPI NdisMWanIndicateReceive(OUT PNDIS_STATUS Status, IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_HANDLE NdisLinkContext, IN PUCHAR PacketBuffer, IN UINT PacketSize)
Definition: 50stubs.c:230
VOID(NTAPI * FDDI_RCV_COMPLETE_HANDLER)(IN PFDDI_FILTER Filter)
Definition: ndis.h:2345
struct _REFERENCE REFERENCE
struct _NDIS_MAC_FRAGMENT NDIS_MAC_FRAGMENT
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4715
VOID(NTAPI * CL_INCOMING_DROP_PARTY_HANDLER)(IN NDIS_STATUS DropStatus, IN NDIS_HANDLE ProtocolPartyContext, IN PVOID CloseData OPTIONAL, IN UINT Size OPTIONAL)
Definition: ndis.h:1683
enum _NDIS_PER_PACKET_INFO * PNDIS_PER_PACKET_INFO
NDIS_STATUS(NTAPI * W_RESET_HANDLER)(_Out_ PBOOLEAN AddressingReset, _In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1987
union _NDIS_RW_LOCK_REFCOUNT NDIS_RW_LOCK_REFCOUNT
_Out_ BOOLEAN * StacksRemaining
Definition: ndis.h:2953
_In_ NDIS_STATUS _In_ NDIS_STATUS OpenStatus
Definition: ndis.h:6035
struct _NDIS_ENCAPSULATION_FORMAT NDIS_ENCAPSULATION_FORMAT
IN PCO_ADDRESS_FAMILY AddressFamily
Definition: ndis.h:1906
struct _NDIS_MAC_LINE_DOWN * PNDIS_MAC_LINE_DOWN
struct _NDIS_OFFLOAD NDIS_OFFLOAD
Definition: ndis.h:2264
struct _NDIS_PACKET NDIS_PACKET
VOID(NTAPI * W_ISR_HANDLER)(_Out_ PBOOLEAN InterruptRecognized, _Out_ PBOOLEAN QueueMiniportHandleInterrupt, _In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1966
struct _NDIS_REQUEST NDIS_REQUEST
_In_ PNDIS_STRING _In_ PNDIS_STRING SymbolicName
Definition: ndis.h:4677
struct _X_FILTER * PTR_FILTER
Definition: ndis.h:316
struct _NDIS_OFFLOAD * PNDIS_OFFLOAD
Definition: ndis.h:2264
NDISAPI VOID NTAPI NdisReadEisaSlotInformation(OUT PNDIS_STATUS Status, IN NDIS_HANDLE WrapperConfigurationContext, OUT PUINT SlotNumber, OUT PNDIS_EISA_FUNCTION_INFORMATION EisaData)
Definition: hardware.c:219
struct _FILTERDBS FILTERDBS
struct _NDIS_PACKET_PRIVATE * PNDIS_PACKET_PRIVATE
VOID(NTAPI * STATUS_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ NDIS_STATUS GeneralStatus, _In_ PVOID StatusBuffer, _In_ UINT StatusBufferSize)
Definition: ndis.h:1747
_Out_ PNDIS_HANDLE _In_ PNDIS_STRING ProtocolSection
Definition: ndis.h:6073
NDISAPI VOID NTAPI NdisUpdateSharedMemory(IN NDIS_HANDLE NdisAdapterHandle, IN ULONG Length, IN PVOID VirtualAddress, IN NDIS_PHYSICAL_ADDRESS PhysicalAddress)
Definition: 40stubs.c:249
BOOLEAN(FASTCALL * NDIS_M_START_SENDS)(_In_ PNDIS_MINIPORT_BLOCK Miniport)
Definition: ndis.h:2433
VOID(NTAPI * W_CO_SEND_PACKETS_HANDLER)(_In_ NDIS_HANDLE MiniportVcContext, _In_ PPNDIS_PACKET PacketArray, _In_ UINT NumberOfPackets)
Definition: ndis.h:2127
_NDIS_REQUEST_TYPE
Definition: ndis.h:789
@ NdisRequestGeneric3
Definition: ndis.h:800
@ NdisRequestClose
Definition: ndis.h:794
@ NdisRequestOpen
Definition: ndis.h:793
@ NdisRequestQueryInformation
Definition: ndis.h:790
@ NdisRequestTransferData
Definition: ndis.h:796
@ NdisRequestSetInformation
Definition: ndis.h:791
@ NdisRequestGeneric4
Definition: ndis.h:801
@ NdisRequestGeneric2
Definition: ndis.h:799
@ NdisRequestQueryStatistics
Definition: ndis.h:792
@ NdisRequestReset
Definition: ndis.h:797
@ NdisRequestGeneric1
Definition: ndis.h:798
@ NdisRequestSend
Definition: ndis.h:795
struct _CO_MEDIA_PARAMETERS CO_MEDIA_PARAMETERS
enum _NDIS_PER_PACKET_INFO NDIS_PER_PACKET_INFO
struct _MEDIA_SPECIFIC_INFORMATION MEDIA_SPECIFIC_INFORMATION
VOID(NTAPI * CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(IN NDIS_HANDLE ProtocolVcContext, IN PCO_CALL_PARAMETERS CallParameters)
Definition: ndis.h:1671
CM_MCA_POS_DATA NDIS_MCA_POS_DATA
Definition: ndis.h:649
struct _NDIS_TIMER * PNDIS_TIMER
_In_opt_ NDIS_HANDLE _In_ NDIS_STATUS GeneralStatus
Definition: ndis.h:1556
VOID(NTAPI * ETH_RCV_COMPLETE_HANDLER)(_In_ PETH_FILTER Filter)
Definition: ndis.h:2330
VOID(NTAPI * CL_MAKE_CALL_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolVcContext, IN NDIS_HANDLE NdisPartyHandle OPTIONAL, IN PCO_CALL_PARAMETERS CallParameters)
Definition: ndis.h:1634
_Out_ _At_ TimerCancelled PBOOLEAN TimerCancelled
Definition: ndis.h:2820
struct _NDIS_MINIPORT_TIMER * PNDIS_MINIPORT_TIMER
struct _NDIS_MINIPORT_WORK_ITEM NDIS_MINIPORT_WORK_ITEM
struct _NDIS_BIND_PATHS NDIS_BIND_PATHS
struct _LOCK_STATE * PLOCK_STATE
KINTERRUPT_MODE NDIS_INTERRUPT_MODE
Definition: ndis.h:923
struct _NDIS_WAN_LINE_DOWN NDIS_WAN_LINE_DOWN
NDIS_STATUS(NTAPI * CO_DELETE_VC_HANDLER)(IN NDIS_HANDLE ProtocolVcContext)
Definition: ndis.h:1537
KINTERRUPT_MODE * PNDIS_INTERRUPT_MODE
Definition: ndis.h:923
_In_ PVOID _In_ PVOID _In_ PVOID SystemSpecific3
Definition: ndis.h:639
struct _LOCK_STATE LOCK_STATE
struct _NDIS_TASK_TCP_IP_CHECKSUM * PNDIS_TASK_TCP_IP_CHECKSUM
#define NDIS30_PROTOCOL_CHARACTERISTICS_S
Definition: ndis.h:1802
struct _NDIS_WRAPPER_HANDLE NDIS_WRAPPER_HANDLE
Definition: ndis.h:2260
NDIS_STATUS(NTAPI * CM_CLOSE_CALL_HANDLER)(IN NDIS_HANDLE CallMgrVcContext, IN NDIS_HANDLE CallMgrPartyContext OPTIONAL, IN PVOID CloseData OPTIONAL, IN UINT Size OPTIONAL)
Definition: ndis.h:1477
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
Definition: rtlfuncs.h:1910
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
Definition: rtlfuncs.h:3004
_Out_ _Inout_ POEM_STRING DestinationString
Definition: rtlfuncs.h:1909
enum _NET_DEVICE_POWER_STATE * PNET_DEVICE_POWER_STATE
struct _NET_PNP_EVENT * PNET_PNP_EVENT
_NET_DEVICE_POWER_STATE
Definition: netpnp.h:5
@ NetDeviceStateD2
Definition: netpnp.h:9
@ NetDeviceStateD1
Definition: netpnp.h:8
@ NetDeviceStateMaximum
Definition: netpnp.h:11
@ NetDeviceStateUnspecified
Definition: netpnp.h:6
@ NetDeviceStateD3
Definition: netpnp.h:10
@ NetDeviceStateD0
Definition: netpnp.h:7
enum _NET_PNP_EVENT_CODE NET_PNP_EVENT_CODE
enum _NET_PNP_EVENT_CODE * PNET_PNP_EVENT_CODE
enum _NET_DEVICE_POWER_STATE NET_DEVICE_POWER_STATE
_NET_PNP_EVENT_CODE
Definition: netpnp.h:14
@ NetEventBindList
Definition: netpnp.h:20
@ NetEventMaximum
Definition: netpnp.h:28
@ NetEventSetPower
Definition: netpnp.h:15
@ NetEventPnPCapabilities
Definition: netpnp.h:22
@ NetEventQueryRemoveDevice
Definition: netpnp.h:17
@ NetEventPortDeactivation
Definition: netpnp.h:26
@ NetEventReconfigure
Definition: netpnp.h:19
@ NetEventPause
Definition: netpnp.h:23
@ NetEventBindsComplete
Definition: netpnp.h:21
@ NetEventPortActivation
Definition: netpnp.h:25
@ NetEventIMReEnableDevice
Definition: netpnp.h:27
@ NetEventCancelRemoveDevice
Definition: netpnp.h:18
@ NetEventRestart
Definition: netpnp.h:24
@ NetEventQueryPower
Definition: netpnp.h:16
struct _NET_PNP_EVENT NET_PNP_EVENT
NDIS_HANDLE EXPORT NdisIMGetDeviceContext(IN NDIS_HANDLE MiniportAdapterHandle)
Definition: miniport.c:3399
VOID EXPORT NdisReturnPackets(IN PNDIS_PACKET *PacketsToReturn, IN UINT NumberOfPackets)
Definition: miniport.c:258
NDIS_HANDLE EXPORT NdisIMGetBindingContext(IN NDIS_HANDLE NdisBindingHandle)
Definition: miniport.c:3376
VOID EXPORT NdisMCloseLog(IN NDIS_HANDLE LogHandle)
Definition: miniport.c:1447
VOID EXPORT NdisMFlushLog(IN NDIS_HANDLE LogHandle)
Definition: miniport.c:1539
NDIS_STATUS EXPORT NdisMCreateLog(IN NDIS_HANDLE MiniportAdapterHandle, IN UINT Size, OUT PNDIS_HANDLE LogHandle)
Definition: miniport.c:1468
NDIS_STATUS EXPORT NdisMDeregisterDevice(IN NDIS_HANDLE NdisDeviceHandle)
Definition: miniport.c:3245
VOID EXPORT NdisCancelSendPackets(IN NDIS_HANDLE NdisBindingHandle, IN PVOID CancelId)
Definition: miniport.c:3353
NDIS_STATUS EXPORT NdisMWriteLogData(IN NDIS_HANDLE LogHandle, IN PVOID LogBuffer, IN UINT LogBufferSize)
Definition: miniport.c:2970
NDIS_STATUS EXPORT NdisMRegisterDevice(IN NDIS_HANDLE NdisWrapperHandle, IN PNDIS_STRING DeviceName, IN PNDIS_STRING SymbolicName, IN PDRIVER_DISPATCH MajorFunctions[], OUT PDEVICE_OBJECT *pDeviceObject, OUT NDIS_HANDLE *NdisDeviceHandle)
Definition: miniport.c:3173
VOID EXPORT NdisMRegisterUnloadHandler(IN NDIS_HANDLE NdisWrapperHandle, IN PDRIVER_UNLOAD UnloadHandler)
Definition: miniport.c:3151
VOID EXPORT NdisMRegisterAdapterShutdownHandler(IN NDIS_HANDLE MiniportHandle, IN PVOID ShutdownContext, IN ADAPTER_SHUTDOWN_HANDLER ShutdownHandler)
Definition: miniport.c:1694
VOID EXPORT NdisMGetDeviceProperty(IN NDIS_HANDLE MiniportAdapterHandle, IN OUT PDEVICE_OBJECT *PhysicalDeviceObject OPTIONAL, IN OUT PDEVICE_OBJECT *FunctionalDeviceObject OPTIONAL, IN OUT PDEVICE_OBJECT *NextDeviceObject OPTIONAL, IN OUT PCM_RESOURCE_LIST *AllocatedResources OPTIONAL, IN OUT PCM_RESOURCE_LIST *AllocatedResourcesTranslated OPTIONAL)
Definition: miniport.c:3112
NDIS_STATUS EXPORT NdisQueryAdapterInstanceName(OUT PNDIS_STRING AdapterInstanceName, IN NDIS_HANDLE NdisBindingHandle)
Definition: miniport.c:3268
VOID EXPORT NdisMSleep(IN ULONG MicrosecondsToSleep)
Definition: miniport.c:2928
VOID EXPORT NdisCompletePnPEvent(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisBindingHandle, IN PNET_PNP_EVENT NetPnPEvent)
Definition: miniport.c:3290
BOOLEAN EXPORT NdisMSynchronizeWithInterrupt(IN PNDIS_MINIPORT_INTERRUPT Interrupt, IN PVOID SynchronizeFunction, IN PVOID SynchronizeContext)
Definition: miniport.c:2955
NDIS_STATUS EXPORT NdisMRegisterMiniport(IN NDIS_HANDLE NdisWrapperHandle, IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics, IN UINT CharacteristicsLength)
Definition: miniport.c:2637
VOID EXPORT NdisTerminateWrapper(IN NDIS_HANDLE NdisWrapperHandle, IN PVOID SystemSpecific)
Definition: miniport.c:3012
NDIS_STATUS EXPORT NdisMQueryAdapterInstanceName(OUT PNDIS_STRING AdapterInstanceName, IN NDIS_HANDLE MiniportAdapterHandle)
Definition: miniport.c:3038
int Count
Definition: noreturn.cpp:7
#define FASTCALL
Definition: nt_native.h:50
#define DUMMYUNIONNAME2
Definition: ntbasedef.h:34
#define DUMMYUNIONNAME
Definition: ntbasedef.h:32
#define _ANONYMOUS_UNION
Definition: ntbasedef.h:30
enum _NDIS_MEDIUM NDIS_MEDIUM
enum _NDIS_MEDIUM * PNDIS_MEDIUM
enum _NDIS_WAN_QUALITY NDIS_WAN_QUALITY
int NDIS_STATUS
Definition: ntddndis.h:475
ULONG NDIS_OID
Definition: ntddndis.h:230
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
#define BOOLEAN
Definition: pedump.c:73
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
static WCHAR Address[46]
Definition: ping.c:68
#define INT
Definition: polytest.cpp:20
static UCHAR _Packet[1024]
Definition: pxe.c:34
enum _KINTERRUPT_MODE KINTERRUPT_MODE
enum _DMA_SPEED DMA_SPEED
enum _DMA_WIDTH DMA_WIDTH
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
_Field_size_bytes_(Length) PVOID Buffer
USHORT Length
Definition: ndis.h:934
NDIS_AF AddressFamily
Definition: ndis.h:1051
ULONG MinorVersion
Definition: ndis.h:1053
ULONG MajorVersion
Definition: ndis.h:1052
CO_SPECIFIC_PARAMETERS CallMgrSpecific
Definition: ndis.h:1065
PCO_CALL_MANAGER_PARAMETERS CallMgrParameters
Definition: ndis.h:1095
PCO_MEDIA_PARAMETERS MediaParameters
Definition: ndis.h:1096
ULONG ReceiveSizeHint
Definition: ndis.h:1082
ULONG ReceivePriority
Definition: ndis.h:1081
CO_SPECIFIC_PARAMETERS MediaSpecific
Definition: ndis.h:1083
Definition: ndis.h:1099
ULONG SapType
Definition: ndis.h:1100
ULONG SapLength
Definition: ndis.h:1101
UCHAR Sap[1]
Definition: ndis.h:1102
Definition: ketypes.h:699
Definition: typedefs.h:120
USHORT LockState
Definition: rwlock.h:26
KIRQL OldIrql
Definition: rwlock.h:27
Definition: haltypes.h:185
NDIS_CLASS_ID ClassId
Definition: ndis.h:769
UCHAR ClassInformation[1]
Definition: ndis.h:771
STATUS_COMPLETE_HANDLER StatusCompleteHandler
Definition: ndis.h:1894
WAN_TRANSFER_DATA_COMPLETE_HANDLER WanTransferDataCompleteHandler
Definition: ndis.h:1884
TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler
Definition: ndis.h:1883
RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler
Definition: ndis.h:1892
PNP_EVENT_HANDLER PnPEventHandler
Definition: ndis.h:1899
REQUEST_COMPLETE_HANDLER RequestCompleteHandler
Definition: ndis.h:1887
SEND_COMPLETE_HANDLER SendCompleteHandler
Definition: ndis.h:1879
RECEIVE_HANDLER ReceiveHandler
Definition: ndis.h:1889
WAN_SEND_COMPLETE_HANDLER WanSendCompleteHandler
Definition: ndis.h:1880
BIND_HANDLER BindAdapterHandler
Definition: ndis.h:1897
RESET_COMPLETE_HANDLER ResetCompleteHandler
Definition: ndis.h:1886
RECEIVE_PACKET_HANDLER ReceivePacketHandler
Definition: ndis.h:1896
STATUS_HANDLER StatusHandler
Definition: ndis.h:1893
UNBIND_HANDLER UnbindAdapterHandler
Definition: ndis.h:1898
WAN_RECEIVE_HANDLER WanReceiveHandler
Definition: ndis.h:1890
OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler
Definition: ndis.h:1876
CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler
Definition: ndis.h:1877
UNLOAD_PROTOCOL_HANDLER UnloadHandler
Definition: ndis.h:1900
CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler
Definition: ndis.h:1920
CO_STATUS_HANDLER CoStatusHandler
Definition: ndis.h:1919
CO_AF_REGISTER_NOTIFY_HANDLER CoAfRegisterNotifyHandler
Definition: ndis.h:1921
CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler
Definition: ndis.h:1918
NDIS_STRING Paths[1]
Definition: ndis.h:2325
CM_CLOSE_CALL_HANDLER CmCloseCallHandler
Definition: ndis.h:1596
CM_MODIFY_CALL_QOS_HANDLER CmModifyCallQoSHandler
Definition: ndis.h:1602
CO_REQUEST_COMPLETE_HANDLER CmRequestCompleteHandler
Definition: ndis.h:1604
CM_INCOMING_CALL_COMPLETE_HANDLER CmIncomingCallCompleteHandler
Definition: ndis.h:1597
CM_REG_SAP_HANDLER CmRegisterSapHandler
Definition: ndis.h:1593
CM_MAKE_CALL_HANDLER CmMakeCallHandler
Definition: ndis.h:1595
CM_ACTIVATE_VC_COMPLETE_HANDLER CmActivateVcCompleteHandler
Definition: ndis.h:1600
CM_ADD_PARTY_HANDLER CmAddPartyHandler
Definition: ndis.h:1598
CM_DEREG_SAP_HANDLER CmDeregisterSapHandler
Definition: ndis.h:1594
CM_OPEN_AF_HANDLER CmOpenAfHandler
Definition: ndis.h:1591
CO_DELETE_VC_HANDLER CmDeleteVcHandler
Definition: ndis.h:1590
CO_REQUEST_HANDLER CmRequestHandler
Definition: ndis.h:1603
CM_DEACTIVATE_VC_COMPLETE_HANDLER CmDeactivateVcCompleteHandler
Definition: ndis.h:1601
CM_DROP_PARTY_HANDLER CmDropPartyHandler
Definition: ndis.h:1599
CM_CLOSE_AF_HANDLER CmCloseAfHandler
Definition: ndis.h:1592
CO_CREATE_VC_HANDLER CmCreateVcHandler
Definition: ndis.h:1589
CL_INCOMING_CLOSE_CALL_HANDLER ClIncomingCloseCallHandler
Definition: ndis.h:1714
CL_REG_SAP_COMPLETE_HANDLER ClRegisterSapCompleteHandler
Definition: ndis.h:1705
CL_MAKE_CALL_COMPLETE_HANDLER ClMakeCallCompleteHandler
Definition: ndis.h:1707
CO_CREATE_VC_HANDLER ClCreateVcHandler
Definition: ndis.h:1699
CL_CLOSE_AF_COMPLETE_HANDLER ClCloseAfCompleteHandler
Definition: ndis.h:1704
CO_REQUEST_COMPLETE_HANDLER ClRequestCompleteHandler
Definition: ndis.h:1702
CL_CLOSE_CALL_COMPLETE_HANDLER ClCloseCallCompleteHandler
Definition: ndis.h:1709
CL_ADD_PARTY_COMPLETE_HANDLER ClAddPartyCompleteHandler
Definition: ndis.h:1710
CL_MODIFY_CALL_QOS_COMPLETE_HANDLER ClModifyCallQoSCompleteHandler
Definition: ndis.h:1708
CL_CALL_CONNECTED_HANDLER ClCallConnectedHandler
Definition: ndis.h:1716
CL_INCOMING_CALL_QOS_CHANGE_HANDLER ClIncomingCallQoSChangeHandler
Definition: ndis.h:1713
CL_OPEN_AF_COMPLETE_HANDLER ClOpenAfCompleteHandler
Definition: ndis.h:1703
CO_DELETE_VC_HANDLER ClDeleteVcHandler
Definition: ndis.h:1700
CL_DEREG_SAP_COMPLETE_HANDLER ClDeregisterSapCompleteHandler
Definition: ndis.h:1706
CL_DROP_PARTY_COMPLETE_HANDLER ClDropPartyCompleteHandler
Definition: ndis.h:1711
CL_INCOMING_DROP_PARTY_HANDLER ClIncomingDropPartyHandler
Definition: ndis.h:1715
CO_REQUEST_HANDLER ClRequestHandler
Definition: ndis.h:1701
CL_INCOMING_CALL_HANDLER ClIncomingCallHandler
Definition: ndis.h:1712
BINARY_DATA BinaryData
Definition: ndis.h:943
NDIS_STRING StringData
Definition: ndis.h:942
union _NDIS_CONFIGURATION_PARAMETER::@2097 ParameterData
NDIS_PARAMETER_TYPE ParameterType
Definition: ndis.h:939
PVOID MapRegisterBase
Definition: ndis.h:871
PADAPTER_OBJECT SystemAdapterObject
Definition: ndis.h:873
BOOLEAN InProgress
Definition: ndis.h:875
PVOID Miniport
Definition: ndis.h:874
KEVENT AllocationEvent
Definition: ndis.h:872
DMA_WIDTH DmaWidth
Definition: ndis.h:864
BOOLEAN DemandMode
Definition: ndis.h:861
BOOLEAN AutoInitialize
Definition: ndis.h:862
BOOLEAN DmaChannelSpecified
Definition: ndis.h:863
DMA_SPEED DmaSpeed
Definition: ndis.h:865
struct _NDIS_ENCAPSULATION_FORMAT::@2105 Flags
NDIS_ENCAPSULATION Encapsulation
Definition: ndis.h:1216
KEVENT Event
Definition: ndis.h:335
BOOLEAN Removing
Definition: ndis.h:2288
KDPC InterruptDpc
Definition: ndis.h:2285
PVOID InterruptContext
Definition: ndis.h:2286
PKINTERRUPT InterruptObject
Definition: ndis.h:2281
PNDIS_DEFERRED_PROCESSING MacDpc
Definition: ndis.h:2284
KSPIN_LOCK DpcCountLock
Definition: ndis.h:2282
UCHAR DpcCount
Definition: ndis.h:2287
KEVENT DpcsCompletedEvent
Definition: ndis.h:2289
PNDIS_INTERRUPT_SERVICE MacIsr
Definition: ndis.h:2283
NDIS_HANDLE NextOffloadHandle
Definition: ndis.h:1110
NDIS_HANDLE OffloadHandle
Definition: ndis.h:1109
struct _NDIS_IPSEC_PACKET_INFO::@2098::@2101 Receive
struct _NDIS_IPSEC_PACKET_INFO::@2098::@2100 Transmit
UCHAR LogBuf[1]
Definition: ndis.h:2482
UINT OutPtr
Definition: ndis.h:2481
KSPIN_LOCK LogLock
Definition: ndis.h:2476
PIRP Irp
Definition: ndis.h:2477
PNDIS_MINIPORT_BLOCK Miniport
Definition: ndis.h:2475
UINT InPtr
Definition: ndis.h:2480
UINT CurrentSize
Definition: ndis.h:2479
UINT TotalSize
Definition: ndis.h:2478
OPEN_ADAPTER_HANDLER OpenAdapterHandler
Definition: ndis.h:6206
REQUEST_HANDLER RequestHandler
Definition: ndis.h:6211
UNLOAD_MAC_HANDLER UnloadMacHandler
Definition: ndis.h:6213
NDIS_STRING Name
Definition: ndis.h:6216
REMOVE_ADAPTER_HANDLER RemoveAdapterHandler
Definition: ndis.h:6215
TRANSFER_DATA_HANDLER TransferDataHandler
Definition: ndis.h:6209
ADD_ADAPTER_HANDLER AddAdapterHandler
Definition: ndis.h:6214
RESET_HANDLER ResetHandler
Definition: ndis.h:6210
CLOSE_ADAPTER_HANDLER CloseAdapterHandler
Definition: ndis.h:6207
SEND_HANDLER SendHandler
Definition: ndis.h:6208
QUERY_GLOBAL_STATISTICS_HANDLER QueryGlobalStatisticsHandler
Definition: ndis.h:6212
NDIS_HANDLE NdisLinkContext
Definition: ndis.h:1148
NDIS_HANDLE NdisLinkContext
Definition: ndis.h:1153
USHORT SendWindow
Definition: ndis.h:1159
ULONG LinkSpeed
Definition: ndis.h:1157
NDIS_WAN_QUALITY Quality
Definition: ndis.h:1158
NDIS_HANDLE ConnectionWrapperID
Definition: ndis.h:1160
NDIS_HANDLE NdisLinkContext
Definition: ndis.h:1162
NDIS_HANDLE NdisLinkHandle
Definition: ndis.h:1161
PCM_RESOURCE_LIST Resources
Definition: ndis.h:2534
PNDIS_AF_LIST CallMgrAfList
Definition: ndis.h:2556
NDIS_M_REQ_COMPLETE_HANDLER SetCompleteHandler
Definition: ndis.h:2586
NDIS_OBJECT_HEADER Header
Definition: ndis.h:2507
NDIS_MEDIUM MediaType
Definition: ndis.h:2548
NDIS_M_SEND_COMPLETE_HANDLER SendCompleteHandler
Definition: ndis.h:2545
PMAP_REGISTER_ENTRY MapRegisters
Definition: ndis.h:2555
REFERENCE ShortRef
Definition: ndis.h:2514
USHORT SetInfoBufLen
Definition: ndis.h:2559
UNICODE_STRING BaseName
Definition: ndis.h:2536
ETH_RCV_COMPLETE_HANDLER EthRxCompleteHandler
Definition: ndis.h:2579
NDIS_HANDLE OpenQueue
Definition: ndis.h:2513
UINT MaximumShortAddresses
Definition: ndis.h:2568
PNDIS_REQUEST PendingRequest
Definition: ndis.h:2566
USHORT MaxSendPackets
Definition: ndis.h:2560
ULONG RequestBuffer
Definition: ndis.h:2528
NDIS_M_STATUS_HANDLER StatusHandler
Definition: ndis.h:2582
PNDIS_BIND_PATHS BindPaths
Definition: ndis.h:2512
NDIS_HANDLE DeviceContext
Definition: ndis.h:2515
NDIS_STATUS FakeStatus
Definition: ndis.h:2561
PNDIS_REQUEST MediaRequest
Definition: ndis.h:2521
ETH_RCV_INDICATE_HANDLER EthRxIndicateHandler
Definition: ndis.h:2576
PNDIS_MINIPORT_BLOCK PrimaryMiniport
Definition: ndis.h:2530
FDDI_RCV_COMPLETE_HANDLER FddiRxCompleteHandler
Definition: ndis.h:2581
FDDI_RCV_INDICATE_HANDLER FddiRxIndicateHandler
Definition: ndis.h:2578
KSPIN_LOCK Lock
Definition: ndis.h:2520
W_SEND_PACKETS_HANDLER SendPacketsHandler
Definition: ndis.h:2574
TR_RCV_COMPLETE_HANDLER TrRxCompleteHandler
Definition: ndis.h:2580
PVOID SetMCastBuffer
Definition: ndis.h:2529
NDIS_HANDLE MiniportAdapterContext
Definition: ndis.h:2510
NDIS_WM_SEND_COMPLETE_HANDLER WanSendCompleteHandler
Definition: ndis.h:2587
PVOID WrapperContext
Definition: ndis.h:2531
PDEVICE_OBJECT NextDeviceObject
Definition: ndis.h:2554
NDIS_M_TD_COMPLETE_HANDLER TDCompleteHandler
Definition: ndis.h:2584
USHORT CFHangCurrentTick
Definition: ndis.h:2540
PNDIS_PACKET ReturnPacketsQueue
Definition: ndis.h:2527
UCHAR LockAcquired
Definition: ndis.h:2517
LIST_ENTRY PacketList
Definition: ndis.h:2525
PDEVICE_OBJECT DeviceObject
Definition: ndis.h:2552
NDIS_M_RESET_COMPLETE_HANDLER ResetCompleteHandler
Definition: ndis.h:2547
W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler
Definition: ndis.h:2572
UNICODE_STRING SymbolicLinkName
Definition: ndis.h:2537
NDIS_M_START_SENDS DeferredSendHandler
Definition: ndis.h:2575
NDIS_HANDLE ResetOpen
Definition: ndis.h:2542
PDEVICE_OBJECT PhysicalDeviceObject
Definition: ndis.h:2553
UCHAR AssignedProcessor
Definition: ndis.h:2519
WAN_RCV_HANDLER WanRcvHandler
Definition: ndis.h:2588
UINT CurrentLookahead
Definition: ndis.h:2569
ULONG CheckForHangSeconds
Definition: ndis.h:2538
WAN_RCV_COMPLETE_HANDLER WanRcvCompleteHandler
Definition: ndis.h:2589
NDIS_INTERFACE_TYPE AdapterType
Definition: ndis.h:2551
NDIS_INTERFACE_TYPE BusType
Definition: ndis.h:2550
PUNICODE_STRING pAdapterInstanceName
Definition: ndis.h:2563
USHORT CFHangTicks
Definition: ndis.h:2539
UINT MaximumLookahead
Definition: ndis.h:2570
NDIS_M_STS_COMPLETE_HANDLER StatusCompleteHandler
Definition: ndis.h:2583
NDIS_STATUS ResetStatus
Definition: ndis.h:2541
TR_RCV_INDICATE_HANDLER TrRxIndicateHandler
Definition: ndis.h:2577
PVOID BusDataContext
Definition: ndis.h:2532
PNDIS_PACKET FirstPendingPacket
Definition: ndis.h:2526
PNDIS_MINIPORT_INTERRUPT Interrupt
Definition: ndis.h:2522
PNDIS_MINIPORT_TIMER TimerQueue
Definition: ndis.h:2564
W_HANDLE_INTERRUPT_HANDLER HandleInterruptHandler
Definition: ndis.h:2571
UINT MaximumLongAddresses
Definition: ndis.h:2567
NDIS_M_SEND_RESOURCES_HANDLER SendResourcesHandler
Definition: ndis.h:2546
PNDIS_MINIPORT_BLOCK NextMiniport
Definition: ndis.h:2508
UNICODE_STRING MiniportName
Definition: ndis.h:2511
W_ENABLE_INTERRUPT_HANDLER EnableInterruptHandler
Definition: ndis.h:2573
PNDIS_M_DRIVER_BLOCK DriverHandle
Definition: ndis.h:2509
FILTERDBS_S FILTER_PACKET_INDICATION_HANDLER PacketIndicateHandler
Definition: ndis.h:2544
NDIS_TIMER WakeUpDpcTimer
Definition: ndis.h:2535
NDIS_M_REQ_COMPLETE_HANDLER QueryCompleteHandler
Definition: ndis.h:2585
ULONG PnPCapabilities
Definition: ndis.h:2533
PVOID MiniportThread
Definition: ndis.h:2557
PKINTERRUPT InterruptObject
Definition: ndis.h:2233
W_ISR_HANDLER MiniportIsr
Definition: ndis.h:2236
KSPIN_LOCK DpcCountLock
Definition: ndis.h:2234
KEVENT DpcsCompletedEvent
Definition: ndis.h:2242
BOOLEAN SharedInterrupt
Definition: ndis.h:2243
W_HANDLE_INTERRUPT_HANDLER MiniportDpc
Definition: ndis.h:2237
PNDIS_MINIPORT_BLOCK Miniport
Definition: ndis.h:2239
struct _NDIS_MINIPORT_TIMER * NextDeferredTimer
Definition: ndis.h:2277
PVOID MiniportTimerContext
Definition: ndis.h:2275
PNDIS_TIMER_FUNCTION MiniportTimerFunction
Definition: ndis.h:2274
PNDIS_MINIPORT_BLOCK Miniport
Definition: ndis.h:2276
NDIS_WORK_ITEM_TYPE WorkItemType
Definition: ndis.h:2310
SINGLE_LIST_ENTRY Link
Definition: ndis.h:2309
UINT32 CanonicalFormatId
Definition: ndis.h:1169
struct _NDIS_PACKET_8021Q_INFO::@2102::@2104 TagHeader
PVOID NdisPacketInfo[MaxPerPacketInfo]
Definition: ndis.h:1196
ULONGLONG TimeReceived
Definition: ndis.h:780
PVOID MediaSpecificInformation
Definition: ndis.h:783
ULONGLONG TimeSent
Definition: ndis.h:778
UINT SizeMediaSpecificInfo
Definition: ndis.h:782
ULONGLONG TimeToSend
Definition: ndis.h:777
NDIS_STATUS Status
Definition: ndis.h:784
PNDIS_BUFFER Tail
Definition: ndis.h:725
UINT PhysicalCount
Definition: ndis.h:722
UCHAR NdisPacketFlags
Definition: ndis.h:730
PNDIS_BUFFER Head
Definition: ndis.h:724
BOOLEAN ValidCounts
Definition: ndis.h:729
PNDIS_PACKET_POOL Pool
Definition: ndis.h:726
USHORT NdisPacketOobOffset
Definition: ndis.h:731
ULONG_PTR NdisReserved[4]
Definition: ndis.h:755
ULONG_PTR IMReserved[2]
Definition: ndis.h:754
NDIS_PACKET_PRIVATE Private
Definition: ndis.h:735
UCHAR WrapperReservedEx[sizeof(PVOID)]
Definition: ndis.h:743
UCHAR MacReserved[4 *sizeof(PVOID)]
Definition: ndis.h:746
UCHAR WrapperReserved[2 *sizeof(PVOID)]
Definition: ndis.h:739
UCHAR MiniportReservedEx[3 *sizeof(PVOID)]
Definition: ndis.h:742
UCHAR MiniportReserved[2 *sizeof(PVOID)]
Definition: ndis.h:738
UCHAR ProtocolReserved[1]
Definition: ndis.h:750
NDIS_PHYSICAL_ADDRESS PhysicalAddress
Definition: ndis.h:950
union _NDIS_REQUEST::_DATA DATA
NDIS_REQUEST_TYPE RequestType
Definition: ndis.h:810
UCHAR MacReserved[4 *sizeof(PVOID)]
Definition: ndis.h:809
KSPIN_LOCK SpinLock
Definition: rwlock.h:16
NDIS_RW_LOCK_REFCOUNT RefCount[MAXIMUM_PROCESSORS]
Definition: rwlock.h:22
volatile ULONG SharedRefCount
Definition: ndis.h:616
PVOID Context
Definition: rwlock.h:17
ULONG RefCountEx[sizeof(NDIS_RW_LOCK_REFCOUNT)/sizeof(ULONG) *MAXIMUM_PROCESSORS]
Definition: ndis.h:613
volatile BOOLEAN WriterWaiting
Definition: ndis.h:617
KSPIN_LOCK RefCountLock
Definition: ndis.h:615
KSPIN_LOCK SpinLock
Definition: ndis.h:330
KIRQL OldIrql
Definition: ndis.h:331
ULONG Tunnel
Definition: ndis.h:1291
ULONG RESERVED
Definition: ndis.h:1285
ULONG Transport
Definition: ndis.h:1290
struct _NDIS_TASK_IPSEC::@2110 Supported
ULONG Receive
Definition: ndis.h:1293
ULONG SHA_1
Definition: ndis.h:1289
ULONG TRANSPORT_TUNNEL_COMBINED
Definition: ndis.h:1283
ULONG NULL_ESP
Definition: ndis.h:1299
ULONG V4_OPTIONS
Definition: ndis.h:1284
ULONG Send
Definition: ndis.h:1292
struct _NDIS_TASK_IPSEC::@2112 V4ESP
ULONG AH_ESP_COMBINED
Definition: ndis.h:1282
ULONG TRIPLE_DES
Definition: ndis.h:1298
struct _NDIS_TASK_IPSEC::@2111 V4AH
NDIS_ENCAPSULATION_FORMAT EncapsulationFormat
Definition: ndis.h:1229
ULONG TaskBufferLength
Definition: ndis.h:1237
ULONG OffsetNextTask
Definition: ndis.h:1236
UCHAR TaskBuffer[1]
Definition: ndis.h:1238
NDIS_TASK Task
Definition: ndis.h:1235
struct _NDIS_TASK_TCP_IP_CHECKSUM::@2109 V6Receive
struct _NDIS_TASK_TCP_IP_CHECKSUM::@2106 V4Transmit
struct _NDIS_TASK_TCP_IP_CHECKSUM::@2108 V6Transmit
struct _NDIS_TASK_TCP_IP_CHECKSUM::@2107 V4Receive
struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO::@2113::@2115 Transmit
struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO::@2113::@2116 Receive
KDPC Dpc
Definition: ndis.h:644
KTIMER Timer
Definition: ndis.h:643
ULONG BytesReceivedCompressed
Definition: ndis.h:1454
ULONG FramingErrors
Definition: ndis.h:1449
ULONG FramesSent
Definition: ndis.h:1443
ULONG SerialOverrunErrors
Definition: ndis.h:1448
ULONG BytesReceivedUncompressed
Definition: ndis.h:1452
ULONG BufferOverrunErrors
Definition: ndis.h:1450
ULONG TimeoutErrors
Definition: ndis.h:1446
ULONG BytesTransmittedUncompressed
Definition: ndis.h:1451
ULONG AlignmentErrors
Definition: ndis.h:1447
ULONG BytesTransmittedCompressed
Definition: ndis.h:1453
ULONG FramesRcvd
Definition: ndis.h:1444
ULONG ProtocolBufferLength
Definition: ndis.h:966
PUCHAR ProtocolBuffer
Definition: ndis.h:967
ULONG MaximumTotalSize
Definition: ndis.h:961
ULONG LinkSpeed
Definition: ndis.h:960
NDIS_WAN_QUALITY Quality
Definition: ndis.h:962
USHORT ProtocolType
Definition: ndis.h:968
USHORT SendWindow
Definition: ndis.h:963
NDIS_STRING DeviceName
Definition: ndis.h:969
PVOID MacReserved3
Definition: ndis.h:853
PVOID ProtocolReserved3
Definition: ndis.h:849
PUCHAR StartBuffer
Definition: ndis.h:845
PUCHAR EndBuffer
Definition: ndis.h:846
ULONG CurrentLength
Definition: ndis.h:844
PVOID MacReserved1
Definition: ndis.h:851
PVOID ProtocolReserved4
Definition: ndis.h:850
PVOID MacReserved4
Definition: ndis.h:854
PVOID ProtocolReserved1
Definition: ndis.h:847
LIST_ENTRY WanPacketQueue
Definition: ndis.h:842
PUCHAR CurrentBuffer
Definition: ndis.h:843
PVOID MacReserved2
Definition: ndis.h:852
PVOID ProtocolReserved2
Definition: ndis.h:848
PVOID Context
Definition: ndis.h:2318
NDIS_PROC Routine
Definition: ndis.h:2319
UCHAR WrapperReserved[8 *sizeof(PVOID)]
Definition: ndis.h:2320
ULONG BufferLength
Definition: netpnp.h:34
ULONG_PTR NdisReserved[4]
Definition: netpnp.h:35
ULONG_PTR TdiClientReserved[4]
Definition: netpnp.h:38
ULONG_PTR TransportReserved[4]
Definition: netpnp.h:36
PVOID Buffer
Definition: netpnp.h:33
ULONG_PTR TdiReserved[4]
Definition: netpnp.h:37
NET_PNP_EVENT_CODE NetEvent
Definition: netpnp.h:32
USHORT ReferenceCount
Definition: ndis.h:323
KSPIN_LOCK SpinLock
Definition: ndis.h:322
BOOLEAN Closing
Definition: ndis.h:324
Definition: ntbasedef.h:628
ULONG SendWindow
Definition: ndis.h:1436
ULONG TransmitSpeed
Definition: ndis.h:1434
ULONG ReceiveSpeed
Definition: ndis.h:1435
Definition: qos.h:45
Definition: mem.c:156
#define OPTIONAL
Definition: typedefs.h:41
uint32_t * PULONG
Definition: typedefs.h:59
const uint16_t * PCWSTR
Definition: typedefs.h:57
unsigned char * PBOOLEAN
Definition: typedefs.h:53
#define NTAPI
Definition: typedefs.h:36
void * PVOID
Definition: typedefs.h:50
ULONG_PTR SIZE_T
Definition: typedefs.h:80
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
#define OUT
Definition: typedefs.h:40
char CCHAR
Definition: typedefs.h:51
char * PCHAR
Definition: typedefs.h:51
UCHAR cacheLine[16]
Definition: rwlock.h:10
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4065
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_In_ UCHAR _In_ UCHAR _In_ ULONG Code
Definition: wdfdevice.h:1701
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2699
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
Definition: wdfdevice.h:3275
_In_ WDFREQUEST Request
Definition: wdfdevice.h:547
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:655
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:379
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
Definition: wdfio.h:869
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
Definition: wdfiotarget.h:960
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
Definition: wdfiotarget.h:870
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254
_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t SourceOffset
Definition: wdfmemory.h:320
_Must_inspect_result_ _In_ WDFMEMORY _In_ size_t DestinationOffset
Definition: wdfmemory.h:361
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
Definition: wdfresource.h:309
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
Definition: wdfresource.h:68
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
Definition: wdfsync.h:127
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ PWDF_MEMORY_DESCRIPTOR MemoryDescriptor
Definition: wdfusb.h:1339
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ PWDF_MEMORY_DESCRIPTOR _Out_opt_ PULONG BytesTransferred
Definition: wdfusb.h:1342
_Must_inspect_result_ _In_ PWDF_WORKITEM_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWORKITEM * WorkItem
Definition: wdfworkitem.h:115
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
@ ShutdownHandler
Definition: winlogon.h:263
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR _In_ ULONGLONG _In_ ULONGLONG _In_opt_ PEVENT_FILTER_DESCRIPTOR _Inout_opt_ PVOID CallbackContext
Definition: wmitypes.h:60
LIST_ENTRY WorkQueue
Definition: workqueue.c:16
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR LocalAddress
Definition: wsk.h:171
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR RemoteAddress
Definition: wsk.h:172
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
@ AdapterType
Definition: cmtypes.h:991
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST * PNPAGED_LOOKASIDE_LIST
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK _In_ ULONG _In_ KIRQL _In_ KIRQL _In_ KINTERRUPT_MODE InterruptMode
Definition: iofuncs.h:806
_In_ USHORT PacketSize
Definition: iofuncs.h:1058
DEVICE_CAPABILITIES
Definition: iotypes.h:965
GET_SET_DEVICE_DATA * PGET_SET_DEVICE_DATA
Definition: iotypes.h:824
DRIVER_UNLOAD * PDRIVER_UNLOAD
Definition: iotypes.h:2253
DRIVER_DISPATCH * PDRIVER_DISPATCH
Definition: iotypes.h:2262
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036
_In_ PKSYNCHRONIZE_ROUTINE _In_opt_ __drv_aliasesMem PVOID SynchronizeContext
Definition: kefuncs.h:525
MDL
Definition: mmtypes.h:117
unsigned char UCHAR
Definition: xmlstorage.h:181