Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ndiswan.h « ddk « include « w32api « winsup - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 66fb0de6edb2e2a17a4b3620ca51501800e70fc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
/*
 * ndiswan.h
 *
 * Definitions for NDIS WAN miniport drivers
 *
 * This file is part of the w32api package.
 *
 * Contributors:
 *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
 *
 * THIS SOFTWARE IS NOT COPYRIGHTED
 *
 * This source code is offered for use in the public domain. You may
 * use, modify or distribute it freely.
 *
 * This code is distributed in the hope that it will be useful but
 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
 * DISCLAIMED. This includes but is not limited to warranties of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 */

#ifndef __NDISWAN_H
#define __NDISWAN_H

#if __GNUC__ >=3
#pragma GCC system_header
#endif

#ifdef __cplusplus
extern "C" {
#endif

#include "ndis.h"

#define NDIS_USE_WAN_WRAPPER         			0x00000001

#define NDIS_STATUS_TAPI_INDICATION 			((NDIS_STATUS)0x40010080L)

/* NDIS_WAN_INFO.FramingBits constants */
#define RAS_FRAMING                     0x00000001
#define RAS_COMPRESSION                 0x00000002

#define ARAP_V1_FRAMING                 0x00000004
#define ARAP_V2_FRAMING                 0x00000008
#define ARAP_FRAMING                    (ARAP_V1_FRAMING | ARAP_V2_FRAMING)

#define PPP_MULTILINK_FRAMING           0x00000010
#define PPP_SHORT_SEQUENCE_HDR_FORMAT   0x00000020
#define PPP_MC_MULTILINK_FRAMING        0x00000040

#define PPP_FRAMING                     0x00000100
#define PPP_COMPRESS_ADDRESS_CONTROL    0x00000200
#define PPP_COMPRESS_PROTOCOL_FIELD     0x00000400
#define PPP_ACCM_SUPPORTED              0x00000800

#define SLIP_FRAMING                    0x00001000
#define SLIP_VJ_COMPRESSION             0x00002000
#define SLIP_VJ_AUTODETECT              0x00004000

#define MEDIA_NRZ_ENCODING              0x00010000
#define MEDIA_NRZI_ENCODING             0x00020000
#define MEDIA_NLPID                     0x00040000

#define RFC_1356_FRAMING                0x00100000
#define RFC_1483_FRAMING                0x00200000
#define RFC_1490_FRAMING                0x00400000
#define LLC_ENCAPSULATION               0x00800000

#define SHIVA_FRAMING                   0x01000000
#define NBF_PRESERVE_MAC_ADDRESS        0x01000000

#define PASS_THROUGH_MODE               0x10000000
#define RAW_PASS_THROUGH_MODE           0x20000000

#define TAPI_PROVIDER                   0x80000000

typedef struct _NDIS_WAN_INFO {
  OUT ULONG  MaxFrameSize; 
  OUT ULONG  MaxTransmit; 
  OUT ULONG  HeaderPadding; 
  OUT ULONG  TailPadding; 
  OUT ULONG  Endpoints; 
  OUT UINT  MemoryFlags; 
  OUT NDIS_PHYSICAL_ADDRESS  HighestAcceptableAddress; 
  OUT ULONG  FramingBits; 
  OUT ULONG  DesiredACCM; 
} NDIS_WAN_INFO, *PNDIS_WAN_INFO;

typedef struct _NDIS_WAN_GET_LINK_INFO { 
  IN NDIS_HANDLE  NdisLinkHandle; 
  OUT ULONG  MaxSendFrameSize; 
  OUT ULONG  MaxRecvFrameSize; 
  OUT ULONG  HeaderPadding; 
  OUT ULONG  TailPadding; 
  OUT ULONG  SendFramingBits; 
  OUT ULONG  RecvFramingBits; 
  OUT ULONG  SendCompressionBits; 
  OUT ULONG  RecvCompressionBits; 
  OUT ULONG  SendACCM; 
  OUT ULONG  RecvACCM; 
} NDIS_WAN_GET_LINK_INFO, *PNDIS_WAN_GET_LINK_INFO;

typedef struct _NDIS_WAN_SET_LINK_INFO { 
  IN NDIS_HANDLE  NdisLinkHandle; 
  IN ULONG  MaxSendFrameSize; 
  IN ULONG  MaxRecvFrameSize; 
  IN ULONG  HeaderPadding; 
  IN ULONG  TailPadding; 
  IN ULONG  SendFramingBits; 
  IN ULONG  RecvFramingBits; 
  IN ULONG  SendCompressionBits; 
  IN ULONG  RecvCompressionBits; 
  IN ULONG  SendACCM; 
  IN ULONG  RecvACCM; 
} NDIS_WAN_SET_LINK_INFO, *PNDIS_WAN_SET_LINK_INFO; 

/* NDIS_WAN_COMPRESS_INFO.MSCompType constants */
#define NDISWAN_COMPRESSION            		0x00000001
#define NDISWAN_ENCRYPTION              	0x00000010
#define NDISWAN_40_ENCRYPTION           	0x00000020
#define NDISWAN_128_ENCRYPTION          	0x00000040
#define NDISWAN_56_ENCRYPTION           	0x00000080
#define NDISWAN_HISTORY_LESS            	0x01000000

/* NDIS_WAN_COMPRESS_INFO.CompType constants */
#define COMPTYPE_OUI											0
#define COMPTYPE_NT31RAS									254
#define COMPTYPE_NONE											255

typedef struct _NDIS_WAN_COMPRESS_INFO {
	UCHAR  SessionKey[8];
	ULONG  MSCompType;
	UCHAR  CompType;
	USHORT  CompLength;
	_ANONYMOUS_UNION union {
		struct {
			UCHAR  CompOUI[3];
			UCHAR  CompSubType;
			UCHAR  CompValues[32];
		} Proprietary;
		struct {
			UCHAR  CompValues[32];
		} Public;
	} DUMMYUNIONNAME;
} NDIS_WAN_COMPRESS_INFO;

typedef NDIS_WAN_COMPRESS_INFO *PNDIS_WAN_COMPRESS_INFO;

typedef struct _NDIS_WAN_GET_COMP_INFO { 
  IN NDIS_HANDLE  NdisLinkHandle; 
  OUT NDIS_WAN_COMPRESS_INFO  SendCapabilities; 
  OUT NDIS_WAN_COMPRESS_INFO  RecvCapabilities; 
} NDIS_WAN_GET_COMP_INFO, *PNDIS_WAN_GET_COMP_INFO;

typedef struct _NDIS_WAN_SET_COMP_INFO {
  IN NDIS_HANDLE  NdisLinkHandle;
  IN NDIS_WAN_COMPRESS_INFO  SendCapabilities;
  IN NDIS_WAN_COMPRESS_INFO  RecvCapabilities;
} NDIS_WAN_SET_COMP_INFO, *PNDIS_WAN_SET_COMP_INFO;

typedef struct _NDIS_WAN_GET_STATS_INFO {
  IN NDIS_HANDLE  NdisLinkHandle;
  OUT ULONG  BytesSent;
  OUT ULONG  BytesRcvd;
  OUT ULONG  FramesSent;
  OUT ULONG  FramesRcvd;
  OUT ULONG  CRCErrors;
  OUT ULONG  TimeoutErrors;
  OUT ULONG  AlignmentErrors;
  OUT ULONG  SerialOverrunErrors;
  OUT ULONG  FramingErrors;
  OUT ULONG  BufferOverrunErrors;
  OUT ULONG  BytesTransmittedUncompressed;
  OUT ULONG  BytesReceivedUncompressed;
  OUT ULONG  BytesTransmittedCompressed;
  OUT ULONG  BytesReceivedCompressed;
} NDIS_WAN_GET_STATS_INFO, *PNDIS_WAN_GET_STATS_INFO;

#define NdisMWanInitializeWrapper(NdisWrapperHandle,	\
                                  SystemSpecific1,		\
                                  SystemSpecific2,		\
                                  SystemSpecific3)		\
{                                                     \
	NdisMInitializeWrapper(NdisWrapperHandle,          	\
                         SystemSpecific1,          		\
                         SystemSpecific2,          		\
                         SystemSpecific3);         		\
}

