ReactOS  0.4.15-dev-489-g75a0787
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
29 extern "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 
126 typedef struct _NDIS_WAN_INFO {
137 
138 typedef struct _NDIS_WAN_GET_LINK_INFO {
151 
152 typedef struct _NDIS_WAN_SET_LINK_INFO {
165 
175 
185 
186 typedef struct _NDIS_WAN_COMPRESS_INFO {
191  _ANONYMOUS_UNION union {
192  struct {
196  } Proprietary;
197  struct {
198  UCHAR CompValues[32];
199  } Public;
200  } DUMMYUNIONNAME;
202 
203 typedef struct _NDIS_WAN_GET_COMP_INFO {
208 
209 typedef struct _NDIS_WAN_SET_COMP_INFO {
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  */
221 typedef struct _NDIS_WAN_GET_STATS_INFO {
253 
254 typedef struct _NDIS_MAC_LINE_UP {
262 
263 typedef struct _NDIS_MAC_LINE_DOWN {
266 
267 typedef struct _NDIS_MAC_FRAGMENT {
271 
272 typedef 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 
349 typedef struct _NDIS_WAN_CO_FRAGMENT {
352 
353 typedef struct _WAN_CO_LINKPARAMS {
358 
359 typedef struct _WAN_CO_MTULINKPARAMS {
366 
367 #ifdef __cplusplus
368 }
369 #endif
370 
371 #endif /* _NDIS_WAN_ */
372 
_In_ USHORT SendWindow
Definition: ndiswan.h:257
_Out_ ULONG TunnelTransmitPacketsRejected
Definition: ndiswan.h:341
struct _NDIS_WAN_CO_GET_LINK_INFO * PNDIS_WAN_CO_GET_LINK_INFO
struct _NDIS_WAN_SET_COMP_INFO NDIS_WAN_SET_COMP_INFO
struct _NDIS_WAN_COMPRESS_INFO * PNDIS_WAN_COMPRESS_INFO
_Out_ ULONG TunnelPacketsIndicatedUp
Definition: ndiswan.h:239
_Out_ ULONG TunnelPacketsSentComplete
Definition: ndiswan.h:242
_In_ NDIS_HANDLE NdisLinkContext
Definition: ndiswan.h:264
_Out_ ULONG TunnelGeneric1
Definition: ndiswan.h:344
_Out_ ULONG TimeoutErrors
Definition: ndiswan.h:323
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:210
_In_ NDIS_WAN_COMPRESS_INFO SendCapabilities
Definition: ndiswan.h:211
_Out_ ULONG TunnelAcksSentComplete
Definition: ndiswan.h:343
struct _NDIS_WAN_SET_LINK_INFO * PNDIS_WAN_SET_LINK_INFO
struct _WAN_CO_LINKPARAMS * PWAN_CO_LINKPARAMS
_Out_ ULONG TunnelRecievePacketsRejected
Definition: ndiswan.h:335
struct _NDIS_WAN_CO_GET_COMP_INFO NDIS_WAN_CO_GET_COMP_INFO
struct _NDIS_MAC_LINE_DOWN NDIS_MAC_LINE_DOWN
_Out_ NDIS_WAN_COMPRESS_INFO SendCapabilities
Definition: ndiswan.h:205
#define _ANONYMOUS_UNION
Definition: ntbasedef.h:30
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:259
_Out_ ULONG FramingBits
Definition: ndiswan.h:134
UCHAR CompValues[32]
Definition: ndiswan.h:195
struct _NDIS_WAN_INFO * PNDIS_WAN_INFO
_Out_ ULONG TunnelPacketsRecieved
Definition: ndiswan.h:237
struct _NDIS_WAN_CO_GET_STATS_INFO * PNDIS_WAN_CO_GET_STATS_INFO
_Out_ ULONG TunnelAcksSentComplete
Definition: ndiswan.h:248
struct _NDIS_WAN_SET_LINK_INFO NDIS_WAN_SET_LINK_INFO
_Out_ NDIS_WAN_COMPRESS_INFO RecvCapabilities
Definition: ndiswan.h:206
struct _NDIS_MAC_LINE_UP NDIS_MAC_LINE_UP
_Out_ NDIS_HANDLE NdisLinkContext
Definition: ndiswan.h:260
struct _WAN_CO_MTULINKPARAMS WAN_CO_MTULINKPARAMS
_Out_ ULONG BufferOverrunErrors
Definition: ndiswan.h:327
struct _NDIS_WAN_GET_LINK_INFO * PNDIS_WAN_GET_LINK_INFO
_Out_ ULONG BytesTransmittedCompressed
Definition: ndiswan.h:235
_Out_ ULONG TunnelGeneric3
Definition: ndiswan.h:346
_Out_ ULONG BytesTransmittedUncompressed
Definition: ndiswan.h:233
_In_ NDIS_HANDLE ConnectionWrapperID
Definition: ndiswan.h:258
_In_ NDIS_WAN_COMPRESS_INFO RecvCapabilities
Definition: ndiswan.h:308
_In_ ULONG Errors
Definition: ndiswan.h:350
_Out_ UCHAR BridgeNumber
Definition: ndiswan.h:169
_Out_ ULONG TunnelPacketsTransmitError
Definition: ndiswan.h:244
_In_ NDIS_WAN_QUALITY Quality
Definition: ndiswan.h:256
_Out_ USHORT LanSegmentNumber
Definition: ndiswan.h:168
_Out_ ULONG FramingErrors
Definition: ndiswan.h:326
_Out_ ULONG MaxSendWindow
Definition: ndiswan.h:274
_Out_ NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
Definition: ndiswan.h:133
_Out_ ULONG TunnelTransmitPacketsPending
Definition: ndiswan.h:338
struct _NDIS_WAN_CO_FRAGMENT * PNDIS_WAN_CO_FRAGMENT
_Out_ ULONG BytesTransmittedUncompressed
Definition: ndiswan.h:328
_Out_ ULONG TunnelTransmitPacketsRejected
Definition: ndiswan.h:246
_Out_ ULONG TimeoutErrors
Definition: ndiswan.h:228
_In_ USHORT LanSegmentNumber
Definition: ndiswan.h:178
struct _NDIS_WAN_GET_COMP_INFO NDIS_WAN_GET_COMP_INFO
_Out_ ULONG MaxTransmit
Definition: ndiswan.h:128
struct _NDIS_WAN_GET_COMP_INFO * PNDIS_WAN_GET_COMP_INFO
struct _NDIS_WAN_CO_SET_LINK_INFO * PNDIS_WAN_CO_SET_LINK_INFO
_In_ ULONG Errors
Definition: ndiswan.h:269
struct _WAN_CO_LINKPARAMS WAN_CO_LINKPARAMS
_Out_ ULONG MaxFrameSize
Definition: ndiswan.h:273
struct _WAN_CO_MTULINKPARAMS * PWAN_CO_MTULINKPARAMS
struct _NDIS_WAN_CO_GET_STATS_INFO NDIS_WAN_CO_GET_STATS_INFO
#define _Out_
Definition: no_sal2.h:323
struct _NDIS_WAN_CO_SET_COMP_INFO * PNDIS_WAN_CO_SET_COMP_INFO
struct _NDIS_WAN_COMPRESS_INFO::@2086::@2088 Public
struct _NDIS_MAC_FRAGMENT * PNDIS_MAC_FRAGMENT
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:204
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:222
_Out_ ULONG BufferOverrunErrors
Definition: ndiswan.h:232
struct _NDIS_WAN_CO_SET_COMP_INFO NDIS_WAN_CO_SET_COMP_INFO
_Out_ ULONG TunnelRecievePacketsRejected
Definition: ndiswan.h:240
struct _NDIS_WAN_GET_STATS_INFO NDIS_WAN_GET_STATS_INFO
_In_ ULONG LinkSpeed
Definition: ndiswan.h:255
struct _NDIS_WAN_GET_LINK_INFO NDIS_WAN_GET_LINK_INFO
_Out_ ULONG DesiredACCM
Definition: ndiswan.h:276
_Out_ ULONG TunnelPacketsSentError
Definition: ndiswan.h:340
_Out_ ULONG HeaderPadding
Definition: ndiswan.h:129
struct _NDIS_WAN_INFO NDIS_WAN_INFO
_Out_ ULONG TunnelPacketsIndicatedUp
Definition: ndiswan.h:334
_Out_ ULONG SerialOverrunErrors
Definition: ndiswan.h:230
struct _NDIS_WAN_SET_COMP_INFO * PNDIS_WAN_SET_COMP_INFO
_Out_ UCHAR BridgingOptions
Definition: ndiswan.h:170
_Out_ ULONG BytesReceivedCompressed
Definition: ndiswan.h:331
ULONG SendWindow
Definition: ndis.h:1436
ULONG TransmitSpeed
Definition: ndis.h:1434
_In_ NDIS_HANDLE NdisLinkContext
Definition: ndiswan.h:268
_Out_ ULONG Endpoints
Definition: ndiswan.h:131
_Out_ ULONG SerialOverrunErrors
Definition: ndiswan.h:325
_In_ NDIS_WAN_COMPRESS_INFO SendCapabilities
Definition: ndiswan.h:307
_Out_ ULONG DesiredACCM
Definition: ndiswan.h:135
_ANONYMOUS_UNION union _NDIS_WAN_COMPRESS_INFO::@2086 DUMMYUNIONNAME
_Out_ ULONG TailPadding
Definition: ndiswan.h:130
unsigned char UCHAR
Definition: xmlstorage.h:181
_Out_ ULONG TunnelPacketsSentComplete
Definition: ndiswan.h:337
struct _NDIS_MAC_LINE_UP * PNDIS_MAC_LINE_UP
_In_ UCHAR BridgingOptions
Definition: ndiswan.h:180
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:177
_In_ UCHAR BridgingType
Definition: ndiswan.h:182
struct _NDIS_WAN_CO_SET_LINK_INFO NDIS_WAN_CO_SET_LINK_INFO
_Out_ ULONG CRCErrors
Definition: ndiswan.h:227
_Out_ ULONG TunnelAcksSent
Definition: ndiswan.h:247
struct _NDIS_WAN_GET_STATS_INFO * PNDIS_WAN_GET_STATS_INFO
_Out_ ULONG AlignmentErrors
Definition: ndiswan.h:229
struct _NDIS_WAN_GET_BRIDGE_INFO NDIS_WAN_GET_BRIDGE_INFO
_Out_ ULONG BytesReceivedUncompressed
Definition: ndiswan.h:234
_Out_ ULONG TunnelPacketsSent
Definition: ndiswan.h:241
struct _NDIS_MAC_LINE_DOWN * PNDIS_MAC_LINE_DOWN
#define _In_
Definition: no_sal2.h:204
_Out_ ULONG TunnelPacketsSentError
Definition: ndiswan.h:245
_Out_ ULONG BytesReceivedUncompressed
Definition: ndiswan.h:329
enum _NDIS_WAN_QUALITY NDIS_WAN_QUALITY
_Out_ ULONG TunnelAcksSent
Definition: ndiswan.h:342
struct _NDIS_WAN_COMPRESS_INFO NDIS_WAN_COMPRESS_INFO
_Out_ ULONG TunnelRecievePacketsPending
Definition: ndiswan.h:238
_Out_ ULONG FramesRcvd
Definition: ndiswan.h:226
_In_ ULONG BridgingCapabilities
Definition: ndiswan.h:181
unsigned short USHORT
Definition: pedump.c:61
_Out_ ULONG BytesSent
Definition: ndiswan.h:223
ULONG ReceiveSpeed
Definition: ndis.h:1435
_Out_ ULONG TunnelRecievePacketsPending
Definition: ndiswan.h:333
_Out_ ULONG TunnelGeneric3
Definition: ndiswan.h:251
_Out_ UCHAR BridgingType
Definition: ndiswan.h:172
_Out_ NDIS_WAN_COMPRESS_INFO SendCapabilities
Definition: ndiswan.h:302
_Out_ ULONG BridgingCapabilities
Definition: ndiswan.h:171
_Out_ NDIS_WAN_COMPRESS_INFO RecvCapabilities
Definition: ndiswan.h:303
unsigned int UINT
Definition: ndis.h:50
_Out_ ULONG BytesTransmittedCompressed
Definition: ndiswan.h:330
_Out_ ULONG TunnelGeneric2
Definition: ndiswan.h:250
struct _NDIS_WAN_CO_INFO * PNDIS_WAN_CO_INFO
struct _NDIS_WAN_CO_GET_COMP_INFO * PNDIS_WAN_CO_GET_COMP_INFO
_Out_ ULONG MaxFrameSize
Definition: ndiswan.h:127
struct _NDIS_WAN_SET_BRIDGE_INFO NDIS_WAN_SET_BRIDGE_INFO
_Out_ UINT MemoryFlags
Definition: ndiswan.h:132
_In_ NDIS_WAN_COMPRESS_INFO RecvCapabilities
Definition: ndiswan.h:212
_Out_ ULONG TunnelPacketsSent
Definition: ndiswan.h:336
_Out_ ULONG TunnelGeneric2
Definition: ndiswan.h:345
_Out_ ULONG FramesSent
Definition: ndiswan.h:225
unsigned int ULONG
Definition: retypes.h:1
_In_ UCHAR BridgeNumber
Definition: ndiswan.h:179
_In_ NDIS_HANDLE NdisLinkHandle
Definition: ndiswan.h:167
_Out_ ULONG TunnelPacketsTransmitError
Definition: ndiswan.h:339
_Out_ ULONG TunnelPacketsRecieved
Definition: ndiswan.h:332
_In_ UCHAR MacBytes[6]
Definition: ndiswan.h:183
struct _NDIS_WAN_COMPRESS_INFO::@2086::@2087 Proprietary
struct _NDIS_WAN_CO_GET_LINK_INFO NDIS_WAN_CO_GET_LINK_INFO
_Out_ ULONG BytesReceivedCompressed
Definition: ndiswan.h:236
struct _NDIS_WAN_CO_INFO NDIS_WAN_CO_INFO
_Out_ UCHAR MacBytes[6]
Definition: ndiswan.h:173
_Out_ ULONG TunnelGeneric1
Definition: ndiswan.h:249
_Out_ ULONG TunnelTransmitPacketsPending
Definition: ndiswan.h:243
_Out_ ULONG AlignmentErrors
Definition: ndiswan.h:324
struct _NDIS_WAN_CO_FRAGMENT NDIS_WAN_CO_FRAGMENT
struct _NDIS_WAN_SET_BRIDGE_INFO * PNDIS_WAN_SET_BRIDGE_INFO
struct _NDIS_WAN_GET_BRIDGE_INFO * PNDIS_WAN_GET_BRIDGE_INFO
_Out_ ULONG FramingErrors
Definition: ndiswan.h:231
_Out_ ULONG FramingBits
Definition: ndiswan.h:275
_Out_ ULONG BytesRcvd
Definition: ndiswan.h:224
struct _NDIS_MAC_FRAGMENT NDIS_MAC_FRAGMENT