ReactOS 0.4.17-dev-1321-g5c122a9
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
894
899
900/* Possible hardware architecture */
921
922#define NdisInterruptLevelSensitive LevelSensitive
923#define NdisInterruptLatched Latched
924
926
934
935typedef struct _BINARY_DATA {
939
942 union {
948
950
955
956typedef struct _NDIS_WAN_LINE_DOWN {
960
961typedef struct _NDIS_WAN_LINE_UP {
973
974typedef NTSTATUS
977 _Out_ HANDLE *TdiHandle);
978
979typedef NTSTATUS
981 _In_ PUNICODE_STRING UpperComponent,
982 _In_ PUNICODE_STRING LowerComponent,
983 _In_ PUNICODE_STRING BindList,
984 _In_ PVOID ReconfigBuffer,
985 _In_ UINT ReconfigBufferSize,
987
988typedef struct _OID_LIST OID_LIST, *POID_LIST;
989
990/* PnP state */
1000
1008#if NDIS_SUPPORT_NDIS6
1009 NdisDevicePnPEventFilterListChanged,
1010#endif /* NDIS_SUPPORT_NDIS6 */
1013
1014/* Power profiles */
1019
1020#define NDIS_DEVICE_NOT_STOPPABLE 0x00000001
1021#define NDIS_DEVICE_NOT_REMOVEABLE 0x00000002
1022#define NDIS_DEVICE_NOT_SUSPENDABLE 0x00000004
1023#define NDIS_DEVICE_DISABLE_PM 0x00000008
1024#define NDIS_DEVICE_DISABLE_WAKE_UP 0x00000010
1025#define NDIS_DEVICE_DISABLE_WAKE_ON_RECONNECT 0x00000020
1026#define NDIS_DEVICE_RESERVED 0x00000040
1027#define NDIS_DEVICE_DISABLE_WAKE_ON_MAGIC_PACKET 0x00000080
1028#define NDIS_DEVICE_DISABLE_WAKE_ON_PATTERN_MATCH 0x00000100
1029
1030/* Protocol types supported by NDIS */
1031#define NDIS_PROTOCOL_ID_DEFAULT 0x00
1032#define NDIS_PROTOCOL_ID_TCP_IP 0x02
1033#define NDIS_PROTOCOL_ID_IPX 0x06
1034#define NDIS_PROTOCOL_ID_NBF 0x07
1035#define NDIS_PROTOCOL_ID_MAX 0x0F
1036#define NDIS_PROTOCOL_ID_MASK 0x0F
1037
1039
1040#define CO_ADDRESS_FAMILY_Q2931 ((NDIS_AF)0x1)
1041#define CO_ADDRESS_FAMILY_PSCHED ((NDIS_AF)0x2)
1042#define CO_ADDRESS_FAMILY_L2TP ((NDIS_AF)0x3)
1043#define CO_ADDRESS_FAMILY_IRDA ((NDIS_AF)0x4)
1044#define CO_ADDRESS_FAMILY_1394 ((NDIS_AF)0x5)
1045#define CO_ADDRESS_FAMILY_PPP ((NDIS_AF)0x6)
1046#define CO_ADDRESS_FAMILY_INFINIBAND ((NDIS_AF)0x7)
1047#define CO_ADDRESS_FAMILY_TAPI ((NDIS_AF)0x800)
1048#define CO_ADDRESS_FAMILY_TAPI_PROXY ((NDIS_AF)0x801)
1049
1050#define CO_ADDRESS_FAMILY_PROXY 0x80000000
1051
1052typedef struct _CO_ADDRESS_FAMILY {
1057
1063
1069
1070/* CO_MEDIA_PARAMETERS.Flags constants */
1071#define RECEIVE_TIME_INDICATION 0x00000001
1072#define USE_TIME_STAMPS 0x00000002
1073#define TRANSMIT_VC 0x00000004
1074#define RECEIVE_VC 0x00000008
1075#define INDICATE_ERRED_PACKETS 0x00000010
1076#define INDICATE_END_OF_TX 0x00000020
1077#define RESERVE_RESOURCES_VC 0x00000040
1078#define ROUND_DOWN_FLOW 0x00000080
1079#define ROUND_UP_FLOW 0x00000100
1080
1081typedef struct _CO_MEDIA_PARAMETERS {
1087
1088/* CO_CALL_PARAMETERS.Flags constants */
1089#define PERMANENT_VC 0x00000001
1090#define CALL_PARAMETERS_CHANGED 0x00000002
1091#define QUERY_CALL_PARAMETERS 0x00000004
1092#define BROADCAST_VC 0x00000008
1093#define MULTIPOINT_VC 0x00000010
1094
1095typedef struct _CO_CALL_PARAMETERS {
1100
1101typedef struct _CO_SAP {
1106
1107#if NDIS_LEGACY_DRIVER
1109 __MINGW_EXTENSION union {
1110 struct {
1114 struct {
1120 };
1122#endif
1123
1124#if (NDIS_SUPPORT_NDIS6 || NDIS60)
1125typedef struct _NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO {
1126 __MINGW_EXTENSION union {
1127 struct {
1128 NDIS_HANDLE OffloadHandle;
1129 } Transmit;
1130 struct {
1131 USHORT SaDeleteReq:1;
1132 USHORT CryptoDone:1;
1133 USHORT NextCryptoDone:1;
1134 USHORT Pad:13;
1135 USHORT CryptoStatus;
1136 } Receive;
1137 };
1138} NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO, *PNDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO;
1139#endif
1140
1141/* NDIS_MAC_FRAGMENT.Errors constants */
1142#define WAN_ERROR_CRC 0x00000001
1143#define WAN_ERROR_FRAMING 0x00000002
1144#define WAN_ERROR_HARDWAREOVERRUN 0x00000004
1145#define WAN_ERROR_BUFFEROVERRUN 0x00000008
1146#define WAN_ERROR_TIMEOUT 0x00000010
1147#define WAN_ERROR_ALIGNMENT 0x00000020
1148
1149typedef struct _NDIS_MAC_FRAGMENT {
1153
1154typedef struct _NDIS_MAC_LINE_DOWN {
1157
1158typedef struct _NDIS_MAC_LINE_UP {
1166
1168 __MINGW_EXTENSION union {
1169 struct {
1176 };
1178
1194
1195#if NDIS_LEGACY_DRIVER
1196
1200
1201typedef enum _NDIS_TASK {
1207
1216
1219 struct {
1225
1233
1234typedef struct _NDIS_TASK_OFFLOAD {
1242
1244 struct {
1251 struct {
1256 ULONG IpChecksum:1;
1258 struct {
1264 struct {
1271
1272#define NDIS_TASK_TCP_LARGE_SEND_V0 0
1273
1281
1282typedef struct _NDIS_TASK_IPSEC {
1283 struct {
1289 struct {
1297 struct {
1299 ULONG RESERVED:1;
1302 ULONG Transport:1;
1303 ULONG Tunnel:1;
1304 ULONG Send:1;
1305 ULONG Receive:1;
1308
1309#endif /* NDIS_LEGACY_DRIVER */
1310
1311#define IPSEC_TPT_UDPESP_ENCAPTYPE_IKE 0x00000001
1312#define IPSEC_TUN_UDPESP_ENCAPTYPE_IKE 0x00000002
1313#define IPSEC_TPTOVERTUN_UDPESP_ENCAPTYPE_IKE 0x00000004
1314#define IPSEC_TPT_UDPESP_OVER_PURE_TUN_ENCAPTYPE_IKE 0x00000008
1315#define IPSEC_TPT_UDPESP_ENCAPTYPE_OTHER 0x00000010
1316#define IPSEC_TUN_UDPESP_ENCAPTYPE_OTHER 0x00000020
1317#define IPSEC_TPTOVERTUN_UDPESP_ENCAPTYPE_OTHER 0x00000040
1318#define IPSEC_TPT_UDPESP_OVER_PURE_TUN_ENCAPTYPE_OTHER 0x00000080
1319
1320#if NDIS_LEGACY_DRIVER
1321
1322/*
1323 * PNDIS_PACKET
1324 * NDIS_GET_ORIGINAL_PACKET(
1325 * IN PNDIS_PACKET Packet);
1326 */
1327#define NDIS_GET_ORIGINAL_PACKET(Packet) \
1328 NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo)
1329
1330/*
1331 * PVOID
1332 * NDIS_GET_PACKET_CANCEL_ID(
1333 * IN PNDIS_PACKET Packet);
1334 */
1335#define NDIS_GET_PACKET_CANCEL_ID(Packet) \
1336 NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId)
1337
1338/*
1339 * PNDIS_PACKET_EXTENSION
1340 * NDIS_PACKET_EXTENSION_FROM_PACKET(
1341 * IN PNDIS_PACKET Packet);
1342 */
1343#define NDIS_PACKET_EXTENSION_FROM_PACKET(Packet) \
1344 ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) \
1345 + (Packet)->Private.NdisPacketOobOffset + sizeof(NDIS_PACKET_OOB_DATA)))
1346
1347/*
1348 * PVOID
1349 * NDIS_PER_PACKET_INFO_FROM_PACKET(
1350 * IN OUT PNDIS_PACKET Packet,
1351 * IN NDIS_PER_PACKET_INFO InfoType);
1352 */
1353#define NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, InfoType) \
1354 ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) + (Packet)->Private.NdisPacketOobOffset \
1355 + sizeof(NDIS_PACKET_OOB_DATA)))->NdisPacketInfo[(InfoType)]
1356
1357/*
1358 * VOID
1359 * NDIS_SET_ORIGINAL_PACKET(
1360 * IN OUT PNDIS_PACKET Packet,
1361 * IN PNDIS_PACKET OriginalPacket);
1362 */
1363#define NDIS_SET_ORIGINAL_PACKET(Packet, OriginalPacket) \
1364 NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo) = (OriginalPacket)
1365
1366/*
1367 * VOID
1368 * NDIS_SET_PACKET_CANCEL_ID(
1369 * IN PNDIS_PACKET Packet
1370 * IN ULONG_PTR CancelId);
1371 */
1372#define NDIS_SET_PACKET_CANCEL_ID(Packet, CancelId) \
1373 NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId) = (CancelId)
1374
1375#define NdisSetPacketCancelId(_Packet, _CancelId) NDIS_SET_PACKET_CANCEL_ID(_Packet, _CancelId)
1376#define NdisGetPacketCancelId(_Packet) NDIS_GET_PACKET_CANCEL_ID(_Packet)
1377
1378#endif /* NDIS_LEGACY_DRIVER */
1379
1380#if NDIS_SUPPORT_NDIS6
1381typedef struct _NDIS_GENERIC_OBJECT {
1383 PVOID Caller;
1384 PVOID CallersCaller;
1386} NDIS_GENERIC_OBJECT, *PNDIS_GENERIC_OBJECT;
1387#endif
1388
1389/* NDIS_TASK_OFFLOAD_HEADER.Version constants */
1390#define NDIS_TASK_OFFLOAD_VERSION 1
1391
1392#define MAX_HASHES 4
1393#define TRUNCATED_HASH_LEN 12
1394
1395#define CRYPTO_SUCCESS 0
1396#define CRYPTO_GENERIC_ERROR 1
1397#define CRYPTO_TRANSPORT_AH_AUTH_FAILED 2
1398#define CRYPTO_TRANSPORT_ESP_AUTH_FAILED 3
1399#define CRYPTO_TUNNEL_AH_AUTH_FAILED 4
1400#define CRYPTO_TUNNEL_ESP_AUTH_FAILED 5
1401#define CRYPTO_INVALID_PACKET_SYNTAX 6
1402#define CRYPTO_INVALID_PROTOCOL 7
1403
1405 __MINGW_EXTENSION union {
1406 struct {
1413 struct {
1423 };
1425
1429
1430typedef struct _NDIS_WAN_FRAGMENT {
1434
1435typedef struct _WAN_CO_LINKPARAMS {
1440
1441typedef struct _NDIS_WAN_GET_STATS {
1458
1459/* Call Manager */
1460
1461typedef VOID
1464 IN NDIS_HANDLE CallMgrVcContext,
1466
1469 IN NDIS_HANDLE CallMgrVcContext,
1473
1477
1480 IN NDIS_HANDLE CallMgrVcContext,
1482 IN PVOID CloseData OPTIONAL,
1484
1488
1489typedef VOID
1492 IN NDIS_HANDLE CallMgrVcContext);
1493
1497 IN PVOID CloseData OPTIONAL,
1499
1500typedef VOID
1503 IN NDIS_HANDLE CallMgrVcContext,
1505
1508 IN NDIS_HANDLE CallMgrVcContext,
1512
1515 IN NDIS_HANDLE CallMgrVcContext,
1517
1520 IN NDIS_HANDLE CallMgrBindingContext,
1524
1528 IN PCO_SAP Sap,
1531
1537
1541
1542#define PROTOCOL_RESERVED_SIZE_IN_PACKET (4 * sizeof(PVOID))
1543
1544/* Prototypes for NDIS 5.0 protocol characteristics */
1545
1547typedef VOID
1548(NTAPI *CO_SEND_COMPLETE_HANDLER)(
1552
1554typedef VOID
1555(NTAPI *CO_STATUS_HANDLER)(
1561
1563typedef UINT
1564(NTAPI *CO_RECEIVE_PACKET_HANDLER)(
1568
1570typedef NDIS_STATUS
1571(NTAPI *CO_REQUEST_HANDLER)(
1576
1578typedef VOID
1579(NTAPI *CO_REQUEST_COMPLETE_HANDLER)(
1585
1605 CO_REQUEST_HANDLER CmRequestHandler;
1606 CO_REQUEST_COMPLETE_HANDLER CmRequestCompleteHandler;
1608
1609
1610
1611/* Call Manager clients */
1612
1617
1618typedef VOID
1622
1623typedef VOID
1627 IN PCO_SAP Sap,
1629
1630typedef VOID
1634
1635typedef VOID
1641
1642typedef VOID
1647
1648typedef VOID
1653
1654typedef VOID
1660
1661typedef VOID
1665
1671
1672typedef VOID
1676
1677typedef VOID
1679 IN NDIS_STATUS CloseStatus,
1681 IN PVOID CloseData OPTIONAL,
1683
1684typedef VOID
1686 IN NDIS_STATUS DropStatus,
1688 IN PVOID CloseData OPTIONAL,
1690
1691typedef VOID
1694
1695
1703 CO_REQUEST_HANDLER ClRequestHandler;
1704 CO_REQUEST_COMPLETE_HANDLER ClRequestCompleteHandler;
1720
1721
1722/* NDIS protocol structures */
1723
1724/* Prototypes for NDIS 3.0 protocol characteristics */
1725
1726typedef VOID
1731
1732typedef VOID
1736
1737typedef VOID
1741
1742typedef VOID
1747
1748typedef VOID
1754
1755typedef VOID
1758
1759typedef VOID
1764
1765typedef VOID
1770
1771typedef VOID
1777
1778typedef VOID
1780 VOID);
1781
1785 _In_ NDIS_HANDLE MacReceiveContext,
1786 _In_ PVOID HeaderBuffer,
1787 _In_ UINT HeaderBufferSize,
1788 _In_ PVOID LookAheadBuffer,
1789 _In_ UINT LookaheadBufferSize,
1791
1794 _In_ NDIS_HANDLE NdisLinkHandle,
1797
1798typedef VOID
1801
1802/* Protocol characteristics for NDIS 3.0 protocols */
1803
1804#define NDIS30_PROTOCOL_CHARACTERISTICS_S \
1805 UCHAR MajorNdisVersion; \
1806 UCHAR MinorNdisVersion; \
1807 USHORT Filler; \
1808 _ANONYMOUS_UNION union { \
1809 UINT Reserved; \
1810 UINT Flags; \
1811 } DUMMYUNIONNAME; \
1812 OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler; \
1813 CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler; \
1814 _ANONYMOUS_UNION union { \
1815 SEND_COMPLETE_HANDLER SendCompleteHandler; \
1816 WAN_SEND_COMPLETE_HANDLER WanSendCompleteHandler; \
1817 } DUMMYUNIONNAME2; \
1818 _ANONYMOUS_UNION union { \
1819 TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler; \
1820 WAN_TRANSFER_DATA_COMPLETE_HANDLER WanTransferDataCompleteHandler; \
1821 } DUMMYUNIONNAME3; \
1822 RESET_COMPLETE_HANDLER ResetCompleteHandler; \
1823 REQUEST_COMPLETE_HANDLER RequestCompleteHandler; \
1824 _ANONYMOUS_UNION union { \
1825 RECEIVE_HANDLER ReceiveHandler; \
1826 WAN_RECEIVE_HANDLER WanReceiveHandler; \
1827 } DUMMYUNIONNAME4; \
1828 RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler; \
1829 STATUS_HANDLER StatusHandler; \
1830 STATUS_COMPLETE_HANDLER StatusCompleteHandler; \
1831 NDIS_STRING Name;
1832
1836
1837
1838/* Prototypes for NDIS 4.0 protocol characteristics */
1839
1840typedef INT
1844
1845typedef VOID
1848 IN NDIS_HANDLE BindContext,
1850 IN PVOID SystemSpecific1,
1852
1853typedef VOID
1857 IN NDIS_HANDLE UnbindContext);
1858
1863
1864typedef VOID
1866 VOID);
1867
1868/* Protocol characteristics for NDIS 4.0 protocols */
1869
1874 __MINGW_EXTENSION union {
1877 };
1880 __MINGW_EXTENSION union {
1883 };
1884 __MINGW_EXTENSION union {
1887 };
1890 __MINGW_EXTENSION union {
1893 };
1904
1905typedef VOID
1906(NTAPI PROTCOL_CO_AF_REGISTER_NOTIFY)(
1909typedef PROTCOL_CO_AF_REGISTER_NOTIFY *CO_AF_REGISTER_NOTIFY_HANDLER;
1910
1911#if NDIS_LEGACY_PROTOCOL
1912
1914#ifdef __cplusplus
1916#else
1918#endif
1920 CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler;
1921 CO_STATUS_HANDLER CoStatusHandler;
1922 CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler;
1925
1926#if (defined(NDIS50) || defined(NDIS51))
1928#else
1930#endif
1931
1933
1934#endif /* NDIS_LEGACY_PROTOCOL */
1935
1936/* Prototypes for NDIS_MINIPORT_CHARACTERISTICS */
1937
1938typedef BOOLEAN
1940 _In_ NDIS_HANDLE MiniportAdapterContext);
1941
1942typedef VOID
1944 _In_ NDIS_HANDLE MiniportAdapterContext);
1945
1946typedef VOID
1948 _In_ NDIS_HANDLE MiniportAdapterContext);
1949
1950typedef VOID
1952 _In_ NDIS_HANDLE MiniportAdapterContext);
1953
1954typedef VOID
1956 _In_ NDIS_HANDLE MiniportAdapterContext);
1957
1962 _In_ PNDIS_MEDIUM MediumArray,
1964 _In_ NDIS_HANDLE MiniportAdapterContext,
1966
1967typedef VOID
1969 _Out_ PBOOLEAN InterruptRecognized,
1970 _Out_ PBOOLEAN QueueMiniportHandleInterrupt,
1971 _In_ NDIS_HANDLE MiniportAdapterContext);
1972
1975 _In_ NDIS_HANDLE MiniportAdapterContext,
1976 _In_ NDIS_OID Oid,
1977 _In_ PVOID InformationBuffer,
1978 _In_ ULONG InformationBufferLength,
1980 _Out_ PULONG BytesNeeded);
1981
1985 _In_ NDIS_HANDLE MiniportAdapterContext,
1987
1990 _Out_ PBOOLEAN AddressingReset,
1991 _In_ NDIS_HANDLE MiniportAdapterContext);
1992
1995 _In_ NDIS_HANDLE MiniportAdapterContext,
1997 _In_ UINT Flags);
1998
2001 _In_ NDIS_HANDLE MiniportAdapterContext,
2002 _In_ NDIS_HANDLE NdisLinkHandle,
2004
2007 _In_ NDIS_HANDLE MiniportAdapterContext,
2008 _In_ NDIS_OID Oid,
2009 _In_ PVOID InformationBuffer,
2010 _In_ ULONG InformationBufferLength,
2012 _Out_ PULONG BytesNeeded);
2013
2018 _In_ NDIS_HANDLE MiniportAdapterContext,
2019 _In_ NDIS_HANDLE MiniportReceiveContext,
2021 _In_ UINT BytesToTransfer);
2022
2025
2026typedef VOID
2028 _In_ PVOID ShutdownContext);
2029
2030typedef VOID
2032 _In_ NDIS_HANDLE MiniportAdapterContext,
2034
2035typedef VOID
2037 _In_ NDIS_HANDLE MiniportAdapterContext,
2040
2041typedef VOID
2043 _In_ NDIS_HANDLE MiniportAdapterContext,
2048
2049/* NDIS structures available only to miniport drivers */
2050
2051#define NDIS30_MINIPORT_CHARACTERISTICS_S \
2052 UCHAR MajorNdisVersion; \
2053 UCHAR MinorNdisVersion; \
2054 UINT Reserved; \
2055 W_CHECK_FOR_HANG_HANDLER CheckForHangHandler; \
2056 W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler; \
2057 W_ENABLE_INTERRUPT_HANDLER EnableInterruptHandler; \
2058 W_HALT_HANDLER HaltHandler; \
2059 W_HANDLE_INTERRUPT_HANDLER HandleInterruptHandler; \
2060 W_INITIALIZE_HANDLER InitializeHandler; \
2061 W_ISR_HANDLER ISRHandler; \
2062 W_QUERY_INFORMATION_HANDLER QueryInformationHandler; \
2063 W_RECONFIGURE_HANDLER ReconfigureHandler; \
2064 W_RESET_HANDLER ResetHandler; \
2065 W_SEND_HANDLER SendHandler; \
2066 W_SET_INFORMATION_HANDLER SetInformationHandler; \
2067 W_TRANSFER_DATA_HANDLER TransferDataHandler;
2068
2072
2073#ifdef __cplusplus
2074
2075#define NDIS40_MINIPORT_CHARACTERISTICS_S \
2076 NDIS30_MINIPORT_CHARACTERISTICS Ndis30Chars; \
2077 W_RETURN_PACKET_HANDLER ReturnPacketHandler; \
2078 W_SEND_PACKETS_HANDLER SendPacketsHandler; \
2079 W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
2080
2081#else /* !__cplusplus */
2082
2083#define NDIS40_MINIPORT_CHARACTERISTICS_S \
2084 NDIS30_MINIPORT_CHARACTERISTICS_S \
2085 W_RETURN_PACKET_HANDLER ReturnPacketHandler; \
2086 W_SEND_PACKETS_HANDLER SendPacketsHandler; \
2087 W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
2088
2089#endif /* !__cplusplus */
2090
2094
2095/* Extensions for NDIS 5.0 miniports */
2096
2098_Function_class_(MINIPORT_CO_CREATE_VC)
2099typedef NDIS_STATUS
2100(NTAPI MINIPORT_CO_CREATE_VC)(
2101 _In_ NDIS_HANDLE MiniportAdapterContext,
2104typedef MINIPORT_CO_CREATE_VC *W_CO_CREATE_VC_HANDLER;
2105
2107_Function_class_(MINIPORT_CO_DELETE_VC)
2108typedef NDIS_STATUS
2109(NTAPI MINIPORT_CO_DELETE_VC)(
2111typedef MINIPORT_CO_DELETE_VC *W_CO_DELETE_VC_HANDLER;
2112
2114_Function_class_(MINIPORT_CO_ACTIVATE_VC)
2115typedef NDIS_STATUS
2116(NTAPI MINIPORT_CO_ACTIVATE_VC)(
2119typedef MINIPORT_CO_ACTIVATE_VC *W_CO_ACTIVATE_VC_HANDLER;
2120
2122_Function_class_(MINIPORT_CO_DEACTIVATE_VC)
2123typedef NDIS_STATUS
2124(NTAPI MINIPORT_CO_DEACTIVATE_VC)(
2126typedef MINIPORT_CO_DEACTIVATE_VC *W_CO_DEACTIVATE_VC_HANDLER;
2127
2128typedef VOID
2133
2136 _In_ NDIS_HANDLE MiniportAdapterContext,
2139
2140#ifdef __cplusplus
2141
2142#define NDIS50_MINIPORT_CHARACTERISTICS_S \
2143 NDIS40_MINIPORT_CHARACTERISTICS Ndis40Chars; \
2144 W_CO_CREATE_VC_HANDLER CoCreateVcHandler; \
2145 W_CO_DELETE_VC_HANDLER CoDeleteVcHandler; \
2146 W_CO_ACTIVATE_VC_HANDLER CoActivateVcHandler; \
2147 W_CO_DEACTIVATE_VC_HANDLER CoDeactivateVcHandler; \
2148 W_CO_SEND_PACKETS_HANDLER CoSendPacketsHandler; \
2149 W_CO_REQUEST_HANDLER CoRequestHandler;
2150
2151#else /* !__cplusplus */
2152
2153#define NDIS50_MINIPORT_CHARACTERISTICS_S \
2154 NDIS40_MINIPORT_CHARACTERISTICS_S \
2155 W_CO_CREATE_VC_HANDLER CoCreateVcHandler; \
2156 W_CO_DELETE_VC_HANDLER CoDeleteVcHandler; \
2157 W_CO_ACTIVATE_VC_HANDLER CoActivateVcHandler; \
2158 W_CO_DEACTIVATE_VC_HANDLER CoDeactivateVcHandler; \
2159 W_CO_SEND_PACKETS_HANDLER CoSendPacketsHandler; \
2160 W_CO_REQUEST_HANDLER CoRequestHandler;
2161
2162#endif /* !__cplusplus */
2163
2167
2168/* Extensions for NDIS 5.1 miniports */
2169
2170typedef VOID
2172 _In_ NDIS_HANDLE MiniportAdapterContext,
2174
2175typedef VOID
2177 _In_ NDIS_HANDLE MiniportAdapterContext,
2178 _In_ NDIS_DEVICE_PNP_EVENT PnPEvent,
2179 _In_ PVOID InformationBuffer,
2180 _In_ ULONG InformationBufferLength);
2181
2182typedef VOID
2184 _In_ PVOID ShutdownContext);
2185
2186#ifdef __cplusplus
2187
2188#define NDIS51_MINIPORT_CHARACTERISTICS_S \
2189 NDIS50_MINIPORT_CHARACTERISTICS Ndis50Chars; \
2190 W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \
2191 W_PNP_EVENT_NOTIFY_HANDLER PnPEventNotifyHandler; \
2192 W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler; \
2193 PVOID Reserved1; \
2194 PVOID Reserved2; \
2195 PVOID Reserved3; \
2196 PVOID Reserved4;
2197
2198#else
2199
2200#define NDIS51_MINIPORT_CHARACTERISTICS_S \
2201 NDIS50_MINIPORT_CHARACTERISTICS_S \
2202 W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \
2203 W_PNP_EVENT_NOTIFY_HANDLER PnPEventNotifyHandler; \
2204 W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler; \
2205 PVOID Reserved1; \
2206 PVOID Reserved2; \
2207 PVOID Reserved3; \
2208 PVOID Reserved4;
2209
2210#endif
2211
2215
2216#if defined(NDIS51_MINIPORT)
2217typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
2220#elif defined(NDIS50_MINIPORT)
2221typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
2224#elif defined(NDIS40_MINIPORT)
2225typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
2228#else /* NDIS30 */
2232#endif
2233
2248
2249/* Structures available only to full MAC drivers */
2250
2251typedef BOOLEAN
2253 IN PVOID InterruptContext);
2254
2255typedef VOID
2257 IN PVOID SystemSpecific1,
2258 IN PVOID InterruptContext,
2261
2262typedef struct _NDIS_WRAPPER_HANDLE NDIS_WRAPPER_HANDLE, *PNDIS_WRAPPER_HANDLE;
2263typedef struct _NDIS_PROTOCOL_BLOCK NDIS_PROTOCOL_BLOCK, *PNDIS_PROTOCOL_BLOCK;
2266typedef struct _NDIS_OFFLOAD NDIS_OFFLOAD, *PNDIS_OFFLOAD;
2267typedef struct _NDIS_AF_LIST NDIS_AF_LIST, *PNDIS_AF_LIST;
2268typedef struct _X_FILTER ETH_FILTER, *PETH_FILTER;
2269#if NDIS_SUPPORT_NDIS6
2270typedef USHORT NET_FRAME_TYPE, *PNET_FRAME_TYPE;
2271#endif
2272
2273typedef struct _NDIS_MINIPORT_TIMER {
2281
2282typedef struct _NDIS_INTERRUPT {
2293
2294
2306
2307#define NUMBER_OF_WORK_ITEM_TYPES NdisMaxWorkItems
2308#define NUMBER_OF_SINGLE_WORK_ITEMS 6
2309
2315
2316struct _NDIS_WORK_ITEM;
2318
2319typedef struct _NDIS_WORK_ITEM {
2324
2325typedef struct _NDIS_BIND_PATHS {
2329
2330
2331typedef VOID
2334
2335typedef VOID
2338 _In_ NDIS_HANDLE MacReceiveContext,
2340 _In_ PVOID HeaderBuffer,
2341 _In_ UINT HeaderBufferSize,
2342 _In_ PVOID LookaheadBuffer,
2343 _In_ UINT LookaheadBufferSize,
2345
2346typedef VOID
2349
2350typedef VOID
2353 IN NDIS_HANDLE MacReceiveContext,
2355 IN UINT AddressLength,
2356 IN PVOID HeaderBuffer,
2357 IN UINT HeaderBufferSize,
2358 IN PVOID LookaheadBuffer,
2359 IN UINT LookaheadBufferSize,
2361
2362typedef VOID
2364 _In_ NDIS_HANDLE Miniport,
2367
2368typedef VOID
2371
2372typedef VOID
2375 _In_ NDIS_HANDLE MacReceiveContext,
2376 _In_ PVOID HeaderBuffer,
2377 _In_ UINT HeaderBufferSize,
2378 _In_ PVOID LookaheadBuffer,
2379 _In_ UINT LookaheadBufferSize,
2381
2382typedef VOID
2385 _In_ NDIS_HANDLE NdisLinkContext);
2386
2387typedef VOID
2391 _In_ NDIS_HANDLE NdisLinkContext,
2394
2395typedef VOID
2397 IN PNDIS_MINIPORT_BLOCK Miniport,
2398 IN NDIS_WORK_ITEM_TYPE WorkItemType,
2399 OUT PVOID *WorkItemContext);
2400
2403 IN PNDIS_MINIPORT_BLOCK Miniport,
2404 IN NDIS_WORK_ITEM_TYPE WorkItemType,
2405 IN PVOID WorkItemContext);
2406
2409 IN PNDIS_MINIPORT_BLOCK Miniport,
2410 IN NDIS_WORK_ITEM_TYPE WorkItemType,
2411 IN PVOID WorkItemContext);
2412
2413typedef VOID
2417
2418typedef VOID
2422 _In_ BOOLEAN AddressingReset);
2423
2424typedef VOID
2429
2430typedef VOID
2433
2434typedef BOOLEAN
2436 _In_ PNDIS_MINIPORT_BLOCK Miniport);
2437
2438typedef VOID
2440 _In_ NDIS_HANDLE MiniportHandle,
2444
2445typedef VOID
2448
2449typedef VOID
2455
2460
2461
2462#if ARCNET
2463
2464#define ARC_SEND_BUFFERS 8
2465#define ARC_HEADER_SIZE 4
2466
2467typedef struct _NDIS_ARC_BUF {
2468 NDIS_HANDLE ArcnetBufferPool;
2469 PUCHAR ArcnetLookaheadBuffer;
2470 UINT NumFree;
2471 ARC_BUFFER_LIST ArcnetBuffers[ARC_SEND_BUFFERS];
2472} NDIS_ARC_BUF, *PNDIS_ARC_BUF;
2473
2474#endif /* ARCNET */
2475
2476typedef struct _NDIS_LOG {
2486
2487#if ARCNET
2488#define FILTERDBS_ARCNET_S \
2489 PARC_FILTER ArcDB;
2490#else /* !ARCNET */
2491#define FILTERDBS_ARCNET_S \
2492 PVOID XXXDB;
2493#endif /* !ARCNET */
2494
2495#define FILTERDBS_S \
2496 _ANONYMOUS_UNION union { \
2497 PETH_FILTER EthDB; \
2498 PNULL_FILTER NullDB; \
2499 } DUMMYUNIONNAME; \
2500 PTR_FILTER TrDB; \
2501 PFDDI_FILTER FddiDB; \
2502 FILTERDBS_ARCNET_S
2503
2504typedef struct _FILTERDBS {
2507
2592#if defined(NDIS_WRAPPER)
2593 PNDIS_MINIPORT_BLOCK NextGlobalMiniport;
2596 UCHAR SendFlags;
2597 UCHAR TrResetRing;
2598 UCHAR ArcnetAddress;
2599 UCHAR XState;
2600 _ANONYMOUS_UNION union {
2601#if ARCNET
2602 PNDIS_ARC_BUF ArcBuf;
2603#endif
2604 PVOID BusInterface;
2606 PNDIS_LOG Log;
2610 SINGLE_LIST_ENTRY PatternList;
2611 NDIS_PNP_CAPABILITIES PMCapabilities;
2612 DEVICE_CAPABILITIES DeviceCaps;
2613 ULONG WakeUpEnable;
2614 DEVICE_POWER_STATE CurrentDevicePowerState;
2615 PIRP pIrpWaitWake;
2616 SYSTEM_POWER_STATE WaitWakeSystemState;
2617 LARGE_INTEGER VcIndex;
2618 KSPIN_LOCK VcCountLock;
2619 LIST_ENTRY WmiEnabledVcs;
2620 PNDIS_GUID pNdisGuidMap;
2621 PNDIS_GUID pCustomGuidMap;
2622 USHORT VcCount;
2623 USHORT cNdisGuidMap;
2624 USHORT cCustomGuidMap;
2625 USHORT CurrentMapRegister;
2626 PKEVENT AllocationEvent;
2627 USHORT BaseMapRegistersNeeded;
2628 USHORT SGMapRegistersNeeded;
2630 NDIS_TIMER MediaDisconnectTimer;
2631 USHORT MediaDisconnectTimeOut;
2632 USHORT InstanceNumber;
2633 NDIS_EVENT OpenReadyEvent;
2634 NDIS_PNP_DEVICE_STATE PnPDeviceState;
2635 NDIS_PNP_DEVICE_STATE OldPnPDeviceState;
2636 PGET_SET_DEVICE_DATA SetBusData;
2637 PGET_SET_DEVICE_DATA GetBusData;
2638 KDPC DeferredDpc;
2639#if 0
2640 /* FIXME: */
2641 NDIS_STATS NdisStats;
2642#else
2643 ULONG NdisStats;
2644#endif
2645 PNDIS_PACKET IndicatedPacket[MAXIMUM_PROCESSORS];
2646 PKEVENT RemoveReadyEvent;
2647 PKEVENT AllOpensClosedEvent;
2648 PKEVENT AllRequestsCompletedEvent;
2649 ULONG InitTimeMs;
2651 PDMA_ADAPTER SystemAdapterObject;
2652 ULONG DriverVerifyFlags;
2653 POID_LIST OidList;
2654 USHORT InternalResetCount;
2655 USHORT MiniportResetCount;
2656 USHORT MediaSenseConnectCount;
2657 USHORT MediaSenseDisconnectCount;
2658 PNDIS_PACKET *xPackets;
2659 ULONG UserModeOpenReferences;
2660 _ANONYMOUS_UNION union {
2661 PVOID SavedSendHandler;
2662 PVOID SavedWanSendHandler;
2664 PVOID SavedSendPacketsHandler;
2665 PVOID SavedCancelSendPacketsHandler;
2666 W_SEND_PACKETS_HANDLER WSendPacketsHandler;
2667 ULONG MiniportAttributes;
2668 PDMA_ADAPTER SavedSystemAdapterObject;
2669 USHORT NumOpens;
2670 USHORT CFHangXTicks;
2671 ULONG RequestCount;
2672 ULONG IndicatedPacketsCount;
2673 ULONG PhysicalMediumType;
2674 PNDIS_REQUEST LastRequest;
2675 LONG DmaAdapterRefCount;
2676 PVOID FakeMac;
2677 ULONG LockDbg;
2678 ULONG LockDbgX;
2679 PVOID LockThread;
2680 ULONG InfoFlags;
2681 KSPIN_LOCK TimerQueueLock;
2682 PKEVENT ResetCompletedEvent;
2683 PKEVENT QueuedBindingCompletedEvent;
2684 PKEVENT DmaResourcesReleasedEvent;
2685 FILTER_PACKET_INDICATION_HANDLER SavedPacketIndicateHandler;
2686 ULONG RegisteredInterrupts;
2687 PNPAGED_LOOKASIDE_LIST SGListLookasideList;
2688 ULONG ScatterGatherListSize;
2689#endif /* _NDIS_ */
2690};
2691
2692#if NDIS_LEGACY_DRIVER
2693
2696 _In_ NDIS_HANDLE MacBindingHandle,
2697 _In_ NDIS_HANDLE LinkHandle,
2698 _In_ PVOID Packet);
2699
2700typedef VOID
2702 _In_ NDIS_HANDLE MiniportAdapterContext,
2705
2710
2714 _In_ NDIS_HANDLE MacReceiveContext,
2716 _In_ UINT BytesToTransfer,
2719
2723
2728
2729#endif /* NDIS_LEGACY_DRIVER */
2730
2731#if defined(NDIS_WRAPPER)
2732#define NDIS_COMMON_OPEN_BLOCK_WRAPPER_S \
2733 ULONG Flags; \
2734 ULONG References; \
2735 KSPIN_LOCK SpinLock; \
2736 NDIS_HANDLE FilterHandle; \
2737 ULONG ProtocolOptions; \
2738 USHORT CurrentLookahead; \
2739 USHORT ConnectDampTicks; \
2740 USHORT DisconnectDampTicks; \
2741 W_SEND_HANDLER WSendHandler; \
2742 W_TRANSFER_DATA_HANDLER WTransferDataHandler; \
2743 W_SEND_PACKETS_HANDLER WSendPacketsHandler; \
2744 W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \
2745 ULONG WakeUpEnable; \
2746 PKEVENT CloseCompleteEvent; \
2747 QUEUED_CLOSE QC; \
2748 ULONG AfReferences; \
2749 PNDIS_OPEN_BLOCK NextGlobalOpen;
2750#else
2751#define NDIS_COMMON_OPEN_BLOCK_WRAPPER_S
2752#endif
2753
2754#define NDIS_COMMON_OPEN_BLOCK_S \
2755 PVOID MacHandle; \
2756 NDIS_HANDLE BindingHandle; \
2757 PNDIS_MINIPORT_BLOCK MiniportHandle; \
2758 PNDIS_PROTOCOL_BLOCK ProtocolHandle; \
2759 NDIS_HANDLE ProtocolBindingContext; \
2760 PNDIS_OPEN_BLOCK MiniportNextOpen; \
2761 PNDIS_OPEN_BLOCK ProtocolNextOpen; \
2762 NDIS_HANDLE MiniportAdapterContext; \
2763 BOOLEAN Reserved1; \
2764 BOOLEAN Reserved2; \
2765 BOOLEAN Reserved3; \
2766 BOOLEAN Reserved4; \
2767 PNDIS_STRING BindDeviceName; \
2768 KSPIN_LOCK Reserved5; \
2769 PNDIS_STRING RootDeviceName; \
2770 _ANONYMOUS_UNION union { \
2771 SEND_HANDLER SendHandler; \
2772 WAN_SEND_HANDLER WanSendHandler; \
2773 } DUMMYUNIONNAME; \
2774 TRANSFER_DATA_HANDLER TransferDataHandler; \
2775 SEND_COMPLETE_HANDLER SendCompleteHandler; \
2776 TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler; \
2777 RECEIVE_HANDLER ReceiveHandler; \
2778 RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler; \
2779 WAN_RECEIVE_HANDLER WanReceiveHandler; \
2780 REQUEST_COMPLETE_HANDLER RequestCompleteHandler; \
2781 RECEIVE_PACKET_HANDLER ReceivePacketHandler; \
2782 SEND_PACKETS_HANDLER SendPacketsHandler; \
2783 RESET_HANDLER ResetHandler; \
2784 REQUEST_HANDLER RequestHandler; \
2785 RESET_COMPLETE_HANDLER ResetCompleteHandler; \
2786 STATUS_HANDLER StatusHandler; \
2787 STATUS_COMPLETE_HANDLER StatusCompleteHandler; \
2788 NDIS_COMMON_OPEN_BLOCK_WRAPPER_S
2789
2793
2795{
2796#ifdef __cplusplus
2797 NDIS_COMMON_OPEN_BLOCK NdisCommonOpenBlock;
2798#else
2800#endif
2801};
2802
2803#include <xfilter.h>
2804
2805#define NDIS_M_MAX_LOOKAHEAD 526
2806
2808NDISAPI
2809VOID
2810NTAPI
2815
2817NDISAPI
2818VOID
2819NTAPI
2823
2825NDISAPI
2826VOID
2827NTAPI
2831
2832NDISAPI
2833VOID
2834NTAPI
2836 _In_ PNDIS_TIMER NdisTimer,
2837 _In_ UINT MillisecondsPeriod);
2838
2840NDISAPI
2841VOID
2842NTAPI
2844 _In_ PNDIS_TIMER NdisTimer,
2847
2849NDISAPI
2850PVOID
2851NTAPI
2853 _In_ PNDIS_STRING NdisRoutineName);
2854
2856NDISAPI
2857UINT
2858NTAPI
2860
2861#if NDIS_LEGACY_DRIVER
2862
2864NDISAPI
2865VOID
2866NTAPI
2873
2875NDISAPI
2876VOID
2877NTAPI
2882
2884NDISAPI
2885VOID
2886NTAPI
2889
2890/*
2891NDISAPI
2892VOID
2893NTAPI
2894NdisFreeBuffer(
2895 IN PNDIS_BUFFER Buffer);
2896*/
2897#define NdisFreeBuffer IoFreeMdl
2898
2900NDISAPI
2901VOID
2902NTAPI
2908
2910NDISAPI
2911VOID
2912NTAPI
2919
2921NDISAPI
2922VOID
2923NTAPI
2925 _In_ NDIS_HANDLE PacketPoolHandle,
2927
2929NDISAPI
2930UINT
2931NTAPI
2934
2936NDISAPI
2937UINT
2938NTAPI
2940 _In_ UINT ProtocolReservedSize);
2941
2943NDISAPI
2945NTAPI
2948
2950NDISAPI
2952NTAPI
2956
2958NDISAPI
2959VOID
2960NTAPI
2963
2965NDISAPI
2966VOID
2967NTAPI
2970
2972NDISAPI
2973VOID
2974NTAPI
2977
2979NDISAPI
2980VOID
2981NTAPI
2984
2986NDISAPI
2987VOID
2988NTAPI
2993
2995NDISAPI
2996VOID
2997NTAPI
3002
3004NDISAPI
3005VOID
3006NTAPI
3011
3012/*
3013 * VOID
3014 * NdisReinitializePacket(
3015 * IN OUT PNDIS_PACKET Packet);
3016 */
3017#define NdisReinitializePacket(Packet) { \
3018 (Packet)->Private.Head = (PNDIS_BUFFER)NULL; \
3019 (Packet)->Private.ValidCounts = FALSE; \
3020}
3021
3022/*
3023NDISAPI
3024VOID
3025NTAPI
3026NdisQueryBuffer(
3027 IN PNDIS_BUFFER Buffer,
3028 OUT PVOID *VirtualAddress OPTIONAL,
3029 OUT PUINT Length);
3030*/
3031#define NdisQueryBuffer(_Buffer, _VirtualAddress, _Length) { \
3032 if (ARGUMENT_PRESENT(_VirtualAddress)) { \
3033 *(PVOID *)(_VirtualAddress) = MmGetSystemAddressForMdl(_Buffer); \
3034 } \
3035 *(_Length) = MmGetMdlByteCount(_Buffer); \
3036}
3037
3038NDISAPI
3039VOID
3040NTAPI
3043 OUT PNDIS_BUFFER *_FirstBuffer,
3044 OUT PVOID *_FirstBufferVA,
3045 OUT PUINT _FirstBufferLength,
3046 OUT PUINT _TotalBufferLength);
3047
3048/*
3049 * VOID
3050 * NdisGetFirstBufferFromPacketSafe(
3051 * IN PNDIS_PACKET _Packet,
3052 * OUT PNDIS_BUFFER * _FirstBuffer,
3053 * OUT PVOID * _FirstBufferVA,
3054 * OUT PUINT _FirstBufferLength,
3055 * OUT PUINT _TotalBufferLength),
3056 * IN MM_PAGE_PRIORITY _Priority)
3057 */
3058#define NdisGetFirstBufferFromPacketSafe(_Packet, \
3059 _FirstBuffer, \
3060 _FirstBufferVA, \
3061 _FirstBufferLength, \
3062 _TotalBufferLength, \
3063 _Priority) \
3064{ \
3065 PNDIS_BUFFER _Buffer; \
3066 \
3067 _Buffer = (_Packet)->Private.Head; \
3068 *(_FirstBuffer) = _Buffer; \
3069 if (_Buffer != NULL) { \
3070 *(_FirstBufferVA) = MmGetSystemAddressForMdlSafe(_Buffer, _Priority); \
3071 *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer); \
3072 _Buffer = _Buffer->Next; \
3073 *(_TotalBufferLength) = *(_FirstBufferLength); \
3074 while (_Buffer != NULL) { \
3075 *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer); \
3076 _Buffer = _Buffer->Next; \
3077 } \
3078 } \
3079 else { \
3080 *(_FirstBufferVA) = 0; \
3081 *(_FirstBufferLength) = 0; \
3082 *(_TotalBufferLength) = 0; \
3083 } \
3084}
3085
3086/*
3087 * VOID
3088 * NdisRecalculatePacketCounts(
3089 * IN OUT PNDIS_PACKET Packet);
3090 */
3091#define NdisRecalculatePacketCounts(Packet) { \
3092 PNDIS_BUFFER _Buffer = (Packet)->Private.Head; \
3093 if (_Buffer != NULL) { \
3094 while (_Buffer->Next != NULL) { \
3095 _Buffer = _Buffer->Next; \
3096 } \
3097 (Packet)->Private.Tail = _Buffer; \
3098 } \
3099 (Packet)->Private.ValidCounts = FALSE; \
3100}
3101
3102/*
3103 * VOID
3104 * NdisChainBufferAtFront(
3105 * IN OUT PNDIS_PACKET Packet,
3106 * IN OUT PNDIS_BUFFER Buffer)
3107 */
3108#define NdisChainBufferAtFront(Packet, \
3109 Buffer) \
3110{ \
3111 PNDIS_BUFFER _NdisBuffer = (Buffer); \
3112 \
3113 while (_NdisBuffer->Next != NULL) \
3114 _NdisBuffer = _NdisBuffer->Next; \
3115 \
3116 if ((Packet)->Private.Head == NULL) \
3117 (Packet)->Private.Tail = _NdisBuffer; \
3118 \
3119 _NdisBuffer->Next = (Packet)->Private.Head; \
3120 (Packet)->Private.Head = (Buffer); \
3121 (Packet)->Private.ValidCounts = FALSE; \
3122}
3123
3124/*
3125 * VOID
3126 * NdisChainBufferAtBack(
3127 * IN OUT PNDIS_PACKET Packet,
3128 * IN OUT PNDIS_BUFFER Buffer)
3129 */
3130#define NdisChainBufferAtBack(Packet, \
3131 Buffer) \
3132{ \
3133 PNDIS_BUFFER _NdisBuffer = (Buffer); \
3134 \
3135 while (_NdisBuffer->Next != NULL) \
3136 _NdisBuffer = _NdisBuffer->Next; \
3137 \
3138 _NdisBuffer->Next = NULL; \
3139 \
3140 if ((Packet)->Private.Head != NULL) \
3141 (Packet)->Private.Tail->Next = (Buffer); \
3142 else \
3143 (Packet)->Private.Head = (Buffer); \
3144 \
3145 (Packet)->Private.Tail = _NdisBuffer; \
3146 (Packet)->Private.ValidCounts = FALSE; \
3147}
3148
3149NDISAPI
3150VOID
3151NTAPI
3155
3156NDISAPI
3157VOID
3158NTAPI
3162
3164NDISAPI
3165VOID
3166NTAPI
3174
3175NDISAPI
3176VOID
3177NTAPI
3186
3188__drv_preferredFunction("NdisAllocateMemoryWithTag", "Obsolete")
3189NDISAPI
3191NTAPI
3196 _In_ UINT MemoryFlags,
3198
3199#define NdisInitializeWorkItem(_WI_, _R_, _C_) { \
3200 (_WI_)->Context = _C_; \
3201 (_WI_)->Routine = _R_; \
3202}
3203
3205NDISAPI
3207NTAPI
3210
3212NDISAPI
3213VOID
3214NTAPI
3220
3221#endif /* NDIS_LEGACY_DRIVER */
3222
3224NDISAPI
3225VOID
3226NTAPI
3233
3235NDISAPI
3236VOID
3237NTAPI
3240
3242NDISAPI
3243VOID
3244NTAPI
3249
3251NDISAPI
3252VOID
3253NTAPI
3256
3258NDISAPI
3259ULONG
3260NTAPI
3262
3263#define NdisFlushBuffer(Buffer,WriteToDevice) \
3264 KeFlushIoBuffers((Buffer),!(WriteToDevice), TRUE)
3265
3267NDISAPI
3268VOID
3269NTAPI
3276 _In_ UINT Length);
3277
3278/*
3279 * VOID
3280 * NdisCopyLookaheadData(
3281 * IN PVOID Destination,
3282 * IN PVOID Source,
3283 * IN ULONG Length,
3284 * IN ULONG ReceiveFlags);
3285 */
3286
3287#if defined(_M_IX86) || defined(_M_AMD64)
3288#define NdisCopyLookaheadData(Destination, Source, Length, MacOptions) \
3289 RtlCopyMemory(Destination, Source, Length)
3290#else
3291#define NdisCopyLookaheadData(Destination, Source, Length, MacOptions) \
3292 { \
3293 if ((MacOptions) & NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA) \
3294 { \
3295 RtlCopyMemory(Destination, Source, Length); \
3296 } \
3297 else \
3298 { \
3299 PUCHAR _Src = (PUCHAR)(Source); \
3300 PUCHAR _Dest = (PUCHAR)(Destination); \
3301 PUCHAR _End = _Dest + (Length); \
3302 while (_Dest < _End) \
3303 *_Dest++ = *_Src++; \
3304 } \
3305 }
3306#endif
3307
3308/*
3309NDISAPI
3310VOID
3311NTAPI
3312NdisAdjustBufferLength(
3313 IN PNDIS_BUFFER Buffer,
3314 IN UINT Length);
3315*/
3316#define NdisAdjustBufferLength(Buffer, Length) \
3317 (((Buffer)->ByteCount) = (Length))
3318
3319#if NDIS_SUPPORT_NDIS6
3320#define NdisAdjustMdlLength(_Mdl, _Length) \
3321 (((_Mdl)->ByteCount) = (_Length))
3322#endif
3323
3324/*
3325NDISAPI
3326ULONG
3327NTAPI
3328NdisBufferLength(
3329 IN PNDIS_BUFFER Buffer);
3330*/
3331#define NdisBufferLength MmGetMdlByteCount
3332
3333/*
3334NDISAPI
3335PVOID
3336NTAPI
3337NdisBufferVirtualAddress(
3338 IN PNDIS_BUFFER Buffer);
3339*/
3340#define NdisBufferVirtualAddress MmGetSystemAddressForMdl
3341
3342#define NdisBufferVirtualAddressSafe MmGetSystemAddressForMdlSafe
3343
3344NDISAPI
3345ULONG
3346NTAPI
3349
3350/*
3351NDISAPI
3352VOID
3353NTAPI
3354NdisGetBufferPhysicalArraySize(
3355 IN PNDIS_BUFFER Buffer,
3356 OUT PUINT ArraySize);
3357*/
3358#define NdisGetBufferPhysicalArraySize(Buffer, ArraySize) \
3359 (*(ArraySize) = NDIS_BUFFER_TO_SPAN_PAGES(Buffer))
3360
3361/*
3362NDISAPI
3363VOID
3364NTAPI
3365NdisQueryBufferOffset(
3366 IN PNDIS_BUFFER Buffer,
3367 OUT PUINT Offset,
3368 OUT PUINT Length);
3369*/
3370#define NdisQueryBufferOffset(_Buffer, _Offset, _Length) { \
3371 *(_Offset) = MmGetMdlByteOffset(_Buffer); \
3372 *(_Length) = MmGetMdlByteCount(_Buffer); \
3373}
3374
3375/*
3376 * PVOID
3377 * NDIS_BUFFER_LINKAGE(
3378 * IN PNDIS_BUFFER Buffer);
3379 */
3380#define NDIS_BUFFER_LINKAGE(Buffer) (Buffer)->Next
3381
3382/*
3383 * VOID
3384 * NdisGetNextBuffer(
3385 * IN PNDIS_BUFFER CurrentBuffer,
3386 * OUT PNDIS_BUFFER * NextBuffer)
3387 */
3388#define NdisGetNextBuffer(CurrentBuffer, \
3389 NextBuffer) \
3390{ \
3391 *(NextBuffer) = (CurrentBuffer)->Next; \
3392}
3393
3394#if NDIS_LEGACY_DRIVER
3395
3396#define NDIS_PACKET_FIRST_NDIS_BUFFER(_Packet) ((_Packet)->Private.Head)
3397#define NDIS_PACKET_LAST_NDIS_BUFFER(_Packet) ((_Packet)->Private.Tail)
3398#define NDIS_PACKET_VALID_COUNTS(_Packet) ((_Packet)->Private.ValidCounts)
3399
3400/*
3401 * UINT
3402 * NdisGetPacketFlags(
3403 * IN PNDIS_PACKET Packet);
3404 */
3405#define NdisGetPacketFlags(Packet) (Packet)->Private.Flags
3406
3407/*
3408 * ULONG
3409 * NDIS_GET_PACKET_PROTOCOL_TYPE(
3410 * IN PNDIS_PACKET Packet);
3411 */
3412#define NDIS_GET_PACKET_PROTOCOL_TYPE(_Packet) \
3413 ((_Packet)->Private.Flags & NDIS_PROTOCOL_ID_MASK)
3414
3415/*
3416 * PNDIS_PACKET_OOB_DATA
3417 * NDIS_OOB_DATA_FROM_PACKET(
3418 * IN PNDIS_PACKET Packet);
3419 */
3420#define NDIS_OOB_DATA_FROM_PACKET(_Packet) \
3421 (PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3422 (_Packet)->Private.NdisPacketOobOffset)
3423
3424/*
3425 * ULONG
3426 * NDIS_GET_PACKET_HEADER_SIZE(
3427 * IN PNDIS_PACKET Packet);
3428 */
3429#define NDIS_GET_PACKET_HEADER_SIZE(_Packet) \
3430 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3431 (_Packet)->Private.NdisPacketOobOffset))->HeaderSize
3432
3433/*
3434 * NDIS_STATUS
3435 * NDIS_GET_PACKET_STATUS(
3436 * IN PNDIS_PACKET Packet);
3437 */
3438#define NDIS_GET_PACKET_STATUS(_Packet) \
3439 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3440 (_Packet)->Private.NdisPacketOobOffset))->Status
3441
3442/*
3443 * ULONGLONG
3444 * NDIS_GET_PACKET_TIME_TO_SEND(
3445 * IN PNDIS_PACKET Packet);
3446 */
3447#define NDIS_GET_PACKET_TIME_TO_SEND(_Packet) \
3448 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3449 (_Packet)->Private.NdisPacketOobOffset))->TimeToSend
3450
3451/*
3452 * ULONGLONG
3453 * NDIS_GET_PACKET_TIME_SENT(
3454 * IN PNDIS_PACKET Packet);
3455 */
3456#define NDIS_GET_PACKET_TIME_SENT(_Packet) \
3457 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3458 (_Packet)->Private.NdisPacketOobOffset))->TimeSent
3459
3460/*
3461 * ULONGLONG
3462 * NDIS_GET_PACKET_TIME_RECEIVED(
3463 * IN PNDIS_PACKET Packet);
3464 */
3465#define NDIS_GET_PACKET_TIME_RECEIVED(_Packet) \
3466 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3467 (_Packet)->Private.NdisPacketOobOffset))->TimeReceived
3468
3469/*
3470 * VOID
3471 * NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(
3472 * IN PNDIS_PACKET Packet,
3473 * IN PPVOID pMediaSpecificInfo,
3474 * IN PUINT pSizeMediaSpecificInfo);
3475 */
3476#define NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(_Packet, \
3477 _pMediaSpecificInfo, \
3478 _pSizeMediaSpecificInfo) \
3479{ \
3480 if (!((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS) || \
3481 !((_Packet)->Private.NdisPacketFlags & fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO)) \
3482 { \
3483 *(_pMediaSpecificInfo) = NULL; \
3484 *(_pSizeMediaSpecificInfo) = 0; \
3485 } \
3486 else \
3487 { \
3488 *(_pMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3489 (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation; \
3490 *(_pSizeMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3491 (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo; \
3492 } \
3493}
3494
3495/*
3496 * VOID
3497 * NDIS_SET_PACKET_HEADER_SIZE(
3498 * IN PNDIS_PACKET Packet,
3499 * IN UINT HdrSize);
3500 */
3501#define NDIS_SET_PACKET_HEADER_SIZE(_Packet, _HdrSize) \
3502 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3503 (_Packet)->Private.NdisPacketOobOffset))->HeaderSize = (_HdrSize)
3504
3505/*
3506 * VOID
3507 * NDIS_SET_PACKET_STATUS(
3508 * IN PNDIS_PACKET Packet,
3509 * IN NDIS_STATUS Status);
3510 */
3511#define NDIS_SET_PACKET_STATUS(_Packet, _Status) \
3512 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3513 (_Packet)->Private.NdisPacketOobOffset))->Status = (_Status)
3514
3515/*
3516 * VOID
3517 * NDIS_SET_PACKET_TIME_TO_SEND(
3518 * IN PNDIS_PACKET Packet,
3519 * IN ULONGLONG TimeToSend);
3520 */
3521#define NDIS_SET_PACKET_TIME_TO_SEND(_Packet, _TimeToSend) \
3522 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3523 (_Packet)->Private.NdisPacketOobOffset))->TimeToSend = (_TimeToSend)
3524
3525/*
3526 * VOID
3527 * NDIS_SET_PACKET_TIME_SENT(
3528 * IN PNDIS_PACKET Packet,
3529 * IN ULONGLONG TimeSent);
3530 */
3531#define NDIS_SET_PACKET_TIME_SENT(_Packet, _TimeSent) \
3532 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3533 (_Packet)->Private.NdisPacketOobOffset))->TimeSent = (_TimeSent)
3534
3535/*
3536 * VOID
3537 * NDIS_SET_PACKET_TIME_RECEIVED(
3538 * IN PNDIS_PACKET Packet,
3539 * IN ULONGLONG TimeReceived);
3540 */
3541#define NDIS_SET_PACKET_TIME_RECEIVED(_Packet, _TimeReceived) \
3542 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3543 (_Packet)->Private.NdisPacketOobOffset))->TimeReceived = (_TimeReceived)
3544
3545/*
3546 * VOID
3547 * NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(
3548 * IN PNDIS_PACKET Packet,
3549 * IN PVOID MediaSpecificInfo,
3550 * IN UINT SizeMediaSpecificInfo);
3551 */
3552#define NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(_Packet, \
3553 _MediaSpecificInfo, \
3554 _SizeMediaSpecificInfo) \
3555{ \
3556 if ((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS) \
3557 { \
3558 (_Packet)->Private.NdisPacketFlags |= fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO; \
3559 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3560 (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation = \
3561 (_MediaSpecificInfo); \
3562 ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
3563 (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo = \
3564 (_SizeMediaSpecificInfo); \
3565 } \
3566}
3567
3568/*
3569 * VOID
3570 * NdisSetPacketFlags(
3571 * IN PNDIS_PACKET Packet,
3572 * IN UINT Flags);
3573 */
3574#define NdisSetPacketFlags(Packet, Flags) (Packet)->Private.Flags |= (Flags)
3575
3576/*
3577 * VOID
3578 * NdisClearPacketFlags(
3579 * IN PNDIS_PACKET Packet,
3580 * IN UINT Flags);
3581 */
3582#define NdisClearPacketFlags(Packet, Flags) (Packet)->Private.Flags &= ~(Flags)
3583
3584/*
3585 * VOID
3586 * NdisQueryPacket(
3587 * IN PNDIS_PACKET Packet,
3588 * OUT PUINT PhysicalBufferCount OPTIONAL,
3589 * OUT PUINT BufferCount OPTIONAL,
3590 * OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
3591 * OUT PUINT TotalPacketLength OPTIONAL);
3592 */
3593static __inline
3594VOID
3597 OUT PUINT PhysicalBufferCount OPTIONAL,
3598 OUT PUINT BufferCount OPTIONAL,
3599 OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
3600 OUT PUINT TotalPacketLength OPTIONAL)
3601{
3602 if (FirstBuffer)
3603 *FirstBuffer = Packet->Private.Head;
3604 if (TotalPacketLength || BufferCount || PhysicalBufferCount) {
3605 if (!Packet->Private.ValidCounts) {
3606 UINT Offset;
3607 UINT PacketLength;
3608 PNDIS_BUFFER NdisBuffer;
3609 UINT _PhysicalBufferCount = 0;
3610 UINT _TotalPacketLength = 0;
3611 UINT Count = 0;
3612
3613 for (NdisBuffer = Packet->Private.Head;
3614 NdisBuffer != (PNDIS_BUFFER)NULL;
3615 NdisBuffer = NdisBuffer->Next) {
3616 _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(NdisBuffer);
3617 NdisQueryBufferOffset(NdisBuffer, &Offset, &PacketLength);
3618 _TotalPacketLength += PacketLength;
3619 Count++;
3620 }
3621 Packet->Private.PhysicalCount = _PhysicalBufferCount;
3622 Packet->Private.TotalLength = _TotalPacketLength;
3623 Packet->Private.Count = Count;
3624 Packet->Private.ValidCounts = TRUE;
3625 }
3626
3627 if (PhysicalBufferCount)
3628 *PhysicalBufferCount = Packet->Private.PhysicalCount;
3629
3630 if (BufferCount)
3631 *BufferCount = Packet->Private.Count;
3632
3633 if (TotalPacketLength)
3634 *TotalPacketLength = Packet->Private.TotalLength;
3635 }
3636}
3637
3638/*
3639 * VOID
3640 * NdisQueryPacketLength(
3641 * IN PNDIS_PACKET Packet,
3642 * OUT PUINT PhysicalBufferCount OPTIONAL,
3643 * OUT PUINT BufferCount OPTIONAL,
3644 * OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
3645 * OUT PUINT TotalPacketLength OPTIONAL);
3646 */
3647#define NdisQueryPacketLength(_Packet, \
3648 _TotalPacketLength) \
3649{ \
3650 if (!(_Packet)->Private.ValidCounts) { \
3651 NdisQueryPacket(_Packet, NULL, NULL, NULL, _TotalPacketLength); \
3652 } \
3653 else *(_TotalPacketLength) = (_Packet)->Private.TotalLength; \
3654}
3655
3656#endif /* NDIS_LEGACY_DRIVER */
3657
3658/* Memory management routines */
3659
3660/*
3661NDISAPI
3662VOID
3663NTAPI
3664NdisCreateLookaheadBufferFromSharedMemory(
3665 IN PVOID pSharedMemory,
3666 IN UINT LookaheadLength,
3667 OUT PVOID *pLookaheadBuffer);
3668*/
3669#define NdisCreateLookaheadBufferFromSharedMemory(_S, _L, _B) ((*(_B)) = (_S))
3670
3671NDISAPI
3672VOID
3673NTAPI
3675 IN PVOID pLookaheadBuffer);
3676
3677#if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_ARM) || defined(_M_PPC)
3678
3679/*
3680 * VOID
3681 * NdisMoveMappedMemory(
3682 * OUT PVOID Destination,
3683 * IN PVOID Source,
3684 * IN ULONG Length);
3685 */
3686#define NdisMoveMappedMemory(Destination, Source, Length) \
3687 RtlCopyMemory(Destination, Source, Length)
3688
3689/*
3690 * VOID
3691 * NdisZeroMappedMemory(
3692 * IN PVOID Destination,
3693 * IN ULONG Length);
3694 */
3695#define NdisZeroMappedMemory(Destination, Length) \
3696 RtlZeroMemory(Destination, Length)
3697
3698#else
3699
3700#define NdisMoveMappedMemory(Destination, Source, Length) \
3701{ \
3702 PUCHAR _Dest = Destination, _Src = Source, _End = _Dest + Length; \
3703 while (_Dest < _End) \
3704 *_Dest++ = _Src++; \
3705}
3706
3707#define NdisZeroMappedMemory(Destination, Length) \
3708{ \
3709 PUCHAR _Dest = Destination, _End = _Dest + Length; \
3710 while (_Dest < _End) \
3711 *_Dest++ = 0; \
3712}
3713
3714#endif /* _M_IX86 or _M_AMD64 */
3715
3716/*
3717 * VOID
3718 * NdisMoveFromMappedMemory(
3719 * OUT PVOID Destination,
3720 * IN PVOID Source,
3721 * IN ULONG Length);
3722 */
3723#define NdisMoveFromMappedMemory(Destination, Source, Length) \
3724 NdisMoveMappedMemory(Destination, Source, Length)
3725
3726/*
3727 * VOID
3728 * NdisMoveToMappedMemory(
3729 * OUT PVOID Destination,
3730 * IN PVOID Source,
3731 * IN ULONG Length);
3732 */
3733#define NdisMoveToMappedMemory(Destination, Source, Length) \
3734 NdisMoveMappedMemory(Destination, Source, Length)
3735
3736/*
3737 * VOID
3738 * NdisMUpdateSharedMemory(
3739 * IN NDIS_HANDLE MiniportAdapterHandle,
3740 * IN ULONG Length,
3741 * IN PVOID VirtualAddress,
3742 * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
3743 */
3744#define NdisMUpdateSharedMemory(_H, _L, _V, _P) \
3745 NdisUpdateSharedMemory(_H, _L, _V, _P)
3746
3750NDISAPI
3751VOID
3752NTAPI
3756 _In_ _Pre_satisfies_(MemoryFlags == 0 || MemoryFlags == NDIS_MEMORY_NONCACHED || MemoryFlags == NDIS_MEMORY_CONTIGUOUS)
3757 UINT MemoryFlags);
3758
3759NDISAPI
3760VOID
3761NTAPI
3764 IN ULONG Tag);
3765
3766NDISAPI
3767VOID
3768NTAPI
3771 IN ULONG SharedMemoryAddress,
3773 IN ULONG Length);
3774
3775NDISAPI
3776VOID
3777NTAPI
3780 IN ULONG SharedMemoryAddress,
3782 IN ULONG Length);
3783
3785NDISAPI
3786VOID
3787NTAPI
3796
3798NDISAPI
3800NTAPI
3806
3807#if defined(NDIS50)
3808
3809#define NdisUpdateSharedMemory(NdisAdapterHandle, \
3810 Length, \
3811 VirtualAddress, \
3812 PhysicalAddress)
3813
3814#else
3815
3816NDISAPI
3817VOID
3818NTAPI
3820 IN NDIS_HANDLE NdisAdapterHandle,
3821 IN ULONG Length,
3824
3825#endif /* defined(NDIS50) */
3826
3827/*
3828 * ULONG
3829 * NdisGetPhysicalAddressHigh(
3830 * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
3831 */
3832#define NdisGetPhysicalAddressHigh(PhysicalAddress) \
3833 ((PhysicalAddress).HighPart)
3834
3835/*
3836 * VOID
3837 * NdisSetPhysicalAddressHigh(
3838 * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
3839 * IN ULONG Value);
3840 */
3841#define NdisSetPhysicalAddressHigh(PhysicalAddress, Value) \
3842 ((PhysicalAddress).HighPart) = (Value)
3843
3844/*
3845 * ULONG
3846 * NdisGetPhysicalAddressLow(
3847 * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
3848 */
3849#define NdisGetPhysicalAddressLow(PhysicalAddress) \
3850 ((PhysicalAddress).LowPart)
3851
3852
3853/*
3854 * VOID
3855 * NdisSetPhysicalAddressLow(
3856 * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
3857 * IN ULONG Value);
3858 */
3859#define NdisSetPhysicalAddressLow(PhysicalAddress, Value) \
3860 ((PhysicalAddress).LowPart) = (Value)
3861
3862/*
3863 * VOID
3864 * NDIS_PHYSICAL_ADDRESS_CONST(
3865 * IN ULONG Low,
3866 * IN LONG High);
3867 */
3868#define NDIS_PHYSICAL_ADDRESS_CONST(Low, High) \
3869 { {(ULONG)(Low), (LONG)(High)} }
3870
3871/*
3872 * ULONG
3873 * NdisEqualMemory(
3874 * IN CONST VOID *Source1,
3875 * IN CONST VOID *Source2,
3876 * IN ULONG Length);
3877 */
3878#define NdisEqualMemory(Source1, Source2, Length) \
3879 RtlEqualMemory(Source1, Source2, Length)
3880
3881/*
3882 * VOID
3883 * NdisFillMemory(
3884 * IN PVOID Destination,
3885 * IN ULONG Length,
3886 * IN UCHAR Fill);
3887 */
3888#define NdisFillMemory(Destination, Length, Fill) \
3889 RtlFillMemory(Destination, Length, Fill)
3890
3891/*
3892 * VOID
3893 * NdisMoveMemory(
3894 * OUT PVOID Destination,
3895 * IN PVOID Source,
3896 * IN ULONG Length);
3897 */
3898#define NdisMoveMemory(Destination, Source, Length) \
3899 RtlCopyMemory(Destination, Source, Length)
3900
3901
3902/*
3903 * VOID
3904 * NdisRetrieveUlong(
3905 * IN PULONG DestinationAddress,
3906 * IN PULONG SourceAddress);
3907 */
3908#define NdisRetrieveUlong(DestinationAddress, SourceAddress) \
3909 RtlRetrieveUlong(DestinationAddress, SourceAddress)
3910
3911
3912/*
3913 * VOID
3914 * NdisStoreUlong(
3915 * IN PULONG DestinationAddress,
3916 * IN ULONG Value);
3917 */
3918#define NdisStoreUlong(DestinationAddress, Value) \
3919 RtlStoreUlong(DestinationAddress, Value)
3920
3921
3922/*
3923 * VOID
3924 * NdisZeroMemory(
3925 * IN PVOID Destination,
3926 * IN ULONG Length)
3927 */
3928#define NdisZeroMemory(Destination, Length) \
3929 RtlZeroMemory(Destination, Length)
3930
3931typedef VOID
3933 IN PUCHAR Block,
3935 );
3936
3937/* Configuration routines */
3938
3939#if NDIS_LEGACY_DRIVER
3941_Success_(*Status >= 0)
3942NDISAPI
3943VOID
3944NTAPI
3949#endif
3950
3952_Success_(*Status >= 0)
3953NDISAPI
3954VOID
3955NTAPI
3962
3963NDISAPI
3964VOID
3965NTAPI
3971
3972NDISAPI
3973VOID
3974NTAPI
3980 OUT PUINT NumberOfFunctions);
3981
3982#if NDIS_LEGACY_MINIPORT
3983
3985NDISAPI
3986ULONG
3987NTAPI
3989 _In_ NDIS_HANDLE NdisAdapterHandle,
3993 _In_ ULONG Length);
3994
3996NDISAPI
3997ULONG
3998NTAPI
4000 _In_ NDIS_HANDLE NdisAdapterHandle,
4004 _In_ ULONG Length);
4005
4007NDISAPI
4008ULONG
4009NTAPI
4011 _In_ NDIS_HANDLE NdisAdapterHandle,
4014 _In_ ULONG Length);
4015
4017NDISAPI
4018ULONG
4019NTAPI
4021 _In_ NDIS_HANDLE NdisAdapterHandle,
4024 _In_ ULONG Length);
4025
4026#endif /* NDIS_LEGACY_MINIPORT */
4027
4028/* String management routines */
4029
4030/*
4031NDISAPI
4032NDIS_STATUS
4033NTAPI
4034NdisAnsiStringToUnicodeString(
4035 IN OUT PNDIS_STRING DestinationString,
4036 IN PNDIS_ANSI_STRING SourceString);
4037*/
4038#define NdisAnsiStringToUnicodeString(_us, _as) RtlAnsiStringToUnicodeString(_us, _as, FALSE)
4039
4040/*
4041 * BOOLEAN
4042 * NdisEqualString(
4043 * IN PNDIS_STRING String1,
4044 * IN PNDIS_STRING String2,
4045 * IN BOOLEAN CaseInsensitive);
4046 */
4047#define NdisEqualString RtlEqualString
4048
4049#define NdisEqualUnicodeString RtlEqualUnicodeString
4050
4051/*
4052NDISAPI
4053VOID
4054NTAPI
4055NdisInitAnsiString(
4056 IN OUT PNDIS_ANSI_STRING DestinationString,
4057 IN PCSTR SourceString);
4058*/
4059#define NdisInitAnsiString RtlInitString
4060
4061NDISAPI
4062VOID
4063NTAPI
4067
4068/*
4069NDISAPI
4070NDIS_STATUS
4071NTAPI
4072NdisUnicodeStringToAnsiString(
4073 IN OUT PNDIS_ANSI_STRING DestinationString,
4074 IN PNDIS_STRING SourceString);
4075*/
4076#define NdisUnicodeStringToAnsiString(_as, _us) RtlUnicodeStringToAnsiString(_as, _us, FALSE)
4077
4078#define NdisFreeString(_s) NdisFreeMemory((_s).Buffer, (_s).MaximumLength, 0)
4079#define NdisPrintString(_s) DbgPrint("%ls", (_s).Buffer)
4080
4081/* Spin lock reoutines */
4082
4083/*
4084NDISAPI
4085VOID
4086NTAPI
4087NdisAllocateSpinLock(
4088 IN PNDIS_SPIN_LOCK SpinLock);
4089*/
4090#define NdisAllocateSpinLock(_SpinLock) KeInitializeSpinLock(&(_SpinLock)->SpinLock)
4091
4092/*
4093NDISAPI
4094VOID
4095NTAPI
4096NdisFreeSpinLock(
4097 IN PNDIS_SPIN_LOCK SpinLock);
4098*/
4099#define NdisFreeSpinLock(_SpinLock)
4100
4101/*
4102NDISAPI
4103VOID
4104NTAPI
4105NdisAcquireSpinLock(
4106 IN PNDIS_SPIN_LOCK SpinLock);
4107*/
4108#define NdisAcquireSpinLock(_SpinLock) KeAcquireSpinLock(&(_SpinLock)->SpinLock, &(_SpinLock)->OldIrql)
4109
4110/*
4111NDISAPI
4112VOID
4113NTAPI
4114NdisReleaseSpinLock(
4115 IN PNDIS_SPIN_LOCK SpinLock);
4116*/
4117#define NdisReleaseSpinLock(_SpinLock) KeReleaseSpinLock(&(_SpinLock)->SpinLock,(_SpinLock)->OldIrql)
4118
4119/*
4120NDISAPI
4121VOID
4122NTAPI
4123NdisDprAcquireSpinLock(
4124 IN PNDIS_SPIN_LOCK SpinLock);
4125*/
4126#define NdisDprAcquireSpinLock(_SpinLock) KeAcquireSpinLockAtDpcLevel(&(_SpinLock)->SpinLock)
4127
4128/*
4129NDISAPI
4130VOID
4131NTAPI
4132NdisDprReleaseSpinLock(
4133 IN PNDIS_SPIN_LOCK SpinLock);
4134*/
4135#define NdisDprReleaseSpinLock(_SpinLock) KeReleaseSpinLockFromDpcLevel(&(_SpinLock)->SpinLock)
4136
4137/* I/O routines */
4138
4139/*
4140 * VOID
4141 * NdisRawReadPortBufferUchar(
4142 * IN ULONG Port,
4143 * OUT PUCHAR Buffer,
4144 * IN ULONG Length);
4145 */
4146#define NdisRawReadPortBufferUchar(Port, Buffer, Length) \
4147 READ_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
4148
4149/*
4150 * VOID
4151 * NdisRawReadPortBufferUlong(
4152 * IN ULONG Port,
4153 * OUT PULONG Buffer,
4154 * IN ULONG Length);
4155 */
4156#define NdisRawReadPortBufferUlong(Port, Buffer, Length) \
4157 READ_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
4158
4159/*
4160 * VOID
4161 * NdisRawReadPortBufferUshort(
4162 * IN ULONG Port,
4163 * OUT PUSHORT Buffer,
4164 * IN ULONG Length);
4165 */
4166#define NdisRawReadPortBufferUshort(Port, Buffer, Length) \
4167 READ_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
4168
4169/*
4170 * VOID
4171 * NdisRawReadPortUchar(
4172 * IN ULONG Port,
4173 * OUT PUCHAR Data);
4174 */
4175#define NdisRawReadPortUchar(Port, Data) \
4176 *(Data) = READ_PORT_UCHAR((PUCHAR)(Port))
4177
4178/*
4179 * VOID
4180 * NdisRawReadPortUlong(
4181 * IN ULONG Port,
4182 * OUT PULONG Data);
4183 */
4184#define NdisRawReadPortUlong(Port, Data) \
4185 *(Data) = READ_PORT_ULONG((PULONG)(Port))
4186
4187/*
4188 * VOID
4189 * NdisRawReadPortUshort(
4190 * IN ULONG Port,
4191 * OUT PUSHORT Data);
4192 */
4193#define NdisRawReadPortUshort(Port, Data) \
4194 *(Data) = READ_PORT_USHORT((PUSHORT)(Port))
4195
4196/*
4197 * VOID
4198 * NdisRawWritePortBufferUchar(
4199 * IN ULONG Port,
4200 * IN PUCHAR Buffer,
4201 * IN ULONG Length);
4202 */
4203#define NdisRawWritePortBufferUchar(Port, Buffer, Length) \
4204 WRITE_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
4205
4206/*
4207 * VOID
4208 * NdisRawWritePortBufferUlong(
4209 * IN ULONG Port,
4210 * IN PULONG Buffer,
4211 * IN ULONG Length);
4212 */
4213#define NdisRawWritePortBufferUlong(Port, Buffer, Length) \
4214 WRITE_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
4215
4216/*
4217 * VOID
4218 * NdisRawWritePortBufferUshort(
4219 * IN ULONG Port,
4220 * IN PUSHORT Buffer,
4221 * IN ULONG Length);
4222 */
4223#define NdisRawWritePortBufferUshort(Port, Buffer, Length) \
4224 WRITE_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
4225
4226/*
4227 * VOID
4228 * NdisRawWritePortUchar(
4229 * IN ULONG Port,
4230 * IN UCHAR Data);
4231 */
4232#define NdisRawWritePortUchar(Port, Data) \
4233 WRITE_PORT_UCHAR((PUCHAR)(Port), (UCHAR)(Data))
4234
4235/*
4236 * VOID
4237 * NdisRawWritePortUlong(
4238 * IN ULONG Port,
4239 * IN ULONG Data);
4240 */
4241#define NdisRawWritePortUlong(Port, Data) \
4242 WRITE_PORT_ULONG((PULONG)(Port), (ULONG)(Data))
4243
4244/*
4245 * VOID
4246 * NdisRawWritePortUshort(
4247 * IN ULONG Port,
4248 * IN USHORT Data);
4249 */
4250#define NdisRawWritePortUshort(Port, Data) \
4251 WRITE_PORT_USHORT((PUSHORT)(Port), (USHORT)(Data))
4252
4253
4254/*
4255 * VOID
4256 * NdisReadRegisterUchar(
4257 * IN PUCHAR Register,
4258 * OUT PUCHAR Data);
4259 */
4260#define NdisReadRegisterUchar(Register, Data) \
4261 *(Data) = *((volatile UCHAR * const) (Register))
4262
4263/*
4264 * VOID
4265 * NdisReadRegisterUlong(
4266 * IN PULONG Register,
4267 * OUT PULONG Data);
4268 */
4269#define NdisReadRegisterUlong(Register, Data) \
4270 *(Data) = *((volatile ULONG * const) (Register))
4271
4272/*
4273 * VOID
4274 * NdisReadRegisterUshort(
4275 * IN PUSHORT Register,
4276 * OUT PUSHORT Data);
4277 */
4278#define NdisReadRegisterUshort(Register, Data) \
4279 *(Data) = *((volatile USHORT * const) (Register))
4280
4281/*
4282 * VOID
4283 * NdisReadRegisterUchar(
4284 * IN PUCHAR Register,
4285 * IN UCHAR Data);
4286 */
4287#define NdisWriteRegisterUchar(Register, Data) \
4288 WRITE_REGISTER_UCHAR((Register), (Data))
4289
4290/*
4291 * VOID
4292 * NdisReadRegisterUlong(
4293 * IN PULONG Register,
4294 * IN ULONG Data);
4295 */
4296#define NdisWriteRegisterUlong(Register, Data) \
4297 WRITE_REGISTER_ULONG((Register), (Data))
4298
4299/*
4300 * VOID
4301 * NdisReadRegisterUshort(
4302 * IN PUSHORT Register,
4303 * IN USHORT Data);
4304 */
4305#define NdisWriteRegisterUshort(Register, Data) \
4306 WRITE_REGISTER_USHORT((Register), (Data))
4307
4308
4309/* Linked lists */
4310
4311/*
4312 * VOID
4313 * NdisInitializeListHead(
4314 * IN PLIST_ENTRY ListHead);
4315 */
4316#define NdisInitializeListHead InitializeListHead
4317
4318/*
4319 * PLIST_ENTRY
4320 * NdisInterlockedInsertHeadList(
4321 * IN PLIST_ENTRY ListHead,
4322 * IN PLIST_ENTRY ListEntry,
4323 * IN PNDIS_SPIN_LOCK SpinLock);
4324 */
4325#define NdisInterlockedInsertHeadList(_ListHead, _ListEntry, _SpinLock) \
4326 ExInterlockedInsertHeadList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
4327
4328/*
4329 * PLIST_ENTRY
4330 * NdisInterlockedInsertTailList(
4331 * IN PLIST_ENTRY ListHead,
4332 * IN PLIST_ENTRY ListEntry,
4333 * IN PNDIS_SPIN_LOCK SpinLock);
4334 */
4335#define NdisInterlockedInsertTailList(_ListHead, _ListEntry, _SpinLock) \
4336 ExInterlockedInsertTailList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
4337
4338/*
4339 * PLIST_ENTRY
4340 * NdisInterlockedRemoveHeadList(
4341 * IN PLIST_ENTRY ListHead,
4342 * IN PNDIS_SPIN_LOCK SpinLock);
4343*/
4344#define NdisInterlockedRemoveHeadList(_ListHead, _SpinLock) \
4345 ExInterlockedRemoveHeadList(_ListHead, &(_SpinLock)->SpinLock)
4346
4347/*
4348 * VOID
4349 * NdisInitializeSListHead(
4350 * IN PSLIST_HEADER SListHead);
4351 */
4352#define NdisInitializeSListHead(SListHead) ExInitializeSListHead(SListHead)
4353
4354/*
4355 * USHORT NdisQueryDepthSList(
4356 * IN PSLIST_HEADER SListHead);
4357 */
4358#define NdisQueryDepthSList(SListHead) ExQueryDepthSList(SListHead)
4359
4360#define NdisInterlockedPushEntryList(ListHead, ListEntry, Lock) \
4361 ExInterlockedPushEntryList(ListHead, ListEntry, &(Lock)->SpinLock)
4362
4363#define NdisInterlockedPopEntryList(ListHead, Lock) \
4364 ExInterlockedPopEntryList(ListHead, &(Lock)->SpinLock)
4365
4366/* Non-paged lookaside lists */
4367
4368#define NdisInitializeNPagedLookasideList(_L, _AR, _FR, _Fl, _S, _T, _D) \
4369 ExInitializeNPagedLookasideList(_L, _AR, _FR, _Fl, _S, _T, _D)
4370#define NdisDeleteNPagedLookasideList(_L) ExDeleteNPagedLookasideList(_L)
4371#define NdisAllocateFromNPagedLookasideList(_L) ExAllocateFromNPagedLookasideList(_L)
4372#define NdisFreeToNPagedLookasideList(_L, _E) ExFreeToNPagedLookasideList(_L, _E)
4373
4374/* Interlocked routines */
4375
4376/*
4377 * LONG
4378 * NdisInterlockedDecrement(
4379 * IN PLONG Addend);
4380 */
4381#define NdisInterlockedDecrement(Addend) InterlockedDecrement(Addend)
4382
4383/*
4384 * LONG
4385 * NdisInterlockedIncrement(
4386 * IN PLONG Addend);
4387 */
4388#define NdisInterlockedIncrement(Addend) InterlockedIncrement(Addend)
4389
4390/*
4391 * VOID
4392 * NdisInterlockedAddUlong(
4393 * IN PULONG Addend,
4394 * IN ULONG Increment,
4395 * IN PNDIS_SPIN_LOCK SpinLock);
4396 */
4397#define NdisInterlockedAddUlong(_Addend, _Increment, _SpinLock) \
4398 ExInterlockedAddUlong(_Addend, _Increment, &(_SpinLock)->SpinLock)
4399
4400/* Miscellaneous routines */
4401
4403NDISAPI
4404VOID
4405NTAPI
4408
4410_Success_(*Status >= 0)
4411NDISAPI
4412VOID
4413NTAPI
4420
4422_Success_(*Status >= 0)
4423NDISAPI
4424VOID
4425NTAPI
4431
4433NDISAPI
4434VOID
4435__cdecl
4437 _In_ NDIS_HANDLE NdisAdapterHandle,
4440 ...);
4441
4443NDISAPI
4444VOID
4445NTAPI
4449
4450/*
4451 * VOID
4452 * NdisStallExecution(
4453 * IN UINT MicrosecondsToStall)
4454 */
4455#define NdisStallExecution KeStallExecutionProcessor
4456
4457/*
4458NDISAPI
4459VOID
4460NTAPI
4461NdisGetCurrentSystemTime(
4462 IN PLARGE_INTEGER pSystemTime);
4463*/
4464#define NdisGetCurrentSystemTime KeQuerySystemTime
4465
4466#if NDIS_SUPPORT_60_COMPATIBLE_API
4468NDISAPI
4469CCHAR
4470NTAPI
4472#endif
4473
4474NDISAPI
4475VOID
4476NTAPI
4478 OUT PULONG pCpuUsage);
4479
4480/* NDIS helper macros */
4481
4482/*
4483 * VOID
4484 * NDIS_INIT_FUNCTION(FunctionName)
4485 */
4486#define NDIS_INIT_FUNCTION(FunctionName) \
4487 alloc_text(INIT, FunctionName)
4488
4489/*
4490 * VOID
4491 * NDIS_PAGABLE_FUNCTION(FunctionName)
4492 */
4493#define NDIS_PAGEABLE_FUNCTION(FunctionName) \
4494 alloc_text(PAGE, FunctionName)
4495
4496#define NDIS_PAGABLE_FUNCTION NDIS_PAGEABLE_FUNCTION
4497
4498
4499/* NDIS 4.0 extensions */
4500
4502NDISAPI
4503VOID
4504NTAPI
4511
4512NDISAPI
4513VOID
4514NTAPI
4518 IN NDIS_HANDLE NdisLinkContext,
4519 IN PUCHAR PacketBuffer,
4521
4522NDISAPI
4523VOID
4524NTAPI
4527 IN NDIS_HANDLE NdisLinkContext);
4528
4529NDISAPI
4530VOID
4531NTAPI
4536
4537NDISAPI
4539NTAPI
4541 IN NDIS_HANDLE NdisMacHandle,
4542 IN NDIS_HANDLE NdisWrapperHandle,
4545 OUT PNDIS_RESOURCE_LIST *AssignedResources);
4546
4547
4548/* NDIS 5.0 extensions */
4549
4551NDISAPI
4553NTAPI
4559
4561NDISAPI
4562VOID
4563NTAPI
4565 _Out_ PULONG pIdleCount,
4568
4569#if NDIS_LEGACY_DRIVER
4570NDISAPI
4571VOID
4572NTAPI
4574 OUT PULONG pSystemUpTime);
4575#endif
4576
4577#if NDIS_SUPPORT_60_COMPATIBLE_API
4578
4583NDISAPI
4584VOID
4585NTAPI
4590
4592NDISAPI
4593VOID
4594NTAPI
4597
4601NDISAPI
4602VOID
4603NTAPI
4607
4608#if NDIS_SUPPORT_NDIS6
4609
4610NDISAPI
4611VOID
4612NTAPI
4613NdisDprAcquireReadWriteLock(
4617
4618NDISAPI
4619VOID
4620NTAPI
4621NdisDprReleaseReadWriteLock(
4624
4625#endif /* NDIS_SUPPORT_NDIS6 */
4626
4627#endif /* NDIS_SUPPORT_60_COMPATIBLE_API */
4628
4630NDISAPI
4632NTAPI
4635
4637NDISAPI
4638VOID
4639NTAPI
4647
4649NDISAPI
4651NTAPI
4656
4658NDISAPI
4660NTAPI
4663
4665NDISAPI
4667NTAPI
4669 _Out_ PNDIS_STRING AdapterInstanceName,
4671
4673NDISAPI
4675NTAPI
4677 _In_ NDIS_HANDLE NdisWrapperHandle,
4683
4685NDISAPI
4686VOID
4687NTAPI
4689 _In_ NDIS_HANDLE NdisWrapperHandle,
4691
4693NDISAPI
4695NTAPI
4698
4700NDISAPI
4702NTAPI
4706
4708_Success_(*Status >= 0)
4709NDISAPI
4710VOID
4711NTAPI
4718
4720_Success_(*Status >= 0)
4721NDISAPI
4722VOID
4723NTAPI
4729
4732NDISAPI
4734NTAPI
4736 _Out_ PNDIS_STRING AdapterInstanceName,
4738
4740NDISAPI
4742NTAPI
4744 _Out_ PNDIS_STRING pAdapterInstanceName,
4745 _In_ NDIS_HANDLE BindingContext);
4746
4748NDISAPI
4750NTAPI
4759
4760/* Connectionless services */
4761
4764NDISAPI
4766NTAPI
4772
4775NDISAPI
4777NTAPI
4780
4783NDISAPI
4785NTAPI
4791
4794NDISAPI
4796NTAPI
4799
4802NDISAPI
4804NTAPI
4809
4811NDISAPI
4812VOID
4813NTAPI
4818
4821NDISAPI
4823NTAPI
4829
4832NDISAPI
4834NTAPI
4838
4841NDISAPI
4843NTAPI
4851
4854NDISAPI
4856NTAPI
4862
4863
4864/* Call Manager services */
4865
4868NDISAPI
4870NTAPI
4874
4876NDISAPI
4877VOID
4878NTAPI
4884
4886NDISAPI
4887VOID
4888NTAPI
4892
4894NDISAPI
4895VOID
4896NTAPI
4901
4904NDISAPI
4906NTAPI
4909
4911NDISAPI
4912VOID
4913NTAPI
4917
4919NDISAPI
4920VOID
4921NTAPI
4924
4927NDISAPI
4929NTAPI
4934
4936NDISAPI
4937VOID
4938NTAPI
4942
4944NDISAPI
4945VOID
4946NTAPI
4948 _In_ NDIS_STATUS CloseStatus,
4951 _In_ UINT Size);
4952
4954NDISAPI
4955VOID
4956NTAPI
4958 _In_ NDIS_STATUS DropStatus,
4961 _In_ UINT Size);
4962
4964NDISAPI
4965VOID
4966NTAPI
4970
4972NDISAPI
4973VOID
4974NTAPI
4981
4983NDISAPI
4984VOID
4985NTAPI
4990
4992NDISAPI
4993VOID
4994NTAPI
4999
5002NDISAPI
5004NTAPI
5010
5012NDISAPI
5013VOID
5014NTAPI
5019
5021NDISAPI
5023NTAPI
5027
5029NDISAPI
5031NTAPI
5037
5039NDISAPI
5041NTAPI
5044
5046NDISAPI
5048NTAPI
5051
5052NDISAPI
5054NTAPI
5060
5062NDISAPI
5064NTAPI
5070
5071
5072/* Connection-oriented services */
5073
5076NDISAPI
5078NTAPI
5084
5087NDISAPI
5089NTAPI
5092
5095NDISAPI
5097NTAPI
5104
5106NDISAPI
5107VOID
5108NTAPI
5115
5117NDISAPI
5118VOID
5119NTAPI
5124
5126NDISAPI
5127VOID
5128NTAPI
5133
5135NDISAPI
5136VOID
5137NTAPI
5141
5143NDISAPI
5144VOID
5145NTAPI
5150
5152NDISAPI
5153VOID
5154NTAPI
5161
5163NDISAPI
5164VOID
5165NTAPI
5168
5170NDISAPI
5171VOID
5172NTAPI
5177
5179NDISAPI
5180VOID
5181NTAPI
5186
5187
5188/* NDIS 5.0 extensions for intermediate drivers */
5189
5191NDISAPI
5192VOID
5193NTAPI
5197
5199NDISAPI
5201NTAPI
5205
5206NDISAPI
5207VOID
5208NTAPI
5210 IN PNDIS_PACKET DstPacket,
5211 IN PNDIS_PACKET SrcPacket);
5212
5213NDISAPI
5214VOID
5215NTAPI
5217 IN PNDIS_PACKET DstPacket,
5218 IN PNDIS_PACKET SrcPacket);
5219
5221NDISAPI
5222VOID
5223NTAPI
5226
5228NDISAPI
5230NTAPI
5233
5235NDISAPI
5237NTAPI
5240
5242NDISAPI
5244NTAPI
5249
5250/*
5251NDISAPI
5252PSINGLE_LIST_ENTRY
5253NTAPI
5254NdisInterlockedPopEntrySList(
5255 IN PSLIST_HEADER ListHead,
5256 IN PKSPIN_LOCK Lock);
5257*/
5258#define NdisInterlockedPopEntrySList(SListHead, Lock) \
5259 ExInterlockedPopEntrySList(SListHead, &(Lock)->SpinLock)
5260
5261/*
5262NDISAPI
5263PSINGLE_LIST_ENTRY
5264NTAPI
5265NdisInterlockedPushEntrySList(
5266 IN PSLIST_HEADER ListHead,
5267 IN PSINGLE_LIST_ENTRY ListEntry,
5268 IN PKSPIN_LOCK Lock);
5269*/
5270#define NdisInterlockedPushEntrySList(SListHead, SListEntry, Lock) \
5271 ExInterlockedPushEntrySList(SListHead, SListEntry, &(Lock)->SpinLock)
5272
5273#define NdisInterlockedFlushSList(SListHead) ExInterlockedFlushSList(SListHead)
5274
5275/*
5276NDISAPI
5277VOID
5278NTAPI
5279NdisQueryBufferSafe(
5280 IN PNDIS_BUFFER Buffer,
5281 OUT PVOID *VirtualAddress OPTIONAL,
5282 OUT PUINT Length,
5283 IN UINT Priority);
5284*/
5285#define NdisQueryBufferSafe(_Buffer, _VirtualAddress, _Length, _Priority) { \
5286 if (ARGUMENT_PRESENT(_VirtualAddress)) { \
5287 *(PVOID *)(_VirtualAddress) = MmGetSystemAddressForMdlSafe(_Buffer, _Priority); \
5288 } \
5289 *(_Length) = MmGetMdlByteCount(_Buffer); \
5290}
5291
5292/* Routines for NDIS miniport drivers */
5293
5294#if NDIS_SUPPORT_NDIS6
5295
5296NDISAPI
5297PNDIS_GENERIC_OBJECT
5298NTAPI
5301 ULONG Tag,
5302 USHORT Size);
5303
5304NDISAPI
5305VOID
5306NTAPI
5308 IN PNDIS_GENERIC_OBJECT NdisObject);
5309
5310#endif /* NDIS_SUPPORT_NDIS6 */
5311
5312NDISAPI
5313VOID
5314NTAPI
5316 OUT PNDIS_HANDLE NdisWrapperHandle,
5317 IN PVOID SystemSpecific1,
5320
5323__drv_preferredFunction("NdisMInitializeScatterGatherDma", "See details in NdisMAllocateMapRegisters documentation")
5324NDISAPI
5326NTAPI
5329 _In_ UINT DmaChannel,
5330 _In_ NDIS_DMA_SIZE DmaSize,
5331 _In_ ULONG PhysicalMapRegistersNeeded,
5333
5334/*
5335 * VOID
5336 * NdisMArcIndicateReceive(
5337 * IN NDIS_HANDLE MiniportAdapterHandle,
5338 * IN PUCHAR HeaderBuffer,
5339 * IN PUCHAR DataBuffer,
5340 * IN UINT Length);
5341 */
5342#define NdisMArcIndicateReceive(MiniportAdapterHandle, \
5343 HeaderBuffer, \
5344 DataBuffer, \
5345 Length) \
5346{ \
5347 ArcFilterDprIndicateReceive( \
5348 (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ArcDB), \
5349 (HeaderBuffer), \
5350 (DataBuffer), \
5351 (Length)); \
5352}
5353
5354/*
5355 * VOID
5356 * NdisMArcIndicateReceiveComplete(
5357 * IN NDIS_HANDLE MiniportAdapterHandle);
5358 */
5359#define NdisMArcIndicateReceiveComplete(MiniportAdapterHandle) \
5360{ \
5361 if (((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->EthDB) \
5362 { \
5363 NdisMEthIndicateReceiveComplete(_H); \
5364 } \
5365 \
5366 ArcFilterDprIndicateReceiveComplete( \
5367 ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->ArcDB); \
5368}
5369
5371NDISAPI
5372VOID
5373NTAPI
5376
5378NDISAPI
5380NTAPI
5383 _In_ UINT Size,
5385
5386NDISAPI
5387VOID
5388NTAPI
5390 _In_ NDIS_HANDLE MiniportHandle);
5391
5392#if NDIS_LEGACY_MINIPORT
5393
5395NDISAPI
5396VOID
5397NTAPI
5400
5402NDISAPI
5403VOID
5404NTAPI
5406 _In_ NDIS_HANDLE MiniportHandle,
5407 _In_ PVOID ShutdownContext,
5409
5410NDISAPI
5412NTAPI
5416 IN UINT InterruptVector,
5417 IN UINT InterruptLevel,
5418 IN BOOLEAN RequestIsr,
5419 IN BOOLEAN SharedInterrupt,
5421
5422NDISAPI
5424NTAPI
5426 IN NDIS_HANDLE NdisWrapperHandle,
5427 IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
5429
5430NDISAPI
5431BOOLEAN
5432NTAPI
5435 IN PVOID SynchronizeFunction,
5437#endif /* NDIS_LEGACY_MINIPORT */
5438
5440NDISAPI
5441VOID
5442NTAPI
5448
5449/*
5450 * VOID
5451 * NdisMEthIndicateReceive(
5452 * IN NDIS_HANDLE MiniportAdapterHandle,
5453 * IN NDIS_HANDLE MiniportReceiveContext,
5454 * IN PVOID HeaderBuffer,
5455 * IN UINT HeaderBufferSize,
5456 * IN PVOID LookaheadBuffer,
5457 * IN UINT LookaheadBufferSize,
5458 * IN UINT PacketSize);
5459 */
5460#define NdisMEthIndicateReceive(MiniportAdapterHandle, \
5461 MiniportReceiveContext, \
5462 HeaderBuffer, \
5463 HeaderBufferSize, \
5464 LookaheadBuffer, \
5465 LookaheadBufferSize, \
5466 PacketSize) \
5467{ \
5468 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxIndicateHandler)( \
5469 ((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthDB, \
5470 (MiniportReceiveContext), \
5471 (HeaderBuffer), \
5472 (HeaderBuffer), \
5473 (HeaderBufferSize), \
5474 (LookaheadBuffer), \
5475 (LookaheadBufferSize), \
5476 (PacketSize)); \
5477}
5478
5479/*
5480 * VOID
5481 * NdisMEthIndicateReceiveComplete(
5482 * IN NDIS_HANDLE MiniportAdapterHandle);
5483 */
5484#define NdisMEthIndicateReceiveComplete(MiniportAdapterHandle) \
5485{ \
5486 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxCompleteHandler)( \
5487 ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->EthDB); \
5488}
5489
5490/*
5491 * VOID
5492 * NdisMFddiIndicateReceive(
5493 * IN NDIS_HANDLE MiniportAdapterHandle,
5494 * IN NDIS_HANDLE MiniportReceiveContext,
5495 * IN PVOID HeaderBuffer,
5496 * IN UINT HeaderBufferSize,
5497 * IN PVOID LookaheadBuffer,
5498 * IN UINT LookaheadBufferSize,
5499 * IN UINT PacketSize);
5500 */
5501#define NdisMFddiIndicateReceive(MiniportAdapterHandle, \
5502 MiniportReceiveContext, \
5503 HeaderBuffer, \
5504 HeaderBufferSize, \
5505 LookaheadBuffer, \
5506 LookaheadBufferSize, \
5507 PacketSize) \
5508{ \
5509 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxIndicateHandler)( \
5510 (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiDB), \
5511 (MiniportReceiveContext), \
5512 (PUCHAR)(HeaderBuffer) + 1, \
5513 (((*(PUCHAR*)(HeaderBuffer)) & 0x40) ? \
5514 FDDI_LENGTH_OF_LONG_ADDRESS : \
5515 FDDI_LENGTH_OF_SHORT_ADDRESS), \
5516 (HeaderBuffer), \
5517 (HeaderBufferSize), \
5518 (LookaheadBuffer), \
5519 (LookaheadBufferSize), \
5520 (PacketSize)); \
5521}
5522
5523
5524
5525/*
5526 * VOID
5527 * NdisMFddiIndicateReceiveComplete(
5528 * IN NDIS_HANDLE MiniportAdapterHandle);
5529 */
5530#define NdisMFddiIndicateReceiveComplete(MiniportAdapterHandle) \
5531{ \
5532 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxCompleteHandler)( \
5533 ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FddiDB); \
5534}
5535
5537NDISAPI
5538VOID
5539NTAPI
5542
5544NDISAPI
5545VOID
5546NTAPI
5549
5550/*
5551 * VOID
5552 * EXPORT
5553 * NdisMIndicateReceivePacket(
5554 * IN NDIS_HANDLE MiniportAdapterHandle,
5555 * IN PPNDIS_PACKET ReceivePackets,
5556 * IN UINT NumberOfPackets);
5557 */
5558#define NdisMIndicateReceivePacket(MiniportAdapterHandle, \
5559 ReceivePackets, NumberOfPackets) \
5560 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->PacketIndicateHandler)( \
5561 MiniportAdapterHandle, ReceivePackets, NumberOfPackets)
5562
5563/*
5564 * VOID
5565 * NdisMIndicateStatus(
5566 * IN NDIS_HANDLE MiniportAdapterHandle,
5567 * IN NDIS_STATUS GeneralStatus,
5568 * IN PVOID StatusBuffer,
5569 * IN UINT StatusBufferSize);
5570 */
5571
5572#define NdisMIndicateStatus(MiniportAdapterHandle, \
5573 GeneralStatus, StatusBuffer, StatusBufferSize) \
5574 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->StatusHandler)( \
5575 MiniportAdapterHandle, GeneralStatus, StatusBuffer, StatusBufferSize)
5576
5577/*
5578 * VOID
5579 * NdisMIndicateStatusComplete(
5580 * IN NDIS_HANDLE MiniportAdapterHandle);
5581 */
5582#define NdisMIndicateStatusComplete(MiniportAdapterHandle) \
5583 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->StatusCompleteHandler)( \
5584 MiniportAdapterHandle)
5585
5586/*
5587 * VOID
5588 * NdisMInitializeWrapper(
5589 * OUT PNDIS_HANDLE NdisWrapperHandle,
5590 * IN PVOID SystemSpecific1,
5591 * IN PVOID SystemSpecific2,
5592 * IN PVOID SystemSpecific3);
5593 */
5594#define NdisMInitializeWrapper(NdisWrapperHandle, \
5595 SystemSpecific1, \
5596 SystemSpecific2, \
5597 SystemSpecific3) \
5598 NdisInitializeWrapper((NdisWrapperHandle), \
5599 (SystemSpecific1), \
5600 (SystemSpecific2), \
5601 (SystemSpecific3))
5602
5605NDISAPI
5607NTAPI
5612 _In_ UINT Length);
5613
5614/*
5615 * VOID
5616 * NdisMQueryInformationComplete(
5617 * IN NDIS_HANDLE MiniportAdapterHandle,
5618 * IN NDIS_STATUS Status);
5619 */
5620#define NdisMQueryInformationComplete(MiniportAdapterHandle, Status) \
5621 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->QueryCompleteHandler)(MiniportAdapterHandle, Status)
5622
5625NDISAPI
5627NTAPI
5633
5634NDISAPI
5635VOID
5636NTAPI
5640
5642NDISAPI
5643VOID
5644NTAPI
5650
5652NDISAPI
5653VOID
5654NTAPI
5658
5660NDISAPI
5661VOID
5662NTAPI
5666
5667#if !defined(NDIS_WRAPPER)
5668
5669/*
5670 * VOID
5671 * NdisMResetComplete(
5672 * IN NDIS_HANDLE MiniportAdapterHandle,
5673 * IN NDIS_STATUS Status,
5674 * IN BOOLEAN AddressingReset);
5675 */
5676#define NdisMResetComplete(MiniportAdapterHandle, \
5677 Status, \
5678 AddressingReset) \
5679{ \
5680 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ResetCompleteHandler)( \
5681 MiniportAdapterHandle, Status, AddressingReset); \
5682}
5683
5684/*
5685 * VOID
5686 * NdisMSendComplete(
5687 * IN NDIS_HANDLE MiniportAdapterHandle,
5688 * IN PNDIS_PACKET Packet,
5689 * IN NDIS_STATUS Status);
5690 */
5691#define NdisMSendComplete(MiniportAdapterHandle, \
5692 Packet, \
5693 Status) \
5694{ \
5695 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendCompleteHandler)( \
5696 MiniportAdapterHandle, Packet, Status); \
5697}
5698
5699/*
5700 * VOID
5701 * NdisMSendResourcesAvailable(
5702 * IN NDIS_HANDLE MiniportAdapterHandle);
5703 */
5704#define NdisMSendResourcesAvailable(MiniportAdapterHandle) \
5705{ \
5706 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendResourcesHandler)( \
5707 MiniportAdapterHandle); \
5708}
5709
5710/*
5711 * VOID
5712 * NdisMTransferDataComplete(
5713 * IN NDIS_HANDLE MiniportAdapterHandle,
5714 * IN PNDIS_PACKET Packet,
5715 * IN NDIS_STATUS Status,
5716 * IN UINT BytesTransferred);
5717 */
5718#define NdisMTransferDataComplete(MiniportAdapterHandle, \
5719 Packet, \
5720 Status, \
5721 BytesTransferred) \
5722{ \
5723 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TDCompleteHandler)( \
5724 MiniportAdapterHandle, Packet, Status, BytesTransferred) \
5725}
5726
5727#endif /* !_NDIS_ */
5728
5729
5730/*
5731 * VOID
5732 * NdisMSetAttributes(
5733 * IN NDIS_HANDLE MiniportAdapterHandle,
5734 * IN NDIS_HANDLE MiniportAdapterContext,
5735 * IN BOOLEAN BusMaster,
5736 * IN NDIS_INTERFACE_TYPE AdapterType);
5737 */
5738#define NdisMSetAttributes(MiniportAdapterHandle, \
5739 MiniportAdapterContext, \
5740 BusMaster, \
5741 AdapterType) \
5742 NdisMSetAttributesEx(MiniportAdapterHandle, \
5743 MiniportAdapterContext, \
5744 0, \
5745 (BusMaster) ? NDIS_ATTRIBUTE_BUS_MASTER : 0, \
5746 AdapterType)
5747
5748NDISAPI
5749VOID
5750NTAPI
5753 IN NDIS_HANDLE MiniportAdapterContext,
5754 IN UINT CheckForHangTimeInSeconds OPTIONAL,
5755 IN ULONG AttributeFlags,
5757
5758/*
5759 * VOID
5760 * NdisMSetInformationComplete(
5761 * IN NDIS_HANDLE MiniportAdapterHandle,
5762 * IN NDIS_STATUS Status);
5763 */
5764#define NdisMSetInformationComplete(MiniportAdapterHandle, \
5765 Status) \
5766 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SetCompleteHandler)( \
5767 MiniportAdapterHandle, Status)
5768
5770NDISAPI
5771VOID
5772NTAPI
5774 _In_ ULONG MicrosecondsToSleep);
5775
5776/*
5777 * VOID
5778 * NdisMTrIndicateReceive(
5779 * IN NDIS_HANDLE MiniportAdapterHandle,
5780 * IN NDIS_HANDLE MiniportReceiveContext,
5781 * IN PVOID HeaderBuffer,
5782 * IN UINT HeaderBufferSize,
5783 * IN PVOID LookaheadBuffer,
5784 * IN UINT LookaheadBufferSize,
5785 * IN UINT PacketSize);
5786 */
5787#define NdisMTrIndicateReceive(MiniportAdapterHandle, \
5788 MiniportReceiveContext, \
5789 HeaderBuffer, \
5790 HeaderBufferSize, \
5791 LookaheadBuffer, \
5792 LookaheadBufferSize, \
5793 PacketSize) \
5794{ \
5795 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxIndicateHandler)( \
5796 (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrDB), \
5797 (MiniportReceiveContext), \
5798 (HeaderBuffer), \
5799 (HeaderBuffer), \
5800 (HeaderBufferSize), \
5801 (LookaheadBuffer), \
5802 (LookaheadBufferSize), \
5803 (PacketSize)); \
5804}
5805
5806/*
5807 * VOID
5808 * NdisMTrIndicateReceiveComplete(
5809 * IN NDIS_HANDLE MiniportAdapterHandle);
5810 */
5811#define NdisMTrIndicateReceiveComplete(MiniportAdapterHandle) \
5812{ \
5813 (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxCompleteHandler)( \
5814 ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->TrDB); \
5815}
5816
5818NDISAPI
5820NTAPI
5825
5827NDISAPI
5828VOID
5829NTAPI
5835
5837NDISAPI
5838VOID
5839NTAPI
5841 _In_ NDIS_HANDLE NdisWrapperHandle,
5843
5845NDISAPI
5846VOID
5847NTAPI
5851 _In_ UINT Length);
5852
5853/* Event functions */
5854
5856NDISAPI
5857VOID
5858NTAPI
5861
5863NDISAPI
5864VOID
5865NTAPI
5868
5870NDISAPI
5871VOID
5872NTAPI
5875
5878NDISAPI
5879BOOLEAN
5880NTAPI
5884
5885/* NDIS intermediate miniport structures */
5886
5888 IN NDIS_HANDLE MiniportAdapterContext,
5890
5891/* Routines for intermediate miniport drivers */
5892
5894NDISAPI
5896NTAPI
5898 _In_ NDIS_HANDLE NdisMiniportHandle);
5899
5900/*
5901 * NDIS_STATUS
5902 * NdisIMInitializeDeviceInstance(
5903 * IN NDIS_HANDLE DriverHandle,
5904 * IN PNDIS_STRING DeviceInstance);
5905 */
5906#define NdisIMInitializeDeviceInstance(DriverHandle, DeviceInstance) \
5907 NdisIMInitializeDeviceInstanceEx(DriverHandle, DeviceInstance, NULL)
5908
5909/* Functions obsoleted by NDIS 5.0 */
5910
5911NDISAPI
5912VOID
5913NTAPI
5915 IN PNDIS_HANDLE NdisDmaHandle);
5916
5917NDISAPI
5918VOID
5919NTAPI
5922 IN PNDIS_HANDLE NdisDmaHandle,
5924 IN ULONG Offset,
5925 IN ULONG Length,
5927
5928/*
5929NDISAPI
5930NTSTATUS
5931NTAPI
5932NdisUpcaseUnicodeString(
5933 OUT PUNICODE_STRING DestinationString,
5934 IN PUNICODE_STRING SourceString);
5935*/
5936#define NdisUpcaseUnicodeString(_d, _s) RtlUpcaseUnicodeString(_d, _s, FALSE)
5937
5938
5939/* Routines for NDIS protocol drivers */
5940
5941#if NDIS_LEGACY_PROTOCOL
5942
5943NDISAPI
5945NTAPI
5947 _In_ NDIS_HANDLE NdisWrapperHandle,
5948 _In_ PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
5951
5952NDISAPI
5953VOID
5954NTAPI
5958 IN NDIS_HANDLE MacReceiveContext,
5960 IN UINT BytesToTransfer,
5963
5964NDISAPI
5965VOID
5966NTAPI
5967NdisSend(
5971
5972NDISAPI
5973VOID
5974NTAPI
5979
5981NDISAPI
5982VOID
5983NTAPI
5988
5990NDISAPI
5991VOID
5992NTAPI
5993NdisReset(
5996
5998NDISAPI
5999VOID
6000NTAPI
6004
6006NDISAPI
6007VOID
6008NTAPI
6021
6023NDISAPI
6024VOID
6025NTAPI
6029
6031NDISAPI
6032VOID
6033NTAPI
6035 _In_ NDIS_HANDLE BindAdapterContext,
6038
6040NDISAPI
6041VOID
6042NTAPI
6044 _In_ NDIS_HANDLE UnbindAdapterContext,
6046
6047NDISAPI
6048VOID
6049NTAPI
6053 _In_ RECEIVE_HANDLER ReceiveHandler,
6054 _In_ RECEIVE_PACKET_HANDLER ReceivePacketHandler,
6055 _In_ NDIS_MEDIUM Medium,
6057 _In_ UINT Size,
6058 _In_ PUCHAR Pattern);
6059
6061NDISAPI
6062VOID
6063NTAPI
6067
6069NDISAPI
6070VOID
6071NTAPI
6076
6078NDISAPI
6079VOID
6080NTAPI
6085
6086/*
6087 * VOID
6088 * NdisSetSendFlags(
6089 * IN PNDIS_PACKET Packet,
6090 * IN UINT Flags);
6091 */
6092#define NdisSetSendFlags(_Packet,_Flags)(_Packet)->Private.Flags = (_Flags)
6093
6094#define NdisQuerySendFlags(_Packet,_Flags) *(_Flags) = (_Packet)->Private.Flags
6095
6097NDISAPI
6098VOID
6099NTAPI
6101 _In_reads_(NumberOfPackets) PNDIS_PACKET *PacketsToReturn,
6103
6106NDISAPI
6108NTAPI
6112
6114NDISAPI
6115VOID
6116NTAPI
6120
6123NDISAPI
6125NTAPI
6129
6131NDISAPI
6132VOID
6133NTAPI
6139
6140#endif /* NDIS_LEGACY_PROTOCOL */
6141
6143NDISAPI
6144UCHAR
6145NTAPI
6147
6149NDISAPI
6150VOID
6151NTAPI
6154
6155NDISAPI
6156VOID
6157NTAPI
6159 _In_ TDI_REGISTER_CALLBACK RegisterCallback,
6160 _In_ TDI_PNP_HANDLER PnPHandler);
6161
6162NDISAPI
6163VOID
6164NTAPI
6166
6167/* Obsoleted in Windows XP */
6168
6169/* Prototypes for NDIS_MAC_CHARACTERISTICS */
6170
6173 OUT NDIS_HANDLE *MacBindingHandle,
6175 IN PNDIS_MEDIUM MediumArray,
6177 IN NDIS_HANDLE NdisBindingContext,
6178 IN NDIS_HANDLE MacAdapterContext,
6181
6183 IN NDIS_HANDLE MacBindingHandle);
6184
6186 VOID);
6187
6189 IN NDIS_HANDLE MacAdapterContext,
6191
6193 IN NDIS_HANDLE MacMacContext);
6194
6196 IN NDIS_HANDLE MacMacContext,
6199
6201 IN NDIS_HANDLE MacAdapterContext);
6202
6220
6223
6224#ifdef __cplusplus
6225}
6226#endif
6227
6228#endif /* _NDIS_ */
6229
6230/* 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
#define __MINGW_EXTENSION
Definition: _mingw.h:166
#define __inline
Definition: _wctype.cpp:15
#define VOID
Definition: acefi.h:82
unsigned char BOOLEAN
Definition: actypes.h:127
#define __drv_aliasesMem
Definition: btrfs_drv.h:203
_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)
_In_ ULONG _In_ ULONG _In_opt_ DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK _In_opt_ PVOID CallbackContext
Definition: dispmprt.h:622
_In_ ULONG BufferSize
Definition: dispmprt.h:490
_In_ ULONG _In_ MEMORY_CACHING_TYPE _Out_ PPHYSICAL_ADDRESS PhysicalAddress
Definition: dispmprt.h:714
_In_ HANDLE _In_ CONST PDXGKMDT_OPM_GET_INFO_PARAMETERS Parameters
Definition: dispmprt.h:321
_In_ ULONG _In_ MEMORY_CACHING_TYPE _Out_ PPHYSICAL_ADDRESS _Out_ PVOID * VirtualAddress
Definition: dispmprt.h:716
_Check_return_ _In_ DXGK_EVENT_TYPE _In_ ULONG Event
Definition: dispmprt.h:1287
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
Definition: dispmprt.h:245
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define NTSTATUS
Definition: precomp.h:19
#define __cdecl
Definition: corecrt.h:121
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:958
VOID EXPORT NdisCloseConfiguration(IN NDIS_HANDLE ConfigurationHandle)
Definition: config.c:193
VOID EXPORT NdisWriteConfiguration(OUT PNDIS_STATUS Status, IN NDIS_HANDLE ConfigurationHandle, IN PNDIS_STRING Keyword, IN PNDIS_CONFIGURATION_PARAMETER ParameterValue)
Definition: config.c:102
VOID EXPORT NdisOpenProtocolConfiguration(OUT PNDIS_STATUS Status, OUT PNDIS_HANDLE ConfigurationHandle, IN PNDIS_STRING ProtocolSection)
Definition: config.c:307
VOID EXPORT NdisReadNetworkAddress(OUT PNDIS_STATUS Status, OUT PVOID *NetworkAddress, OUT PUINT NetworkAddressLength, IN NDIS_HANDLE ConfigurationHandle)
Definition: config.c:757
VOID EXPORT NdisOpenConfiguration(OUT PNDIS_STATUS Status, OUT PNDIS_HANDLE ConfigurationHandle, IN NDIS_HANDLE WrapperConfigurationContext)
Definition: config.c:254
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:876
VOID EXPORT NdisReadConfiguration(_At_(*Status, _Must_inspect_result_) _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:441
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:347
ULONG EXPORT NdisReadPciSlotInformation(IN NDIS_HANDLE NdisAdapterHandle, IN ULONG SlotNumber, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length)
Definition: hardware.c:232
ULONG EXPORT NdisWritePciSlotInformation(IN NDIS_HANDLE NdisAdapterHandle, IN ULONG SlotNumber, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length)
Definition: hardware.c:265
ULONG EXPORT NdisWritePcmciaAttributeMemory(IN NDIS_HANDLE NdisAdapterHandle, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length)
Definition: hardware.c:377
VOID EXPORT NdisMQueryAdapterResources(OUT PNDIS_STATUS Status, IN NDIS_HANDLE WrapperConfigurationContext, OUT PNDIS_RESOURCE_LIST ResourceList, IN OUT PUINT BufferSize)
Definition: hardware.c:155
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:1092
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:1138
NDIS_STATUS EXPORT NdisMInitializeScatterGatherDma(IN NDIS_HANDLE MiniportAdapterHandle, IN BOOLEAN Dma64BitAddresses, IN ULONG MaximumPhysicalMapping)
Definition: io.c:1168
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:146
VOID _cdecl NdisWriteErrorLogEntry(IN NDIS_HANDLE NdisAdapterHandle, IN NDIS_ERROR_CODE ErrorCode, IN ULONG NumberOfErrorValues,...)
Definition: main.c:118
VOID EXPORT NdisFreeMemory(IN PVOID VirtualAddress, IN UINT Length, IN UINT MemoryFlags)
Definition: memory.c:111
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:149
NDIS_STATUS EXPORT NdisMAllocateSharedMemoryAsync(IN NDIS_HANDLE MiniportAdapterHandle, IN ULONG Length, IN BOOLEAN Cached, IN PVOID Context)
Definition: memory.c:331
VOID EXPORT NdisMFreeSharedMemory(IN NDIS_HANDLE MiniportAdapterHandle, IN ULONG Length, IN BOOLEAN Cached, IN PVOID VirtualAddress, IN NDIS_PHYSICAL_ADDRESS PhysicalAddress)
Definition: memory.c:216
VOID EXPORT NdisGetCurrentProcessorCounts(OUT PULONG pIdleCount, OUT PULONG pKernelAndUser, OUT PULONG pIndex)
Definition: misc.c:385
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:216
UINT EXPORT NdisGetVersion(VOID)
Definition: misc.c:563
NDIS_STATUS EXPORT NdisScheduleWorkItem(IN PNDIS_WORK_ITEM pWorkItem)
Definition: misc.c:516
VOID EXPORT NdisMapFile(OUT PNDIS_STATUS Status, OUT PVOID *MappedBuffer, IN NDIS_HANDLE FileHandle)
Definition: misc.c:148
ULONG EXPORT NdisGetSharedDataAlignment(VOID)
Definition: misc.c:551
VOID EXPORT NdisCloseFile(IN NDIS_HANDLE FileHandle)
Definition: misc.c:192
VOID EXPORT NdisUnmapFile(IN NDIS_HANDLE FileHandle)
Definition: misc.c:177
UCHAR EXPORT NdisGeneratePartialCancelId(VOID)
Definition: misc.c:575
CCHAR EXPORT NdisSystemProcessorCount(VOID)
Definition: misc.c:373
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:1114
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:732
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
FP_OP Operation
Definition: fpcontrol.c:150
Status
Definition: gdiplustypes.h:24
static void Log(const char *fmt,...)
Definition: glmodeswitch.c:69
unsigned int UINT
Definition: sysinfo.c:13
HubAltSettingFilter * Filter
_In_ UCXUSBDEVICE _In_ UCXENDPOINT _In_ ULONG Priority
Definition: hubucx.h:414
_In_ UCXHUB_DEVICE_CONTEXT DeviceContext
Definition: hubucx.h:237
_In_opt_ PVOID _In_ PUCXHUB_WORKITEM WorkItem
Definition: hubucx.h:227
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
Definition: kse.h:81
macro TEXTAREA section xr p2align endm macro DATAAREA section dw endm macro RODATAAREA section dr endm macro EXPORT Attribute global Name endm macro IMPORT Target ifc WEAK weak Name set Target endif endm set macro SET_COMDAT_ALIGNMENT Alignment set Alignment endm macro NESTED_ENTRY Name global Name p2align xr p2align __ComdatAlignment NESTED_ENTRY Name endm macro ALTERNATE_ENTRY Name global Name Params endm macro ALIGN Pad
Definition: kxarm64.h:158
enum _MM_PAGE_PRIORITY MM_PAGE_PRIORITY
ULONG * PNDIS_AF
Definition: ndis.h:1038
struct _NDIS_PACKET * PNDIS_PACKET
PHYSICAL_ADDRESS NDIS_PHYSICAL_ADDRESS
Definition: ndis.h:949
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:3958
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:2036
_Out_ PNDIS_HANDLE _In_ PNDIS_PROTOCOL_CHARACTERISTICS _In_ UINT CharacteristicsLength
Definition: ndis.h:6138
_In_ NDIS_HANDLE ProtocolHandle
Definition: ndis.h:5196
struct _NDIS_MINIPORT_INTERRUPT * PNDIS_MINIPORT_INTERRUPT
_In_ UINT MillisecondPeriod
Definition: ndis.h:5657
enum _NDIS_DEVICE_PNP_EVENT NDIS_DEVICE_PNP_EVENT
_NDIS_DEVICE_PNP_EVENT
Definition: ndis.h:1001
@ NdisDevicePnPEventRemoved
Definition: ndis.h:1003
@ NdisDevicePnPEventQueryStopped
Definition: ndis.h:1005
@ NdisDevicePnPEventPowerProfileChanged
Definition: ndis.h:1007
@ NdisDevicePnPEventStopped
Definition: ndis.h:1006
@ NdisDevicePnPEventQueryRemoved
Definition: ndis.h:1002
@ NdisDevicePnPEventMaximum
Definition: ndis.h:1011
@ NdisDevicePnPEventSurpriseRemoved
Definition: ndis.h:1004
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:1486
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:2363
struct _NDIS30_PROTOCOL_CHARACTERISTICS * PNDIS30_PROTOCOL_CHARACTERISTICS
_NDIS_PNP_DEVICE_STATE
Definition: ndis.h:991
@ NdisPnPDeviceQueryStopped
Definition: ndis.h:994
@ NdisPnPDeviceQueryRemoved
Definition: ndis.h:996
@ NdisPnPDeviceRemoved
Definition: ndis.h:997
@ NdisPnPDeviceStopped
Definition: ndis.h:995
@ NdisPnPDeviceSurpriseRemoved
Definition: ndis.h:998
@ NdisPnPDeviceStarted
Definition: ndis.h:993
@ NdisPnPDeviceAdded
Definition: ndis.h:992
_Must_inspect_result_ _In_ PNDIS_HANDLE MacContext
Definition: ndis.h:6111
struct _NDIS_TASK_OFFLOAD NDIS_TASK_OFFLOAD
_Inout_ PCO_CALL_PARAMETERS CallParameters
Definition: ndis.h:2118
_Out_ PNDIS_BUFFER * Buffer
Definition: ndis.h:2869
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:2135
NDIS_STATUS(NTAPI * WAN_RECEIVE_HANDLER)(_In_ NDIS_HANDLE NdisLinkHandle, _In_ PUCHAR Packet, _In_ ULONG PacketSize)
Definition: ndis.h:1793
_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:6192
_In_ NDIS_HANDLE PrimaryMiniportAdapterHandle
Definition: ndis.h:4705
VOID(NTAPI * SEND_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ PNDIS_PACKET Packet, _In_ NDIS_STATUS Status)
Definition: ndis.h:1760
#define NDIS50_MINIPORT_CHARACTERISTICS_S
Definition: ndis.h:2153
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_CONFIGURATION_PARAMETER _In_ NDIS_HANDLE _In_ PNDIS_STRING _In_ NDIS_PARAMETER_TYPE ParameterType
Definition: ndis.h:4419
struct _NDIS_WAN_GET_STATS * PNDIS_WAN_GET_STATS
_In_ UINT _In_ UINT _In_ PVOID PortOffset
Definition: ndis.h:5447
VOID(NTAPI * NDIS_M_STS_COMPLETE_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle)
Definition: ndis.h:2446
NDIS_STATUS(NTAPI * W_RECONFIGURE_HANDLER)(_Out_ PNDIS_STATUS OpenErrorStatus, _In_ NDIS_HANDLE MiniportAdapterContext, _In_ NDIS_HANDLE WrapperConfigurationContext)
Definition: ndis.h:1983
NDIS40_PROTOCOL_CHARACTERISTICS NDIS_PROTOCOL_CHARACTERISTICS
Definition: ndis.h:1929
VOID(NTAPI * CLOSE_ADAPTER_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ NDIS_STATUS Status)
Definition: ndis.h:1733
INT(NTAPI * RECEIVE_PACKET_HANDLER)(IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET Packet)
Definition: ndis.h:1841
struct _NDIS_TASK_OFFLOAD_HEADER * PNDIS_TASK_OFFLOAD_HEADER
VOID(NTAPI * NDIS_M_SEND_RESOURCES_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle)
Definition: ndis.h:2431
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:1662
_Must_inspect_result_ _In_ NDIS_HANDLE NdisBindingHandle
Definition: ndis.h:4737
#define NDIS_MEMORY_CONTIGUOUS
Definition: ndis.h:579
_In_ UINT ProtocolId
Definition: ndis.h:2926
_Out_ PNDIS_HANDLE _In_ UINT _In_ UINT ProtocolReservedLength
Definition: ndis.h:2907
NDIS_STATUS(NTAPI * SEND_HANDLER)(_In_ NDIS_HANDLE NdisBindingHandle, _In_ PNDIS_PACKET Packet)
Definition: ndis.h:2707
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:2408
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:2495
NDIS_STATUS(NTAPI * CM_CLOSE_AF_HANDLER)(IN NDIS_HANDLE CallMgrAfContext)
Definition: ndis.h:1475
struct _NDIS_LOG * PNDIS_LOG
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
Definition: ndis.h:1551
_Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT * FunctionalDeviceObject
Definition: ndis.h:4643
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:1574
_NDIS_PARAMETER_TYPE
Definition: ndis.h:927
@ NdisParameterBinary
Definition: ndis.h:932
@ NdisParameterInteger
Definition: ndis.h:928
@ NdisParameterString
Definition: ndis.h:930
@ NdisParameterMultiString
Definition: ndis.h:931
@ NdisParameterHexInteger
Definition: ndis.h:929
struct _NDIS_PROTOCOL_BLOCK * PNDIS_PROTOCOL_BLOCK
Definition: ndis.h:2263
struct _OID_LIST * POID_LIST
Definition: ndis.h:988
_In_ PNDIS_STRING _In_ PNDIS_STRING _Out_ PDEVICE_OBJECT * pDeviceObject
Definition: ndis.h:4681
VOID(NTAPI * NDIS_WM_SEND_COMPLETE_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle, _In_ PVOID Packet, _In_ NDIS_STATUS Status)
Definition: ndis.h:2456
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID StringsList
Definition: ndis.h:4756
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:2268
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:2176
VOID(* REMOVE_ADAPTER_HANDLER)(IN NDIS_HANDLE MacAdapterContext)
Definition: ndis.h:6200
_In_ PVOID _In_ PVOID SystemSpecific2
Definition: ndis.h:638
PROTCOL_CO_AF_REGISTER_NOTIFY * CO_AF_REGISTER_NOTIFY_HANDLER
Definition: ndis.h:1909
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:5247
_In_ NDIS_ERROR_CODE _In_ ULONG NumberOfErrorValues
Definition: ndis.h:4439
struct _NDIS_MINIPORT_CHARACTERISTICS NDIS_MINIPORT_CHARACTERISTICS
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
Definition: ndis.h:4757
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:3794
_Out_ PULONG _Out_ PULONG pIndex
Definition: ndis.h:4567
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:2264
_In_ PDRIVER_UNLOAD UnloadHandler
Definition: ndis.h:4690
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:2256
NDIS_TIMER_FUNCTION * PNDIS_TIMER_FUNCTION
Definition: ndis.h:640
_NDIS_ENCAPSULATION
Definition: ndis.h:1208
@ LLC_SNAP_ROUTED_Encapsulation
Definition: ndis.h:1213
@ NULL_Encapsulation
Definition: ndis.h:1210
@ LLC_SNAP_BRIDGED_Encapsulation
Definition: ndis.h:1214
@ UNSPECIFIED_Encapsulation
Definition: ndis.h:1209
@ IEEE_802_3_Encapsulation
Definition: ndis.h:1211
@ IEEE_802_5_Encapsulation
Definition: ndis.h:1212
unsigned int UINT
Definition: ndis.h:50
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING SubKeyName
Definition: ndis.h:4727
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:1624
_Out_ PNDIS_HANDLE _In_ UINT _In_ UINT NumberOfOverflowDescriptors
Definition: ndis.h:2917
struct _MEDIA_SPECIFIC_INFORMATION * PMEDIA_SPECIFIC_INFORMATION
struct _NDIS_WRAPPER_HANDLE * PNDIS_WRAPPER_HANDLE
Definition: ndis.h:2262
struct _REFERENCE * PREFERENCE
VOID(NTAPI * CL_DEREG_SAP_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolSapContext)
Definition: ndis.h:1631
_In_opt_ NDIS_HANDLE _In_ NDIS_STATUS _In_ PVOID _In_ UINT StatusBufferSize
Definition: ndis.h:1560
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:2042
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:3595
NDIS_STATUS(NTAPI * REQUEST_HANDLER)(_In_ NDIS_HANDLE NdisBindingHandle, _In_ PNDIS_REQUEST NdisRequest)
Definition: ndis.h:2725
_Out_ PNDIS_BUFFER _In_opt_ NDIS_HANDLE PoolHandle
Definition: ndis.h:2870
struct _NDIS_TASK_IPSEC * PNDIS_TASK_IPSEC
_Out_ PNDIS_HANDLE FileHandle
Definition: ndis.h:3229
NDISAPI ULONG NTAPI NDIS_BUFFER_TO_SPAN_PAGES(IN PNDIS_BUFFER Buffer)
Definition: buffer.c:314
PHYSICAL_ADDRESS * PNDIS_PHYSICAL_ADDRESS
Definition: ndis.h:949
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:2450
_Out_ PNDIS_BUFFER _In_ NDIS_HANDLE _In_ PVOID _In_ UINT Offset
Definition: ndis.h:3275
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:2419
BOOLEAN(NTAPI * W_CHECK_FOR_HANG_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1939
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:2695
NDISAPI VOID NTAPI NdisFreeDmaChannel(IN PNDIS_HANDLE NdisDmaHandle)
Definition: io.c:1244
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:2701
_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
@ NdisProcessorArm
Definition: ndis.h:891
@ NdisProcessorArm64
Definition: ndis.h:892
@ 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:1519
_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:6020
MINIPORT_CO_ACTIVATE_VC * W_CO_ACTIVATE_VC_HANDLER
Definition: ndis.h:2119
_NDIS_WORK_ITEM_TYPE
Definition: ndis.h:2295
@ NdisWorkItemSendLoopback
Definition: ndis.h:2302
@ NdisWorkItemReturnPackets
Definition: ndis.h:2298
@ NdisMaxWorkItems
Definition: ndis.h:2304
@ NdisWorkItemSend
Definition: ndis.h:2297
@ NdisWorkItemRequest
Definition: ndis.h:2296
@ NdisWorkItemHalt
Definition: ndis.h:2301
@ NdisWorkItemResetInProgress
Definition: ndis.h:2300
@ NdisWorkItemMiniportCallback
Definition: ndis.h:2303
@ NdisWorkItemResetRequested
Definition: ndis.h:2299
struct _NDIS_M_DRIVER_BLOCK * PNDIS_M_DRIVER_BLOCK
Definition: ndis.h:2265
VOID(NTAPI * CL_CLOSE_AF_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolAfContext)
Definition: ndis.h:1619
struct _NDIS_PACKET_STACK NDIS_PACKET_STACK
_Out_ PNDIS_HANDLE _In_ UINT NumberOfDescriptors
Definition: ndis.h:2881
NDIS_STATUS(NTAPI * CO_CREATE_VC_HANDLER)(IN NDIS_HANDLE ProtocolAfContext, IN NDIS_HANDLE NdisVcHandle, OUT PNDIS_HANDLE ProtocolVcContext)
Definition: ndis.h:1533
_In_ UINT _Out_ PNDIS_HANDLE LogHandle
Definition: ndis.h:5384
NDIS_STATUS(NTAPI * RESET_HANDLER)(_In_ NDIS_HANDLE NdisBindingHandle)
Definition: ndis.h:2721
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:407
#define NDIS51_MINIPORT_CHARACTERISTICS_S
Definition: ndis.h:2200
struct _NDIS_MAC_LINE_UP NDIS_MAC_LINE_UP
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_CONFIGURATION_PARAMETER * ParameterValue
Definition: ndis.h:4416
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:2000
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT NumStrings
Definition: ndis.h:4755
NDIS_STATUS(NTAPI * CM_MODIFY_CALL_QOS_HANDLER)(IN NDIS_HANDLE CallMgrVcContext, IN PCO_CALL_PARAMETERS CallParameters)
Definition: ndis.h:1514
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:2712
struct _NDIS40_MINIPORT_CHARACTERISTICS NDIS40_MINIPORT_CHARACTERISTICS
_Out_ PULONG pKernelAndUser
Definition: ndis.h:4566
NDIS_STATUS(NTAPI * CM_DROP_PARTY_HANDLER)(IN NDIS_HANDLE CallMgrPartyContext, IN PVOID CloseData OPTIONAL, IN UINT Size OPTIONAL)
Definition: ndis.h:1495
struct _NDIS_TASK_TCP_LARGE_SEND * PNDIS_TASK_TCP_LARGE_SEND
struct _NDIS_PROTOCOL_BLOCK NDIS_PROTOCOL_BLOCK
Definition: ndis.h:2263
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:1468
VOID(NTAPI * NDIS_M_REQ_COMPLETE_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterHandle, _In_ NDIS_STATUS Status)
Definition: ndis.h:2414
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:6188
_Must_inspect_result_ _Out_ PNDIS_STATUS _Outptr_result_bytebuffer_to_ NetworkAddressLength PVOID _Out_ PUINT NetworkAddressLength
Definition: ndis.h:3960
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:2388
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:1959
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:4644
VOID(* CL_OPEN_AF_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolAfContext, IN NDIS_HANDLE NdisAfHandle)
Definition: ndis.h:1613
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:2968
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:1655
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:1756
struct _X_FILTER FDDI_FILTER
Definition: ndis.h:315
NDIS_WAN_MAC_CHARACTERISTICS * PNDIS_WAN_MAC_CHARACTERISTICS
Definition: ndis.h:6222
_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:4848
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:4645
VOID(NTAPI * W_MINIPORT_SHUTDOWN_HANDLER)(_In_ PVOID ShutdownContext)
Definition: ndis.h:2183
_In_opt_ PVOID SystemSpecific
Definition: ndis.h:5842
VOID(NTAPI * REQUEST_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ PNDIS_REQUEST NdisRequest, _In_ NDIS_STATUS Status)
Definition: ndis.h:1743
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:4998
struct _NDIS_AF_LIST NDIS_AF_LIST
Definition: ndis.h:2267
#define NUMBER_OF_SINGLE_WORK_ITEMS
Definition: ndis.h:2308
#define NdisQueryBufferOffset(_Buffer, _Offset, _Length)
Definition: ndis.h:3370
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:1490
VOID(NTAPI * NDIS_BLOCK_INITIALIZER)(IN PUCHAR Block, IN SIZE_T NumberOfBytes)
Definition: ndis.h:3932
_NDIS_POWER_PROFILE
Definition: ndis.h:1015
@ NdisPowerProfileBattery
Definition: ndis.h:1016
@ NdisPowerProfileAcOnLine
Definition: ndis.h:1017
struct _CO_SAP * PCO_SAP
struct _NDIS50_PROTOCOL_CHARACTERISTICS NDIS50_PROTOCOL_CHARACTERISTICS
NDIS_STATUS(NTAPI * WM_TRANSFER_DATA_HANDLER)(VOID)
Definition: ndis.h:2024
_In_ UINT _In_ UINT _In_ PNDIS_PACKET _In_ UINT _Out_ PUINT BytesCopied
Definition: ndis.h:3173
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:5123
VOID(NTAPI * TR_RCV_COMPLETE_HANDLER)(_In_ PTR_FILTER Filter)
Definition: ndis.h:2369
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:1678
NDISAPI VOID NTAPI NdisMDeregisterAdapterShutdownHandler(_In_ NDIS_HANDLE MiniportHandle)
_In_ UINT InitialPort
Definition: ndis.h:5445
VOID(NTAPI * W_HANDLE_INTERRUPT_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1955
_In_ NDIS_HANDLE _In_ PNET_PNP_EVENT NetPnPEvent
Definition: ndis.h:6084
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:4861
VOID(NTAPI * WAN_SEND_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ PNDIS_WAN_PACKET Packet, _In_ NDIS_STATUS Status)
Definition: ndis.h:1766
struct _NDIS_ENCAPSULATION_FORMAT * PNDIS_ENCAPSULATION_FORMAT
_In_ PPNDIS_PACKET PacketArray
Definition: ndis.h:5122
#define NDIS_COMMON_OPEN_BLOCK_S
Definition: ndis.h:2754
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:5887
VOID(NTAPI * ADAPTER_SHUTDOWN_HANDLER)(_In_ PVOID ShutdownContext)
Definition: ndis.h:2027
_Out_ PNDIS_HANDLE _Out_ PUINT FileLength
Definition: ndis.h:3230
struct _NDIS50_MINIPORT_CHARACTERISTICS * PSNDIS50_MINIPORT_CHARACTERISTICS
VOID(NTAPI * UNLOAD_PROTOCOL_HANDLER)(VOID)
Definition: ndis.h:1865
_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:6017
_In_ NDIS_HANDLE NdisProtocolHandle
Definition: ndis.h:6003
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT SelectedMediumIndex
Definition: ndis.h:6013
VOID(NTAPI * OPEN_ADAPTER_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ NDIS_STATUS Status, _In_ NDIS_STATUS OpenErrorStatus)
Definition: ndis.h:1727
struct _NDIS_CONFIGURATION_PARAMETER NDIS_CONFIGURATION_PARAMETER
MINIPORT_CO_CREATE_VC * W_CO_CREATE_VC_HANDLER
Definition: ndis.h:2104
_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:988
VOID(NTAPI * CM_INCOMING_CALL_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE CallMgrVcContext, IN PCO_CALL_PARAMETERS CallParameters)
Definition: ndis.h:1501
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:2307
MDL NDIS_BUFFER
Definition: ndis.h:343
_In_ PNDIS_STRING _In_ PNDIS_STRING _Out_ PDEVICE_OBJECT _Out_ NDIS_HANDLE * NdisDeviceHandle
Definition: ndis.h:4682
_In_ NDIS_STATUS EventCode
Definition: ndis.h:4753
struct _NDIS_AF_LIST * PNDIS_AF_LIST
Definition: ndis.h:2267
_Must_inspect_result_ _In_ PCO_ADDRESS_FAMILY _In_ NDIS_HANDLE _In_ PNDIS_CLIENT_CHARACTERISTICS _In_ UINT _Out_ PNDIS_HANDLE NdisAfHandle
Definition: ndis.h:4850
_Out_ PNDIS_HANDLE _In_ PNDIS_PROTOCOL_CHARACTERISTICS ProtocolCharacteristics
Definition: ndis.h:6137
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:2396
_Out_ PNDIS_BUFFER _In_opt_ NDIS_HANDLE _In_ UINT Length
Definition: ndis.h:2872
_Must_inspect_result_ _In_ NDIS_HANDLE _In_ PCO_CALL_PARAMETERS _Out_ PNDIS_HANDLE NdisPartyHandle
Definition: ndis.h:4771
_In_ UINT _In_ UINT BytesToCopy
Definition: ndis.h:3170
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:4849
ULONG NDIS_AF
Definition: ndis.h:1038
NDIS_STATUS(NTAPI * ADD_ADAPTER_HANDLER)(IN NDIS_HANDLE MacMacContext, IN NDIS_HANDLE WrapperConfigurationContext, IN PNDIS_STRING AdapterName)
Definition: ndis.h:6195
_In_ PNDIS_TIMER_FUNCTION TimerFunction
Definition: ndis.h:2813
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:1860
_In_ NDIS_STATUS Status
Definition: ndis.h:3217
_Out_ PNDIS_HANDLE NdisDriverHandle
Definition: ndis.h:6066
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:6019
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:2006
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:2015
_In_ NDIS_STATUS _In_ NDIS_HANDLE Handle
Definition: ndis.h:3218
UNICODE_STRING * PNDIS_STRING
Definition: ndis.h:341
_In_ PNDIS_STRING DeviceName
Definition: ndis.h:4678
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:6015
_In_ UINT MsToWait
Definition: ndis.h:5883
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:6182
_NDIS_TASK
Definition: ndis.h:1201
@ MaxNdisTask
Definition: ndis.h:1205
@ TcpIpChecksumNdisTask
Definition: ndis.h:1202
@ TcpLargeSendNdisTask
Definition: ndis.h:1204
@ IpSecNdisTask
Definition: ndis.h:1203
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:5204
NTSTATUS(NTAPI * TDI_REGISTER_CALLBACK)(_In_ PUNICODE_STRING DeviceName, _Out_ HANDLE *TdiHandle)
Definition: ndis.h:975
VOID(NTAPI * CL_CALL_CONNECTED_HANDLER)(IN NDIS_HANDLE ProtocolVcContext)
Definition: ndis.h:1692
_Acquires_exclusive_lock_ Lock _In_ BOOLEAN _Out_ _IRQL_saves_ PLOCK_STATE LockState
Definition: ndis.h:4589
_Must_inspect_result_ _In_ PCO_ADDRESS_FAMILY _In_ PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics
Definition: ndis.h:5008
struct _CO_SPECIFIC_PARAMETERS CO_SPECIFIC_PARAMETERS
VOID(NTAPI * RESET_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext, _In_ NDIS_STATUS Status)
Definition: ndis.h:1738
struct _NDIS_WAN_LINE_UP NDIS_WAN_LINE_UP
NDIS_PROTOCOL_CHARACTERISTICS * PNDIS_PROTOCOL_CHARACTERISTICS
Definition: ndis.h:1932
_NDIS_INTERFACE_TYPE
Definition: ndis.h:901
@ NdisInterfaceIrda
Definition: ndis.h:917
@ NdisInterfaceIsa
Definition: ndis.h:903
@ NdisInterfaceUSB
Definition: ndis.h:916
@ NdisInterfaceInternal
Definition: ndis.h:902
@ NdisInterfaceInternalPowerBus
Definition: ndis.h:913
@ NdisInterfacePci
Definition: ndis.h:907
@ NdisInterfaceProcessorInternal
Definition: ndis.h:912
@ NdisInterfaceTurboChannel
Definition: ndis.h:906
@ NdisInterface1394
Definition: ndis.h:918
@ NdisMaximumInterfaceType
Definition: ndis.h:919
@ NdisInterfacePNPBus
Definition: ndis.h:915
@ NdisInterfaceMca
Definition: ndis.h:905
@ NdisInterfaceEisa
Definition: ndis.h:904
@ NdisInterfacePcMcia
Definition: ndis.h:908
@ NdisInterfaceMPSABus
Definition: ndis.h:911
@ NdisInterfacePNPISABus
Definition: ndis.h:914
@ NdisInterfaceCBus
Definition: ndis.h:909
@ NdisInterfaceMPIBus
Definition: ndis.h:910
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:2425
struct _NDIS30_MINIPORT_CHARACTERISTICS NDIS30_MINIPORT_CHARACTERISTICS
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _In_ NDIS_HANDLE WrapperConfigurationContext
Definition: ndis.h:3948
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:2031
_In_ NDIS_ERROR_CODE ErrorCode
Definition: ndis.h:4438
_In_ NDIS_HANDLE _In_opt_ NDIS_HANDLE CallMgrPartyContext
Definition: ndis.h:4882
VOID(NTAPI * CL_CLOSE_CALL_COMPLETE_HANDLER)(IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolVcContext, IN NDIS_HANDLE ProtocolPartyContext OPTIONAL)
Definition: ndis.h:1649
struct _NDIS_IPSEC_PACKET_INFO * PNDIS_IPSEC_PACKET_INFO
_NDIS_ENVIRONMENT_TYPE
Definition: ndis.h:895
@ NdisEnvironmentWindows
Definition: ndis.h:896
@ NdisEnvironmentWindowsNt
Definition: ndis.h:897
struct _WAN_CO_LINKPARAMS * PWAN_CO_LINKPARAMS
_In_ ULONG _In_ BOOLEAN _Must_inspect_result_ PVOID * VirtualAddress
Definition: ndis.h:3793
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:135
_In_ UINT _In_ UINT NumberOfPorts
Definition: ndis.h:5446
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:4654
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:6171
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:1783
_Must_inspect_result_ _Out_ PULONG IoCount
Definition: ndis.h:6128
NDISAPI VOID NTAPI NdisDeregisterTdiCallBack(VOID)
Definition: 50stubs.c:286
_In_ BOOLEAN _In_ ULONG MaximumPhysicalMapping
Definition: ndis.h:4655
VOID(NTAPI * RECEIVE_COMPLETE_HANDLER)(_In_ NDIS_HANDLE ProtocolBindingContext)
Definition: ndis.h:1799
struct _CO_CALL_MANAGER_PARAMETERS CO_CALL_MANAGER_PARAMETERS
struct _CO_CALL_PARAMETERS CO_CALL_PARAMETERS
_NDIS_PER_PACKET_INFO
Definition: ndis.h:1179
@ ClassificationHandlePacketInfo
Definition: ndis.h:1183
@ MaxPerPacketInfo
Definition: ndis.h:1192
@ OriginalNetBufferList
Definition: ndis.h:1189
@ IpSecPacketInfo
Definition: ndis.h:1181
@ TcpIpChecksumPacketInfo
Definition: ndis.h:1180
@ NdisReserved
Definition: ndis.h:1184
@ Ieee8021QInfo
Definition: ndis.h:1186
@ PacketCancelId
Definition: ndis.h:1188
@ ShortPacketPaddingInfo
Definition: ndis.h:1191
@ ScatterGatherListPacketInfo
Definition: ndis.h:1185
@ OriginalPacketInfo
Definition: ndis.h:1187
@ TcpLargeSendPacketInfo
Definition: ndis.h:1182
@ CachedNetBufferList
Definition: ndis.h:1190
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:1779
_Must_inspect_result_ _In_ NDIS_HANDLE _In_ PCO_SAP Sap
Definition: ndis.h:4860
struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO * PNDIS_TCP_IP_CHECKSUM_PACKET_INFO
_In_ NDIS_HANDLE _Out_ PNDIS_HANDLE MiniportVcContext
Definition: ndis.h:2103
_In_ ULONG _In_ BOOLEAN Cached
Definition: ndis.h:3791
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:4670
#define NDIS_ERROR_CODE
Definition: ndis.h:560
_Acquires_exclusive_lock_ Lock _In_ BOOLEAN fWrite
Definition: ndis.h:4588
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:4859
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:2830
enum _NDIS_ENVIRONMENT_TYPE NDIS_ENVIRONMENT_TYPE
_In_ NDIS_HANDLE NdisVcHandle
Definition: ndis.h:2102
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:3947
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:2383
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:2317
struct _NDIS_PACKET_EXTENSION * PNDIS_PACKET_EXTENSION
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_CONFIGURATION_PARAMETER _In_ NDIS_HANDLE _In_ PNDIS_STRING Keyword
Definition: ndis.h:4418
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:2336
#define NDIS30_MINIPORT_CHARACTERISTICS_S
Definition: ndis.h:2051
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS OpenErrorStatus
Definition: ndis.h:6011
enum _NDIS_WORK_ITEM_TYPE NDIS_WORK_ITEM_TYPE
struct _X_FILTER ETH_FILTER
Definition: ndis.h:2268
VOID(NTAPI * NDIS_M_STATUS_HANDLER)(_In_ NDIS_HANDLE MiniportHandle, _In_ NDIS_STATUS GeneralStatus, _In_ PVOID StatusBuffer, _In_ UINT StatusBufferSize)
Definition: ndis.h:2439
VOID(NTAPI * W_CANCEL_SEND_PACKETS_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ PVOID CancelId)
Definition: ndis.h:2171
struct _NDIS_CALL_MANAGER_CHARACTERISTICS * PNDIS_CALL_MANAGER_CHARACTERISTICS
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3171
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:1974
_Inout_opt_ PDEVICE_OBJECT * PhysicalDeviceObject
Definition: ndis.h:4642
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:4754
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:3247
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:1526
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:1854
_In_opt_ NDIS_HANDLE _In_ NDIS_STATUS _In_ PVOID StatusBuffer
Definition: ndis.h:1559
_In_ NDIS_HANDLE ProtocolVcContext
Definition: ndis.h:1550
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:2373
struct _NDIS_REQUEST * PNDIS_REQUEST
MINIPORT_CO_DELETE_VC * W_CO_DELETE_VC_HANDLER
Definition: ndis.h:2111
#define NDIS40_MINIPORT_CHARACTERISTICS_S
Definition: ndis.h:2083
_In_ NDIS_HANDLE _In_ NDIS_HANDLE CallMgrSapContext
Definition: ndis.h:5018
* 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:1507
VOID(NTAPI * W_HALT_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1951
VOID(NTAPI * W_ENABLE_INTERRUPT_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1947
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:1462
NDIS_MAC_CHARACTERISTICS NDIS_WAN_MAC_CHARACTERISTICS
Definition: ndis.h:6221
_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:6018
_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:4646
_In_ ULONG _In_ BOOLEAN _In_ PVOID Context
Definition: ndis.h:3805
_Must_inspect_result_ _In_ PCO_ADDRESS_FAMILY _In_ PNDIS_CALL_MANAGER_CHARACTERISTICS _In_ UINT SizeOfCmCharacteristics
Definition: ndis.h:5009
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:1575
NDIS_STATUS(NTAPI * CL_INCOMING_CALL_HANDLER)(IN NDIS_HANDLE ProtocolSapContext, IN NDIS_HANDLE ProtocolVcContext, IN OUT PCO_CALL_PARAMETERS CallParameters)
Definition: ndis.h:1667
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:1772
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:980
NDIS_STATUS(NTAPI * WAN_TRANSFER_DATA_HANDLER)(VOID)
Definition: ndis.h:6185
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:1581
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING _Out_ PNDIS_HANDLE SubKeyHandle
Definition: ndis.h:4728
_In_ UINT LogBufferSize
Definition: ndis.h:5824
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:1643
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:1846
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:2351
NDIS_STATUS(NTAPI * W_SEND_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext, _In_ PNDIS_PACKET Packet, _In_ UINT Flags)
Definition: ndis.h:1994
struct _NDIS_EVENT NDIS_EVENT
VOID(NTAPI * W_DISABLE_INTERRUPT_HANDLER)(_In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1943
_Out_ PNDIS_HANDLE _Out_ PUINT _In_ PNDIS_STRING _In_ NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
Definition: ndis.h:3232
_In_ _Points_to_data_ PVOID CancelId
Definition: ndis.h:6119
MINIPORT_CO_DEACTIVATE_VC * W_CO_DEACTIVATE_VC_HANDLER
Definition: ndis.h:2126
BOOLEAN(NTAPI * PNDIS_INTERRUPT_SERVICE)(IN PVOID InterruptContext)
Definition: ndis.h:2252
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:2402
#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:2347
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:4717
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:1685
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:1989
union _NDIS_RW_LOCK_REFCOUNT NDIS_RW_LOCK_REFCOUNT
_Out_ BOOLEAN * StacksRemaining
Definition: ndis.h:2955
_In_ NDIS_STATUS _In_ NDIS_STATUS OpenStatus
Definition: ndis.h:6037
struct _NDIS_ENCAPSULATION_FORMAT NDIS_ENCAPSULATION_FORMAT
IN PCO_ADDRESS_FAMILY AddressFamily
Definition: ndis.h:1908
struct _NDIS_MAC_LINE_DOWN * PNDIS_MAC_LINE_DOWN
struct _NDIS_OFFLOAD NDIS_OFFLOAD
Definition: ndis.h:2266
struct _NDIS_PACKET NDIS_PACKET
VOID(NTAPI * W_ISR_HANDLER)(_Out_ PBOOLEAN InterruptRecognized, _Out_ PBOOLEAN QueueMiniportHandleInterrupt, _In_ NDIS_HANDLE MiniportAdapterContext)
Definition: ndis.h:1968
struct _NDIS_REQUEST NDIS_REQUEST
_In_ PNDIS_STRING _In_ PNDIS_STRING SymbolicName
Definition: ndis.h:4679
struct _X_FILTER * PTR_FILTER
Definition: ndis.h:316
struct _NDIS_OFFLOAD * PNDIS_OFFLOAD
Definition: ndis.h:2266
NDISAPI VOID NTAPI NdisReadEisaSlotInformation(OUT PNDIS_STATUS Status, IN NDIS_HANDLE WrapperConfigurationContext, OUT PUINT SlotNumber, OUT PNDIS_EISA_FUNCTION_INFORMATION EisaData)
Definition: hardware.c:299
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:1749
_Out_ PNDIS_HANDLE _In_ PNDIS_STRING ProtocolSection
Definition: ndis.h:6075
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:2435
VOID(NTAPI * W_CO_SEND_PACKETS_HANDLER)(_In_ NDIS_HANDLE MiniportVcContext, _In_ PPNDIS_PACKET PacketArray, _In_ UINT NumberOfPackets)
Definition: ndis.h:2129
_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:1673
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:1558
VOID(NTAPI * ETH_RCV_COMPLETE_HANDLER)(_In_ PETH_FILTER Filter)
Definition: ndis.h:2332
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:1636
_Out_ _At_ TimerCancelled PBOOLEAN TimerCancelled
Definition: ndis.h:2822
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:925
struct _NDIS_WAN_LINE_DOWN NDIS_WAN_LINE_DOWN
NDIS_STATUS(NTAPI * CO_DELETE_VC_HANDLER)(IN NDIS_HANDLE ProtocolVcContext)
Definition: ndis.h:1539
KINTERRUPT_MODE * PNDIS_INTERRUPT_MODE
Definition: ndis.h:925
_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:1804
struct _NDIS_WRAPPER_HANDLE NDIS_WRAPPER_HANDLE
Definition: ndis.h:2262
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:1479
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
Definition: rtlfuncs.h:1957
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
Definition: rtlfuncs.h:3051
_Out_ _Inout_ POEM_STRING DestinationString
Definition: rtlfuncs.h:1956
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:3484
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:3461
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:3330
VOID EXPORT NdisCancelSendPackets(IN NDIS_HANDLE NdisBindingHandle, IN PVOID CancelId)
Definition: miniport.c:3438
NDIS_STATUS EXPORT NdisMWriteLogData(IN NDIS_HANDLE LogHandle, IN PVOID LogBuffer, IN UINT LogBufferSize)
Definition: miniport.c:3055
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:3258
VOID EXPORT NdisMRegisterUnloadHandler(IN NDIS_HANDLE NdisWrapperHandle, IN PDRIVER_UNLOAD UnloadHandler)
Definition: miniport.c:3236
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:3197
NDIS_STATUS EXPORT NdisQueryAdapterInstanceName(OUT PNDIS_STRING AdapterInstanceName, IN NDIS_HANDLE NdisBindingHandle)
Definition: miniport.c:3353
VOID EXPORT NdisMSleep(IN ULONG MicrosecondsToSleep)
Definition: miniport.c:3013
VOID EXPORT NdisCompletePnPEvent(IN NDIS_STATUS Status, IN NDIS_HANDLE NdisBindingHandle, IN PNET_PNP_EVENT NetPnPEvent)
Definition: miniport.c:3375
BOOLEAN EXPORT NdisMSynchronizeWithInterrupt(IN PNDIS_MINIPORT_INTERRUPT Interrupt, IN PVOID SynchronizeFunction, IN PVOID SynchronizeContext)
Definition: miniport.c:3040
NDIS_STATUS EXPORT NdisMRegisterMiniport(IN NDIS_HANDLE NdisWrapperHandle, IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics, IN UINT CharacteristicsLength)
Definition: miniport.c:2722
VOID EXPORT NdisTerminateWrapper(IN NDIS_HANDLE NdisWrapperHandle, IN PVOID SystemSpecific)
Definition: miniport.c:3097
NDIS_STATUS EXPORT NdisMQueryAdapterInstanceName(OUT PNDIS_STRING AdapterInstanceName, IN NDIS_HANDLE MiniportAdapterHandle)
Definition: miniport.c:3123
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _In_reads_(s)
Definition: no_sal2.h:168
#define _Outptr_result_bytebuffer_(s)
Definition: no_sal2.h:288
#define _Out_opt_
Definition: no_sal2.h:214
#define _Inout_
Definition: no_sal2.h:162
#define _Success_(c)
Definition: no_sal2.h:84
#define _At_(t, a)
Definition: no_sal2.h:40
#define _Check_return_
Definition: no_sal2.h:60
#define _Pre_satisfies_(e)
Definition: no_sal2.h:64
#define _In_opt_z_
Definition: no_sal2.h:218
#define _Return_type_success_(c)
Definition: no_sal2.h:86
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Must_inspect_result_
Definition: no_sal2.h:62
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Function_class_(n)
Definition: no_sal2.h:398
#define _Out_writes_bytes_(s)
Definition: no_sal2.h:178
#define _Points_to_data_
Definition: no_sal2.h:408
#define _Outptr_result_bytebuffer_to_(s, c)
Definition: no_sal2.h:296
#define _When_(c, a)
Definition: no_sal2.h:38
#define _In_reads_bytes_opt_(s)
Definition: no_sal2.h:224
#define FASTCALL
Definition: nt_native.h:50
enum _NDIS_MEDIUM NDIS_MEDIUM
enum _NDIS_MEDIUM * PNDIS_MEDIUM
enum _NDIS_WAN_QUALITY NDIS_WAN_QUALITY
int NDIS_STATUS
Definition: ntddndis.h:496
ULONG NDIS_OID
Definition: ntddndis.h:249
_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 DUMMYUNIONNAME2
Definition: pecoff.h:93
#define DUMMYUNIONNAME
Definition: pecoff.h:91
#define _ANONYMOUS_UNION
Definition: pecoff.h:89
#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
@ Eisa
Definition: restypes.h:124
@ CBus
Definition: restypes.h:131
@ TurboChannel
Definition: restypes.h:126
@ PNPBus
Definition: restypes.h:137
@ PCIBus
Definition: restypes.h:127
@ MPIBus
Definition: restypes.h:132
@ InternalPowerBus
Definition: restypes.h:135
@ MPSABus
Definition: restypes.h:133
@ Internal
Definition: restypes.h:122
@ MicroChannel
Definition: restypes.h:125
@ PNPISABus
Definition: restypes.h:136
@ ProcessorInternal
Definition: restypes.h:134
@ Isa
Definition: restypes.h:123
@ PCMCIABus
Definition: restypes.h:130
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:936
NDIS_AF AddressFamily
Definition: ndis.h:1053
ULONG MinorVersion
Definition: ndis.h:1055
ULONG MajorVersion
Definition: ndis.h:1054
CO_SPECIFIC_PARAMETERS CallMgrSpecific
Definition: ndis.h:1067
PCO_CALL_MANAGER_PARAMETERS CallMgrParameters
Definition: ndis.h:1097
PCO_MEDIA_PARAMETERS MediaParameters
Definition: ndis.h:1098
ULONG ReceiveSizeHint
Definition: ndis.h:1084
ULONG ReceivePriority
Definition: ndis.h:1083
CO_SPECIFIC_PARAMETERS MediaSpecific
Definition: ndis.h:1085
Definition: ndis.h:1101
ULONG SapType
Definition: ndis.h:1102
ULONG SapLength
Definition: ndis.h:1103
UCHAR Sap[1]
Definition: ndis.h:1104
Definition: ketypes.h:767
Definition: typedefs.h:120
USHORT LockState
Definition: rwlock.h:26
KIRQL OldIrql
Definition: rwlock.h:27
Definition: haltypes.h:195
NDIS_CLASS_ID ClassId
Definition: ndis.h:769
UCHAR ClassInformation[1]
Definition: ndis.h:771
STATUS_COMPLETE_HANDLER StatusCompleteHandler
Definition: ndis.h:1896
WAN_TRANSFER_DATA_COMPLETE_HANDLER WanTransferDataCompleteHandler
Definition: ndis.h:1886
TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler
Definition: ndis.h:1885
RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler
Definition: ndis.h:1894
PNP_EVENT_HANDLER PnPEventHandler
Definition: ndis.h:1901
REQUEST_COMPLETE_HANDLER RequestCompleteHandler
Definition: ndis.h:1889
SEND_COMPLETE_HANDLER SendCompleteHandler
Definition: ndis.h:1881
RECEIVE_HANDLER ReceiveHandler
Definition: ndis.h:1891
WAN_SEND_COMPLETE_HANDLER WanSendCompleteHandler
Definition: ndis.h:1882
BIND_HANDLER BindAdapterHandler
Definition: ndis.h:1899
RESET_COMPLETE_HANDLER ResetCompleteHandler
Definition: ndis.h:1888
RECEIVE_PACKET_HANDLER ReceivePacketHandler
Definition: ndis.h:1898
STATUS_HANDLER StatusHandler
Definition: ndis.h:1895
UNBIND_HANDLER UnbindAdapterHandler
Definition: ndis.h:1900
WAN_RECEIVE_HANDLER WanReceiveHandler
Definition: ndis.h:1892
OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler
Definition: ndis.h:1878
CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler
Definition: ndis.h:1879
UNLOAD_PROTOCOL_HANDLER UnloadHandler
Definition: ndis.h:1902
CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler
Definition: ndis.h:1922
CO_STATUS_HANDLER CoStatusHandler
Definition: ndis.h:1921
CO_AF_REGISTER_NOTIFY_HANDLER CoAfRegisterNotifyHandler
Definition: ndis.h:1923
CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler
Definition: ndis.h:1920
NDIS_STRING Paths[1]
Definition: ndis.h:2327
CM_CLOSE_CALL_HANDLER CmCloseCallHandler
Definition: ndis.h:1598
CM_MODIFY_CALL_QOS_HANDLER CmModifyCallQoSHandler
Definition: ndis.h:1604
CO_REQUEST_COMPLETE_HANDLER CmRequestCompleteHandler
Definition: ndis.h:1606
CM_INCOMING_CALL_COMPLETE_HANDLER CmIncomingCallCompleteHandler
Definition: ndis.h:1599
CM_REG_SAP_HANDLER CmRegisterSapHandler
Definition: ndis.h:1595
CM_MAKE_CALL_HANDLER CmMakeCallHandler
Definition: ndis.h:1597
CM_ACTIVATE_VC_COMPLETE_HANDLER CmActivateVcCompleteHandler
Definition: ndis.h:1602
CM_ADD_PARTY_HANDLER CmAddPartyHandler
Definition: ndis.h:1600
CM_DEREG_SAP_HANDLER CmDeregisterSapHandler
Definition: ndis.h:1596
CM_OPEN_AF_HANDLER CmOpenAfHandler
Definition: ndis.h:1593
CO_DELETE_VC_HANDLER CmDeleteVcHandler
Definition: ndis.h:1592
CO_REQUEST_HANDLER CmRequestHandler
Definition: ndis.h:1605
CM_DEACTIVATE_VC_COMPLETE_HANDLER CmDeactivateVcCompleteHandler
Definition: ndis.h:1603
CM_DROP_PARTY_HANDLER CmDropPartyHandler
Definition: ndis.h:1601
CM_CLOSE_AF_HANDLER CmCloseAfHandler
Definition: ndis.h:1594
CO_CREATE_VC_HANDLER CmCreateVcHandler
Definition: ndis.h:1591
CL_INCOMING_CLOSE_CALL_HANDLER ClIncomingCloseCallHandler
Definition: ndis.h:1716
CL_REG_SAP_COMPLETE_HANDLER ClRegisterSapCompleteHandler
Definition: ndis.h:1707
CL_MAKE_CALL_COMPLETE_HANDLER ClMakeCallCompleteHandler
Definition: ndis.h:1709
CO_CREATE_VC_HANDLER ClCreateVcHandler
Definition: ndis.h:1701
CL_CLOSE_AF_COMPLETE_HANDLER ClCloseAfCompleteHandler
Definition: ndis.h:1706
CO_REQUEST_COMPLETE_HANDLER ClRequestCompleteHandler
Definition: ndis.h:1704
CL_CLOSE_CALL_COMPLETE_HANDLER ClCloseCallCompleteHandler
Definition: ndis.h:1711
CL_ADD_PARTY_COMPLETE_HANDLER ClAddPartyCompleteHandler
Definition: ndis.h:1712
CL_MODIFY_CALL_QOS_COMPLETE_HANDLER ClModifyCallQoSCompleteHandler
Definition: ndis.h:1710
CL_CALL_CONNECTED_HANDLER ClCallConnectedHandler
Definition: ndis.h:1718
CL_INCOMING_CALL_QOS_CHANGE_HANDLER ClIncomingCallQoSChangeHandler
Definition: ndis.h:1715
CL_OPEN_AF_COMPLETE_HANDLER ClOpenAfCompleteHandler
Definition: ndis.h:1705
CO_DELETE_VC_HANDLER ClDeleteVcHandler
Definition: ndis.h:1702
CL_DEREG_SAP_COMPLETE_HANDLER ClDeregisterSapCompleteHandler
Definition: ndis.h:1708
CL_DROP_PARTY_COMPLETE_HANDLER ClDropPartyCompleteHandler
Definition: ndis.h:1713
CL_INCOMING_DROP_PARTY_HANDLER ClIncomingDropPartyHandler
Definition: ndis.h:1717
CO_REQUEST_HANDLER ClRequestHandler
Definition: ndis.h:1703
CL_INCOMING_CALL_HANDLER ClIncomingCallHandler
Definition: ndis.h:1714
BINARY_DATA BinaryData
Definition: ndis.h:945
NDIS_STRING StringData
Definition: ndis.h:944
NDIS_PARAMETER_TYPE ParameterType
Definition: ndis.h:941
union _NDIS_CONFIGURATION_PARAMETER::@2557 ParameterData
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::@2565 Flags
NDIS_ENCAPSULATION Encapsulation
Definition: ndis.h:1218
KEVENT Event
Definition: ndis.h:335
BOOLEAN Removing
Definition: ndis.h:2290
KDPC InterruptDpc
Definition: ndis.h:2287
PVOID InterruptContext
Definition: ndis.h:2288
PKINTERRUPT InterruptObject
Definition: ndis.h:2283
PNDIS_DEFERRED_PROCESSING MacDpc
Definition: ndis.h:2286
KSPIN_LOCK DpcCountLock
Definition: ndis.h:2284
UCHAR DpcCount
Definition: ndis.h:2289
KEVENT DpcsCompletedEvent
Definition: ndis.h:2291
PNDIS_INTERRUPT_SERVICE MacIsr
Definition: ndis.h:2285
NDIS_HANDLE NextOffloadHandle
Definition: ndis.h:1112
NDIS_HANDLE OffloadHandle
Definition: ndis.h:1111
struct _NDIS_IPSEC_PACKET_INFO::@2558::@2560 Transmit
struct _NDIS_IPSEC_PACKET_INFO::@2558::@2561 Receive
UCHAR LogBuf[1]
Definition: ndis.h:2484
UINT OutPtr
Definition: ndis.h:2483
KSPIN_LOCK LogLock
Definition: ndis.h:2478
PIRP Irp
Definition: ndis.h:2479
PNDIS_MINIPORT_BLOCK Miniport
Definition: ndis.h:2477
UINT InPtr
Definition: ndis.h:2482
UINT CurrentSize
Definition: ndis.h:2481
UINT TotalSize
Definition: ndis.h:2480
OPEN_ADAPTER_HANDLER OpenAdapterHandler
Definition: ndis.h:6208
REQUEST_HANDLER RequestHandler
Definition: ndis.h:6213
UNLOAD_MAC_HANDLER UnloadMacHandler
Definition: ndis.h:6215
NDIS_STRING Name
Definition: ndis.h:6218
REMOVE_ADAPTER_HANDLER RemoveAdapterHandler
Definition: ndis.h:6217
TRANSFER_DATA_HANDLER TransferDataHandler
Definition: ndis.h:6211
ADD_ADAPTER_HANDLER AddAdapterHandler
Definition: ndis.h:6216
RESET_HANDLER ResetHandler
Definition: ndis.h:6212
CLOSE_ADAPTER_HANDLER CloseAdapterHandler
Definition: ndis.h:6209
SEND_HANDLER SendHandler
Definition: ndis.h:6210
QUERY_GLOBAL_STATISTICS_HANDLER QueryGlobalStatisticsHandler
Definition: ndis.h:6214
NDIS_HANDLE NdisLinkContext
Definition: ndis.h:1150
NDIS_HANDLE NdisLinkContext
Definition: ndis.h:1155
USHORT SendWindow
Definition: ndis.h:1161
ULONG LinkSpeed
Definition: ndis.h:1159
NDIS_WAN_QUALITY Quality
Definition: ndis.h:1160
NDIS_HANDLE ConnectionWrapperID
Definition: ndis.h:1162
NDIS_HANDLE NdisLinkContext
Definition: ndis.h:1164
NDIS_HANDLE NdisLinkHandle
Definition: ndis.h:1163
PCM_RESOURCE_LIST Resources
Definition: ndis.h:2536
PNDIS_AF_LIST CallMgrAfList
Definition: ndis.h:2558
NDIS_M_REQ_COMPLETE_HANDLER SetCompleteHandler
Definition: ndis.h:2588
NDIS_OBJECT_HEADER Header
Definition: ndis.h:2509
NDIS_MEDIUM MediaType
Definition: ndis.h:2550
NDIS_M_SEND_COMPLETE_HANDLER SendCompleteHandler
Definition: ndis.h:2547
PMAP_REGISTER_ENTRY MapRegisters
Definition: ndis.h:2557
REFERENCE ShortRef
Definition: ndis.h:2516
USHORT SetInfoBufLen
Definition: ndis.h:2561
UNICODE_STRING BaseName
Definition: ndis.h:2538
ETH_RCV_COMPLETE_HANDLER EthRxCompleteHandler
Definition: ndis.h:2581
NDIS_HANDLE OpenQueue
Definition: ndis.h:2515
UINT MaximumShortAddresses
Definition: ndis.h:2570
PNDIS_REQUEST PendingRequest
Definition: ndis.h:2568
USHORT MaxSendPackets
Definition: ndis.h:2562
ULONG RequestBuffer
Definition: ndis.h:2530
NDIS_M_STATUS_HANDLER StatusHandler
Definition: ndis.h:2584
PNDIS_BIND_PATHS BindPaths
Definition: ndis.h:2514
NDIS_HANDLE DeviceContext
Definition: ndis.h:2517
NDIS_STATUS FakeStatus
Definition: ndis.h:2563
PNDIS_REQUEST MediaRequest
Definition: ndis.h:2523
ETH_RCV_INDICATE_HANDLER EthRxIndicateHandler
Definition: ndis.h:2578
PNDIS_MINIPORT_BLOCK PrimaryMiniport
Definition: ndis.h:2532
FDDI_RCV_COMPLETE_HANDLER FddiRxCompleteHandler
Definition: ndis.h:2583
FDDI_RCV_INDICATE_HANDLER FddiRxIndicateHandler
Definition: ndis.h:2580
KSPIN_LOCK Lock
Definition: ndis.h:2522
W_SEND_PACKETS_HANDLER SendPacketsHandler
Definition: ndis.h:2576
TR_RCV_COMPLETE_HANDLER TrRxCompleteHandler
Definition: ndis.h:2582
PVOID SetMCastBuffer
Definition: ndis.h:2531
NDIS_HANDLE MiniportAdapterContext
Definition: ndis.h:2512
NDIS_WM_SEND_COMPLETE_HANDLER WanSendCompleteHandler
Definition: ndis.h:2589
PVOID WrapperContext
Definition: ndis.h:2533
PDEVICE_OBJECT NextDeviceObject
Definition: ndis.h:2556
NDIS_M_TD_COMPLETE_HANDLER TDCompleteHandler
Definition: ndis.h:2586
USHORT CFHangCurrentTick
Definition: ndis.h:2542
PNDIS_PACKET ReturnPacketsQueue
Definition: ndis.h:2529
UCHAR LockAcquired
Definition: ndis.h:2519
LIST_ENTRY PacketList
Definition: ndis.h:2527
PDEVICE_OBJECT DeviceObject
Definition: ndis.h:2554
NDIS_M_RESET_COMPLETE_HANDLER ResetCompleteHandler
Definition: ndis.h:2549
W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler
Definition: ndis.h:2574
UNICODE_STRING SymbolicLinkName
Definition: ndis.h:2539
NDIS_M_START_SENDS DeferredSendHandler
Definition: ndis.h:2577
NDIS_HANDLE ResetOpen
Definition: ndis.h:2544
PDEVICE_OBJECT PhysicalDeviceObject
Definition: ndis.h:2555
UCHAR AssignedProcessor
Definition: ndis.h:2521
WAN_RCV_HANDLER WanRcvHandler
Definition: ndis.h:2590
UINT CurrentLookahead
Definition: ndis.h:2571
ULONG CheckForHangSeconds
Definition: ndis.h:2540
WAN_RCV_COMPLETE_HANDLER WanRcvCompleteHandler
Definition: ndis.h:2591
NDIS_INTERFACE_TYPE AdapterType
Definition: ndis.h:2553
NDIS_INTERFACE_TYPE BusType
Definition: ndis.h:2552
PUNICODE_STRING pAdapterInstanceName
Definition: ndis.h:2565
USHORT CFHangTicks
Definition: ndis.h:2541
UINT MaximumLookahead
Definition: ndis.h:2572
NDIS_M_STS_COMPLETE_HANDLER StatusCompleteHandler
Definition: ndis.h:2585
NDIS_STATUS ResetStatus
Definition: ndis.h:2543
TR_RCV_INDICATE_HANDLER TrRxIndicateHandler
Definition: ndis.h:2579
PVOID BusDataContext
Definition: ndis.h:2534
PNDIS_PACKET FirstPendingPacket
Definition: ndis.h:2528
PNDIS_MINIPORT_INTERRUPT Interrupt
Definition: ndis.h:2524
PNDIS_MINIPORT_TIMER TimerQueue
Definition: ndis.h:2566
W_HANDLE_INTERRUPT_HANDLER HandleInterruptHandler
Definition: ndis.h:2573
UINT MaximumLongAddresses
Definition: ndis.h:2569
NDIS_M_SEND_RESOURCES_HANDLER SendResourcesHandler
Definition: ndis.h:2548
PNDIS_MINIPORT_BLOCK NextMiniport
Definition: ndis.h:2510
UNICODE_STRING MiniportName
Definition: ndis.h:2513
W_ENABLE_INTERRUPT_HANDLER EnableInterruptHandler
Definition: ndis.h:2575
PNDIS_M_DRIVER_BLOCK DriverHandle
Definition: ndis.h:2511
FILTERDBS_S FILTER_PACKET_INDICATION_HANDLER PacketIndicateHandler
Definition: ndis.h:2546
NDIS_TIMER WakeUpDpcTimer
Definition: ndis.h:2537
NDIS_M_REQ_COMPLETE_HANDLER QueryCompleteHandler
Definition: ndis.h:2587
ULONG PnPCapabilities
Definition: ndis.h:2535
PVOID MiniportThread
Definition: ndis.h:2559
PKINTERRUPT InterruptObject
Definition: ndis.h:2235
W_ISR_HANDLER MiniportIsr
Definition: ndis.h:2238
KSPIN_LOCK DpcCountLock
Definition: ndis.h:2236
KEVENT DpcsCompletedEvent
Definition: ndis.h:2244
BOOLEAN SharedInterrupt
Definition: ndis.h:2245
W_HANDLE_INTERRUPT_HANDLER MiniportDpc
Definition: ndis.h:2239
PNDIS_MINIPORT_BLOCK Miniport
Definition: ndis.h:2241
struct _NDIS_MINIPORT_TIMER * NextDeferredTimer
Definition: ndis.h:2279
PVOID MiniportTimerContext
Definition: ndis.h:2277
PNDIS_TIMER_FUNCTION MiniportTimerFunction
Definition: ndis.h:2276
PNDIS_MINIPORT_BLOCK Miniport
Definition: ndis.h:2278
NDIS_WORK_ITEM_TYPE WorkItemType
Definition: ndis.h:2312
SINGLE_LIST_ENTRY Link
Definition: ndis.h:2311
UINT32 CanonicalFormatId
Definition: ndis.h:1171
struct _NDIS_PACKET_8021Q_INFO::@2562::@2564 TagHeader
PVOID NdisPacketInfo[MaxPerPacketInfo]
Definition: ndis.h:1198
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:952
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
struct _NDIS_TASK_IPSEC::@2571 V4AH
ULONG Tunnel
Definition: ndis.h:1293
ULONG RESERVED
Definition: ndis.h:1287
ULONG Transport
Definition: ndis.h:1292
ULONG Receive
Definition: ndis.h:1295
ULONG SHA_1
Definition: ndis.h:1291
ULONG TRANSPORT_TUNNEL_COMBINED
Definition: ndis.h:1285
ULONG NULL_ESP
Definition: ndis.h:1301
ULONG V4_OPTIONS
Definition: ndis.h:1286
struct _NDIS_TASK_IPSEC::@2570 Supported
ULONG Send
Definition: ndis.h:1294
ULONG AH_ESP_COMBINED
Definition: ndis.h:1284
ULONG TRIPLE_DES
Definition: ndis.h:1300
struct _NDIS_TASK_IPSEC::@2572 V4ESP
NDIS_ENCAPSULATION_FORMAT EncapsulationFormat
Definition: ndis.h:1231
ULONG TaskBufferLength
Definition: ndis.h:1239
ULONG OffsetNextTask
Definition: ndis.h:1238
UCHAR TaskBuffer[1]
Definition: ndis.h:1240
NDIS_TASK Task
Definition: ndis.h:1237
struct _NDIS_TASK_TCP_IP_CHECKSUM::@2569 V6Receive
struct _NDIS_TASK_TCP_IP_CHECKSUM::@2566 V4Transmit
struct _NDIS_TASK_TCP_IP_CHECKSUM::@2568 V6Transmit
struct _NDIS_TASK_TCP_IP_CHECKSUM::@2567 V4Receive
struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO::@2573::@2575 Transmit
struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO::@2573::@2576 Receive
KDPC Dpc
Definition: ndis.h:644
KTIMER Timer
Definition: ndis.h:643
ULONG BytesReceivedCompressed
Definition: ndis.h:1456
ULONG FramingErrors
Definition: ndis.h:1451
ULONG FramesSent
Definition: ndis.h:1445
ULONG SerialOverrunErrors
Definition: ndis.h:1450
ULONG BytesReceivedUncompressed
Definition: ndis.h:1454
ULONG BufferOverrunErrors
Definition: ndis.h:1452
ULONG TimeoutErrors
Definition: ndis.h:1448
ULONG BytesTransmittedUncompressed
Definition: ndis.h:1453
ULONG AlignmentErrors
Definition: ndis.h:1449
ULONG BytesTransmittedCompressed
Definition: ndis.h:1455
ULONG FramesRcvd
Definition: ndis.h:1446
ULONG ProtocolBufferLength
Definition: ndis.h:968
PUCHAR ProtocolBuffer
Definition: ndis.h:969
ULONG MaximumTotalSize
Definition: ndis.h:963
ULONG LinkSpeed
Definition: ndis.h:962
NDIS_WAN_QUALITY Quality
Definition: ndis.h:964
USHORT ProtocolType
Definition: ndis.h:970
USHORT SendWindow
Definition: ndis.h:965
NDIS_STRING DeviceName
Definition: ndis.h:971
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:2320
NDIS_PROC Routine
Definition: ndis.h:2321
UCHAR WrapperReserved[8 *sizeof(PVOID)]
Definition: ndis.h:2322
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:640
ULONG SendWindow
Definition: ndis.h:1438
ULONG TransmitSpeed
Definition: ndis.h:1436
ULONG ReceiveSpeed
Definition: ndis.h:1437
Definition: qos.h:45
Definition: mem.c:349
#define OPTIONAL
Definition: typedefs.h:41
uint32_t * PULONG
Definition: typedefs.h:59
const uint16_t * PCWSTR
Definition: typedefs.h:57
unsigned char UCHAR
Definition: typedefs.h:53
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
uint64_t ULONGLONG
Definition: typedefs.h:67
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint32_t UINT32
Definition: typedefs.h:59
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
char CCHAR
Definition: typedefs.h:51
char * PCHAR
Definition: typedefs.h:51
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
_Must_inspect_result_ _In_ UCXENDPOINT _In_ PVOID Tag
Definition: ucxendpoint.h:325
UCHAR cacheLine[16]
Definition: rwlock.h:10
USHORT Count
Definition: userreq.cpp:200
PUSBUSER_REQUEST_HEADER Block
Definition: userreq.cpp:697
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539
_In_ UCHAR _In_ UCHAR _In_ ULONG Code
Definition: wdfdevice.h:1707
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2705
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
Definition: wdfdevice.h:3281
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_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_ 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
_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
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
@ ShutdownHandler
Definition: winlogon.h:269
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
@ AdapterType
Definition: cmtypes.h:992
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:825
_In_ USHORT PacketSize
Definition: iofuncs.h:1077
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:2268
DRIVER_DISPATCH * PDRIVER_DISPATCH
Definition: iotypes.h:2277
_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