typedef struct _NDIS_WAN_CO_INFO {
  OUT ULONG  MaxFrameSize;
  OUT ULONG  MaxSendWindow;
  OUT ULONG  FramingBits;
  OUT ULONG  DesiredACCM;
} NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO;

typedef struct _NDIS_WAN_CO_GET_LINK_INFO {
  OUT ULONG  MaxSendFrameSize;
  OUT ULONG  MaxRecvFrameSize;
  OUT ULONG  SendFramingBits;
  OUT ULONG  RecvFramingBits;
  OUT ULONG  SendCompressionBits;
  OUT ULONG  RecvCompressionBits;
  OUT ULONG  SendACCM;
  OUT ULONG  RecvACCM;
} NDIS_WAN_CO_GET_LINK_INFO, *PNDIS_WAN_CO_GET_LINK_INFO;

typedef struct _NDIS_WAN_CO_SET_LINK_INFO {
  IN ULONG  MaxSendFrameSize;
  IN ULONG  MaxRecvFrameSize;
  IN ULONG  SendFramingBits;
  IN ULONG  RecvFramingBits;
  IN ULONG  SendCompressionBits;
  IN ULONG  RecvCompressionBits;
  IN ULONG  SendACCM;
  IN ULONG  RecvACCM;
} NDIS_WAN_CO_SET_LINK_INFO, *PNDIS_WAN_CO_SET_LINK_INFO;

typedef struct _NDIS_WAN_CO_GET_COMP_INFO { 
  OUT NDIS_WAN_COMPRESS_INFO  SendCapabilities; 
  OUT NDIS_WAN_COMPRESS_INFO  RecvCapabilities; 
} NDIS_WAN_CO_GET_COMP_INFO, *PNDIS_WAN_CO_GET_COMP_INFO; 

typedef struct _NDIS_WAN_CO_SET_COMP_INFO {
  IN NDIS_WAN_COMPRESS_INFO  SendCapabilities;
  IN NDIS_WAN_COMPRESS_INFO  RecvCapabilities;
} NDIS_WAN_CO_SET_COMP_INFO, *PNDIS_WAN_CO_SET_COMP_INFO;

typedef struct _NDIS_WAN_CO_GET_STATS_INFO {
  OUT ULONG  BytesSent;
  OUT ULONG  BytesRcvd;
  OUT ULONG  FramesSent;
  OUT ULONG  FramesRcvd;
  OUT ULONG  CRCErrors;
  OUT ULONG  TimeoutErrors;
  OUT ULONG  AlignmentErrors;
  OUT ULONG  SerialOverrunErrors;
  OUT ULONG  FramingErrors;
  OUT ULONG  BufferOverrunErrors;
  OUT ULONG  BytesTransmittedUncompressed;
  OUT ULONG  BytesReceivedUncompressed;
  OUT ULONG  BytesTransmittedCompressed;
  OUT ULONG  BytesReceivedCompressed;
} NDIS_WAN_CO_GET_STATS_INFO, *PNDIS_WAN_CO_GET_STATS_INFO;

#ifdef __cplusplus
}
#endif

#endif /* __NDISWAN_H */