00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#ifndef _NDIS_WAN_
00023
#define _NDIS_WAN_
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #define NDIS_USE_WAN_WRAPPER 0x00000001
00035
00036 #define NDIS_STATUS_TAPI_INDICATION ((NDIS_STATUS)0x40010080L)
00037
00038
00039
00040
00041
00042 #define RAS_FRAMING 0x00000001
00043 #define RAS_COMPRESSION 0x00000002
00044
00045 #define ARAP_V1_FRAMING 0x00000004
00046 #define ARAP_V2_FRAMING 0x00000008
00047 #define ARAP_FRAMING (ARAP_V1_FRAMING | ARAP_V2_FRAMING)
00048
00049 #define PPP_MULTILINK_FRAMING 0x00000010
00050 #define PPP_SHORT_SEQUENCE_HDR_FORMAT 0x00000020
00051 #define PPP_MC_MULTILINK_FRAMING 0x00000040
00052
00053 #define PPP_FRAMING 0x00000100
00054 #define PPP_COMPRESS_ADDRESS_CONTROL 0x00000200
00055 #define PPP_COMPRESS_PROTOCOL_FIELD 0x00000400
00056 #define PPP_ACCM_SUPPORTED 0x00000800
00057
00058 #define SLIP_FRAMING 0x00001000
00059 #define SLIP_VJ_COMPRESSION 0x00002000
00060 #define SLIP_VJ_AUTODETECT 0x00004000
00061
00062 #define MEDIA_NRZ_ENCODING 0x00010000
00063 #define MEDIA_NRZI_ENCODING 0x00020000
00064 #define MEDIA_NLPID 0x00040000
00065
00066 #define RFC_1356_FRAMING 0x00100000
00067 #define RFC_1483_FRAMING 0x00200000
00068 #define RFC_1490_FRAMING 0x00400000
00069 #define LLC_ENCAPSULATION 0x00800000
00070
00071 #define SHIVA_FRAMING 0x01000000
00072 #define NBF_PRESERVE_MAC_ADDRESS 0x01000000
00073
00074
#ifndef _WAN50_
00075 #define PASS_THROUGH_MODE 0x10000000
00076 #define RAW_PASS_THROUGH_MODE 0x20000000
00077
#endif
00078
00079 #define TAPI_PROVIDER 0x80000000
00080
00081
00082
00083
00084
00085 typedef struct _NDIS_WAN_INFO
00086 {
00087 OUT ULONG
MaxFrameSize;
00088 OUT ULONG
MaxTransmit;
00089 OUT ULONG
HeaderPadding;
00090 OUT ULONG
TailPadding;
00091 OUT ULONG
Endpoints;
00092 OUT
UINT MemoryFlags;
00093 OUT
NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress;
00094 OUT ULONG
FramingBits;
00095 OUT ULONG
DesiredACCM;
00096 }
NDIS_WAN_INFO, *
PNDIS_WAN_INFO;
00097
00098 typedef struct _NDIS_WAN_SET_LINK_INFO
00099 {
00100 IN
NDIS_HANDLE NdisLinkHandle;
00101 IN ULONG
MaxSendFrameSize;
00102 IN ULONG
MaxRecvFrameSize;
00103 ULONG
HeaderPadding;
00104 ULONG
TailPadding;
00105 IN ULONG
SendFramingBits;
00106 IN ULONG
RecvFramingBits;
00107 IN ULONG
SendCompressionBits;
00108 IN ULONG
RecvCompressionBits;
00109 IN ULONG
SendACCM;
00110 IN ULONG
RecvACCM;
00111 }
NDIS_WAN_SET_LINK_INFO, *
PNDIS_WAN_SET_LINK_INFO;
00112
00113 typedef struct _NDIS_WAN_GET_LINK_INFO {
00114 IN
NDIS_HANDLE NdisLinkHandle;
00115 OUT ULONG
MaxSendFrameSize;
00116 OUT ULONG
MaxRecvFrameSize;
00117 OUT ULONG
HeaderPadding;
00118 OUT ULONG
TailPadding;
00119 OUT ULONG
SendFramingBits;
00120 OUT ULONG
RecvFramingBits;
00121 OUT ULONG
SendCompressionBits;
00122 OUT ULONG
RecvCompressionBits;
00123 OUT ULONG
SendACCM;
00124 OUT ULONG
RecvACCM;
00125 }
NDIS_WAN_GET_LINK_INFO, *
PNDIS_WAN_GET_LINK_INFO;
00126
00127
00128
00129
00130 #define BRIDGING_FLAG_LANFCS 0x00000001
00131 #define BRIDGING_FLAG_LANID 0x00000002
00132 #define BRIDGING_FLAG_PADDING 0x00000004
00133
00134
00135
00136
00137 #define BRIDGING_TINYGRAM 0x00000001
00138 #define BRIDGING_LANID 0x00000002
00139 #define BRIDGING_NO_SPANNING_TREE 0x00000004
00140 #define BRIDGING_8021D_SPANNING_TREE 0x00000008
00141 #define BRIDGING_8021G_SPANNING_TREE 0x00000010
00142 #define BRIDGING_SOURCE_ROUTING 0x00000020
00143 #define BRIDGING_DEC_LANBRIDGE 0x00000040
00144
00145
00146
00147
00148 #define BRIDGING_TYPE_RESERVED 0x00000001
00149 #define BRIDGING_TYPE_8023_CANON 0x00000002
00150 #define BRIDGING_TYPE_8024_NO_CANON 0x00000004
00151 #define BRIDGING_TYPE_8025_NO_CANON 0x00000008
00152 #define BRIDGING_TYPE_FDDI_NO_CANON 0x00000010
00153 #define BRIDGING_TYPE_8024_CANON 0x00000400
00154 #define BRIDGING_TYPE_8025_CANON 0x00000800
00155 #define BRIDGING_TYPE_FDDI_CANON 0x00001000
00156
00157 typedef struct _NDIS_WAN_GET_BRIDGE_INFO
00158 {
00159 IN
NDIS_HANDLE NdisLinkHandle;
00160 OUT
USHORT LanSegmentNumber;
00161 OUT UCHAR
BridgeNumber;
00162 OUT UCHAR
BridgingOptions;
00163 OUT ULONG
BridgingCapabilities;
00164 OUT UCHAR
BridgingType;
00165 OUT UCHAR
MacBytes[6];
00166 }
NDIS_WAN_GET_BRIDGE_INFO, *
PNDIS_WAN_GET_BRIDGE_INFO;
00167
00168 typedef struct _NDIS_WAN_SET_BRIDGE_INFO
00169 {
00170 IN
NDIS_HANDLE NdisLinkHandle;
00171 IN
USHORT LanSegmentNumber;
00172 IN UCHAR
BridgeNumber;
00173 IN UCHAR
BridgingOptions;
00174 IN ULONG
BridgingCapabilities;
00175 IN UCHAR
BridgingType;
00176 IN UCHAR
MacBytes[6];
00177 }
NDIS_WAN_SET_BRIDGE_INFO, *
PNDIS_WAN_SET_BRIDGE_INFO;
00178
00179
00180
00181
00182
00183
00184
00185
00186 #define NDISWAN_COMPRESSION 0x00000001
00187 #define NDISWAN_ENCRYPTION 0x00000010
00188 #define NDISWAN_40_ENCRYPTION 0x00000020
00189 #define NDISWAN_128_ENCRYPTION 0x00000040
00190 #define NDISWAN_56_ENCRYPTION 0x00000080
00191 #define NDISWAN_HISTORY_LESS 0x01000000
00192
00193
00194
00195
00196 #define COMPTYPE_OUI 0
00197 #define COMPTYPE_NT31RAS 254
00198 #define COMPTYPE_NONE 255
00199
00200
00201 typedef struct _NDIS_WAN_COMPRESS_INFO
00202 {
00203 UCHAR
SessionKey[8];
00204 ULONG
MSCompType;
00205
00206
00207
00208
00209 UCHAR
CompType;
00210 USHORT CompLength;
00211
00212
union
00213
{
00214
struct
00215
{
00216 UCHAR
CompOUI[3];
00217 UCHAR
CompSubType;
00218 UCHAR
CompValues[32];
00219 } Proprietary;
00220
00221
struct
00222
{
00223 UCHAR
CompValues[32];
00224 } Public;
00225 };
00226 }
NDIS_WAN_COMPRESS_INFO;
00227
00228 typedef NDIS_WAN_COMPRESS_INFO UNALIGNED *
PNDIS_WAN_COMPRESS_INFO;
00229
00230 typedef struct _NDIS_WAN_GET_COMP_INFO
00231 {
00232 IN
NDIS_HANDLE NdisLinkHandle;
00233 OUT
NDIS_WAN_COMPRESS_INFO SendCapabilities;
00234 OUT
NDIS_WAN_COMPRESS_INFO RecvCapabilities;
00235 }
NDIS_WAN_GET_COMP_INFO, *
PNDIS_WAN_GET_COMP_INFO;
00236
00237 typedef struct _NDIS_WAN_SET_COMP_INFO
00238 {
00239 IN
NDIS_HANDLE NdisLinkHandle;
00240 IN
NDIS_WAN_COMPRESS_INFO SendCapabilities;
00241 IN
NDIS_WAN_COMPRESS_INFO RecvCapabilities;
00242 }
NDIS_WAN_SET_COMP_INFO, *
PNDIS_WAN_SET_COMP_INFO;
00243
00244
00245
00246
00247
00248 typedef struct _NDIS_WAN_GET_STATS_INFO
00249 {
00250 IN
NDIS_HANDLE NdisLinkHandle;
00251 OUT ULONG
BytesSent;
00252 OUT ULONG
BytesRcvd;
00253 OUT ULONG
FramesSent;
00254 OUT ULONG
FramesRcvd;
00255 OUT ULONG
CRCErrors;
00256 OUT ULONG
TimeoutErrors;
00257 OUT ULONG
AlignmentErrors;
00258 OUT ULONG
SerialOverrunErrors;
00259 OUT ULONG
FramingErrors;
00260 OUT ULONG
BufferOverrunErrors;
00261 OUT ULONG
BytesTransmittedUncompressed;
00262 OUT ULONG
BytesReceivedUncompressed;
00263 OUT ULONG
BytesTransmittedCompressed;
00264 OUT ULONG
BytesReceivedCompressed;
00265 }
NDIS_WAN_GET_STATS_INFO, *
PNDIS_WAN_GET_STATS_INFO;
00266
00267
#define NdisMWanInitializeWrapper(NdisWrapperHandle, \
00268
SystemSpecific1, \
00269
SystemSpecific2, \
00270 SystemSpecific3) \
00271
{ \
00272
NdisMInitializeWrapper(NdisWrapperHandle, \
00273
SystemSpecific1, \
00274
SystemSpecific2, \
00275
SystemSpecific3); \
00276
}
00277
00278 typedef struct _NDIS_MAC_LINE_UP
00279 {
00280 IN ULONG
LinkSpeed;
00281 IN NDIS_WAN_QUALITY
Quality;
00282 IN
USHORT SendWindow;
00283 IN
NDIS_HANDLE ConnectionWrapperID;
00284 IN
NDIS_HANDLE NdisLinkHandle;
00285 OUT
NDIS_HANDLE NdisLinkContext;
00286 }
NDIS_MAC_LINE_UP, *
PNDIS_MAC_LINE_UP;
00287
00288
00289 typedef struct _NDIS_MAC_LINE_DOWN
00290 {
00291 IN
NDIS_HANDLE NdisLinkContext;
00292 }
NDIS_MAC_LINE_DOWN, *
PNDIS_MAC_LINE_DOWN;
00293
00294
00295
00296
00297
00298
00299 #define WAN_ERROR_CRC ((ULONG)0x00000001)
00300 #define WAN_ERROR_FRAMING ((ULONG)0x00000002)
00301 #define WAN_ERROR_HARDWAREOVERRUN ((ULONG)0x00000004)
00302 #define WAN_ERROR_BUFFEROVERRUN ((ULONG)0x00000008)
00303 #define WAN_ERROR_TIMEOUT ((ULONG)0x00000010)
00304 #define WAN_ERROR_ALIGNMENT ((ULONG)0x00000020)
00305
00306 typedef struct _NDIS_MAC_FRAGMENT
00307 {
00308 IN
NDIS_HANDLE NdisLinkContext;
00309 IN ULONG
Errors;
00310 }
NDIS_MAC_FRAGMENT, *
PNDIS_MAC_FRAGMENT;
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330 typedef struct _NDIS_WAN_CO_INFO {
00331 OUT ULONG
MaxFrameSize;
00332 OUT ULONG
MaxSendWindow;
00333 OUT ULONG
FramingBits;
00334 OUT ULONG
DesiredACCM;
00335 }
NDIS_WAN_CO_INFO, *
PNDIS_WAN_CO_INFO;
00336
00337
00338
00339
00340
00341
00342 typedef struct _NDIS_WAN_CO_SET_LINK_INFO {
00343 IN ULONG
MaxSendFrameSize;
00344 IN ULONG
MaxRecvFrameSize;
00345 IN ULONG
SendFramingBits;
00346 IN ULONG
RecvFramingBits;
00347 IN ULONG
SendCompressionBits;
00348 IN ULONG
RecvCompressionBits;
00349 IN ULONG
SendACCM;
00350 IN ULONG
RecvACCM;
00351 }
NDIS_WAN_CO_SET_LINK_INFO, *
PNDIS_WAN_CO_SET_LINK_INFO;
00352
00353
00354
00355
00356
00357
00358 typedef struct _NDIS_WAN_CO_GET_LINK_INFO {
00359 OUT ULONG
MaxSendFrameSize;
00360 OUT ULONG
MaxRecvFrameSize;
00361 OUT ULONG
SendFramingBits;
00362 OUT ULONG
RecvFramingBits;
00363 OUT ULONG
SendCompressionBits;
00364 OUT ULONG
RecvCompressionBits;
00365 OUT ULONG
SendACCM;
00366 OUT ULONG
RecvACCM;
00367 }
NDIS_WAN_CO_GET_LINK_INFO, *
PNDIS_WAN_CO_GET_LINK_INFO;
00368
00369
00370
00371
00372
00373
00374 typedef struct _NDIS_WAN_CO_GET_COMP_INFO {
00375 OUT
NDIS_WAN_COMPRESS_INFO SendCapabilities;
00376 OUT
NDIS_WAN_COMPRESS_INFO RecvCapabilities;
00377 }
NDIS_WAN_CO_GET_COMP_INFO, *
PNDIS_WAN_CO_GET_COMP_INFO;
00378
00379
00380
00381
00382
00383
00384
00385 typedef struct _NDIS_WAN_CO_SET_COMP_INFO {
00386 IN
NDIS_WAN_COMPRESS_INFO SendCapabilities;
00387 IN
NDIS_WAN_COMPRESS_INFO RecvCapabilities;
00388 }
NDIS_WAN_CO_SET_COMP_INFO, *
PNDIS_WAN_CO_SET_COMP_INFO;
00389
00390
00391
00392
00393
00394
00395
00396 typedef struct _NDIS_WAN_CO_GET_STATS_INFO {
00397 OUT ULONG
BytesSent;
00398 OUT ULONG
BytesRcvd;
00399 OUT ULONG
FramesSent;
00400 OUT ULONG
FramesRcvd;
00401 OUT ULONG
CRCErrors;
00402 OUT ULONG
TimeoutErrors;
00403 OUT ULONG
AlignmentErrors;
00404 OUT ULONG
SerialOverrunErrors;
00405 OUT ULONG
FramingErrors;
00406 OUT ULONG
BufferOverrunErrors;
00407 OUT ULONG
BytesTransmittedUncompressed;
00408 OUT ULONG
BytesReceivedUncompressed;
00409 OUT ULONG
BytesTransmittedCompressed;
00410 OUT ULONG
BytesReceivedCompressed;
00411 }
NDIS_WAN_CO_GET_STATS_INFO, *
PNDIS_WAN_CO_GET_STATS_INFO;
00412
00413
00414
00415
00416
00417
00418
00419 typedef struct _NDIS_WAN_CO_FRAGMENT {
00420 IN ULONG
Errors;
00421 }
NDIS_WAN_CO_FRAGMENT, *
PNDIS_WAN_CO_FRAGMENT;
00422
00423
00424
00425
00426
00427
00428
00429
00430
00431 typedef struct _WAN_CO_LINKPARAMS {
00432 ULONG
TransmitSpeed;
00433 ULONG
ReceiveSpeed;
00434 ULONG
SendWindow;
00435 }
WAN_CO_LINKPARAMS, *
PWAN_CO_LINKPARAMS;
00436
00437
#endif // _NDIS_WAN