Commit | Line | Data |
---|---|---|
635d2b00 GKH |
1 | /***************************************************************************** |
2 | ||
95edd09e | 3 | (c) Cambridge Silicon Radio Limited 2012 |
635d2b00 GKH |
4 | All rights reserved and confidential information of CSR |
5 | ||
6 | Refer to LICENSE.txt included with this source for details | |
7 | on the license terms. | |
8 | ||
9 | *****************************************************************************/ | |
10 | ||
11 | /* Note: this is an auto-generated file. */ | |
12 | ||
13 | #ifndef CSR_WIFI_NME_AP_LIB_H__ | |
14 | #define CSR_WIFI_NME_AP_LIB_H__ | |
15 | ||
635d2b00 | 16 | #include "csr_sched.h" |
d63123fc | 17 | #include "csr_macro.h" |
635d2b00 GKH |
18 | #include "csr_msg_transport.h" |
19 | ||
20 | #include "csr_wifi_lib.h" | |
21 | ||
22 | #include "csr_wifi_nme_ap_prim.h" | |
23 | #include "csr_wifi_nme_task.h" | |
24 | ||
635d2b00 GKH |
25 | #ifndef CSR_WIFI_NME_ENABLE |
26 | #error CSR_WIFI_NME_ENABLE MUST be defined inorder to use csr_wifi_nme_ap_lib.h | |
27 | #endif | |
28 | #ifndef CSR_WIFI_AP_ENABLE | |
29 | #error CSR_WIFI_AP_ENABLE MUST be defined inorder to use csr_wifi_nme_ap_lib.h | |
30 | #endif | |
31 | ||
32 | /*----------------------------------------------------------------------------* | |
33 | * CsrWifiNmeApFreeUpstreamMessageContents | |
34 | * | |
35 | * DESCRIPTION | |
36 | * Free the allocated memory in a CSR_WIFI_NME_AP upstream message. Does not | |
37 | * free the message itself, and can only be used for upstream messages. | |
38 | * | |
39 | * PARAMETERS | |
40 | * Deallocates the resources in a CSR_WIFI_NME_AP upstream message | |
41 | *----------------------------------------------------------------------------*/ | |
8c87f69a | 42 | void CsrWifiNmeApFreeUpstreamMessageContents(u16 eventClass, void *message); |
635d2b00 GKH |
43 | |
44 | /*----------------------------------------------------------------------------* | |
45 | * CsrWifiNmeApFreeDownstreamMessageContents | |
46 | * | |
47 | * DESCRIPTION | |
48 | * Free the allocated memory in a CSR_WIFI_NME_AP downstream message. Does not | |
49 | * free the message itself, and can only be used for downstream messages. | |
50 | * | |
51 | * PARAMETERS | |
52 | * Deallocates the resources in a CSR_WIFI_NME_AP downstream message | |
53 | *----------------------------------------------------------------------------*/ | |
8c87f69a | 54 | void CsrWifiNmeApFreeDownstreamMessageContents(u16 eventClass, void *message); |
635d2b00 | 55 | |
635d2b00 GKH |
56 | /******************************************************************************* |
57 | ||
58 | NAME | |
59 | CsrWifiNmeApConfigSetReqSend | |
60 | ||
61 | DESCRIPTION | |
62 | This primitive passes AP configuration info for NME. This can be sent at | |
63 | any time but will be acted upon when the AP is started again. This | |
64 | information is common to both P2P GO and AP | |
65 | ||
66 | PARAMETERS | |
67 | queue - Message Source Task Queue (Cfm's will be sent to this Queue) | |
68 | apConfig - AP configuration for the NME. | |
69 | apMacConfig - MAC configuration to be acted on when | |
70 | CSR_WIFI_NME_AP_START.request is sent. | |
71 | ||
72 | *******************************************************************************/ | |
73 | #define CsrWifiNmeApConfigSetReqCreate(msg__, dst__, src__, apConfig__, apMacConfig__) \ | |
786eeeb3 | 74 | msg__ = kmalloc(sizeof(CsrWifiNmeApConfigSetReq), GFP_KERNEL); \ |
635d2b00 GKH |
75 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_CONFIG_SET_REQ, dst__, src__); \ |
76 | msg__->apConfig = (apConfig__); \ | |
77 | msg__->apMacConfig = (apMacConfig__); | |
78 | ||
79 | #define CsrWifiNmeApConfigSetReqSendTo(dst__, src__, apConfig__, apMacConfig__) \ | |
80 | { \ | |
81 | CsrWifiNmeApConfigSetReq *msg__; \ | |
82 | CsrWifiNmeApConfigSetReqCreate(msg__, dst__, src__, apConfig__, apMacConfig__); \ | |
83 | CsrMsgTransport(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
84 | } | |
85 | ||
86 | #define CsrWifiNmeApConfigSetReqSend(src__, apConfig__, apMacConfig__) \ | |
87 | CsrWifiNmeApConfigSetReqSendTo(CSR_WIFI_NME_IFACEQUEUE, src__, apConfig__, apMacConfig__) | |
88 | ||
89 | /******************************************************************************* | |
90 | ||
91 | NAME | |
92 | CsrWifiNmeApConfigSetCfmSend | |
93 | ||
94 | DESCRIPTION | |
95 | This primitive reports the result of the request. | |
96 | ||
97 | PARAMETERS | |
98 | queue - Destination Task Queue | |
99 | status - Status of the request. | |
100 | ||
101 | *******************************************************************************/ | |
102 | #define CsrWifiNmeApConfigSetCfmCreate(msg__, dst__, src__, status__) \ | |
786eeeb3 | 103 | msg__ = kmalloc(sizeof(CsrWifiNmeApConfigSetCfm), GFP_KERNEL); \ |
635d2b00 GKH |
104 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_CONFIG_SET_CFM, dst__, src__); \ |
105 | msg__->status = (status__); | |
106 | ||
107 | #define CsrWifiNmeApConfigSetCfmSendTo(dst__, src__, status__) \ | |
108 | { \ | |
109 | CsrWifiNmeApConfigSetCfm *msg__; \ | |
110 | CsrWifiNmeApConfigSetCfmCreate(msg__, dst__, src__, status__); \ | |
111 | CsrSchedMessagePut(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
112 | } | |
113 | ||
114 | #define CsrWifiNmeApConfigSetCfmSend(dst__, status__) \ | |
115 | CsrWifiNmeApConfigSetCfmSendTo(dst__, CSR_WIFI_NME_IFACEQUEUE, status__) | |
116 | ||
117 | /******************************************************************************* | |
118 | ||
119 | NAME | |
120 | CsrWifiNmeApStaRemoveReqSend | |
121 | ||
122 | DESCRIPTION | |
123 | This primitive disconnects a connected station. If keepBlocking is set to | |
124 | TRUE, the station with the specified MAC address is not allowed to | |
125 | connect. If the requested station is not already connected,it may be | |
126 | blocked based on keepBlocking parameter. | |
127 | ||
128 | PARAMETERS | |
129 | queue - Message Source Task Queue (Cfm's will be sent to this Queue) | |
130 | interfaceTag - Interface Identifier; unique identifier of an interface | |
131 | staMacAddress - Mac Address of the station to be disconnected or blocked | |
132 | keepBlocking - If TRUE, the station is blocked. If FALSE and the station is | |
133 | connected, disconnect the station. If FALSE and the station | |
134 | is not connected, no action is taken. | |
135 | ||
136 | *******************************************************************************/ | |
137 | #define CsrWifiNmeApStaRemoveReqCreate(msg__, dst__, src__, interfaceTag__, staMacAddress__, keepBlocking__) \ | |
786eeeb3 | 138 | msg__ = kmalloc(sizeof(CsrWifiNmeApStaRemoveReq), GFP_KERNEL); \ |
635d2b00 GKH |
139 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_STA_REMOVE_REQ, dst__, src__); \ |
140 | msg__->interfaceTag = (interfaceTag__); \ | |
141 | msg__->staMacAddress = (staMacAddress__); \ | |
142 | msg__->keepBlocking = (keepBlocking__); | |
143 | ||
144 | #define CsrWifiNmeApStaRemoveReqSendTo(dst__, src__, interfaceTag__, staMacAddress__, keepBlocking__) \ | |
145 | { \ | |
146 | CsrWifiNmeApStaRemoveReq *msg__; \ | |
147 | CsrWifiNmeApStaRemoveReqCreate(msg__, dst__, src__, interfaceTag__, staMacAddress__, keepBlocking__); \ | |
148 | CsrMsgTransport(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
149 | } | |
150 | ||
151 | #define CsrWifiNmeApStaRemoveReqSend(src__, interfaceTag__, staMacAddress__, keepBlocking__) \ | |
152 | CsrWifiNmeApStaRemoveReqSendTo(CSR_WIFI_NME_IFACEQUEUE, src__, interfaceTag__, staMacAddress__, keepBlocking__) | |
153 | ||
154 | /******************************************************************************* | |
155 | ||
156 | NAME | |
157 | CsrWifiNmeApStartReqSend | |
158 | ||
159 | DESCRIPTION | |
160 | This primitive requests NME to started the AP operation. | |
161 | ||
162 | PARAMETERS | |
163 | queue - Message Source Task Queue (Cfm's will be sent to this Queue) | |
164 | interfaceTag - Interface identifier; unique identifier of an interface | |
165 | apType - AP Type specifies the Legacy AP or P2P GO operation | |
166 | cloakSsid - Indicates whether the SSID should be cloaked (hidden and | |
167 | not broadcast in beacon) or not | |
168 | ssid - Service Set Identifier | |
169 | ifIndex - Radio interface | |
170 | channel - Channel number of the channel to use | |
171 | apCredentials - Security credential configuration. | |
172 | maxConnections - Maximum number of stations/P2P clients allowed | |
173 | p2pGoParam - P2P specific GO parameters. | |
635d2b00 GKH |
174 | wpsEnabled - Indicates whether WPS should be enabled or not |
175 | ||
176 | *******************************************************************************/ | |
177 | #define CsrWifiNmeApStartReqCreate(msg__, dst__, src__, interfaceTag__, apType__, cloakSsid__, ssid__, ifIndex__, channel__, apCredentials__, maxConnections__, p2pGoParam__, wpsEnabled__) \ | |
786eeeb3 | 178 | msg__ = kmalloc(sizeof(CsrWifiNmeApStartReq), GFP_KERNEL); \ |
635d2b00 GKH |
179 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_START_REQ, dst__, src__); \ |
180 | msg__->interfaceTag = (interfaceTag__); \ | |
181 | msg__->apType = (apType__); \ | |
182 | msg__->cloakSsid = (cloakSsid__); \ | |
183 | msg__->ssid = (ssid__); \ | |
184 | msg__->ifIndex = (ifIndex__); \ | |
185 | msg__->channel = (channel__); \ | |
186 | msg__->apCredentials = (apCredentials__); \ | |
187 | msg__->maxConnections = (maxConnections__); \ | |
188 | msg__->p2pGoParam = (p2pGoParam__); \ | |
189 | msg__->wpsEnabled = (wpsEnabled__); | |
190 | ||
191 | #define CsrWifiNmeApStartReqSendTo(dst__, src__, interfaceTag__, apType__, cloakSsid__, ssid__, ifIndex__, channel__, apCredentials__, maxConnections__, p2pGoParam__, wpsEnabled__) \ | |
192 | { \ | |
193 | CsrWifiNmeApStartReq *msg__; \ | |
194 | CsrWifiNmeApStartReqCreate(msg__, dst__, src__, interfaceTag__, apType__, cloakSsid__, ssid__, ifIndex__, channel__, apCredentials__, maxConnections__, p2pGoParam__, wpsEnabled__); \ | |
195 | CsrMsgTransport(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
196 | } | |
197 | ||
198 | #define CsrWifiNmeApStartReqSend(src__, interfaceTag__, apType__, cloakSsid__, ssid__, ifIndex__, channel__, apCredentials__, maxConnections__, p2pGoParam__, wpsEnabled__) \ | |
199 | CsrWifiNmeApStartReqSendTo(CSR_WIFI_NME_IFACEQUEUE, src__, interfaceTag__, apType__, cloakSsid__, ssid__, ifIndex__, channel__, apCredentials__, maxConnections__, p2pGoParam__, wpsEnabled__) | |
200 | ||
201 | /******************************************************************************* | |
202 | ||
203 | NAME | |
204 | CsrWifiNmeApStartCfmSend | |
205 | ||
206 | DESCRIPTION | |
207 | This primitive reports the result of CSR_WIFI_NME_AP_START.request. | |
208 | ||
209 | PARAMETERS | |
210 | queue - Destination Task Queue | |
211 | interfaceTag - Interface identifier; unique identifier of an interface | |
212 | status - Status of the request. | |
213 | ssid - Service Set Identifier | |
214 | ||
215 | *******************************************************************************/ | |
216 | #define CsrWifiNmeApStartCfmCreate(msg__, dst__, src__, interfaceTag__, status__, ssid__) \ | |
786eeeb3 | 217 | msg__ = kmalloc(sizeof(CsrWifiNmeApStartCfm), GFP_KERNEL); \ |
635d2b00 GKH |
218 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_START_CFM, dst__, src__); \ |
219 | msg__->interfaceTag = (interfaceTag__); \ | |
220 | msg__->status = (status__); \ | |
221 | msg__->ssid = (ssid__); | |
222 | ||
223 | #define CsrWifiNmeApStartCfmSendTo(dst__, src__, interfaceTag__, status__, ssid__) \ | |
224 | { \ | |
225 | CsrWifiNmeApStartCfm *msg__; \ | |
226 | CsrWifiNmeApStartCfmCreate(msg__, dst__, src__, interfaceTag__, status__, ssid__); \ | |
227 | CsrSchedMessagePut(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
228 | } | |
229 | ||
230 | #define CsrWifiNmeApStartCfmSend(dst__, interfaceTag__, status__, ssid__) \ | |
231 | CsrWifiNmeApStartCfmSendTo(dst__, CSR_WIFI_NME_IFACEQUEUE, interfaceTag__, status__, ssid__) | |
232 | ||
233 | /******************************************************************************* | |
234 | ||
235 | NAME | |
236 | CsrWifiNmeApStationIndSend | |
237 | ||
238 | DESCRIPTION | |
239 | This primitive indicates that a station has joined or a previously joined | |
240 | station has left the BSS/group | |
241 | ||
242 | PARAMETERS | |
243 | queue - Destination Task Queue | |
244 | interfaceTag - Interface Identifier; unique identifier of an interface | |
245 | mediaStatus - Indicates whether the station is connected or | |
246 | disconnected | |
247 | peerMacAddress - MAC address of the station | |
248 | peerDeviceAddress - P2P Device Address | |
249 | ||
250 | *******************************************************************************/ | |
251 | #define CsrWifiNmeApStationIndCreate(msg__, dst__, src__, interfaceTag__, mediaStatus__, peerMacAddress__, peerDeviceAddress__) \ | |
786eeeb3 | 252 | msg__ = kmalloc(sizeof(CsrWifiNmeApStationInd), GFP_KERNEL); \ |
635d2b00 GKH |
253 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_STATION_IND, dst__, src__); \ |
254 | msg__->interfaceTag = (interfaceTag__); \ | |
255 | msg__->mediaStatus = (mediaStatus__); \ | |
256 | msg__->peerMacAddress = (peerMacAddress__); \ | |
257 | msg__->peerDeviceAddress = (peerDeviceAddress__); | |
258 | ||
259 | #define CsrWifiNmeApStationIndSendTo(dst__, src__, interfaceTag__, mediaStatus__, peerMacAddress__, peerDeviceAddress__) \ | |
260 | { \ | |
261 | CsrWifiNmeApStationInd *msg__; \ | |
262 | CsrWifiNmeApStationIndCreate(msg__, dst__, src__, interfaceTag__, mediaStatus__, peerMacAddress__, peerDeviceAddress__); \ | |
263 | CsrSchedMessagePut(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
264 | } | |
265 | ||
266 | #define CsrWifiNmeApStationIndSend(dst__, interfaceTag__, mediaStatus__, peerMacAddress__, peerDeviceAddress__) \ | |
267 | CsrWifiNmeApStationIndSendTo(dst__, CSR_WIFI_NME_IFACEQUEUE, interfaceTag__, mediaStatus__, peerMacAddress__, peerDeviceAddress__) | |
268 | ||
269 | /******************************************************************************* | |
270 | ||
271 | NAME | |
272 | CsrWifiNmeApStopReqSend | |
273 | ||
274 | DESCRIPTION | |
275 | This primitive requests NME to stop the AP operation. | |
276 | ||
277 | PARAMETERS | |
278 | queue - Message Source Task Queue (Cfm's will be sent to this Queue) | |
279 | interfaceTag - Interface identifier; unique identifier of an interface | |
280 | ||
281 | *******************************************************************************/ | |
282 | #define CsrWifiNmeApStopReqCreate(msg__, dst__, src__, interfaceTag__) \ | |
786eeeb3 | 283 | msg__ = kmalloc(sizeof(CsrWifiNmeApStopReq), GFP_KERNEL); \ |
635d2b00 GKH |
284 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_STOP_REQ, dst__, src__); \ |
285 | msg__->interfaceTag = (interfaceTag__); | |
286 | ||
287 | #define CsrWifiNmeApStopReqSendTo(dst__, src__, interfaceTag__) \ | |
288 | { \ | |
289 | CsrWifiNmeApStopReq *msg__; \ | |
290 | CsrWifiNmeApStopReqCreate(msg__, dst__, src__, interfaceTag__); \ | |
291 | CsrMsgTransport(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
292 | } | |
293 | ||
294 | #define CsrWifiNmeApStopReqSend(src__, interfaceTag__) \ | |
295 | CsrWifiNmeApStopReqSendTo(CSR_WIFI_NME_IFACEQUEUE, src__, interfaceTag__) | |
296 | ||
297 | /******************************************************************************* | |
298 | ||
299 | NAME | |
300 | CsrWifiNmeApStopIndSend | |
301 | ||
302 | DESCRIPTION | |
303 | Indicates that AP operation had stopped because of some unrecoverable | |
304 | error after AP operation was started successfully. NME sends this signal | |
305 | after failing to restart the AP operation internally following an error | |
306 | ||
307 | PARAMETERS | |
308 | queue - Destination Task Queue | |
309 | interfaceTag - Interface Identifier; unique identifier of an interface | |
310 | apType - Reports AP Type (P2PGO or AP) | |
311 | status - Error Status | |
312 | ||
313 | *******************************************************************************/ | |
314 | #define CsrWifiNmeApStopIndCreate(msg__, dst__, src__, interfaceTag__, apType__, status__) \ | |
786eeeb3 | 315 | msg__ = kmalloc(sizeof(CsrWifiNmeApStopInd), GFP_KERNEL); \ |
635d2b00 GKH |
316 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_STOP_IND, dst__, src__); \ |
317 | msg__->interfaceTag = (interfaceTag__); \ | |
318 | msg__->apType = (apType__); \ | |
319 | msg__->status = (status__); | |
320 | ||
321 | #define CsrWifiNmeApStopIndSendTo(dst__, src__, interfaceTag__, apType__, status__) \ | |
322 | { \ | |
323 | CsrWifiNmeApStopInd *msg__; \ | |
324 | CsrWifiNmeApStopIndCreate(msg__, dst__, src__, interfaceTag__, apType__, status__); \ | |
325 | CsrSchedMessagePut(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
326 | } | |
327 | ||
328 | #define CsrWifiNmeApStopIndSend(dst__, interfaceTag__, apType__, status__) \ | |
329 | CsrWifiNmeApStopIndSendTo(dst__, CSR_WIFI_NME_IFACEQUEUE, interfaceTag__, apType__, status__) | |
330 | ||
331 | /******************************************************************************* | |
332 | ||
333 | NAME | |
334 | CsrWifiNmeApStopCfmSend | |
335 | ||
336 | DESCRIPTION | |
337 | This primitive confirms that the AP operation is stopped. NME shall send | |
338 | this primitive in response to the request even if AP operation has | |
339 | already been stopped | |
340 | ||
341 | PARAMETERS | |
342 | queue - Destination Task Queue | |
343 | interfaceTag - Interface identifier; unique identifier of an interface | |
344 | status - Status of the request. | |
345 | ||
346 | *******************************************************************************/ | |
347 | #define CsrWifiNmeApStopCfmCreate(msg__, dst__, src__, interfaceTag__, status__) \ | |
786eeeb3 | 348 | msg__ = kmalloc(sizeof(CsrWifiNmeApStopCfm), GFP_KERNEL); \ |
635d2b00 GKH |
349 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_STOP_CFM, dst__, src__); \ |
350 | msg__->interfaceTag = (interfaceTag__); \ | |
351 | msg__->status = (status__); | |
352 | ||
353 | #define CsrWifiNmeApStopCfmSendTo(dst__, src__, interfaceTag__, status__) \ | |
354 | { \ | |
355 | CsrWifiNmeApStopCfm *msg__; \ | |
356 | CsrWifiNmeApStopCfmCreate(msg__, dst__, src__, interfaceTag__, status__); \ | |
357 | CsrSchedMessagePut(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
358 | } | |
359 | ||
360 | #define CsrWifiNmeApStopCfmSend(dst__, interfaceTag__, status__) \ | |
361 | CsrWifiNmeApStopCfmSendTo(dst__, CSR_WIFI_NME_IFACEQUEUE, interfaceTag__, status__) | |
362 | ||
363 | /******************************************************************************* | |
364 | ||
365 | NAME | |
366 | CsrWifiNmeApWmmParamUpdateReqSend | |
367 | ||
368 | DESCRIPTION | |
369 | Application uses this primitive to update the WMM parameters | |
370 | ||
371 | PARAMETERS | |
372 | queue - Message Source Task Queue (Cfm's will be sent to this Queue) | |
373 | wmmApParams - WMM Access point parameters per access category. The array | |
374 | index corresponds to the ACI | |
375 | wmmApBcParams - WMM station parameters per access category to be advertised | |
376 | in the beacons and probe response The array index | |
377 | corresponds to the ACI | |
378 | ||
379 | *******************************************************************************/ | |
380 | #define CsrWifiNmeApWmmParamUpdateReqCreate(msg__, dst__, src__, wmmApParams__, wmmApBcParams__) \ | |
786eeeb3 | 381 | msg__ = kmalloc(sizeof(CsrWifiNmeApWmmParamUpdateReq), GFP_KERNEL); \ |
635d2b00 | 382 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_WMM_PARAM_UPDATE_REQ, dst__, src__); \ |
25aebdb1 GKH |
383 | memcpy(msg__->wmmApParams, (wmmApParams__), sizeof(CsrWifiSmeWmmAcParams) * 4); \ |
384 | memcpy(msg__->wmmApBcParams, (wmmApBcParams__), sizeof(CsrWifiSmeWmmAcParams) * 4); | |
635d2b00 GKH |
385 | |
386 | #define CsrWifiNmeApWmmParamUpdateReqSendTo(dst__, src__, wmmApParams__, wmmApBcParams__) \ | |
387 | { \ | |
388 | CsrWifiNmeApWmmParamUpdateReq *msg__; \ | |
389 | CsrWifiNmeApWmmParamUpdateReqCreate(msg__, dst__, src__, wmmApParams__, wmmApBcParams__); \ | |
390 | CsrMsgTransport(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
391 | } | |
392 | ||
393 | #define CsrWifiNmeApWmmParamUpdateReqSend(src__, wmmApParams__, wmmApBcParams__) \ | |
394 | CsrWifiNmeApWmmParamUpdateReqSendTo(CSR_WIFI_NME_IFACEQUEUE, src__, wmmApParams__, wmmApBcParams__) | |
395 | ||
396 | /******************************************************************************* | |
397 | ||
398 | NAME | |
399 | CsrWifiNmeApWmmParamUpdateCfmSend | |
400 | ||
401 | DESCRIPTION | |
402 | A confirm for for the WMM parameters update | |
403 | ||
404 | PARAMETERS | |
405 | queue - Destination Task Queue | |
406 | status - Status of the request. | |
407 | ||
408 | *******************************************************************************/ | |
409 | #define CsrWifiNmeApWmmParamUpdateCfmCreate(msg__, dst__, src__, status__) \ | |
786eeeb3 | 410 | msg__ = kmalloc(sizeof(CsrWifiNmeApWmmParamUpdateCfm), GFP_KERNEL); \ |
635d2b00 GKH |
411 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_WMM_PARAM_UPDATE_CFM, dst__, src__); \ |
412 | msg__->status = (status__); | |
413 | ||
414 | #define CsrWifiNmeApWmmParamUpdateCfmSendTo(dst__, src__, status__) \ | |
415 | { \ | |
416 | CsrWifiNmeApWmmParamUpdateCfm *msg__; \ | |
417 | CsrWifiNmeApWmmParamUpdateCfmCreate(msg__, dst__, src__, status__); \ | |
418 | CsrSchedMessagePut(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
419 | } | |
420 | ||
421 | #define CsrWifiNmeApWmmParamUpdateCfmSend(dst__, status__) \ | |
422 | CsrWifiNmeApWmmParamUpdateCfmSendTo(dst__, CSR_WIFI_NME_IFACEQUEUE, status__) | |
423 | ||
424 | /******************************************************************************* | |
425 | ||
426 | NAME | |
427 | CsrWifiNmeApWpsRegisterReqSend | |
428 | ||
429 | DESCRIPTION | |
430 | This primitive allows the NME to accept the WPS registration from an | |
431 | enrollee. Such registration procedure can be cancelled by sending | |
432 | CSR_WIFI_NME_WPS_CANCEL.request. | |
433 | ||
434 | PARAMETERS | |
435 | queue - Message Source Task Queue (Cfm's will be sent to this Queue) | |
436 | interfaceTag - Interface Identifier; unique identifier of an | |
437 | interface | |
438 | selectedDevicePasswordId - Selected password type | |
439 | selectedConfigMethod - Selected WPS configuration method type | |
440 | pin - PIN value. | |
441 | Relevant if selected device password ID is PIN.4 | |
442 | digit pin is passed by sending the pin digits in | |
443 | pin[0]..pin[3] and rest of the contents filled | |
444 | with '-'. | |
445 | ||
446 | *******************************************************************************/ | |
447 | #define CsrWifiNmeApWpsRegisterReqCreate(msg__, dst__, src__, interfaceTag__, selectedDevicePasswordId__, selectedConfigMethod__, pin__) \ | |
786eeeb3 | 448 | msg__ = kmalloc(sizeof(CsrWifiNmeApWpsRegisterReq), GFP_KERNEL); \ |
635d2b00 GKH |
449 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_WPS_REGISTER_REQ, dst__, src__); \ |
450 | msg__->interfaceTag = (interfaceTag__); \ | |
451 | msg__->selectedDevicePasswordId = (selectedDevicePasswordId__); \ | |
452 | msg__->selectedConfigMethod = (selectedConfigMethod__); \ | |
25aebdb1 | 453 | memcpy(msg__->pin, (pin__), sizeof(u8) * 8); |
635d2b00 GKH |
454 | |
455 | #define CsrWifiNmeApWpsRegisterReqSendTo(dst__, src__, interfaceTag__, selectedDevicePasswordId__, selectedConfigMethod__, pin__) \ | |
456 | { \ | |
457 | CsrWifiNmeApWpsRegisterReq *msg__; \ | |
458 | CsrWifiNmeApWpsRegisterReqCreate(msg__, dst__, src__, interfaceTag__, selectedDevicePasswordId__, selectedConfigMethod__, pin__); \ | |
459 | CsrMsgTransport(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
460 | } | |
461 | ||
462 | #define CsrWifiNmeApWpsRegisterReqSend(src__, interfaceTag__, selectedDevicePasswordId__, selectedConfigMethod__, pin__) \ | |
463 | CsrWifiNmeApWpsRegisterReqSendTo(CSR_WIFI_NME_IFACEQUEUE, src__, interfaceTag__, selectedDevicePasswordId__, selectedConfigMethod__, pin__) | |
464 | ||
465 | /******************************************************************************* | |
466 | ||
467 | NAME | |
468 | CsrWifiNmeApWpsRegisterCfmSend | |
469 | ||
470 | DESCRIPTION | |
471 | This primitive reports the result of WPS procedure. | |
472 | ||
473 | PARAMETERS | |
474 | queue - Destination Task Queue | |
475 | interfaceTag - Interface identifier; unique identifier of an interface | |
476 | status - Status of the request. | |
477 | ||
478 | *******************************************************************************/ | |
479 | #define CsrWifiNmeApWpsRegisterCfmCreate(msg__, dst__, src__, interfaceTag__, status__) \ | |
786eeeb3 | 480 | msg__ = kmalloc(sizeof(CsrWifiNmeApWpsRegisterCfm), GFP_KERNEL); \ |
635d2b00 GKH |
481 | CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_NME_AP_PRIM, CSR_WIFI_NME_AP_WPS_REGISTER_CFM, dst__, src__); \ |
482 | msg__->interfaceTag = (interfaceTag__); \ | |
483 | msg__->status = (status__); | |
484 | ||
485 | #define CsrWifiNmeApWpsRegisterCfmSendTo(dst__, src__, interfaceTag__, status__) \ | |
486 | { \ | |
487 | CsrWifiNmeApWpsRegisterCfm *msg__; \ | |
488 | CsrWifiNmeApWpsRegisterCfmCreate(msg__, dst__, src__, interfaceTag__, status__); \ | |
489 | CsrSchedMessagePut(dst__, CSR_WIFI_NME_AP_PRIM, msg__); \ | |
490 | } | |
491 | ||
492 | #define CsrWifiNmeApWpsRegisterCfmSend(dst__, interfaceTag__, status__) \ | |
493 | CsrWifiNmeApWpsRegisterCfmSendTo(dst__, CSR_WIFI_NME_IFACEQUEUE, interfaceTag__, status__) | |
494 | ||
635d2b00 | 495 | #endif /* CSR_WIFI_NME_AP_LIB_H__ */ |