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