ReactOS 0.4.16-dev-329-g9223134
ndiswan.h
Go to the documentation of this file.
1/*
2 * ndiswan.h
3 *
4 * Definitions for NDIS WAN miniport drivers
5 *
6 * This file is part of the w32api package.
7 *
8 * Contributors:
9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10 *
11 * THIS SOFTWARE IS NOT COPYRIGHTED
12 *
13 * This source code is offered for use in the public domain. You may
14 * use, modify or distribute it freely.
15 *
16 * This code is distributed in the hope that it will be useful but
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18 * DISCLAIMED. This includes but is not limited to warranties of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 *
21 */
22
23#pragma once
24
25#ifndef _NDIS_WAN_
26#define _NDIS_WAN_
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32#define NDIS_USE_WAN_WRAPPER 0x00000001
33
34#define NDIS_STATUS_TAPI_INDICATION ((NDIS_STATUS)0x40010080L)
35
36/* NDIS_WAN_INFO.FramingBits constants */
37#define RAS_FRAMING 0x00000001
38#define RAS_COMPRESSION 0x00000002
39
40#define ARAP_V1_FRAMING 0x00000004
41#define ARAP_V2_FRAMING 0x00000008
42#define ARAP_FRAMING (ARAP_V1_FRAMING | ARAP_V2_FRAMING)
43
44#define PPP_MULTILINK_FRAMING 0x00000010
45#define PPP_SHORT_SEQUENCE_HDR_FORMAT 0x00000020
46#define PPP_MC_MULTILINK_FRAMING 0x00000040
47
48#define PPP_FRAMING 0x00000100
49#define PPP_COMPRESS_ADDRESS_CONTROL 0x00000200
50#define PPP_COMPRESS_PROTOCOL_FIELD 0x00000400
51#define PPP_ACCM_SUPPORTED 0x00000800
52
53#define SLIP_FRAMING 0x00001000
54#define SLIP_VJ_COMPRESSION 0x00002000
55#define SLIP_VJ_AUTODETECT 0x00004000
56
57#define MEDIA_NRZ_ENCODING 0x00010000
58#define MEDIA_NRZI_ENCODING 0x00020000
59#define MEDIA_NLPID 0x00040000
60
61#define RFC_1356_FRAMING 0x00100000
62#define RFC_1483_FRAMING 0x00200000
63#define RFC_1490_FRAMING 0x00400000
64#define LLC_ENCAPSULATION 0x00800000
65
66#define SHIVA_FRAMING 0x01000000
67#define NBF_PRESERVE_MAC_ADDRESS 0x01000000
68
69#define PASS_THROUGH_MODE 0x10000000
70#define RAW_PASS_THROUGH_MODE 0x20000000
71
72#define TAPI_PROVIDER 0x80000000
73
74#define BRIDGING_FLAG_LANFCS 0x00000001
75#define BRIDGING_FLAG_LANID 0x00000002
76#define BRIDGING_FLAG_PADDING 0x00000004
77
78#define BRIDGING_TINYGRAM 0x00000001
79#define BRIDGING_LANID 0x00000002
80#define BRIDGING_NO_SPANNING_TREE 0x00000004
81#define BRIDGING_8021D_SPANNING_TREE 0x00000008
82#define BRIDGING_8021G_SPANNING_TREE 0x00000010
83#define BRIDGING_SOURCE_ROUTING 0x00000020
84#define BRIDGING_DEC_LANBRIDGE 0x00000040
85
86#define BRIDGING_TYPE_RESERVED 0x00000001
87#define BRIDGING_TYPE_8023_CANON 0x00000002
88#define BRIDGING_TYPE_8024_NO_CANON 0x00000004
89#define BRIDGING_TYPE_8025_NO_CANON 0x00000008
90#define BRIDGING_TYPE_FDDI_NO_CANON 0x00000010
91#define BRIDGING_TYPE_8024_CANON 0x00000400
92#define BRIDGING_TYPE_8025_CANON 0x00000800
93#define BRIDGING_TYPE_FDDI_CANON 0x00001000
94
95/* NDIS_WAN_COMPRESS_INFO.MSCompType constants */
96#define NDISWAN_COMPRESSION 0x00000001
97#define NDISWAN_ENCRYPTION 0x00000010
98#define NDISWAN_40_ENCRYPTION 0x00000020
99#define NDISWAN_128_ENCRYPTION 0x00000040
100#define NDISWAN_56_ENCRYPTION 0x00000080
101#define NDISWAN_HISTORY_LESS 0x01000000
102
103/* NDIS_WAN_COMPRESS_INFO.CompType constants */
104#define COMPTYPE_OUI 0
105#define COMPTYPE_NT31RAS 254
106#define COMPTYPE_NONE 255
107
108#define WAN_ERROR_CRC ((ULONG)0x00000001)
109#define WAN_ERROR_FRAMING ((ULONG)0x00000002)
110#define WAN_ERROR_HARDWAREOVERRUN ((ULONG)0x00000004)
111#define WAN_ERROR_BUFFEROVERRUN ((ULONG)0x00000008)
112#define WAN_ERROR_TIMEOUT ((ULONG)0x00000010)
113#define WAN_ERROR_ALIGNMENT ((ULONG)0x00000020)
114
115#define NdisMWanInitializeWrapper(NdisWrapperHandle, \
116 SystemSpecific1, \
117 SystemSpecific2, \
118 SystemSpecific3) \
119{ \
120 NdisMInitializeWrapper(NdisWrapperHandle, \
121 SystemSpecific1, \
122 SystemSpecific2, \
123 SystemSpecific3); \
124}
125
126typedef struct _NDIS_WAN_INFO {
137
151
165
175
185
191 _ANONYMOUS_UNION union {
192 struct {
197 struct {
198 UCHAR CompValues[32];
202
208
214
215/*
216 * NOTE: As some people may notice, this structure contains three misspelled
217 * fields (the "Tunnel*Recieve*" fields). Their names come from the Windows
218 * Driver Development Kit and thus, blame Microsoft if they do not know how
219 * to write proper English or if they do not re-read what they are writing !!
220 */
253
254typedef struct _NDIS_MAC_LINE_UP {
262
263typedef struct _NDIS_MAC_LINE_DOWN {
266
267typedef struct _NDIS_MAC_FRAGMENT {
271
272typedef struct _NDIS_WAN_CO_INFO {
278
289
300
305
310
311/*
312 * NOTE: As some people may notice, this structure contains three misspelled
313 * fields (the "Tunnel*Recieve*" fields). Their names come from the Windows
314 * Driver Development Kit and thus, blame Microsoft if they do not know how
315 * to write proper English or if they do not re-read what they are writing !!
316 */
348
349typedef struct _NDIS_WAN_CO_FRAGMENT {
352
353typedef struct _WAN_CO_LINKPARAMS {
358
359typedef struct _WAN_CO_MTULINKPARAMS {
366
367#ifdef __cplusplus
368}
369#endif
370
371#endif /* _NDIS_WAN_ */
372
unsigned int UINT
Definition: ndis.h:50
struct _NDIS_MAC_LINE_UP * PNDIS_MAC_LINE_UP
struct _WAN_CO_MTULINKPARAMS WAN_CO_MTULINKPARAMS
struct _WAN_CO_LINKPARAMS WAN_CO_LINKPARAMS
struct _NDIS_WAN_GET_BRIDGE_INFO NDIS_WAN_GET_BRIDGE_INFO
struct _NDIS_WAN_SET_COMP_INFO NDIS_WAN_SET_COMP_INFO
struct _NDIS_WAN_CO_SET_COMP_INFO * PNDIS_WAN_CO_SET_COMP_INFO
struct _WAN_CO_MTULINKPARAMS * PWAN_CO_MTULINKPARAMS
struct _NDIS_WAN_INFO * PNDIS_WAN_INFO
struct _NDIS_WAN_INFO NDIS_WAN_INFO
struct _NDIS_WAN_CO_GET_STATS_INFO NDIS_WAN_CO_GET_STATS_INFO
struct _NDIS_WAN_COMPRESS_INFO * PNDIS_WAN_COMPRESS_INFO
struct _NDIS_MAC_LINE_UP NDIS_MAC_LINE_UP
struct _NDIS_WAN_SET_BRIDGE_INFO NDIS_WAN_SET_BRIDGE_INFO
struct _NDIS_MAC_LINE_DOWN NDIS_MAC_LINE_DOWN
struct _NDIS_WAN_GET_STATS_INFO NDIS_WAN_GET_STATS_INFO
struct _NDIS_WAN_GET_COMP_INFO * PNDIS_WAN_GET_COMP_INFO
struct _NDIS_WAN_CO_GET_STATS_INFO * PNDIS_WAN_CO_GET_STATS_INFO
struct _NDIS_WAN_GET_COMP_INFO NDIS_WAN_GET_COMP_INFO
struct _NDIS_WAN_CO_GET_LINK_INFO NDIS_WAN_CO_GET_LINK_INFO
struct _NDIS_WAN_CO_SET_COMP_INFO NDIS_WAN_CO_SET_COMP_INFO
struct _NDIS_WAN_CO_GET_COMP_INFO NDIS_WAN_CO_GET_COMP_INFO
struct _NDIS_WAN_CO_FRAGMENT NDIS_WAN_CO_FRAGMENT
struct _WAN_CO_LINKPARAMS * PWAN_CO_LINKPARAMS
struct _NDIS_WAN_CO_SET_LINK_INFO NDIS_WAN_CO_SET_LINK_INFO
struct _NDIS_WAN_SET_LINK_INFO * PNDIS_WAN_SET_LINK_INFO
struct _NDIS_WAN_GET_STATS_INFO * PNDIS_WAN_GET_STATS_INFO
struct _NDIS_WAN_CO_INFO NDIS_WAN_CO_INFO
struct _NDIS_WAN_GET_BRIDGE_INFO * PNDIS_WAN_GET_BRIDGE_INFO
struct _NDIS_WAN_COMPRESS_INFO NDIS_WAN_COMPRESS_INFO
struct _NDIS_WAN_GET_LINK_INFO NDIS_WAN_GET_LINK_INFO
struct _NDIS_WAN_CO_SET_LINK_INFO * PNDIS_WAN_CO_SET_LINK_INFO
struct _NDIS_WAN_SET_COMP_INFO * PNDIS_WAN_SET_COMP_INFO
struct _NDIS_MAC_FRAGMENT * PNDIS_MAC_FRAGMENT
struct _NDIS_WAN_CO_FRAGMENT * PNDIS_WAN_CO_FRAGMENT
struct _NDIS_MAC_FRAGMENT NDIS_MAC_FRAGMENT
struct _NDIS_WAN_CO_GET_LINK_INFO * PNDIS_WAN_CO_GET_LINK_INFO
struct _NDIS_WAN_SET_LINK_INFO NDIS_WAN_SET_LINK_INFO
struct _NDIS_MAC_LINE_DOWN * PNDIS_MAC_LINE_DOWN
struct _NDIS_WAN_SET_BRIDGE_INFO * PNDIS_WAN_SET_BRIDGE_INFO
struct _NDIS_WAN_CO_GET_COMP_INFO * PNDIS_WAN_CO_GET_COMP_INFO
struct _NDIS_WAN_CO_INFO * PNDIS_WAN_CO_INFO
struct _NDIS_WAN_GET_LINK_INFO * PNDIS_WAN_GET_LINK_INFO
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _ANONYMOUS_UNION
Definition: ntbasedef.h:30
enum _NDIS_WAN_QUALITY NDIS_WAN_QUALITY
unsigned short USHORT
Definition: pedump.c:61
_In_ ULONG Errors
Definition: ndiswan.h:269
_In_ NDIS_HANDLE NdisLinkContext
Definition: ndiswan.h:268
_In_ NDIS_HANDLE NdisLinkContext
Definition: ndiswan.h:264
_In_ NDIS_WAN_QUALITY Quality
Definition: ndiswan.h:256
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:259
_Out_ NDIS_HANDLE NdisLinkContext
Definition: ndiswan.h:260
_In_ USHORT SendWindow
Definition: ndiswan.h:257
_In_ ULONG LinkSpeed
Definition: ndiswan.h:255
_In_ NDIS_HANDLE ConnectionWrapperID
Definition: ndiswan.h:258
struct _NDIS_WAN_COMPRESS_INFO::@2134::@2135 Proprietary
struct _NDIS_WAN_COMPRESS_INFO::@2134::@2136 Public
UCHAR CompValues[32]
Definition: ndiswan.h:195
_ANONYMOUS_UNION union _NDIS_WAN_COMPRESS_INFO::@2134 DUMMYUNIONNAME
_In_ ULONG Errors
Definition: ndiswan.h:350
_Out_ NDIS_WAN_COMPRESS_INFO SendCapabilities
Definition: ndiswan.h:302
_Out_ NDIS_WAN_COMPRESS_INFO RecvCapabilities
Definition: ndiswan.h:303
_Out_ ULONG TunnelAcksSentComplete
Definition: ndiswan.h:343
_Out_ ULONG TimeoutErrors
Definition: ndiswan.h:323
_Out_ ULONG TunnelPacketsTransmitError
Definition: ndiswan.h:339
_Out_ ULONG SerialOverrunErrors
Definition: ndiswan.h:325
_Out_ ULONG TunnelAcksSent
Definition: ndiswan.h:342
_Out_ ULONG BytesTransmittedUncompressed
Definition: ndiswan.h:328
_Out_ ULONG FramingErrors
Definition: ndiswan.h:326
_Out_ ULONG TunnelGeneric2
Definition: ndiswan.h:345
_Out_ ULONG BytesReceivedUncompressed
Definition: ndiswan.h:329
_Out_ ULONG TunnelPacketsIndicatedUp
Definition: ndiswan.h:334
_Out_ ULONG TunnelRecievePacketsPending
Definition: ndiswan.h:333
_Out_ ULONG TunnelGeneric1
Definition: ndiswan.h:344
_Out_ ULONG TunnelRecievePacketsRejected
Definition: ndiswan.h:335
_Out_ ULONG AlignmentErrors
Definition: ndiswan.h:324
_Out_ ULONG TunnelPacketsSentError
Definition: ndiswan.h:340
_Out_ ULONG BytesTransmittedCompressed
Definition: ndiswan.h:330
_Out_ ULONG TunnelPacketsSentComplete
Definition: ndiswan.h:337
_Out_ ULONG TunnelPacketsRecieved
Definition: ndiswan.h:332
_Out_ ULONG TunnelTransmitPacketsPending
Definition: ndiswan.h:338
_Out_ ULONG BufferOverrunErrors
Definition: ndiswan.h:327
_Out_ ULONG TunnelTransmitPacketsRejected
Definition: ndiswan.h:341
_Out_ ULONG BytesReceivedCompressed
Definition: ndiswan.h:331
_Out_ ULONG TunnelPacketsSent
Definition: ndiswan.h:336
_Out_ ULONG TunnelGeneric3
Definition: ndiswan.h:346
_Out_ ULONG MaxFrameSize
Definition: ndiswan.h:273
_Out_ ULONG DesiredACCM
Definition: ndiswan.h:276
_Out_ ULONG FramingBits
Definition: ndiswan.h:275
_Out_ ULONG MaxSendWindow
Definition: ndiswan.h:274
_In_ NDIS_WAN_COMPRESS_INFO RecvCapabilities
Definition: ndiswan.h:308
_In_ NDIS_WAN_COMPRESS_INFO SendCapabilities
Definition: ndiswan.h:307
_Out_ UCHAR BridgingType
Definition: ndiswan.h:172
_Out_ UCHAR MacBytes[6]
Definition: ndiswan.h:173
_Out_ UCHAR BridgeNumber
Definition: ndiswan.h:169
_Out_ USHORT LanSegmentNumber
Definition: ndiswan.h:168
_Out_ UCHAR BridgingOptions
Definition: ndiswan.h:170
_Out_ ULONG BridgingCapabilities
Definition: ndiswan.h:171
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:167
_Out_ NDIS_WAN_COMPRESS_INFO SendCapabilities
Definition: ndiswan.h:205
_Out_ NDIS_WAN_COMPRESS_INFO RecvCapabilities
Definition: ndiswan.h:206
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:204
_Out_ ULONG BytesReceivedUncompressed
Definition: ndiswan.h:234
_Out_ ULONG TunnelRecievePacketsRejected
Definition: ndiswan.h:240
_Out_ ULONG TunnelPacketsSentError
Definition: ndiswan.h:245
_Out_ ULONG BytesTransmittedUncompressed
Definition: ndiswan.h:233
_Out_ ULONG TimeoutErrors
Definition: ndiswan.h:228
_Out_ ULONG AlignmentErrors
Definition: ndiswan.h:229
_Out_ ULONG CRCErrors
Definition: ndiswan.h:227
_Out_ ULONG BufferOverrunErrors
Definition: ndiswan.h:232
_Out_ ULONG BytesTransmittedCompressed
Definition: ndiswan.h:235
_Out_ ULONG FramesSent
Definition: ndiswan.h:225
_Out_ ULONG TunnelRecievePacketsPending
Definition: ndiswan.h:238
_Out_ ULONG TunnelAcksSentComplete
Definition: ndiswan.h:248
_Out_ ULONG TunnelPacketsIndicatedUp
Definition: ndiswan.h:239
_Out_ ULONG TunnelPacketsSent
Definition: ndiswan.h:241
_Out_ ULONG BytesReceivedCompressed
Definition: ndiswan.h:236
_Out_ ULONG TunnelPacketsTransmitError
Definition: ndiswan.h:244
_Out_ ULONG TunnelTransmitPacketsRejected
Definition: ndiswan.h:246
_Out_ ULONG BytesRcvd
Definition: ndiswan.h:224
_Out_ ULONG TunnelPacketsRecieved
Definition: ndiswan.h:237
_Out_ ULONG FramingErrors
Definition: ndiswan.h:231
_Out_ ULONG TunnelGeneric2
Definition: ndiswan.h:250
_Out_ ULONG TunnelAcksSent
Definition: ndiswan.h:247
_Out_ ULONG TunnelGeneric3
Definition: ndiswan.h:251
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:222
_Out_ ULONG SerialOverrunErrors
Definition: ndiswan.h:230
_Out_ ULONG FramesRcvd
Definition: ndiswan.h:226
_Out_ ULONG TunnelGeneric1
Definition: ndiswan.h:249
_Out_ ULONG TunnelTransmitPacketsPending
Definition: ndiswan.h:243
_Out_ ULONG BytesSent
Definition: ndiswan.h:223
_Out_ ULONG TunnelPacketsSentComplete
Definition: ndiswan.h:242
_Out_ ULONG TailPadding
Definition: ndiswan.h:130
_Out_ ULONG MaxTransmit
Definition: ndiswan.h:128
_Out_ ULONG Endpoints
Definition: ndiswan.h:131
_Out_ ULONG MaxFrameSize
Definition: ndiswan.h:127
_Out_ UINT MemoryFlags
Definition: ndiswan.h:132
_Out_ ULONG DesiredACCM
Definition: ndiswan.h:135
_Out_ ULONG HeaderPadding
Definition: ndiswan.h:129
_Out_ ULONG FramingBits
Definition: ndiswan.h:134
_Out_ NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
Definition: ndiswan.h:133
_In_ UCHAR MacBytes[6]
Definition: ndiswan.h:183
_In_ UCHAR BridgingType
Definition: ndiswan.h:182
_In_ ULONG BridgingCapabilities
Definition: ndiswan.h:181
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:177
_In_ UCHAR BridgeNumber
Definition: ndiswan.h:179
_In_ USHORT LanSegmentNumber
Definition: ndiswan.h:178
_In_ UCHAR BridgingOptions
Definition: ndiswan.h:180
_In_ NDIS_WAN_COMPRESS_INFO RecvCapabilities
Definition: ndiswan.h:212
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:210
_In_ NDIS_WAN_COMPRESS_INFO SendCapabilities
Definition: ndiswan.h:211
ULONG SendWindow
Definition: ndis.h:1436
ULONG TransmitSpeed
Definition: ndis.h:1434
ULONG ReceiveSpeed
Definition: ndis.h:1435
uint32_t ULONG
Definition: typedefs.h:59
unsigned char UCHAR
Definition: xmlstorage.h:181