Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
csr_wifi_router_ctrl_lib.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3  (c) Cambridge Silicon Radio Limited 2012
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_ROUTER_CTRL_LIB_H__
14 #define CSR_WIFI_ROUTER_CTRL_LIB_H__
15 
16 #include "csr_sched.h"
17 #include "csr_macro.h"
18 #include "csr_msg_transport.h"
19 
20 #include "csr_wifi_lib.h"
21 
23 #include "csr_wifi_router_task.h"
24 
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 /*----------------------------------------------------------------------------*
31  * CsrWifiRouterCtrlFreeUpstreamMessageContents
32  *
33  * DESCRIPTION
34  * Free the allocated memory in a CSR_WIFI_ROUTER_CTRL upstream message. Does not
35  * free the message itself, and can only be used for upstream messages.
36  *
37  * PARAMETERS
38  * Deallocates the resources in a CSR_WIFI_ROUTER_CTRL upstream message
39  *----------------------------------------------------------------------------*/
41 
42 /*----------------------------------------------------------------------------*
43  * CsrWifiRouterCtrlFreeDownstreamMessageContents
44  *
45  * DESCRIPTION
46  * Free the allocated memory in a CSR_WIFI_ROUTER_CTRL downstream message. Does not
47  * free the message itself, and can only be used for downstream messages.
48  *
49  * PARAMETERS
50  * Deallocates the resources in a CSR_WIFI_ROUTER_CTRL downstream message
51  *----------------------------------------------------------------------------*/
53 
54 /*----------------------------------------------------------------------------*
55  * Enum to string functions
56  *----------------------------------------------------------------------------*/
72 
73 
74 /*----------------------------------------------------------------------------*
75  * CsrPrim Type toString function.
76  * Converts a message type to the String name of the Message
77  *----------------------------------------------------------------------------*/
78 const char* CsrWifiRouterCtrlPrimTypeToString(CsrPrim msgType);
79 
80 /*----------------------------------------------------------------------------*
81  * Lookup arrays for PrimType name Strings
82  *----------------------------------------------------------------------------*/
85 
86 /*******************************************************************************
87 
88  NAME
89  CsrWifiRouterCtrlBlockAckDisableReqSend
90 
91  DESCRIPTION
92 
93  PARAMETERS
94  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
95  interfaceTag -
96  clientData -
97  macAddress -
98  trafficStreamID -
99  role -
100 
101 *******************************************************************************/
102 #define CsrWifiRouterCtrlBlockAckDisableReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, macAddress__, trafficStreamID__, role__) \
103  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlBlockAckDisableReq), GFP_KERNEL); \
104  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_DISABLE_REQ, dst__, src__); \
105  msg__->interfaceTag = (interfaceTag__); \
106  msg__->clientData = (clientData__); \
107  msg__->macAddress = (macAddress__); \
108  msg__->trafficStreamID = (trafficStreamID__); \
109  msg__->role = (role__);
110 
111 #define CsrWifiRouterCtrlBlockAckDisableReqSendTo(dst__, src__, interfaceTag__, clientData__, macAddress__, trafficStreamID__, role__) \
112  { \
113  CsrWifiRouterCtrlBlockAckDisableReq *msg__; \
114  CsrWifiRouterCtrlBlockAckDisableReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, macAddress__, trafficStreamID__, role__); \
115  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
116  }
117 
118 #define CsrWifiRouterCtrlBlockAckDisableReqSend(src__, interfaceTag__, clientData__, macAddress__, trafficStreamID__, role__) \
119  CsrWifiRouterCtrlBlockAckDisableReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, macAddress__, trafficStreamID__, role__)
120 
121 /*******************************************************************************
122 
123  NAME
124  CsrWifiRouterCtrlBlockAckDisableCfmSend
125 
126  DESCRIPTION
127 
128  PARAMETERS
129  queue - Destination Task Queue
130  clientData -
131  interfaceTag -
132  status -
133 
134 *******************************************************************************/
135 #define CsrWifiRouterCtrlBlockAckDisableCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__) \
136  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlBlockAckDisableCfm), GFP_KERNEL); \
137  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_DISABLE_CFM, dst__, src__); \
138  msg__->clientData = (clientData__); \
139  msg__->interfaceTag = (interfaceTag__); \
140  msg__->status = (status__);
141 
142 #define CsrWifiRouterCtrlBlockAckDisableCfmSendTo(dst__, src__, clientData__, interfaceTag__, status__) \
143  { \
144  CsrWifiRouterCtrlBlockAckDisableCfm *msg__; \
145  CsrWifiRouterCtrlBlockAckDisableCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__); \
146  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
147  }
148 
149 #define CsrWifiRouterCtrlBlockAckDisableCfmSend(dst__, clientData__, interfaceTag__, status__) \
150  CsrWifiRouterCtrlBlockAckDisableCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, status__)
151 
152 /*******************************************************************************
153 
154  NAME
155  CsrWifiRouterCtrlBlockAckEnableReqSend
156 
157  DESCRIPTION
158 
159  PARAMETERS
160  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
161  interfaceTag -
162  clientData -
163  macAddress -
164  trafficStreamID -
165  role -
166  bufferSize -
167  timeout -
168  ssn -
169 
170 *******************************************************************************/
171 #define CsrWifiRouterCtrlBlockAckEnableReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, macAddress__, trafficStreamID__, role__, bufferSize__, timeout__, ssn__) \
172  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlBlockAckEnableReq), GFP_KERNEL); \
173  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ENABLE_REQ, dst__, src__); \
174  msg__->interfaceTag = (interfaceTag__); \
175  msg__->clientData = (clientData__); \
176  msg__->macAddress = (macAddress__); \
177  msg__->trafficStreamID = (trafficStreamID__); \
178  msg__->role = (role__); \
179  msg__->bufferSize = (bufferSize__); \
180  msg__->timeout = (timeout__); \
181  msg__->ssn = (ssn__);
182 
183 #define CsrWifiRouterCtrlBlockAckEnableReqSendTo(dst__, src__, interfaceTag__, clientData__, macAddress__, trafficStreamID__, role__, bufferSize__, timeout__, ssn__) \
184  { \
185  CsrWifiRouterCtrlBlockAckEnableReq *msg__; \
186  CsrWifiRouterCtrlBlockAckEnableReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, macAddress__, trafficStreamID__, role__, bufferSize__, timeout__, ssn__); \
187  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
188  }
189 
190 #define CsrWifiRouterCtrlBlockAckEnableReqSend(src__, interfaceTag__, clientData__, macAddress__, trafficStreamID__, role__, bufferSize__, timeout__, ssn__) \
191  CsrWifiRouterCtrlBlockAckEnableReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, macAddress__, trafficStreamID__, role__, bufferSize__, timeout__, ssn__)
192 
193 /*******************************************************************************
194 
195  NAME
196  CsrWifiRouterCtrlBlockAckEnableCfmSend
197 
198  DESCRIPTION
199 
200  PARAMETERS
201  queue - Destination Task Queue
202  clientData -
203  interfaceTag -
204  status -
205 
206 *******************************************************************************/
207 #define CsrWifiRouterCtrlBlockAckEnableCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__) \
208  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlBlockAckEnableCfm), GFP_KERNEL); \
209  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ENABLE_CFM, dst__, src__); \
210  msg__->clientData = (clientData__); \
211  msg__->interfaceTag = (interfaceTag__); \
212  msg__->status = (status__);
213 
214 #define CsrWifiRouterCtrlBlockAckEnableCfmSendTo(dst__, src__, clientData__, interfaceTag__, status__) \
215  { \
216  CsrWifiRouterCtrlBlockAckEnableCfm *msg__; \
217  CsrWifiRouterCtrlBlockAckEnableCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__); \
218  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
219  }
220 
221 #define CsrWifiRouterCtrlBlockAckEnableCfmSend(dst__, clientData__, interfaceTag__, status__) \
222  CsrWifiRouterCtrlBlockAckEnableCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, status__)
223 
224 /*******************************************************************************
225 
226  NAME
227  CsrWifiRouterCtrlBlockAckErrorIndSend
228 
229  DESCRIPTION
230 
231  PARAMETERS
232  queue - Destination Task Queue
233  clientData -
234  interfaceTag -
235  trafficStreamID -
236  peerMacAddress -
237  status -
238 
239 *******************************************************************************/
240 #define CsrWifiRouterCtrlBlockAckErrorIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, trafficStreamID__, peerMacAddress__, status__) \
241  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlBlockAckErrorInd), GFP_KERNEL); \
242  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ERROR_IND, dst__, src__); \
243  msg__->clientData = (clientData__); \
244  msg__->interfaceTag = (interfaceTag__); \
245  msg__->trafficStreamID = (trafficStreamID__); \
246  msg__->peerMacAddress = (peerMacAddress__); \
247  msg__->status = (status__);
248 
249 #define CsrWifiRouterCtrlBlockAckErrorIndSendTo(dst__, src__, clientData__, interfaceTag__, trafficStreamID__, peerMacAddress__, status__) \
250  { \
251  CsrWifiRouterCtrlBlockAckErrorInd *msg__; \
252  CsrWifiRouterCtrlBlockAckErrorIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, trafficStreamID__, peerMacAddress__, status__); \
253  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
254  }
255 
256 #define CsrWifiRouterCtrlBlockAckErrorIndSend(dst__, clientData__, interfaceTag__, trafficStreamID__, peerMacAddress__, status__) \
257  CsrWifiRouterCtrlBlockAckErrorIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, trafficStreamID__, peerMacAddress__, status__)
258 
259 /*******************************************************************************
260 
261  NAME
262  CsrWifiRouterCtrlCapabilitiesReqSend
263 
264  DESCRIPTION
265 
266  PARAMETERS
267  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
268  clientData -
269 
270 *******************************************************************************/
271 #define CsrWifiRouterCtrlCapabilitiesReqCreate(msg__, dst__, src__, clientData__) \
272  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlCapabilitiesReq), GFP_KERNEL); \
273  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_CAPABILITIES_REQ, dst__, src__); \
274  msg__->clientData = (clientData__);
275 
276 #define CsrWifiRouterCtrlCapabilitiesReqSendTo(dst__, src__, clientData__) \
277  { \
278  CsrWifiRouterCtrlCapabilitiesReq *msg__; \
279  CsrWifiRouterCtrlCapabilitiesReqCreate(msg__, dst__, src__, clientData__); \
280  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
281  }
282 
283 #define CsrWifiRouterCtrlCapabilitiesReqSend(src__, clientData__) \
284  CsrWifiRouterCtrlCapabilitiesReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, clientData__)
285 
286 /*******************************************************************************
287 
288  NAME
289  CsrWifiRouterCtrlCapabilitiesCfmSend
290 
291  DESCRIPTION
292  The router sends this primitive to confirm the size of the queues of the
293  HIP.
294 
295  PARAMETERS
296  queue - Destination Task Queue
297  clientData -
298  commandQueueSize - Size of command queue
299  trafficQueueSize - Size of traffic queue (per AC)
300 
301 *******************************************************************************/
302 #define CsrWifiRouterCtrlCapabilitiesCfmCreate(msg__, dst__, src__, clientData__, commandQueueSize__, trafficQueueSize__) \
303  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlCapabilitiesCfm), GFP_KERNEL); \
304  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_CAPABILITIES_CFM, dst__, src__); \
305  msg__->clientData = (clientData__); \
306  msg__->commandQueueSize = (commandQueueSize__); \
307  msg__->trafficQueueSize = (trafficQueueSize__);
308 
309 #define CsrWifiRouterCtrlCapabilitiesCfmSendTo(dst__, src__, clientData__, commandQueueSize__, trafficQueueSize__) \
310  { \
311  CsrWifiRouterCtrlCapabilitiesCfm *msg__; \
312  CsrWifiRouterCtrlCapabilitiesCfmCreate(msg__, dst__, src__, clientData__, commandQueueSize__, trafficQueueSize__); \
313  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
314  }
315 
316 #define CsrWifiRouterCtrlCapabilitiesCfmSend(dst__, clientData__, commandQueueSize__, trafficQueueSize__) \
317  CsrWifiRouterCtrlCapabilitiesCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, commandQueueSize__, trafficQueueSize__)
318 
319 /*******************************************************************************
320 
321  NAME
322  CsrWifiRouterCtrlConfigurePowerModeReqSend
323 
324  DESCRIPTION
325 
326  PARAMETERS
327  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
328  clientData -
329  mode -
330  wakeHost -
331 
332 *******************************************************************************/
333 #define CsrWifiRouterCtrlConfigurePowerModeReqCreate(msg__, dst__, src__, clientData__, mode__, wakeHost__) \
334  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlConfigurePowerModeReq), GFP_KERNEL); \
335  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_CONFIGURE_POWER_MODE_REQ, dst__, src__); \
336  msg__->clientData = (clientData__); \
337  msg__->mode = (mode__); \
338  msg__->wakeHost = (wakeHost__);
339 
340 #define CsrWifiRouterCtrlConfigurePowerModeReqSendTo(dst__, src__, clientData__, mode__, wakeHost__) \
341  { \
342  CsrWifiRouterCtrlConfigurePowerModeReq *msg__; \
343  CsrWifiRouterCtrlConfigurePowerModeReqCreate(msg__, dst__, src__, clientData__, mode__, wakeHost__); \
344  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
345  }
346 
347 #define CsrWifiRouterCtrlConfigurePowerModeReqSend(src__, clientData__, mode__, wakeHost__) \
348  CsrWifiRouterCtrlConfigurePowerModeReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, clientData__, mode__, wakeHost__)
349 
350 /*******************************************************************************
351 
352  NAME
353  CsrWifiRouterCtrlConnectedIndSend
354 
355  DESCRIPTION
356 
357  PARAMETERS
358  queue - Destination Task Queue
359  clientData -
360  interfaceTag -
361  peerMacAddress -
362  peerStatus -
363 
364 *******************************************************************************/
365 #define CsrWifiRouterCtrlConnectedIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__, peerStatus__) \
366  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlConnectedInd), GFP_KERNEL); \
367  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_CONNECTED_IND, dst__, src__); \
368  msg__->clientData = (clientData__); \
369  msg__->interfaceTag = (interfaceTag__); \
370  msg__->peerMacAddress = (peerMacAddress__); \
371  msg__->peerStatus = (peerStatus__);
372 
373 #define CsrWifiRouterCtrlConnectedIndSendTo(dst__, src__, clientData__, interfaceTag__, peerMacAddress__, peerStatus__) \
374  { \
375  CsrWifiRouterCtrlConnectedInd *msg__; \
376  CsrWifiRouterCtrlConnectedIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__, peerStatus__); \
377  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
378  }
379 
380 #define CsrWifiRouterCtrlConnectedIndSend(dst__, clientData__, interfaceTag__, peerMacAddress__, peerStatus__) \
381  CsrWifiRouterCtrlConnectedIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, peerMacAddress__, peerStatus__)
382 
383 /*******************************************************************************
384 
385  NAME
386  CsrWifiRouterCtrlHipReqSend
387 
388  DESCRIPTION
389  This primitive is used for transferring MLME messages to the HIP.
390 
391  PARAMETERS
392  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
393  mlmeCommandLength - Length of the MLME signal
394  mlmeCommand - Pointer to the MLME signal
395  dataRef1Length - Length of the dataRef1 bulk data
396  dataRef1 - Pointer to the bulk data 1
397  dataRef2Length - Length of the dataRef2 bulk data
398  dataRef2 - Pointer to the bulk data 2
399 
400 *******************************************************************************/
401 #define CsrWifiRouterCtrlHipReqCreate(msg__, dst__, src__, mlmeCommandLength__, mlmeCommand__, dataRef1Length__, dataRef1__, dataRef2Length__, dataRef2__) \
402  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlHipReq), GFP_KERNEL); \
403  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_HIP_REQ, dst__, src__); \
404  msg__->mlmeCommandLength = (mlmeCommandLength__); \
405  msg__->mlmeCommand = (mlmeCommand__); \
406  msg__->dataRef1Length = (dataRef1Length__); \
407  msg__->dataRef1 = (dataRef1__); \
408  msg__->dataRef2Length = (dataRef2Length__); \
409  msg__->dataRef2 = (dataRef2__);
410 
411 #define CsrWifiRouterCtrlHipReqSendTo(dst__, src__, mlmeCommandLength__, mlmeCommand__, dataRef1Length__, dataRef1__, dataRef2Length__, dataRef2__) \
412  { \
413  CsrWifiRouterCtrlHipReq *msg__; \
414  CsrWifiRouterCtrlHipReqCreate(msg__, dst__, src__, mlmeCommandLength__, mlmeCommand__, dataRef1Length__, dataRef1__, dataRef2Length__, dataRef2__); \
415  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
416  }
417 
418 #define CsrWifiRouterCtrlHipReqSend(src__, mlmeCommandLength__, mlmeCommand__, dataRef1Length__, dataRef1__, dataRef2Length__, dataRef2__) \
419  CsrWifiRouterCtrlHipReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, mlmeCommandLength__, mlmeCommand__, dataRef1Length__, dataRef1__, dataRef2Length__, dataRef2__)
420 
421 /*******************************************************************************
422 
423  NAME
424  CsrWifiRouterCtrlHipIndSend
425 
426  DESCRIPTION
427  This primitive is used for transferring MLME messages from the HIP.
428 
429  PARAMETERS
430  queue - Destination Task Queue
431  mlmeCommandLength - Length of the MLME signal
432  mlmeCommand - Pointer to the MLME signal
433  dataRef1Length - Length of the dataRef1 bulk data
434  dataRef1 - Pointer to the bulk data 1
435  dataRef2Length - Length of the dataRef2 bulk data
436  dataRef2 - Pointer to the bulk data 2
437 
438 *******************************************************************************/
439 #define CsrWifiRouterCtrlHipIndCreate(msg__, dst__, src__, mlmeCommandLength__, mlmeCommand__, dataRef1Length__, dataRef1__, dataRef2Length__, dataRef2__) \
440  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlHipInd), GFP_KERNEL); \
441  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_HIP_IND, dst__, src__); \
442  msg__->mlmeCommandLength = (mlmeCommandLength__); \
443  msg__->mlmeCommand = (mlmeCommand__); \
444  msg__->dataRef1Length = (dataRef1Length__); \
445  msg__->dataRef1 = (dataRef1__); \
446  msg__->dataRef2Length = (dataRef2Length__); \
447  msg__->dataRef2 = (dataRef2__);
448 
449 #define CsrWifiRouterCtrlHipIndSendTo(dst__, src__, mlmeCommandLength__, mlmeCommand__, dataRef1Length__, dataRef1__, dataRef2Length__, dataRef2__) \
450  { \
451  CsrWifiRouterCtrlHipInd *msg__; \
452  CsrWifiRouterCtrlHipIndCreate(msg__, dst__, src__, mlmeCommandLength__, mlmeCommand__, dataRef1Length__, dataRef1__, dataRef2Length__, dataRef2__); \
453  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
454  }
455 
456 #define CsrWifiRouterCtrlHipIndSend(dst__, mlmeCommandLength__, mlmeCommand__, dataRef1Length__, dataRef1__, dataRef2Length__, dataRef2__) \
457  CsrWifiRouterCtrlHipIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, mlmeCommandLength__, mlmeCommand__, dataRef1Length__, dataRef1__, dataRef2Length__, dataRef2__)
458 
459 /*******************************************************************************
460 
461  NAME
462  CsrWifiRouterCtrlM4ReadyToSendIndSend
463 
464  DESCRIPTION
465 
466  PARAMETERS
467  queue - Destination Task Queue
468  clientData -
469  interfaceTag -
470  peerMacAddress -
471 
472 *******************************************************************************/
473 #define CsrWifiRouterCtrlM4ReadyToSendIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__) \
474  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlM4ReadyToSendInd), GFP_KERNEL); \
475  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_M4_READY_TO_SEND_IND, dst__, src__); \
476  msg__->clientData = (clientData__); \
477  msg__->interfaceTag = (interfaceTag__); \
478  msg__->peerMacAddress = (peerMacAddress__);
479 
480 #define CsrWifiRouterCtrlM4ReadyToSendIndSendTo(dst__, src__, clientData__, interfaceTag__, peerMacAddress__) \
481  { \
482  CsrWifiRouterCtrlM4ReadyToSendInd *msg__; \
483  CsrWifiRouterCtrlM4ReadyToSendIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__); \
484  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
485  }
486 
487 #define CsrWifiRouterCtrlM4ReadyToSendIndSend(dst__, clientData__, interfaceTag__, peerMacAddress__) \
488  CsrWifiRouterCtrlM4ReadyToSendIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, peerMacAddress__)
489 
490 /*******************************************************************************
491 
492  NAME
493  CsrWifiRouterCtrlM4TransmitReqSend
494 
495  DESCRIPTION
496 
497  PARAMETERS
498  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
499  interfaceTag -
500  clientData -
501 
502 *******************************************************************************/
503 #define CsrWifiRouterCtrlM4TransmitReqCreate(msg__, dst__, src__, interfaceTag__, clientData__) \
504  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlM4TransmitReq), GFP_KERNEL); \
505  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_M4_TRANSMIT_REQ, dst__, src__); \
506  msg__->interfaceTag = (interfaceTag__); \
507  msg__->clientData = (clientData__);
508 
509 #define CsrWifiRouterCtrlM4TransmitReqSendTo(dst__, src__, interfaceTag__, clientData__) \
510  { \
511  CsrWifiRouterCtrlM4TransmitReq *msg__; \
512  CsrWifiRouterCtrlM4TransmitReqCreate(msg__, dst__, src__, interfaceTag__, clientData__); \
513  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
514  }
515 
516 #define CsrWifiRouterCtrlM4TransmitReqSend(src__, interfaceTag__, clientData__) \
517  CsrWifiRouterCtrlM4TransmitReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__)
518 
519 /*******************************************************************************
520 
521  NAME
522  CsrWifiRouterCtrlM4TransmittedIndSend
523 
524  DESCRIPTION
525 
526  PARAMETERS
527  queue - Destination Task Queue
528  clientData -
529  interfaceTag -
530  peerMacAddress -
531  status -
532 
533 *******************************************************************************/
534 #define CsrWifiRouterCtrlM4TransmittedIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__, status__) \
535  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlM4TransmittedInd), GFP_KERNEL); \
536  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_M4_TRANSMITTED_IND, dst__, src__); \
537  msg__->clientData = (clientData__); \
538  msg__->interfaceTag = (interfaceTag__); \
539  msg__->peerMacAddress = (peerMacAddress__); \
540  msg__->status = (status__);
541 
542 #define CsrWifiRouterCtrlM4TransmittedIndSendTo(dst__, src__, clientData__, interfaceTag__, peerMacAddress__, status__) \
543  { \
544  CsrWifiRouterCtrlM4TransmittedInd *msg__; \
545  CsrWifiRouterCtrlM4TransmittedIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__, status__); \
546  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
547  }
548 
549 #define CsrWifiRouterCtrlM4TransmittedIndSend(dst__, clientData__, interfaceTag__, peerMacAddress__, status__) \
550  CsrWifiRouterCtrlM4TransmittedIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, peerMacAddress__, status__)
551 
552 /*******************************************************************************
553 
554  NAME
555  CsrWifiRouterCtrlMediaStatusReqSend
556 
557  DESCRIPTION
558 
559  PARAMETERS
560  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
561  interfaceTag -
562  clientData -
563  mediaStatus -
564 
565 *******************************************************************************/
566 #define CsrWifiRouterCtrlMediaStatusReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, mediaStatus__) \
567  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlMediaStatusReq), GFP_KERNEL); \
568  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_MEDIA_STATUS_REQ, dst__, src__); \
569  msg__->interfaceTag = (interfaceTag__); \
570  msg__->clientData = (clientData__); \
571  msg__->mediaStatus = (mediaStatus__);
572 
573 #define CsrWifiRouterCtrlMediaStatusReqSendTo(dst__, src__, interfaceTag__, clientData__, mediaStatus__) \
574  { \
575  CsrWifiRouterCtrlMediaStatusReq *msg__; \
576  CsrWifiRouterCtrlMediaStatusReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, mediaStatus__); \
577  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
578  }
579 
580 #define CsrWifiRouterCtrlMediaStatusReqSend(src__, interfaceTag__, clientData__, mediaStatus__) \
581  CsrWifiRouterCtrlMediaStatusReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, mediaStatus__)
582 
583 /*******************************************************************************
584 
585  NAME
586  CsrWifiRouterCtrlMicFailureIndSend
587 
588  DESCRIPTION
589 
590  PARAMETERS
591  queue - Destination Task Queue
592  clientData -
593  interfaceTag -
594  peerMacAddress -
595  unicastPdu -
596 
597 *******************************************************************************/
598 #define CsrWifiRouterCtrlMicFailureIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__, unicastPdu__) \
599  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlMicFailureInd), GFP_KERNEL); \
600  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_MIC_FAILURE_IND, dst__, src__); \
601  msg__->clientData = (clientData__); \
602  msg__->interfaceTag = (interfaceTag__); \
603  msg__->peerMacAddress = (peerMacAddress__); \
604  msg__->unicastPdu = (unicastPdu__);
605 
606 #define CsrWifiRouterCtrlMicFailureIndSendTo(dst__, src__, clientData__, interfaceTag__, peerMacAddress__, unicastPdu__) \
607  { \
608  CsrWifiRouterCtrlMicFailureInd *msg__; \
609  CsrWifiRouterCtrlMicFailureIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__, unicastPdu__); \
610  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
611  }
612 
613 #define CsrWifiRouterCtrlMicFailureIndSend(dst__, clientData__, interfaceTag__, peerMacAddress__, unicastPdu__) \
614  CsrWifiRouterCtrlMicFailureIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, peerMacAddress__, unicastPdu__)
615 
616 /*******************************************************************************
617 
618  NAME
619  CsrWifiRouterCtrlModeSetReqSend
620 
621  DESCRIPTION
622 
623  PARAMETERS
624  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
625  interfaceTag -
626  clientData -
627  mode -
628  bssid - BSSID of the network the device is going to be a part
629  of
630  protection - Set to TRUE if encryption is enabled for the
631  connection/broadcast frames
632  intraBssDistEnabled - If set to TRUE, intra BSS destribution will be
633  enabled. If set to FALSE, any unicast PDU which does
634  not have the RA as the the local MAC address, shall be
635  ignored. This field is interpreted by the receive if
636  mode is set to CSR_WIFI_ROUTER_CTRL_MODE_P2PGO
637 
638 *******************************************************************************/
639 #define CsrWifiRouterCtrlModeSetReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, mode__, bssid__, protection__, intraBssDistEnabled__) \
640  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlModeSetReq), GFP_KERNEL); \
641  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_MODE_SET_REQ, dst__, src__); \
642  msg__->interfaceTag = (interfaceTag__); \
643  msg__->clientData = (clientData__); \
644  msg__->mode = (mode__); \
645  msg__->bssid = (bssid__); \
646  msg__->protection = (protection__); \
647  msg__->intraBssDistEnabled = (intraBssDistEnabled__);
648 
649 #define CsrWifiRouterCtrlModeSetReqSendTo(dst__, src__, interfaceTag__, clientData__, mode__, bssid__, protection__, intraBssDistEnabled__) \
650  { \
651  CsrWifiRouterCtrlModeSetReq *msg__; \
652  CsrWifiRouterCtrlModeSetReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, mode__, bssid__, protection__, intraBssDistEnabled__); \
653  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
654  }
655 
656 #define CsrWifiRouterCtrlModeSetReqSend(src__, interfaceTag__, clientData__, mode__, bssid__, protection__, intraBssDistEnabled__) \
657  CsrWifiRouterCtrlModeSetReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, mode__, bssid__, protection__, intraBssDistEnabled__)
658 
659 /*******************************************************************************
660 
661  NAME
662  CsrWifiRouterCtrlModeSetCfmSend
663 
664  DESCRIPTION
665 
666  PARAMETERS
667  queue - Destination Task Queue
668  clientData -
669  interfaceTag -
670  mode -
671  status -
672 
673 *******************************************************************************/
674 #define CsrWifiRouterCtrlModeSetCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, mode__, status__) \
675  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlModeSetCfm), GFP_KERNEL); \
676  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_MODE_SET_CFM, dst__, src__); \
677  msg__->clientData = (clientData__); \
678  msg__->interfaceTag = (interfaceTag__); \
679  msg__->mode = (mode__); \
680  msg__->status = (status__);
681 
682 #define CsrWifiRouterCtrlModeSetCfmSendTo(dst__, src__, clientData__, interfaceTag__, mode__, status__) \
683  { \
684  CsrWifiRouterCtrlModeSetCfm *msg__; \
685  CsrWifiRouterCtrlModeSetCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, mode__, status__); \
686  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
687  }
688 
689 #define CsrWifiRouterCtrlModeSetCfmSend(dst__, clientData__, interfaceTag__, mode__, status__) \
690  CsrWifiRouterCtrlModeSetCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, mode__, status__)
691 
692 /*******************************************************************************
693 
694  NAME
695  CsrWifiRouterCtrlMulticastAddressIndSend
696 
697  DESCRIPTION
698 
699  PARAMETERS
700  queue - Destination Task Queue
701  clientData -
702  interfaceTag -
703  action -
704  setAddressesCount -
705  setAddresses -
706 
707 *******************************************************************************/
708 #define CsrWifiRouterCtrlMulticastAddressIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, action__, setAddressesCount__, setAddresses__) \
709  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlMulticastAddressInd), GFP_KERNEL); \
710  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_MULTICAST_ADDRESS_IND, dst__, src__); \
711  msg__->clientData = (clientData__); \
712  msg__->interfaceTag = (interfaceTag__); \
713  msg__->action = (action__); \
714  msg__->setAddressesCount = (setAddressesCount__); \
715  msg__->setAddresses = (setAddresses__);
716 
717 #define CsrWifiRouterCtrlMulticastAddressIndSendTo(dst__, src__, clientData__, interfaceTag__, action__, setAddressesCount__, setAddresses__) \
718  { \
719  CsrWifiRouterCtrlMulticastAddressInd *msg__; \
720  CsrWifiRouterCtrlMulticastAddressIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, action__, setAddressesCount__, setAddresses__); \
721  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
722  }
723 
724 #define CsrWifiRouterCtrlMulticastAddressIndSend(dst__, clientData__, interfaceTag__, action__, setAddressesCount__, setAddresses__) \
725  CsrWifiRouterCtrlMulticastAddressIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, action__, setAddressesCount__, setAddresses__)
726 
727 /*******************************************************************************
728 
729  NAME
730  CsrWifiRouterCtrlMulticastAddressResSend
731 
732  DESCRIPTION
733 
734  PARAMETERS
735  interfaceTag -
736  clientData -
737  status -
738  action -
739  getAddressesCount -
740  getAddresses -
741 
742 *******************************************************************************/
743 #define CsrWifiRouterCtrlMulticastAddressResCreate(msg__, dst__, src__, interfaceTag__, clientData__, status__, action__, getAddressesCount__, getAddresses__) \
744  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlMulticastAddressRes), GFP_KERNEL); \
745  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_MULTICAST_ADDRESS_RES, dst__, src__); \
746  msg__->interfaceTag = (interfaceTag__); \
747  msg__->clientData = (clientData__); \
748  msg__->status = (status__); \
749  msg__->action = (action__); \
750  msg__->getAddressesCount = (getAddressesCount__); \
751  msg__->getAddresses = (getAddresses__);
752 
753 #define CsrWifiRouterCtrlMulticastAddressResSendTo(dst__, src__, interfaceTag__, clientData__, status__, action__, getAddressesCount__, getAddresses__) \
754  { \
755  CsrWifiRouterCtrlMulticastAddressRes *msg__; \
756  CsrWifiRouterCtrlMulticastAddressResCreate(msg__, dst__, src__, interfaceTag__, clientData__, status__, action__, getAddressesCount__, getAddresses__); \
757  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
758  }
759 
760 #define CsrWifiRouterCtrlMulticastAddressResSend(src__, interfaceTag__, clientData__, status__, action__, getAddressesCount__, getAddresses__) \
761  CsrWifiRouterCtrlMulticastAddressResSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, status__, action__, getAddressesCount__, getAddresses__)
762 
763 /*******************************************************************************
764 
765  NAME
766  CsrWifiRouterCtrlPeerAddReqSend
767 
768  DESCRIPTION
769 
770  PARAMETERS
771  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
772  interfaceTag -
773  clientData -
774  peerMacAddress -
775  associationId -
776  staInfo -
777 
778 *******************************************************************************/
779 #define CsrWifiRouterCtrlPeerAddReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, peerMacAddress__, associationId__, staInfo__) \
780  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlPeerAddReq), GFP_KERNEL); \
781  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_PEER_ADD_REQ, dst__, src__); \
782  msg__->interfaceTag = (interfaceTag__); \
783  msg__->clientData = (clientData__); \
784  msg__->peerMacAddress = (peerMacAddress__); \
785  msg__->associationId = (associationId__); \
786  msg__->staInfo = (staInfo__);
787 
788 #define CsrWifiRouterCtrlPeerAddReqSendTo(dst__, src__, interfaceTag__, clientData__, peerMacAddress__, associationId__, staInfo__) \
789  { \
790  CsrWifiRouterCtrlPeerAddReq *msg__; \
791  CsrWifiRouterCtrlPeerAddReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, peerMacAddress__, associationId__, staInfo__); \
792  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
793  }
794 
795 #define CsrWifiRouterCtrlPeerAddReqSend(src__, interfaceTag__, clientData__, peerMacAddress__, associationId__, staInfo__) \
796  CsrWifiRouterCtrlPeerAddReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, peerMacAddress__, associationId__, staInfo__)
797 
798 /*******************************************************************************
799 
800  NAME
801  CsrWifiRouterCtrlPeerAddCfmSend
802 
803  DESCRIPTION
804 
805  PARAMETERS
806  queue - Destination Task Queue
807  clientData -
808  interfaceTag -
809  peerMacAddress -
810  peerRecordHandle -
811  status -
812 
813 *******************************************************************************/
814 #define CsrWifiRouterCtrlPeerAddCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__, peerRecordHandle__, status__) \
815  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlPeerAddCfm), GFP_KERNEL); \
816  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_PEER_ADD_CFM, dst__, src__); \
817  msg__->clientData = (clientData__); \
818  msg__->interfaceTag = (interfaceTag__); \
819  msg__->peerMacAddress = (peerMacAddress__); \
820  msg__->peerRecordHandle = (peerRecordHandle__); \
821  msg__->status = (status__);
822 
823 #define CsrWifiRouterCtrlPeerAddCfmSendTo(dst__, src__, clientData__, interfaceTag__, peerMacAddress__, peerRecordHandle__, status__) \
824  { \
825  CsrWifiRouterCtrlPeerAddCfm *msg__; \
826  CsrWifiRouterCtrlPeerAddCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__, peerRecordHandle__, status__); \
827  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
828  }
829 
830 #define CsrWifiRouterCtrlPeerAddCfmSend(dst__, clientData__, interfaceTag__, peerMacAddress__, peerRecordHandle__, status__) \
831  CsrWifiRouterCtrlPeerAddCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, peerMacAddress__, peerRecordHandle__, status__)
832 
833 /*******************************************************************************
834 
835  NAME
836  CsrWifiRouterCtrlPeerDelReqSend
837 
838  DESCRIPTION
839 
840  PARAMETERS
841  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
842  interfaceTag -
843  clientData -
844  peerRecordHandle -
845 
846 *******************************************************************************/
847 #define CsrWifiRouterCtrlPeerDelReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, peerRecordHandle__) \
848  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlPeerDelReq), GFP_KERNEL); \
849  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_PEER_DEL_REQ, dst__, src__); \
850  msg__->interfaceTag = (interfaceTag__); \
851  msg__->clientData = (clientData__); \
852  msg__->peerRecordHandle = (peerRecordHandle__);
853 
854 #define CsrWifiRouterCtrlPeerDelReqSendTo(dst__, src__, interfaceTag__, clientData__, peerRecordHandle__) \
855  { \
856  CsrWifiRouterCtrlPeerDelReq *msg__; \
857  CsrWifiRouterCtrlPeerDelReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, peerRecordHandle__); \
858  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
859  }
860 
861 #define CsrWifiRouterCtrlPeerDelReqSend(src__, interfaceTag__, clientData__, peerRecordHandle__) \
862  CsrWifiRouterCtrlPeerDelReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, peerRecordHandle__)
863 
864 /*******************************************************************************
865 
866  NAME
867  CsrWifiRouterCtrlPeerDelCfmSend
868 
869  DESCRIPTION
870 
871  PARAMETERS
872  queue - Destination Task Queue
873  clientData -
874  interfaceTag -
875  status -
876 
877 *******************************************************************************/
878 #define CsrWifiRouterCtrlPeerDelCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__) \
879  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlPeerDelCfm), GFP_KERNEL); \
880  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_PEER_DEL_CFM, dst__, src__); \
881  msg__->clientData = (clientData__); \
882  msg__->interfaceTag = (interfaceTag__); \
883  msg__->status = (status__);
884 
885 #define CsrWifiRouterCtrlPeerDelCfmSendTo(dst__, src__, clientData__, interfaceTag__, status__) \
886  { \
887  CsrWifiRouterCtrlPeerDelCfm *msg__; \
888  CsrWifiRouterCtrlPeerDelCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__); \
889  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
890  }
891 
892 #define CsrWifiRouterCtrlPeerDelCfmSend(dst__, clientData__, interfaceTag__, status__) \
893  CsrWifiRouterCtrlPeerDelCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, status__)
894 
895 /*******************************************************************************
896 
897  NAME
898  CsrWifiRouterCtrlPeerUpdateReqSend
899 
900  DESCRIPTION
901 
902  PARAMETERS
903  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
904  interfaceTag -
905  clientData -
906  peerRecordHandle -
907  powersaveMode -
908 
909 *******************************************************************************/
910 #define CsrWifiRouterCtrlPeerUpdateReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, peerRecordHandle__, powersaveMode__) \
911  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlPeerUpdateReq), GFP_KERNEL); \
912  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_PEER_UPDATE_REQ, dst__, src__); \
913  msg__->interfaceTag = (interfaceTag__); \
914  msg__->clientData = (clientData__); \
915  msg__->peerRecordHandle = (peerRecordHandle__); \
916  msg__->powersaveMode = (powersaveMode__);
917 
918 #define CsrWifiRouterCtrlPeerUpdateReqSendTo(dst__, src__, interfaceTag__, clientData__, peerRecordHandle__, powersaveMode__) \
919  { \
920  CsrWifiRouterCtrlPeerUpdateReq *msg__; \
921  CsrWifiRouterCtrlPeerUpdateReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, peerRecordHandle__, powersaveMode__); \
922  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
923  }
924 
925 #define CsrWifiRouterCtrlPeerUpdateReqSend(src__, interfaceTag__, clientData__, peerRecordHandle__, powersaveMode__) \
926  CsrWifiRouterCtrlPeerUpdateReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, peerRecordHandle__, powersaveMode__)
927 
928 /*******************************************************************************
929 
930  NAME
931  CsrWifiRouterCtrlPeerUpdateCfmSend
932 
933  DESCRIPTION
934 
935  PARAMETERS
936  queue - Destination Task Queue
937  clientData -
938  interfaceTag -
939  status -
940 
941 *******************************************************************************/
942 #define CsrWifiRouterCtrlPeerUpdateCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__) \
943  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlPeerUpdateCfm), GFP_KERNEL); \
944  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_PEER_UPDATE_CFM, dst__, src__); \
945  msg__->clientData = (clientData__); \
946  msg__->interfaceTag = (interfaceTag__); \
947  msg__->status = (status__);
948 
949 #define CsrWifiRouterCtrlPeerUpdateCfmSendTo(dst__, src__, clientData__, interfaceTag__, status__) \
950  { \
951  CsrWifiRouterCtrlPeerUpdateCfm *msg__; \
952  CsrWifiRouterCtrlPeerUpdateCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__); \
953  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
954  }
955 
956 #define CsrWifiRouterCtrlPeerUpdateCfmSend(dst__, clientData__, interfaceTag__, status__) \
957  CsrWifiRouterCtrlPeerUpdateCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, status__)
958 
959 /*******************************************************************************
960 
961  NAME
962  CsrWifiRouterCtrlPortConfigureReqSend
963 
964  DESCRIPTION
965 
966  PARAMETERS
967  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
968  interfaceTag -
969  clientData -
970  uncontrolledPortAction -
971  controlledPortAction -
972  macAddress -
973  setProtection -
974 
975 *******************************************************************************/
976 #define CsrWifiRouterCtrlPortConfigureReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, uncontrolledPortAction__, controlledPortAction__, macAddress__, setProtection__) \
977  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlPortConfigureReq), GFP_KERNEL); \
978  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_PORT_CONFIGURE_REQ, dst__, src__); \
979  msg__->interfaceTag = (interfaceTag__); \
980  msg__->clientData = (clientData__); \
981  msg__->uncontrolledPortAction = (uncontrolledPortAction__); \
982  msg__->controlledPortAction = (controlledPortAction__); \
983  msg__->macAddress = (macAddress__); \
984  msg__->setProtection = (setProtection__);
985 
986 #define CsrWifiRouterCtrlPortConfigureReqSendTo(dst__, src__, interfaceTag__, clientData__, uncontrolledPortAction__, controlledPortAction__, macAddress__, setProtection__) \
987  { \
988  CsrWifiRouterCtrlPortConfigureReq *msg__; \
989  CsrWifiRouterCtrlPortConfigureReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, uncontrolledPortAction__, controlledPortAction__, macAddress__, setProtection__); \
990  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
991  }
992 
993 #define CsrWifiRouterCtrlPortConfigureReqSend(src__, interfaceTag__, clientData__, uncontrolledPortAction__, controlledPortAction__, macAddress__, setProtection__) \
994  CsrWifiRouterCtrlPortConfigureReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, uncontrolledPortAction__, controlledPortAction__, macAddress__, setProtection__)
995 
996 /*******************************************************************************
997 
998  NAME
999  CsrWifiRouterCtrlPortConfigureCfmSend
1000 
1001  DESCRIPTION
1002 
1003  PARAMETERS
1004  queue - Destination Task Queue
1005  clientData -
1006  interfaceTag -
1007  status -
1008  macAddress -
1009 
1010 *******************************************************************************/
1011 #define CsrWifiRouterCtrlPortConfigureCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__, macAddress__) \
1012  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlPortConfigureCfm), GFP_KERNEL); \
1013  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_PORT_CONFIGURE_CFM, dst__, src__); \
1014  msg__->clientData = (clientData__); \
1015  msg__->interfaceTag = (interfaceTag__); \
1016  msg__->status = (status__); \
1017  msg__->macAddress = (macAddress__);
1018 
1019 #define CsrWifiRouterCtrlPortConfigureCfmSendTo(dst__, src__, clientData__, interfaceTag__, status__, macAddress__) \
1020  { \
1021  CsrWifiRouterCtrlPortConfigureCfm *msg__; \
1022  CsrWifiRouterCtrlPortConfigureCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__, macAddress__); \
1023  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1024  }
1025 
1026 #define CsrWifiRouterCtrlPortConfigureCfmSend(dst__, clientData__, interfaceTag__, status__, macAddress__) \
1027  CsrWifiRouterCtrlPortConfigureCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, status__, macAddress__)
1028 
1029 /*******************************************************************************
1030 
1031  NAME
1032  CsrWifiRouterCtrlQosControlReqSend
1033 
1034  DESCRIPTION
1035 
1036  PARAMETERS
1037  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1038  interfaceTag -
1039  clientData -
1040  control -
1041  queueConfig -
1042 
1043 *******************************************************************************/
1044 #define CsrWifiRouterCtrlQosControlReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, control__, queueConfig__) \
1045  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlQosControlReq), GFP_KERNEL); \
1046  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_REQ, dst__, src__); \
1047  msg__->interfaceTag = (interfaceTag__); \
1048  msg__->clientData = (clientData__); \
1049  msg__->control = (control__); \
1050  msg__->queueConfig = (queueConfig__);
1051 
1052 #define CsrWifiRouterCtrlQosControlReqSendTo(dst__, src__, interfaceTag__, clientData__, control__, queueConfig__) \
1053  { \
1054  CsrWifiRouterCtrlQosControlReq *msg__; \
1055  CsrWifiRouterCtrlQosControlReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, control__, queueConfig__); \
1056  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1057  }
1058 
1059 #define CsrWifiRouterCtrlQosControlReqSend(src__, interfaceTag__, clientData__, control__, queueConfig__) \
1060  CsrWifiRouterCtrlQosControlReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, control__, queueConfig__)
1061 
1062 /*******************************************************************************
1063 
1064  NAME
1065  CsrWifiRouterCtrlRawSdioDeinitialiseReqSend
1066 
1067  DESCRIPTION
1068 
1069  PARAMETERS
1070  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1071  clientData -
1072 
1073 *******************************************************************************/
1074 #define CsrWifiRouterCtrlRawSdioDeinitialiseReqCreate(msg__, dst__, src__, clientData__) \
1075  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlRawSdioDeinitialiseReq), GFP_KERNEL); \
1076  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_RAW_SDIO_DEINITIALISE_REQ, dst__, src__); \
1077  msg__->clientData = (clientData__);
1078 
1079 #define CsrWifiRouterCtrlRawSdioDeinitialiseReqSendTo(dst__, src__, clientData__) \
1080  { \
1081  CsrWifiRouterCtrlRawSdioDeinitialiseReq *msg__; \
1082  CsrWifiRouterCtrlRawSdioDeinitialiseReqCreate(msg__, dst__, src__, clientData__); \
1083  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1084  }
1085 
1086 #define CsrWifiRouterCtrlRawSdioDeinitialiseReqSend(src__, clientData__) \
1087  CsrWifiRouterCtrlRawSdioDeinitialiseReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, clientData__)
1088 
1089 /*******************************************************************************
1090 
1091  NAME
1092  CsrWifiRouterCtrlRawSdioDeinitialiseCfmSend
1093 
1094  DESCRIPTION
1095 
1096  PARAMETERS
1097  queue - Destination Task Queue
1098  clientData -
1099  result -
1100 
1101 *******************************************************************************/
1102 #define CsrWifiRouterCtrlRawSdioDeinitialiseCfmCreate(msg__, dst__, src__, clientData__, result__) \
1103  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlRawSdioDeinitialiseCfm), GFP_KERNEL); \
1104  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_RAW_SDIO_DEINITIALISE_CFM, dst__, src__); \
1105  msg__->clientData = (clientData__); \
1106  msg__->result = (result__);
1107 
1108 #define CsrWifiRouterCtrlRawSdioDeinitialiseCfmSendTo(dst__, src__, clientData__, result__) \
1109  { \
1110  CsrWifiRouterCtrlRawSdioDeinitialiseCfm *msg__; \
1111  CsrWifiRouterCtrlRawSdioDeinitialiseCfmCreate(msg__, dst__, src__, clientData__, result__); \
1112  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1113  }
1114 
1115 #define CsrWifiRouterCtrlRawSdioDeinitialiseCfmSend(dst__, clientData__, result__) \
1116  CsrWifiRouterCtrlRawSdioDeinitialiseCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, result__)
1117 
1118 /*******************************************************************************
1119 
1120  NAME
1121  CsrWifiRouterCtrlRawSdioInitialiseReqSend
1122 
1123  DESCRIPTION
1124 
1125  PARAMETERS
1126  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1127  clientData -
1128 
1129 *******************************************************************************/
1130 #define CsrWifiRouterCtrlRawSdioInitialiseReqCreate(msg__, dst__, src__, clientData__) \
1131  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlRawSdioInitialiseReq), GFP_KERNEL); \
1132  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_RAW_SDIO_INITIALISE_REQ, dst__, src__); \
1133  msg__->clientData = (clientData__);
1134 
1135 #define CsrWifiRouterCtrlRawSdioInitialiseReqSendTo(dst__, src__, clientData__) \
1136  { \
1137  CsrWifiRouterCtrlRawSdioInitialiseReq *msg__; \
1138  CsrWifiRouterCtrlRawSdioInitialiseReqCreate(msg__, dst__, src__, clientData__); \
1139  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1140  }
1141 
1142 #define CsrWifiRouterCtrlRawSdioInitialiseReqSend(src__, clientData__) \
1143  CsrWifiRouterCtrlRawSdioInitialiseReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, clientData__)
1144 
1145 /*******************************************************************************
1146 
1147  NAME
1148  CsrWifiRouterCtrlRawSdioInitialiseCfmSend
1149 
1150  DESCRIPTION
1151 
1152  PARAMETERS
1153  queue - Destination Task Queue
1154  clientData -
1155  result -
1156  byteRead -
1157  byteWrite -
1158  firmwareDownload -
1159  reset -
1160  coreDumpPrepare -
1161  byteBlockRead -
1162  gpRead16 -
1163  gpWrite16 -
1164 
1165 *******************************************************************************/
1166 #define CsrWifiRouterCtrlRawSdioInitialiseCfmCreate(msg__, dst__, src__, clientData__, result__, byteRead__, byteWrite__, firmwareDownload__, reset__, coreDumpPrepare__, byteBlockRead__, gpRead16__, gpWrite16__) \
1167  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlRawSdioInitialiseCfm), GFP_KERNEL); \
1168  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_RAW_SDIO_INITIALISE_CFM, dst__, src__); \
1169  msg__->clientData = (clientData__); \
1170  msg__->result = (result__); \
1171  msg__->byteRead = (byteRead__); \
1172  msg__->byteWrite = (byteWrite__); \
1173  msg__->firmwareDownload = (firmwareDownload__); \
1174  msg__->reset = (reset__); \
1175  msg__->coreDumpPrepare = (coreDumpPrepare__); \
1176  msg__->byteBlockRead = (byteBlockRead__); \
1177  msg__->gpRead16 = (gpRead16__); \
1178  msg__->gpWrite16 = (gpWrite16__);
1179 
1180 #define CsrWifiRouterCtrlRawSdioInitialiseCfmSendTo(dst__, src__, clientData__, result__, byteRead__, byteWrite__, firmwareDownload__, reset__, coreDumpPrepare__, byteBlockRead__, gpRead16__, gpWrite16__) \
1181  { \
1182  CsrWifiRouterCtrlRawSdioInitialiseCfm *msg__; \
1183  CsrWifiRouterCtrlRawSdioInitialiseCfmCreate(msg__, dst__, src__, clientData__, result__, byteRead__, byteWrite__, firmwareDownload__, reset__, coreDumpPrepare__, byteBlockRead__, gpRead16__, gpWrite16__); \
1184  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1185  }
1186 
1187 #define CsrWifiRouterCtrlRawSdioInitialiseCfmSend(dst__, clientData__, result__, byteRead__, byteWrite__, firmwareDownload__, reset__, coreDumpPrepare__, byteBlockRead__, gpRead16__, gpWrite16__) \
1188  CsrWifiRouterCtrlRawSdioInitialiseCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, result__, byteRead__, byteWrite__, firmwareDownload__, reset__, coreDumpPrepare__, byteBlockRead__, gpRead16__, gpWrite16__)
1189 
1190 /*******************************************************************************
1191 
1192  NAME
1193  CsrWifiRouterCtrlResumeIndSend
1194 
1195  DESCRIPTION
1196 
1197  PARAMETERS
1198  queue - Destination Task Queue
1199  clientData -
1200  powerMaintained -
1201 
1202 *******************************************************************************/
1203 #define CsrWifiRouterCtrlResumeIndCreate(msg__, dst__, src__, clientData__, powerMaintained__) \
1204  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlResumeInd), GFP_KERNEL); \
1205  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_RESUME_IND, dst__, src__); \
1206  msg__->clientData = (clientData__); \
1207  msg__->powerMaintained = (powerMaintained__);
1208 
1209 #define CsrWifiRouterCtrlResumeIndSendTo(dst__, src__, clientData__, powerMaintained__) \
1210  { \
1211  CsrWifiRouterCtrlResumeInd *msg__; \
1212  CsrWifiRouterCtrlResumeIndCreate(msg__, dst__, src__, clientData__, powerMaintained__); \
1213  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1214  }
1215 
1216 #define CsrWifiRouterCtrlResumeIndSend(dst__, clientData__, powerMaintained__) \
1217  CsrWifiRouterCtrlResumeIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, powerMaintained__)
1218 
1219 /*******************************************************************************
1220 
1221  NAME
1222  CsrWifiRouterCtrlResumeResSend
1223 
1224  DESCRIPTION
1225 
1226  PARAMETERS
1227  clientData -
1228  status -
1229 
1230 *******************************************************************************/
1231 #define CsrWifiRouterCtrlResumeResCreate(msg__, dst__, src__, clientData__, status__) \
1232  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlResumeRes), GFP_KERNEL); \
1233  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_RESUME_RES, dst__, src__); \
1234  msg__->clientData = (clientData__); \
1235  msg__->status = (status__);
1236 
1237 #define CsrWifiRouterCtrlResumeResSendTo(dst__, src__, clientData__, status__) \
1238  { \
1239  CsrWifiRouterCtrlResumeRes *msg__; \
1240  CsrWifiRouterCtrlResumeResCreate(msg__, dst__, src__, clientData__, status__); \
1241  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1242  }
1243 
1244 #define CsrWifiRouterCtrlResumeResSend(src__, clientData__, status__) \
1245  CsrWifiRouterCtrlResumeResSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, clientData__, status__)
1246 
1247 /*******************************************************************************
1248 
1249  NAME
1250  CsrWifiRouterCtrlStaInactiveIndSend
1251 
1252  DESCRIPTION
1253 
1254  PARAMETERS
1255  queue - Destination Task Queue
1256  clientData -
1257  interfaceTag -
1258  staAddress -
1259 
1260 *******************************************************************************/
1261 #define CsrWifiRouterCtrlStaInactiveIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, staAddress__) \
1262  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlStaInactiveInd), GFP_KERNEL); \
1263  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_STA_INACTIVE_IND, dst__, src__); \
1264  msg__->clientData = (clientData__); \
1265  msg__->interfaceTag = (interfaceTag__); \
1266  msg__->staAddress = (staAddress__);
1267 
1268 #define CsrWifiRouterCtrlStaInactiveIndSendTo(dst__, src__, clientData__, interfaceTag__, staAddress__) \
1269  { \
1270  CsrWifiRouterCtrlStaInactiveInd *msg__; \
1271  CsrWifiRouterCtrlStaInactiveIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, staAddress__); \
1272  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1273  }
1274 
1275 #define CsrWifiRouterCtrlStaInactiveIndSend(dst__, clientData__, interfaceTag__, staAddress__) \
1276  CsrWifiRouterCtrlStaInactiveIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, staAddress__)
1277 
1278 /*******************************************************************************
1279 
1280  NAME
1281  CsrWifiRouterCtrlSuspendIndSend
1282 
1283  DESCRIPTION
1284 
1285  PARAMETERS
1286  queue - Destination Task Queue
1287  clientData -
1288  hardSuspend -
1289  d3Suspend -
1290 
1291 *******************************************************************************/
1292 #define CsrWifiRouterCtrlSuspendIndCreate(msg__, dst__, src__, clientData__, hardSuspend__, d3Suspend__) \
1293  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlSuspendInd), GFP_KERNEL); \
1294  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_SUSPEND_IND, dst__, src__); \
1295  msg__->clientData = (clientData__); \
1296  msg__->hardSuspend = (hardSuspend__); \
1297  msg__->d3Suspend = (d3Suspend__);
1298 
1299 #define CsrWifiRouterCtrlSuspendIndSendTo(dst__, src__, clientData__, hardSuspend__, d3Suspend__) \
1300  { \
1301  CsrWifiRouterCtrlSuspendInd *msg__; \
1302  CsrWifiRouterCtrlSuspendIndCreate(msg__, dst__, src__, clientData__, hardSuspend__, d3Suspend__); \
1303  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1304  }
1305 
1306 #define CsrWifiRouterCtrlSuspendIndSend(dst__, clientData__, hardSuspend__, d3Suspend__) \
1307  CsrWifiRouterCtrlSuspendIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, hardSuspend__, d3Suspend__)
1308 
1309 /*******************************************************************************
1310 
1311  NAME
1312  CsrWifiRouterCtrlSuspendResSend
1313 
1314  DESCRIPTION
1315 
1316  PARAMETERS
1317  clientData -
1318  status -
1319 
1320 *******************************************************************************/
1321 #define CsrWifiRouterCtrlSuspendResCreate(msg__, dst__, src__, clientData__, status__) \
1322  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlSuspendRes), GFP_KERNEL); \
1323  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_SUSPEND_RES, dst__, src__); \
1324  msg__->clientData = (clientData__); \
1325  msg__->status = (status__);
1326 
1327 #define CsrWifiRouterCtrlSuspendResSendTo(dst__, src__, clientData__, status__) \
1328  { \
1329  CsrWifiRouterCtrlSuspendRes *msg__; \
1330  CsrWifiRouterCtrlSuspendResCreate(msg__, dst__, src__, clientData__, status__); \
1331  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1332  }
1333 
1334 #define CsrWifiRouterCtrlSuspendResSend(src__, clientData__, status__) \
1335  CsrWifiRouterCtrlSuspendResSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, clientData__, status__)
1336 
1337 /*******************************************************************************
1338 
1339  NAME
1340  CsrWifiRouterCtrlTclasAddReqSend
1341 
1342  DESCRIPTION
1343 
1344  PARAMETERS
1345  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1346  interfaceTag -
1347  clientData -
1348  tclasLength -
1349  tclas -
1350 
1351 *******************************************************************************/
1352 #define CsrWifiRouterCtrlTclasAddReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, tclasLength__, tclas__) \
1353  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlTclasAddReq), GFP_KERNEL); \
1354  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_TCLAS_ADD_REQ, dst__, src__); \
1355  msg__->interfaceTag = (interfaceTag__); \
1356  msg__->clientData = (clientData__); \
1357  msg__->tclasLength = (tclasLength__); \
1358  msg__->tclas = (tclas__);
1359 
1360 #define CsrWifiRouterCtrlTclasAddReqSendTo(dst__, src__, interfaceTag__, clientData__, tclasLength__, tclas__) \
1361  { \
1362  CsrWifiRouterCtrlTclasAddReq *msg__; \
1363  CsrWifiRouterCtrlTclasAddReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, tclasLength__, tclas__); \
1364  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1365  }
1366 
1367 #define CsrWifiRouterCtrlTclasAddReqSend(src__, interfaceTag__, clientData__, tclasLength__, tclas__) \
1368  CsrWifiRouterCtrlTclasAddReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, tclasLength__, tclas__)
1369 
1370 /*******************************************************************************
1371 
1372  NAME
1373  CsrWifiRouterCtrlTclasAddCfmSend
1374 
1375  DESCRIPTION
1376 
1377  PARAMETERS
1378  queue - Destination Task Queue
1379  clientData -
1380  interfaceTag -
1381  status -
1382 
1383 *******************************************************************************/
1384 #define CsrWifiRouterCtrlTclasAddCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__) \
1385  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlTclasAddCfm), GFP_KERNEL); \
1386  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_TCLAS_ADD_CFM, dst__, src__); \
1387  msg__->clientData = (clientData__); \
1388  msg__->interfaceTag = (interfaceTag__); \
1389  msg__->status = (status__);
1390 
1391 #define CsrWifiRouterCtrlTclasAddCfmSendTo(dst__, src__, clientData__, interfaceTag__, status__) \
1392  { \
1393  CsrWifiRouterCtrlTclasAddCfm *msg__; \
1394  CsrWifiRouterCtrlTclasAddCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__); \
1395  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1396  }
1397 
1398 #define CsrWifiRouterCtrlTclasAddCfmSend(dst__, clientData__, interfaceTag__, status__) \
1399  CsrWifiRouterCtrlTclasAddCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, status__)
1400 
1401 /*******************************************************************************
1402 
1403  NAME
1404  CsrWifiRouterCtrlTclasDelReqSend
1405 
1406  DESCRIPTION
1407 
1408  PARAMETERS
1409  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1410  interfaceTag -
1411  clientData -
1412  tclasLength -
1413  tclas -
1414 
1415 *******************************************************************************/
1416 #define CsrWifiRouterCtrlTclasDelReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, tclasLength__, tclas__) \
1417  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlTclasDelReq), GFP_KERNEL); \
1418  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_TCLAS_DEL_REQ, dst__, src__); \
1419  msg__->interfaceTag = (interfaceTag__); \
1420  msg__->clientData = (clientData__); \
1421  msg__->tclasLength = (tclasLength__); \
1422  msg__->tclas = (tclas__);
1423 
1424 #define CsrWifiRouterCtrlTclasDelReqSendTo(dst__, src__, interfaceTag__, clientData__, tclasLength__, tclas__) \
1425  { \
1426  CsrWifiRouterCtrlTclasDelReq *msg__; \
1427  CsrWifiRouterCtrlTclasDelReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, tclasLength__, tclas__); \
1428  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1429  }
1430 
1431 #define CsrWifiRouterCtrlTclasDelReqSend(src__, interfaceTag__, clientData__, tclasLength__, tclas__) \
1432  CsrWifiRouterCtrlTclasDelReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, tclasLength__, tclas__)
1433 
1434 /*******************************************************************************
1435 
1436  NAME
1437  CsrWifiRouterCtrlTclasDelCfmSend
1438 
1439  DESCRIPTION
1440 
1441  PARAMETERS
1442  queue - Destination Task Queue
1443  clientData -
1444  interfaceTag -
1445  status -
1446 
1447 *******************************************************************************/
1448 #define CsrWifiRouterCtrlTclasDelCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__) \
1449  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlTclasDelCfm), GFP_KERNEL); \
1450  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_TCLAS_DEL_CFM, dst__, src__); \
1451  msg__->clientData = (clientData__); \
1452  msg__->interfaceTag = (interfaceTag__); \
1453  msg__->status = (status__);
1454 
1455 #define CsrWifiRouterCtrlTclasDelCfmSendTo(dst__, src__, clientData__, interfaceTag__, status__) \
1456  { \
1457  CsrWifiRouterCtrlTclasDelCfm *msg__; \
1458  CsrWifiRouterCtrlTclasDelCfmCreate(msg__, dst__, src__, clientData__, interfaceTag__, status__); \
1459  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1460  }
1461 
1462 #define CsrWifiRouterCtrlTclasDelCfmSend(dst__, clientData__, interfaceTag__, status__) \
1463  CsrWifiRouterCtrlTclasDelCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, status__)
1464 
1465 /*******************************************************************************
1466 
1467  NAME
1468  CsrWifiRouterCtrlTrafficClassificationReqSend
1469 
1470  DESCRIPTION
1471 
1472  PARAMETERS
1473  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1474  interfaceTag -
1475  clientData -
1476  trafficType -
1477  period -
1478 
1479 *******************************************************************************/
1480 #define CsrWifiRouterCtrlTrafficClassificationReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, trafficType__, period__) \
1481  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlTrafficClassificationReq), GFP_KERNEL); \
1482  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_TRAFFIC_CLASSIFICATION_REQ, dst__, src__); \
1483  msg__->interfaceTag = (interfaceTag__); \
1484  msg__->clientData = (clientData__); \
1485  msg__->trafficType = (trafficType__); \
1486  msg__->period = (period__);
1487 
1488 #define CsrWifiRouterCtrlTrafficClassificationReqSendTo(dst__, src__, interfaceTag__, clientData__, trafficType__, period__) \
1489  { \
1490  CsrWifiRouterCtrlTrafficClassificationReq *msg__; \
1491  CsrWifiRouterCtrlTrafficClassificationReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, trafficType__, period__); \
1492  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1493  }
1494 
1495 #define CsrWifiRouterCtrlTrafficClassificationReqSend(src__, interfaceTag__, clientData__, trafficType__, period__) \
1496  CsrWifiRouterCtrlTrafficClassificationReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, trafficType__, period__)
1497 
1498 /*******************************************************************************
1499 
1500  NAME
1501  CsrWifiRouterCtrlTrafficConfigReqSend
1502 
1503  DESCRIPTION
1504 
1505  PARAMETERS
1506  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1507  interfaceTag -
1508  clientData -
1509  trafficConfigType -
1510  config -
1511 
1512 *******************************************************************************/
1513 #define CsrWifiRouterCtrlTrafficConfigReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, trafficConfigType__, config__) \
1514  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlTrafficConfigReq), GFP_KERNEL); \
1515  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_REQ, dst__, src__); \
1516  msg__->interfaceTag = (interfaceTag__); \
1517  msg__->clientData = (clientData__); \
1518  msg__->trafficConfigType = (trafficConfigType__); \
1519  msg__->config = (config__);
1520 
1521 #define CsrWifiRouterCtrlTrafficConfigReqSendTo(dst__, src__, interfaceTag__, clientData__, trafficConfigType__, config__) \
1522  { \
1523  CsrWifiRouterCtrlTrafficConfigReq *msg__; \
1524  CsrWifiRouterCtrlTrafficConfigReqCreate(msg__, dst__, src__, interfaceTag__, clientData__, trafficConfigType__, config__); \
1525  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1526  }
1527 
1528 #define CsrWifiRouterCtrlTrafficConfigReqSend(src__, interfaceTag__, clientData__, trafficConfigType__, config__) \
1529  CsrWifiRouterCtrlTrafficConfigReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, clientData__, trafficConfigType__, config__)
1530 
1531 /*******************************************************************************
1532 
1533  NAME
1534  CsrWifiRouterCtrlTrafficProtocolIndSend
1535 
1536  DESCRIPTION
1537 
1538  PARAMETERS
1539  queue - Destination Task Queue
1540  clientData -
1541  interfaceTag -
1542  packetType -
1543  direction -
1544  srcAddress -
1545 
1546 *******************************************************************************/
1547 #define CsrWifiRouterCtrlTrafficProtocolIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, packetType__, direction__, srcAddress__) \
1548  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlTrafficProtocolInd), GFP_KERNEL); \
1549  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_TRAFFIC_PROTOCOL_IND, dst__, src__); \
1550  msg__->clientData = (clientData__); \
1551  msg__->interfaceTag = (interfaceTag__); \
1552  msg__->packetType = (packetType__); \
1553  msg__->direction = (direction__); \
1554  msg__->srcAddress = (srcAddress__);
1555 
1556 #define CsrWifiRouterCtrlTrafficProtocolIndSendTo(dst__, src__, clientData__, interfaceTag__, packetType__, direction__, srcAddress__) \
1557  { \
1558  CsrWifiRouterCtrlTrafficProtocolInd *msg__; \
1559  CsrWifiRouterCtrlTrafficProtocolIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, packetType__, direction__, srcAddress__); \
1560  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1561  }
1562 
1563 #define CsrWifiRouterCtrlTrafficProtocolIndSend(dst__, clientData__, interfaceTag__, packetType__, direction__, srcAddress__) \
1564  CsrWifiRouterCtrlTrafficProtocolIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, packetType__, direction__, srcAddress__)
1565 
1566 /*******************************************************************************
1567 
1568  NAME
1569  CsrWifiRouterCtrlTrafficSampleIndSend
1570 
1571  DESCRIPTION
1572 
1573  PARAMETERS
1574  queue - Destination Task Queue
1575  clientData -
1576  interfaceTag -
1577  stats -
1578 
1579 *******************************************************************************/
1580 #define CsrWifiRouterCtrlTrafficSampleIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, stats__) \
1581  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlTrafficSampleInd), GFP_KERNEL); \
1582  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_TRAFFIC_SAMPLE_IND, dst__, src__); \
1583  msg__->clientData = (clientData__); \
1584  msg__->interfaceTag = (interfaceTag__); \
1585  msg__->stats = (stats__);
1586 
1587 #define CsrWifiRouterCtrlTrafficSampleIndSendTo(dst__, src__, clientData__, interfaceTag__, stats__) \
1588  { \
1589  CsrWifiRouterCtrlTrafficSampleInd *msg__; \
1590  CsrWifiRouterCtrlTrafficSampleIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, stats__); \
1591  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1592  }
1593 
1594 #define CsrWifiRouterCtrlTrafficSampleIndSend(dst__, clientData__, interfaceTag__, stats__) \
1595  CsrWifiRouterCtrlTrafficSampleIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, stats__)
1596 
1597 /*******************************************************************************
1598 
1599  NAME
1600  CsrWifiRouterCtrlUnexpectedFrameIndSend
1601 
1602  DESCRIPTION
1603 
1604  PARAMETERS
1605  queue - Destination Task Queue
1606  clientData -
1607  interfaceTag -
1608  peerMacAddress -
1609 
1610 *******************************************************************************/
1611 #define CsrWifiRouterCtrlUnexpectedFrameIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__) \
1612  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlUnexpectedFrameInd), GFP_KERNEL); \
1613  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_UNEXPECTED_FRAME_IND, dst__, src__); \
1614  msg__->clientData = (clientData__); \
1615  msg__->interfaceTag = (interfaceTag__); \
1616  msg__->peerMacAddress = (peerMacAddress__);
1617 
1618 #define CsrWifiRouterCtrlUnexpectedFrameIndSendTo(dst__, src__, clientData__, interfaceTag__, peerMacAddress__) \
1619  { \
1620  CsrWifiRouterCtrlUnexpectedFrameInd *msg__; \
1621  CsrWifiRouterCtrlUnexpectedFrameIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, peerMacAddress__); \
1622  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1623  }
1624 
1625 #define CsrWifiRouterCtrlUnexpectedFrameIndSend(dst__, clientData__, interfaceTag__, peerMacAddress__) \
1626  CsrWifiRouterCtrlUnexpectedFrameIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, peerMacAddress__)
1627 
1628 /*******************************************************************************
1629 
1630  NAME
1631  CsrWifiRouterCtrlWapiFilterReqSend
1632 
1633  DESCRIPTION
1634 
1635  PARAMETERS
1636  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1637  interfaceTag -
1638  isWapiConnected -
1639 
1640 *******************************************************************************/
1641 #define CsrWifiRouterCtrlWapiFilterReqCreate(msg__, dst__, src__, interfaceTag__, isWapiConnected__) \
1642  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWapiFilterReq), GFP_KERNEL); \
1643  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WAPI_FILTER_REQ, dst__, src__); \
1644  msg__->interfaceTag = (interfaceTag__); \
1645  msg__->isWapiConnected = (isWapiConnected__);
1646 
1647 #define CsrWifiRouterCtrlWapiFilterReqSendTo(dst__, src__, interfaceTag__, isWapiConnected__) \
1648  { \
1649  CsrWifiRouterCtrlWapiFilterReq *msg__; \
1650  CsrWifiRouterCtrlWapiFilterReqCreate(msg__, dst__, src__, interfaceTag__, isWapiConnected__); \
1651  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1652  }
1653 
1654 #define CsrWifiRouterCtrlWapiFilterReqSend(src__, interfaceTag__, isWapiConnected__) \
1655  CsrWifiRouterCtrlWapiFilterReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, isWapiConnected__)
1656 
1657 /*******************************************************************************
1658 
1659  NAME
1660  CsrWifiRouterCtrlWapiMulticastFilterReqSend
1661 
1662  DESCRIPTION
1663 
1664  PARAMETERS
1665  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1666  interfaceTag -
1667  status -
1668 
1669 *******************************************************************************/
1670 #define CsrWifiRouterCtrlWapiMulticastFilterReqCreate(msg__, dst__, src__, interfaceTag__, status__) \
1671  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWapiMulticastFilterReq), GFP_KERNEL); \
1672  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WAPI_MULTICAST_FILTER_REQ, dst__, src__); \
1673  msg__->interfaceTag = (interfaceTag__); \
1674  msg__->status = (status__);
1675 
1676 #define CsrWifiRouterCtrlWapiMulticastFilterReqSendTo(dst__, src__, interfaceTag__, status__) \
1677  { \
1678  CsrWifiRouterCtrlWapiMulticastFilterReq *msg__; \
1679  CsrWifiRouterCtrlWapiMulticastFilterReqCreate(msg__, dst__, src__, interfaceTag__, status__); \
1680  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1681  }
1682 
1683 #define CsrWifiRouterCtrlWapiMulticastFilterReqSend(src__, interfaceTag__, status__) \
1684  CsrWifiRouterCtrlWapiMulticastFilterReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, status__)
1685 
1686 /*******************************************************************************
1687 
1688  NAME
1689  CsrWifiRouterCtrlWapiRxMicCheckIndSend
1690 
1691  DESCRIPTION
1692 
1693  PARAMETERS
1694  queue - Destination Task Queue
1695  clientData -
1696  interfaceTag -
1697  signalLength -
1698  signal -
1699  dataLength -
1700  data -
1701 
1702 *******************************************************************************/
1703 #define CsrWifiRouterCtrlWapiRxMicCheckIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, signalLength__, signal__, dataLength__, data__) \
1704  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWapiRxMicCheckInd), GFP_KERNEL); \
1705  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WAPI_RX_MIC_CHECK_IND, dst__, src__); \
1706  msg__->clientData = (clientData__); \
1707  msg__->interfaceTag = (interfaceTag__); \
1708  msg__->signalLength = (signalLength__); \
1709  msg__->signal = (signal__); \
1710  msg__->dataLength = (dataLength__); \
1711  msg__->data = (data__);
1712 
1713 #define CsrWifiRouterCtrlWapiRxMicCheckIndSendTo(dst__, src__, clientData__, interfaceTag__, signalLength__, signal__, dataLength__, data__) \
1714  { \
1715  CsrWifiRouterCtrlWapiRxMicCheckInd *msg__; \
1716  CsrWifiRouterCtrlWapiRxMicCheckIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, signalLength__, signal__, dataLength__, data__); \
1717  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1718  }
1719 
1720 #define CsrWifiRouterCtrlWapiRxMicCheckIndSend(dst__, clientData__, interfaceTag__, signalLength__, signal__, dataLength__, data__) \
1721  CsrWifiRouterCtrlWapiRxMicCheckIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, signalLength__, signal__, dataLength__, data__)
1722 
1723 /*******************************************************************************
1724 
1725  NAME
1726  CsrWifiRouterCtrlWapiRxPktReqSend
1727 
1728  DESCRIPTION
1729 
1730  PARAMETERS
1731  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1732  interfaceTag -
1733  signalLength -
1734  signal -
1735  dataLength -
1736  data -
1737 
1738 *******************************************************************************/
1739 #define CsrWifiRouterCtrlWapiRxPktReqCreate(msg__, dst__, src__, interfaceTag__, signalLength__, signal__, dataLength__, data__) \
1740  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWapiRxPktReq), GFP_KERNEL); \
1741  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WAPI_RX_PKT_REQ, dst__, src__); \
1742  msg__->interfaceTag = (interfaceTag__); \
1743  msg__->signalLength = (signalLength__); \
1744  msg__->signal = (signal__); \
1745  msg__->dataLength = (dataLength__); \
1746  msg__->data = (data__);
1747 
1748 #define CsrWifiRouterCtrlWapiRxPktReqSendTo(dst__, src__, interfaceTag__, signalLength__, signal__, dataLength__, data__) \
1749  { \
1750  CsrWifiRouterCtrlWapiRxPktReq *msg__; \
1751  CsrWifiRouterCtrlWapiRxPktReqCreate(msg__, dst__, src__, interfaceTag__, signalLength__, signal__, dataLength__, data__); \
1752  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1753  }
1754 
1755 #define CsrWifiRouterCtrlWapiRxPktReqSend(src__, interfaceTag__, signalLength__, signal__, dataLength__, data__) \
1756  CsrWifiRouterCtrlWapiRxPktReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, signalLength__, signal__, dataLength__, data__)
1757 
1758 /*******************************************************************************
1759 
1760  NAME
1761  CsrWifiRouterCtrlWapiUnicastFilterReqSend
1762 
1763  DESCRIPTION
1764 
1765  PARAMETERS
1766  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1767  interfaceTag -
1768  status -
1769 
1770 *******************************************************************************/
1771 #define CsrWifiRouterCtrlWapiUnicastFilterReqCreate(msg__, dst__, src__, interfaceTag__, status__) \
1772  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWapiUnicastFilterReq), GFP_KERNEL); \
1773  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WAPI_UNICAST_FILTER_REQ, dst__, src__); \
1774  msg__->interfaceTag = (interfaceTag__); \
1775  msg__->status = (status__);
1776 
1777 #define CsrWifiRouterCtrlWapiUnicastFilterReqSendTo(dst__, src__, interfaceTag__, status__) \
1778  { \
1779  CsrWifiRouterCtrlWapiUnicastFilterReq *msg__; \
1780  CsrWifiRouterCtrlWapiUnicastFilterReqCreate(msg__, dst__, src__, interfaceTag__, status__); \
1781  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1782  }
1783 
1784 #define CsrWifiRouterCtrlWapiUnicastFilterReqSend(src__, interfaceTag__, status__) \
1785  CsrWifiRouterCtrlWapiUnicastFilterReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, status__)
1786 
1787 /*******************************************************************************
1788 
1789  NAME
1790  CsrWifiRouterCtrlWapiUnicastTxEncryptIndSend
1791 
1792  DESCRIPTION
1793 
1794  PARAMETERS
1795  queue - Destination Task Queue
1796  clientData -
1797  interfaceTag -
1798  dataLength -
1799  data -
1800 
1801 *******************************************************************************/
1802 #define CsrWifiRouterCtrlWapiUnicastTxEncryptIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, dataLength__, data__) \
1803  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWapiUnicastTxEncryptInd), GFP_KERNEL); \
1804  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WAPI_UNICAST_TX_ENCRYPT_IND, dst__, src__); \
1805  msg__->clientData = (clientData__); \
1806  msg__->interfaceTag = (interfaceTag__); \
1807  msg__->dataLength = (dataLength__); \
1808  msg__->data = (data__);
1809 
1810 #define CsrWifiRouterCtrlWapiUnicastTxEncryptIndSendTo(dst__, src__, clientData__, interfaceTag__, dataLength__, data__) \
1811  { \
1812  CsrWifiRouterCtrlWapiUnicastTxEncryptInd *msg__; \
1813  CsrWifiRouterCtrlWapiUnicastTxEncryptIndCreate(msg__, dst__, src__, clientData__, interfaceTag__, dataLength__, data__); \
1814  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1815  }
1816 
1817 #define CsrWifiRouterCtrlWapiUnicastTxEncryptIndSend(dst__, clientData__, interfaceTag__, dataLength__, data__) \
1818  CsrWifiRouterCtrlWapiUnicastTxEncryptIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, interfaceTag__, dataLength__, data__)
1819 
1820 /*******************************************************************************
1821 
1822  NAME
1823  CsrWifiRouterCtrlWapiUnicastTxPktReqSend
1824 
1825  DESCRIPTION
1826 
1827  PARAMETERS
1828  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1829  interfaceTag -
1830  dataLength -
1831  data -
1832 
1833 *******************************************************************************/
1834 #define CsrWifiRouterCtrlWapiUnicastTxPktReqCreate(msg__, dst__, src__, interfaceTag__, dataLength__, data__) \
1835  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWapiUnicastTxPktReq), GFP_KERNEL); \
1836  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WAPI_UNICAST_TX_PKT_REQ, dst__, src__); \
1837  msg__->interfaceTag = (interfaceTag__); \
1838  msg__->dataLength = (dataLength__); \
1839  msg__->data = (data__);
1840 
1841 #define CsrWifiRouterCtrlWapiUnicastTxPktReqSendTo(dst__, src__, interfaceTag__, dataLength__, data__) \
1842  { \
1843  CsrWifiRouterCtrlWapiUnicastTxPktReq *msg__; \
1844  CsrWifiRouterCtrlWapiUnicastTxPktReqCreate(msg__, dst__, src__, interfaceTag__, dataLength__, data__); \
1845  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1846  }
1847 
1848 #define CsrWifiRouterCtrlWapiUnicastTxPktReqSend(src__, interfaceTag__, dataLength__, data__) \
1849  CsrWifiRouterCtrlWapiUnicastTxPktReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, interfaceTag__, dataLength__, data__)
1850 
1851 /*******************************************************************************
1852 
1853  NAME
1854  CsrWifiRouterCtrlWifiOffReqSend
1855 
1856  DESCRIPTION
1857 
1858  PARAMETERS
1859  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1860  clientData -
1861 
1862 *******************************************************************************/
1863 #define CsrWifiRouterCtrlWifiOffReqCreate(msg__, dst__, src__, clientData__) \
1864  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWifiOffReq), GFP_KERNEL); \
1865  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WIFI_OFF_REQ, dst__, src__); \
1866  msg__->clientData = (clientData__);
1867 
1868 #define CsrWifiRouterCtrlWifiOffReqSendTo(dst__, src__, clientData__) \
1869  { \
1870  CsrWifiRouterCtrlWifiOffReq *msg__; \
1871  CsrWifiRouterCtrlWifiOffReqCreate(msg__, dst__, src__, clientData__); \
1872  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1873  }
1874 
1875 #define CsrWifiRouterCtrlWifiOffReqSend(src__, clientData__) \
1876  CsrWifiRouterCtrlWifiOffReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, clientData__)
1877 
1878 /*******************************************************************************
1879 
1880  NAME
1881  CsrWifiRouterCtrlWifiOffIndSend
1882 
1883  DESCRIPTION
1884 
1885  PARAMETERS
1886  queue - Destination Task Queue
1887  clientData -
1888  controlIndication -
1889 
1890 *******************************************************************************/
1891 #define CsrWifiRouterCtrlWifiOffIndCreate(msg__, dst__, src__, clientData__, controlIndication__) \
1892  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWifiOffInd), GFP_KERNEL); \
1893  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WIFI_OFF_IND, dst__, src__); \
1894  msg__->clientData = (clientData__); \
1895  msg__->controlIndication = (controlIndication__);
1896 
1897 #define CsrWifiRouterCtrlWifiOffIndSendTo(dst__, src__, clientData__, controlIndication__) \
1898  { \
1899  CsrWifiRouterCtrlWifiOffInd *msg__; \
1900  CsrWifiRouterCtrlWifiOffIndCreate(msg__, dst__, src__, clientData__, controlIndication__); \
1901  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1902  }
1903 
1904 #define CsrWifiRouterCtrlWifiOffIndSend(dst__, clientData__, controlIndication__) \
1905  CsrWifiRouterCtrlWifiOffIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, controlIndication__)
1906 
1907 /*******************************************************************************
1908 
1909  NAME
1910  CsrWifiRouterCtrlWifiOffResSend
1911 
1912  DESCRIPTION
1913 
1914  PARAMETERS
1915  clientData -
1916 
1917 *******************************************************************************/
1918 #define CsrWifiRouterCtrlWifiOffResCreate(msg__, dst__, src__, clientData__) \
1919  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWifiOffRes), GFP_KERNEL); \
1920  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WIFI_OFF_RES, dst__, src__); \
1921  msg__->clientData = (clientData__);
1922 
1923 #define CsrWifiRouterCtrlWifiOffResSendTo(dst__, src__, clientData__) \
1924  { \
1925  CsrWifiRouterCtrlWifiOffRes *msg__; \
1926  CsrWifiRouterCtrlWifiOffResCreate(msg__, dst__, src__, clientData__); \
1927  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1928  }
1929 
1930 #define CsrWifiRouterCtrlWifiOffResSend(src__, clientData__) \
1931  CsrWifiRouterCtrlWifiOffResSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, clientData__)
1932 
1933 /*******************************************************************************
1934 
1935  NAME
1936  CsrWifiRouterCtrlWifiOffCfmSend
1937 
1938  DESCRIPTION
1939 
1940  PARAMETERS
1941  queue - Destination Task Queue
1942  clientData -
1943 
1944 *******************************************************************************/
1945 #define CsrWifiRouterCtrlWifiOffCfmCreate(msg__, dst__, src__, clientData__) \
1946  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWifiOffCfm), GFP_KERNEL); \
1947  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WIFI_OFF_CFM, dst__, src__); \
1948  msg__->clientData = (clientData__);
1949 
1950 #define CsrWifiRouterCtrlWifiOffCfmSendTo(dst__, src__, clientData__) \
1951  { \
1952  CsrWifiRouterCtrlWifiOffCfm *msg__; \
1953  CsrWifiRouterCtrlWifiOffCfmCreate(msg__, dst__, src__, clientData__); \
1954  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1955  }
1956 
1957 #define CsrWifiRouterCtrlWifiOffCfmSend(dst__, clientData__) \
1958  CsrWifiRouterCtrlWifiOffCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__)
1959 
1960 /*******************************************************************************
1961 
1962  NAME
1963  CsrWifiRouterCtrlWifiOnReqSend
1964 
1965  DESCRIPTION
1966 
1967  PARAMETERS
1968  queue - Message Source Task Queue (Cfm's will be sent to this Queue)
1969  clientData -
1970  dataLength - Number of bytes in the buffer pointed to by 'data'
1971  data - Pointer to the buffer containing 'dataLength' bytes
1972 
1973 *******************************************************************************/
1974 #define CsrWifiRouterCtrlWifiOnReqCreate(msg__, dst__, src__, clientData__, dataLength__, data__) \
1975  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWifiOnReq), GFP_KERNEL); \
1976  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WIFI_ON_REQ, dst__, src__); \
1977  msg__->clientData = (clientData__); \
1978  msg__->dataLength = (dataLength__); \
1979  msg__->data = (data__);
1980 
1981 #define CsrWifiRouterCtrlWifiOnReqSendTo(dst__, src__, clientData__, dataLength__, data__) \
1982  { \
1983  CsrWifiRouterCtrlWifiOnReq *msg__; \
1984  CsrWifiRouterCtrlWifiOnReqCreate(msg__, dst__, src__, clientData__, dataLength__, data__); \
1985  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
1986  }
1987 
1988 #define CsrWifiRouterCtrlWifiOnReqSend(src__, clientData__, dataLength__, data__) \
1989  CsrWifiRouterCtrlWifiOnReqSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, clientData__, dataLength__, data__)
1990 
1991 /*******************************************************************************
1992 
1993  NAME
1994  CsrWifiRouterCtrlWifiOnIndSend
1995 
1996  DESCRIPTION
1997 
1998  PARAMETERS
1999  queue - Destination Task Queue
2000  clientData -
2001  status -
2002  versions -
2003 
2004 *******************************************************************************/
2005 #define CsrWifiRouterCtrlWifiOnIndCreate(msg__, dst__, src__, clientData__, status__, versions__) \
2006  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWifiOnInd), GFP_KERNEL); \
2007  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WIFI_ON_IND, dst__, src__); \
2008  msg__->clientData = (clientData__); \
2009  msg__->status = (status__); \
2010  msg__->versions = (versions__);
2011 
2012 #define CsrWifiRouterCtrlWifiOnIndSendTo(dst__, src__, clientData__, status__, versions__) \
2013  { \
2014  CsrWifiRouterCtrlWifiOnInd *msg__; \
2015  CsrWifiRouterCtrlWifiOnIndCreate(msg__, dst__, src__, clientData__, status__, versions__); \
2016  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
2017  }
2018 
2019 #define CsrWifiRouterCtrlWifiOnIndSend(dst__, clientData__, status__, versions__) \
2020  CsrWifiRouterCtrlWifiOnIndSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, status__, versions__)
2021 
2022 /*******************************************************************************
2023 
2024  NAME
2025  CsrWifiRouterCtrlWifiOnResSend
2026 
2027  DESCRIPTION
2028 
2029  PARAMETERS
2030  clientData -
2031  status -
2032  numInterfaceAddress -
2033  stationMacAddress - array size 1 MUST match CSR_WIFI_NUM_INTERFACES
2034  smeVersions -
2035  scheduledInterrupt -
2036 
2037 *******************************************************************************/
2038 #define CsrWifiRouterCtrlWifiOnResCreate(msg__, dst__, src__, clientData__, status__, numInterfaceAddress__, stationMacAddress__, smeVersions__, scheduledInterrupt__) \
2039  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWifiOnRes), GFP_KERNEL); \
2040  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WIFI_ON_RES, dst__, src__); \
2041  msg__->clientData = (clientData__); \
2042  msg__->status = (status__); \
2043  msg__->numInterfaceAddress = (numInterfaceAddress__); \
2044  memcpy(msg__->stationMacAddress, (stationMacAddress__), sizeof(CsrWifiMacAddress) * 2); \
2045  msg__->smeVersions = (smeVersions__); \
2046  msg__->scheduledInterrupt = (scheduledInterrupt__);
2047 
2048 #define CsrWifiRouterCtrlWifiOnResSendTo(dst__, src__, clientData__, status__, numInterfaceAddress__, stationMacAddress__, smeVersions__, scheduledInterrupt__) \
2049  { \
2050  CsrWifiRouterCtrlWifiOnRes *msg__; \
2051  CsrWifiRouterCtrlWifiOnResCreate(msg__, dst__, src__, clientData__, status__, numInterfaceAddress__, stationMacAddress__, smeVersions__, scheduledInterrupt__); \
2052  CsrMsgTransport(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
2053  }
2054 
2055 #define CsrWifiRouterCtrlWifiOnResSend(src__, clientData__, status__, numInterfaceAddress__, stationMacAddress__, smeVersions__, scheduledInterrupt__) \
2056  CsrWifiRouterCtrlWifiOnResSendTo(CSR_WIFI_ROUTER_IFACEQUEUE, src__, clientData__, status__, numInterfaceAddress__, stationMacAddress__, smeVersions__, scheduledInterrupt__)
2057 
2058 /*******************************************************************************
2059 
2060  NAME
2061  CsrWifiRouterCtrlWifiOnCfmSend
2062 
2063  DESCRIPTION
2064 
2065  PARAMETERS
2066  queue - Destination Task Queue
2067  clientData -
2068  status -
2069 
2070 *******************************************************************************/
2071 #define CsrWifiRouterCtrlWifiOnCfmCreate(msg__, dst__, src__, clientData__, status__) \
2072  msg__ = kmalloc(sizeof(CsrWifiRouterCtrlWifiOnCfm), GFP_KERNEL); \
2073  CsrWifiFsmEventInit(&msg__->common, CSR_WIFI_ROUTER_CTRL_PRIM, CSR_WIFI_ROUTER_CTRL_WIFI_ON_CFM, dst__, src__); \
2074  msg__->clientData = (clientData__); \
2075  msg__->status = (status__);
2076 
2077 #define CsrWifiRouterCtrlWifiOnCfmSendTo(dst__, src__, clientData__, status__) \
2078  { \
2079  CsrWifiRouterCtrlWifiOnCfm *msg__; \
2080  CsrWifiRouterCtrlWifiOnCfmCreate(msg__, dst__, src__, clientData__, status__); \
2081  CsrSchedMessagePut(dst__, CSR_WIFI_ROUTER_CTRL_PRIM, msg__); \
2082  }
2083 
2084 #define CsrWifiRouterCtrlWifiOnCfmSend(dst__, clientData__, status__) \
2085  CsrWifiRouterCtrlWifiOnCfmSendTo(dst__, CSR_WIFI_ROUTER_IFACEQUEUE, clientData__, status__)
2086 
2087 
2088 #ifdef __cplusplus
2089 }
2090 #endif
2091 
2092 #endif /* CSR_WIFI_ROUTER_CTRL_LIB_H__ */