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
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
|
////////////////////////////////////////////////////////////////////////////////
//
// File name: WDI_Common.h
// Description: Define basic capability of WDI.
//
// Author: hpfan
//
////////////////////////////////////////////////////////////////////////////////
#ifndef __INC_WDI_COMMON_H
#define __INC_WDI_COMMON_H
#if (WDI_SUPPORT == 1)
#define WDI_802_11_MTU_SIZE 1500
#define WDI_MAX_MCAST_LIST_NUM MAX_MCAST_LIST_NUM
#define WDI_802_11_DATA_BACK_FILL_SIZE NATIVE_802_11_DATA_BACK_FILL_SIZE
#define WDI_802_11_MAX_XMIT_LINK_SPEED NATIVE_802_11_MAX_XMIT_LINK_SPEED
#define WDI_802_11_MAX_RCV_LINK_SPEED NATIVE_802_11_MAX_RCV_LINK_SPEED
#define WDI_802_11_MAX_SCAN_SSID 255 // no match with previous value
#define WDI_802_11_MAX_DESIRED_BSSID NATIVE_802_11_MAX_DESIRED_BSSID
#define WDI_802_11_MAX_DESIRED_SSID NATIVE_802_11_MAX_DESIRED_SSID
#define WDI_802_11_MAX_PRIVACY_EXEMPTION NATIVE_802_11_MAX_PRIVACY_EXEMPTION
#define WDI_802_11_MAX_KEY_MAPPING_ENTRY NATIVE_802_11_MAX_KEY_MAPPING_ENTRY
#define WDI_802_11_MAX_DEFAULT_KEY_ENTRY NATIVE_802_11_MAX_DEFAULT_KEY_ENTRY
#define WDI_802_11_MAX_WEP_KEY_LENGTH NATIVE_802_11_MAX_WEP_KEY_LENGTH
#define WDI_802_11_MAX_PER_STA_DEFAULT_KEY NATIVE_802_11_MAX_PER_STA_DEFAULT_KEY
#define WDI_802_11_MAX_NETWORKOFFLOAD_SIZE NATIVE_802_11_MAX_NETWORKOFFLOAD_SIZE
NDIS_STATUS
WDI_Initialize(
IN PDRIVER_OBJECT pDriverObject,
IN PUNICODE_STRING RegistryPath,
IN PNDIS_MINIPORT_DRIVER_CHARACTERISTICS pMChars
);
VOID
WDI_DeInitialize(
IN NDIS_HANDLE DriverHandle
);
VOID
WDI_InitRxQueue(
IN PADAPTER pAdapter
);
VOID
WDI_DeInitRxQueue(
IN PADAPTER pAdapter
);
VOID
WDI_DeInitRxQueue(
IN PADAPTER pAdapter
);
VOID
WDI_PnPNotiry(
IN PADAPTER pAdapter
);
NDIS_STATUS
WDI_HandleOidRequest(
IN NDIS_HANDLE MiniportAdapterContext,
IN PNDIS_OID_REQUEST pNdisRequest
);
VOID
WdiExt_IndicateApAssocReqReceived(
IN ADAPTER *pAdapter,
IN u4Byte assocReqLen,
IN u1Byte *assocReq
);
VOID
WdiExt_IndicateApAssocRspSent(
IN ADAPTER *pAdapter,
IN u2Byte status
);
RT_STATUS
WDIAllocateMetaData(
IN PADAPTER pAdapter,
IN PNET_BUFFER_LIST pNBL,
IN PRT_RFD pRfd
);
VOID
WDIFreeMetaData(
IN PADAPTER pAdapter,
IN PNET_BUFFER_LIST pNBL
);
u4Byte
WDI_InsertDataInQueue(
IN PADAPTER pAdapter,
IN PRT_RFD pRfd,
IN PNET_BUFFER_LIST pNBL
);
BOOLEAN
WDI_NotifyDataInQueue(
IN PADAPTER pAdapter,
IN u1Byte ExTid,
IN u2Byte PeerId,
IN RT_RX_INDICATION_LEVEL level
);
VOID
WDI_CompletePacket(
IN PADAPTER pAdapter,
IN PNET_BUFFER_LIST pNBL
);
VOID
WDI_IndicateScanComplete(
PADAPTER Adapter,
RT_STATUS status
);
VOID
WDI_IndicateBssList(
PADAPTER pAdapter,
RT_STATUS status
);
VOID
WDI_IndicateBssListBySSID(
PADAPTER pAdapter,
WDI_SSID *pSSID
);
VOID
WDI_IndicateConnectionComplete(
PADAPTER Adapter,
RT_STATUS status
);
VOID
WDI_IndicateAssociationComplete(
PADAPTER Adapter,
RT_STATUS status
);
VOID
WDI_IndicateDisassociation(
PADAPTER Adapter,
u2Byte reason,
pu1Byte pAddr
);
VOID
WDI_IndicateNLODiscovery(
PADAPTER pAdapter
);
VOID
WDI_IndicateCurrentPhyStatus(
PADAPTER Adapter
);
VOID
WDI_IndicateP2PEvent(
VOID *pvP2PInfo,
u4Byte EventID,
MEMORY_BUFFER *pInformation
);
BOOLEAN
WDI_CompleteCreateDeleteMac(
IN PADAPTER pAdapter,
IN NDIS_STATUS status
);
VOID
WDI_IndicateRoamingComplete(
PADAPTER Adapter
);
VOID
WDI_IndicateLinkStateChanged(
PADAPTER pAdapter,
BOOLEAN bForceLinkQuality,
u1Byte ucLinkQuality
);
RT_STATUS
WDI_IndicateActionFrame(
IN PADAPTER pAdapter,
IN POCTET_STRING posMpdu
);
VOID
WDI_IndicateWakeReason(
IN PADAPTER pAdapter,
IN BOOLEAN bWakePacket,
IN pu1Byte pBuffer,
IN u2Byte BufferLen
);
VOID
WDI_IndicateRoamingNeeded(
PADAPTER pAdapter,
RT_PREPARE_ROAM_TYPE IndicationReason
);
VOID
WDI_AddGroupPeer(
IN PADAPTER pAdapter,
IN u2Byte PortNumber
);
VOID
WDI_DeleteGroupPeer(
IN PADAPTER pAdapter,
IN u2Byte PortNumber
);
NDIS_STATUS
WDI_AddDatapathPeer(
IN PADAPTER pAdapter,
IN pu1Byte pAddr
);
void
WDI_DeleteDatapathPeer(
IN PADAPTER pAdapter,
IN pu1Byte pAddr
);
VOID
WDI_FreeRxFrame(
IN PADAPTER pAdapter,
IN PNET_BUFFER_LIST pNetBufferList
);
VOID
WDI_FetchNBLByPort(
IN PADAPTER pAdapter,
IN u2Byte Port_ID,
OUT PNET_BUFFER_LIST *ppNetBufferList
);
VOID
WDI_IndicateTKIPMICFailure(
PADAPTER pAdapter
);
VOID
WDI_TxCreditCheck(
IN PADAPTER pAdapter
);
VOID
WDI_IndicateFWStalled(
IN PADAPTER pAdapter
);
VOID
WDI_UpdateDefaultSetting(
IN PADAPTER pAdapter
);
RT_STATUS
WDI_IndicateGeneralEvent(
IN PADAPTER pAdapter,
IN u4Byte Event,
IN PVOID pInfoBuffer,
IN u4Byte InfoBruuferLen
);
#else
#define WDI_Initialize(pDriverObject, RegistryPath, pMChars) NDIS_STATUS_NOT_SUPPORTED
#define WDI_DeInitialize(DriverHandle)
#define WDI_InitRxQueue(pAdapter)
#define WDI_DeInitRxQueue(pAdapter)
#define WDI_PnPNotiry(pAdapter)
#define WDI_HandleOidRequest(MiniportAdapterContext, pNdisRequest) NDIS_STATUS_NOT_RECOGNIZED
#define WdiExt_IndicateApAssocReqReceived(pAdapter, assocReqLen, assocReq)
#define WdiExt_IndicateApAssocRspSent(pAdapter, status)
#define WDIAllocateMetaData(pAdapter, pNBL, pRfd) RT_STATUS_NOT_SUPPORT
#define WDIFreeMetaData(pAdapter, pNBL)
#define WDI_InsertDataInQueue(pAdapter, pRfd, pNBL) 0
#define WDI_NotifyDataInQueue(pAdapter, ExTid, PeerId, level) FALSE
#define WDI_CompletePacket(pAdapter, pNBL)
#define WDI_IndicateScanComplete(Adapter, status)
#define WDI_IndicateBssList(pAdapter, status)
#define WDI_IndicateBssListBySSID(pAdapter,pSSID)
#define WDI_IndicateConnectionComplete(Adapter, status)
#define WDI_IndicateAssociationComplete(Adapter, status)
#define WDI_IndicateDisassociation(Adapter, reason, pAddr)
#define WDI_IndicateNLODiscovery(pAdapter)
#define WDI_IndicateCurrentPhyStatus(Adapter)
#define WDI_IndicateP2PEvent(pvP2PInfo, EventID, pInformation)
#define WDI_CompleteCreateDeleteMac(pAdapter, status) FALSE
#define WDI_IndicateRoamingComplete(Adapter)
#define WDI_IndicateLinkStateChanged(pAdapter, bForceLinkQuality, ucLinkQuality)
#define WDI_IndicateActionFrame(pAdapter, posMpdu) RT_STATUS_FAILURE
#define WDI_IndicateWakeReason(pAdapter, bWakePacket, pBuffer, BufferLen)
#define WDI_IndicateRoamingNeeded(pAdapter, IndicationReason)
#define WDI_AddGroupPeer(pAdapter, PortNumber)
#define WDI_DeleteGroupPeer(pAdapter, PortNumber)
#define WDI_AddDatapathPeer(pAdapter, pAddr) FALSE
#define WDI_DeleteDatapathPeer(pAdapter, pAddr)
#define WDI_FreeRxFrame(pAdapter, pNetBufferList)
#define WDI_FetchNBLByPort(pAdapter, Port_ID, ppNetBufferList)
#define WDI_IndicateTKIPMICFailure(pAdapter)
#define WDI_TxCreditCheck(pAdapter)
#define WDI_IndicateFWStalled(pAdapter)
#define WDI_UpdateDefaultSetting(pAdapter)
#define WDI_IndicateGeneralEvent(_pAdapter, _Event, _pInfoBuffer, _InfoBruuferLen) RT_STATUS_NOT_SUPPORT
#endif
#endif
|