• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_PRIM_H__
14 #define CSR_WIFI_ROUTER_CTRL_PRIM_H__
15 
16 #include <linux/types.h>
17 #include "csr_prim_defs.h"
18 #include "csr_sched.h"
19 #include "csr_wifi_common.h"
20 #include "csr_result.h"
21 #include "csr_wifi_fsm_event.h"
22 
23 #define CSR_WIFI_ROUTER_CTRL_PRIM                                       (0x0401)
24 
25 typedef CsrPrim CsrWifiRouterCtrlPrim;
26 
27 typedef CsrResult (*CsrWifiRouterCtrlRawSdioByteWrite)(u8 func, u32 address, u8 data);
28 typedef CsrResult (*CsrWifiRouterCtrlRawSdioByteRead)(u8 func, u32 address, u8 *pdata);
29 typedef CsrResult (*CsrWifiRouterCtrlRawSdioFirmwareDownload)(u32 length, const u8 *pdata);
30 typedef CsrResult (*CsrWifiRouterCtrlRawSdioReset)(void);
31 typedef CsrResult (*CsrWifiRouterCtrlRawSdioCoreDumpPrepare)(u8 suspendSme);
32 typedef CsrResult (*CsrWifiRouterCtrlRawSdioByteBlockRead)(u8 func, u32 address, u8 *pdata, u32 length);
33 typedef CsrResult (*CsrWifiRouterCtrlRawSdioGpRead16)(u8 func, u32 address, u16 *pdata);
34 typedef CsrResult (*CsrWifiRouterCtrlRawSdioGpWrite16)(u8 func, u32 address, u16 data);
35 
36 /*******************************************************************************
37 
38   NAME
39     CsrWifiRouterCtrlBlockAckRole
40 
41   DESCRIPTION
42 
43  VALUES
44     CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ORIGINATOR
45                    -
46     CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_RECIPIENT
47                    -
48 
49 *******************************************************************************/
50 typedef u8 CsrWifiRouterCtrlBlockAckRole;
51 #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ORIGINATOR   ((CsrWifiRouterCtrlBlockAckRole) 0x00)
52 #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_RECIPIENT    ((CsrWifiRouterCtrlBlockAckRole) 0x01)
53 
54 /*******************************************************************************
55 
56   NAME
57     CsrWifiRouterCtrlControlIndication
58 
59   DESCRIPTION
60 
61  VALUES
62     CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_ERROR
63                    -
64     CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_EXIT
65                    -
66     CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_USER_REQUESTED
67                    -
68 
69 *******************************************************************************/
70 typedef u8 CsrWifiRouterCtrlControlIndication;
71 #define CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_ERROR            ((CsrWifiRouterCtrlControlIndication) 0x01)
72 #define CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_EXIT             ((CsrWifiRouterCtrlControlIndication) 0x02)
73 #define CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_USER_REQUESTED   ((CsrWifiRouterCtrlControlIndication) 0x03)
74 
75 /*******************************************************************************
76 
77   NAME
78     CsrWifiRouterCtrlListAction
79 
80   DESCRIPTION
81 
82  VALUES
83     CSR_WIFI_ROUTER_CTRL_LIST_ACTION_GET
84                    -
85     CSR_WIFI_ROUTER_CTRL_LIST_ACTION_ADD
86                    -
87     CSR_WIFI_ROUTER_CTRL_LIST_ACTION_REMOVE
88                    -
89     CSR_WIFI_ROUTER_CTRL_LIST_ACTION_FLUSH
90                    -
91 
92 *******************************************************************************/
93 typedef u8 CsrWifiRouterCtrlListAction;
94 #define CSR_WIFI_ROUTER_CTRL_LIST_ACTION_GET      ((CsrWifiRouterCtrlListAction) 0x00)
95 #define CSR_WIFI_ROUTER_CTRL_LIST_ACTION_ADD      ((CsrWifiRouterCtrlListAction) 0x01)
96 #define CSR_WIFI_ROUTER_CTRL_LIST_ACTION_REMOVE   ((CsrWifiRouterCtrlListAction) 0x02)
97 #define CSR_WIFI_ROUTER_CTRL_LIST_ACTION_FLUSH    ((CsrWifiRouterCtrlListAction) 0x03)
98 
99 /*******************************************************************************
100 
101   NAME
102     CsrWifiRouterCtrlLowPowerMode
103 
104   DESCRIPTION
105 
106  VALUES
107     CSR_WIFI_ROUTER_CTRL_LOW_POWER_MODE_DISABLED
108                    -
109     CSR_WIFI_ROUTER_CTRL_LOW_POWER_MODE_ENABLED
110                    -
111 
112 *******************************************************************************/
113 typedef u16 CsrWifiRouterCtrlLowPowerMode;
114 #define CSR_WIFI_ROUTER_CTRL_LOW_POWER_MODE_DISABLED   ((CsrWifiRouterCtrlLowPowerMode) 0x0000)
115 #define CSR_WIFI_ROUTER_CTRL_LOW_POWER_MODE_ENABLED    ((CsrWifiRouterCtrlLowPowerMode) 0x0001)
116 
117 /*******************************************************************************
118 
119   NAME
120     CsrWifiRouterCtrlMediaStatus
121 
122   DESCRIPTION
123 
124  VALUES
125     CSR_WIFI_ROUTER_CTRL_MEDIA_STATUS_CONNECTED
126                    -
127     CSR_WIFI_ROUTER_CTRL_MEDIA_STATUS_DISCONNECTED
128                    -
129 
130 *******************************************************************************/
131 typedef u8 CsrWifiRouterCtrlMediaStatus;
132 #define CSR_WIFI_ROUTER_CTRL_MEDIA_STATUS_CONNECTED      ((CsrWifiRouterCtrlMediaStatus) 0x00)
133 #define CSR_WIFI_ROUTER_CTRL_MEDIA_STATUS_DISCONNECTED   ((CsrWifiRouterCtrlMediaStatus) 0x01)
134 
135 /*******************************************************************************
136 
137   NAME
138     CsrWifiRouterCtrlMode
139 
140   DESCRIPTION
141 
142  VALUES
143     CSR_WIFI_ROUTER_CTRL_MODE_NONE    -
144     CSR_WIFI_ROUTER_CTRL_MODE_IBSS    -
145     CSR_WIFI_ROUTER_CTRL_MODE_STA     -
146     CSR_WIFI_ROUTER_CTRL_MODE_AP      -
147     CSR_WIFI_ROUTER_CTRL_MODE_MONITOR -
148     CSR_WIFI_ROUTER_CTRL_MODE_AMP     -
149     CSR_WIFI_ROUTER_CTRL_MODE_P2P     -
150     CSR_WIFI_ROUTER_CTRL_MODE_P2PGO   -
151     CSR_WIFI_ROUTER_CTRL_MODE_P2PCLI  -
152 
153 *******************************************************************************/
154 typedef u8 CsrWifiRouterCtrlMode;
155 #define CSR_WIFI_ROUTER_CTRL_MODE_NONE      ((CsrWifiRouterCtrlMode) 0x00)
156 #define CSR_WIFI_ROUTER_CTRL_MODE_IBSS      ((CsrWifiRouterCtrlMode) 0x01)
157 #define CSR_WIFI_ROUTER_CTRL_MODE_STA       ((CsrWifiRouterCtrlMode) 0x02)
158 #define CSR_WIFI_ROUTER_CTRL_MODE_AP        ((CsrWifiRouterCtrlMode) 0x03)
159 #define CSR_WIFI_ROUTER_CTRL_MODE_MONITOR   ((CsrWifiRouterCtrlMode) 0x04)
160 #define CSR_WIFI_ROUTER_CTRL_MODE_AMP       ((CsrWifiRouterCtrlMode) 0x05)
161 #define CSR_WIFI_ROUTER_CTRL_MODE_P2P       ((CsrWifiRouterCtrlMode) 0x06)
162 #define CSR_WIFI_ROUTER_CTRL_MODE_P2PGO     ((CsrWifiRouterCtrlMode) 0x07)
163 #define CSR_WIFI_ROUTER_CTRL_MODE_P2PCLI    ((CsrWifiRouterCtrlMode) 0x08)
164 
165 /*******************************************************************************
166 
167   NAME
168     CsrWifiRouterCtrlPeerStatus
169 
170   DESCRIPTION
171 
172  VALUES
173     CSR_WIFI_ROUTER_CTRL_PEER_CONNECTED_ACTIVE
174                    -
175     CSR_WIFI_ROUTER_CTRL_PEER_CONNECTED_POWER_SAVE
176                    -
177     CSR_WIFI_ROUTER_CTRL_PEER_DISCONNECTED
178                    -
179 
180 *******************************************************************************/
181 typedef u8 CsrWifiRouterCtrlPeerStatus;
182 #define CSR_WIFI_ROUTER_CTRL_PEER_CONNECTED_ACTIVE       ((CsrWifiRouterCtrlPeerStatus) 0x00)
183 #define CSR_WIFI_ROUTER_CTRL_PEER_CONNECTED_POWER_SAVE   ((CsrWifiRouterCtrlPeerStatus) 0x01)
184 #define CSR_WIFI_ROUTER_CTRL_PEER_DISCONNECTED           ((CsrWifiRouterCtrlPeerStatus) 0x02)
185 
186 /*******************************************************************************
187 
188   NAME
189     CsrWifiRouterCtrlPortAction
190 
191   DESCRIPTION
192 
193  VALUES
194     CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_OPEN
195                    -
196     CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_CLOSED_DISCARD
197                    -
198     CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_CLOSED_BLOCK
199                    -
200 
201 *******************************************************************************/
202 typedef u16 CsrWifiRouterCtrlPortAction;
203 #define CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_OPEN             ((CsrWifiRouterCtrlPortAction) 0x0000)
204 #define CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_CLOSED_DISCARD   ((CsrWifiRouterCtrlPortAction) 0x0001)
205 #define CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_CLOSED_BLOCK     ((CsrWifiRouterCtrlPortAction) 0x0002)
206 
207 /*******************************************************************************
208 
209   NAME
210     CsrWifiRouterCtrlPowersaveType
211 
212   DESCRIPTION
213 
214  VALUES
215     CSR_WIFI_ROUTER_CTRL_AC_BK_PS_INFO_PRESENT
216                    - If set, AC BK PS info is present in b4 and b5
217     CSR_WIFI_ROUTER_CTRL_AC_BE_PS_INFO_PRESENT
218                    - If set, AC BE PS info is present in b6 and b7
219     CSR_WIFI_ROUTER_CTRL_AC_VI_PS_INFO_PRESENT
220                    - If set, AC VI PS info is present in b8 and b9
221     CSR_WIFI_ROUTER_CTRL_AC_VO_PS_INFO_PRESENT
222                    - If set, AC VO PS info is present in b10 and b11
223     CSR_WIFI_ROUTER_CTRL_AC_BK_TRIGGER_ENABLED
224                    -
225     CSR_WIFI_ROUTER_CTRL_AC_BK_DELIVERY_ENABLED
226                    -
227     CSR_WIFI_ROUTER_CTRL_AC_BE_TRIGGER_ENABLED
228                    -
229     CSR_WIFI_ROUTER_CTRL_AC_BE_DELIVERY_ENABLED
230                    -
231     CSR_WIFI_ROUTER_CTRL_AC_VI_TRIGGER_ENABLED
232                    -
233     CSR_WIFI_ROUTER_CTRL_AC_VI_DELIVERY_ENABLED
234                    -
235     CSR_WIFI_ROUTER_CTRL_AC_VO_TRIGGER_ENABLED
236                    -
237     CSR_WIFI_ROUTER_CTRL_AC_VO_DELIVERY_ENABLED
238                    -
239 
240 *******************************************************************************/
241 typedef u16 CsrWifiRouterCtrlPowersaveType;
242 #define CSR_WIFI_ROUTER_CTRL_AC_BK_PS_INFO_PRESENT    ((CsrWifiRouterCtrlPowersaveType) 0x0001)
243 #define CSR_WIFI_ROUTER_CTRL_AC_BE_PS_INFO_PRESENT    ((CsrWifiRouterCtrlPowersaveType) 0x0002)
244 #define CSR_WIFI_ROUTER_CTRL_AC_VI_PS_INFO_PRESENT    ((CsrWifiRouterCtrlPowersaveType) 0x0004)
245 #define CSR_WIFI_ROUTER_CTRL_AC_VO_PS_INFO_PRESENT    ((CsrWifiRouterCtrlPowersaveType) 0x0008)
246 #define CSR_WIFI_ROUTER_CTRL_AC_BK_TRIGGER_ENABLED    ((CsrWifiRouterCtrlPowersaveType) 0x0010)
247 #define CSR_WIFI_ROUTER_CTRL_AC_BK_DELIVERY_ENABLED   ((CsrWifiRouterCtrlPowersaveType) 0x0020)
248 #define CSR_WIFI_ROUTER_CTRL_AC_BE_TRIGGER_ENABLED    ((CsrWifiRouterCtrlPowersaveType) 0x0040)
249 #define CSR_WIFI_ROUTER_CTRL_AC_BE_DELIVERY_ENABLED   ((CsrWifiRouterCtrlPowersaveType) 0x0080)
250 #define CSR_WIFI_ROUTER_CTRL_AC_VI_TRIGGER_ENABLED    ((CsrWifiRouterCtrlPowersaveType) 0x0100)
251 #define CSR_WIFI_ROUTER_CTRL_AC_VI_DELIVERY_ENABLED   ((CsrWifiRouterCtrlPowersaveType) 0x0200)
252 #define CSR_WIFI_ROUTER_CTRL_AC_VO_TRIGGER_ENABLED    ((CsrWifiRouterCtrlPowersaveType) 0x0400)
253 #define CSR_WIFI_ROUTER_CTRL_AC_VO_DELIVERY_ENABLED   ((CsrWifiRouterCtrlPowersaveType) 0x0800)
254 
255 /*******************************************************************************
256 
257   NAME
258     CsrWifiRouterCtrlProtocolDirection
259 
260   DESCRIPTION
261 
262  VALUES
263     CSR_WIFI_ROUTER_CTRL_PROTOCOL_DIRECTION_RX
264                    -
265     CSR_WIFI_ROUTER_CTRL_PROTOCOL_DIRECTION_TX
266                    -
267 
268 *******************************************************************************/
269 typedef u16 CsrWifiRouterCtrlProtocolDirection;
270 #define CSR_WIFI_ROUTER_CTRL_PROTOCOL_DIRECTION_RX   ((CsrWifiRouterCtrlProtocolDirection) 0x0000)
271 #define CSR_WIFI_ROUTER_CTRL_PROTOCOL_DIRECTION_TX   ((CsrWifiRouterCtrlProtocolDirection) 0x0001)
272 
273 /*******************************************************************************
274 
275   NAME
276     CsrWifiRouterCtrlQoSControl
277 
278   DESCRIPTION
279 
280  VALUES
281     CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_OFF
282                    -
283     CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_WMM_ON
284                    -
285     CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_80211_ON
286                    -
287 
288 *******************************************************************************/
289 typedef u16 CsrWifiRouterCtrlQoSControl;
290 #define CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_OFF        ((CsrWifiRouterCtrlQoSControl) 0x0000)
291 #define CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_WMM_ON     ((CsrWifiRouterCtrlQoSControl) 0x0001)
292 #define CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_80211_ON   ((CsrWifiRouterCtrlQoSControl) 0x0002)
293 
294 /*******************************************************************************
295 
296   NAME
297     CsrWifiRouterCtrlQueueConfig
298 
299   DESCRIPTION
300     Defines which Queues are enabled for use.
301 
302  VALUES
303     CSR_WIFI_ROUTER_CTRL_QUEUE_BE_ENABLE
304                    -
305     CSR_WIFI_ROUTER_CTRL_QUEUE_BK_ENABLE
306                    -
307     CSR_WIFI_ROUTER_CTRL_QUEUE_VI_ENABLE
308                    -
309     CSR_WIFI_ROUTER_CTRL_QUEUE_VO_ENABLE
310                    -
311 
312 *******************************************************************************/
313 typedef u8 CsrWifiRouterCtrlQueueConfig;
314 #define CSR_WIFI_ROUTER_CTRL_QUEUE_BE_ENABLE   ((CsrWifiRouterCtrlQueueConfig) 0x01)
315 #define CSR_WIFI_ROUTER_CTRL_QUEUE_BK_ENABLE   ((CsrWifiRouterCtrlQueueConfig) 0x02)
316 #define CSR_WIFI_ROUTER_CTRL_QUEUE_VI_ENABLE   ((CsrWifiRouterCtrlQueueConfig) 0x04)
317 #define CSR_WIFI_ROUTER_CTRL_QUEUE_VO_ENABLE   ((CsrWifiRouterCtrlQueueConfig) 0x08)
318 
319 /*******************************************************************************
320 
321   NAME
322     CsrWifiRouterCtrlTrafficConfigType
323 
324   DESCRIPTION
325 
326  VALUES
327     CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_RESET
328                    -
329     CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_FILTER
330                    -
331     CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_CLS
332                    -
333 
334 *******************************************************************************/
335 typedef u16 CsrWifiRouterCtrlTrafficConfigType;
336 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_RESET    ((CsrWifiRouterCtrlTrafficConfigType) 0x0000)
337 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_FILTER   ((CsrWifiRouterCtrlTrafficConfigType) 0x0001)
338 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_CLS      ((CsrWifiRouterCtrlTrafficConfigType) 0x0002)
339 
340 /*******************************************************************************
341 
342   NAME
343     CsrWifiRouterCtrlTrafficPacketType
344 
345   DESCRIPTION
346 
347  VALUES
348     CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_NONE
349                    -
350     CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_EAPOL
351                    -
352     CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_DHCP
353                    -
354     CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_DHCP_ACK
355                    -
356     CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_ARP
357                    -
358     CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_AIRONET
359                    -
360     CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_CUSTOM
361                    -
362     CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_ALL
363                    -
364 
365 *******************************************************************************/
366 typedef u16 CsrWifiRouterCtrlTrafficPacketType;
367 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_NONE       ((CsrWifiRouterCtrlTrafficPacketType) 0x0000)
368 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_EAPOL      ((CsrWifiRouterCtrlTrafficPacketType) 0x0001)
369 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_DHCP       ((CsrWifiRouterCtrlTrafficPacketType) 0x0002)
370 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_DHCP_ACK   ((CsrWifiRouterCtrlTrafficPacketType) 0x0004)
371 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_ARP        ((CsrWifiRouterCtrlTrafficPacketType) 0x0008)
372 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_AIRONET    ((CsrWifiRouterCtrlTrafficPacketType) 0x0010)
373 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_CUSTOM     ((CsrWifiRouterCtrlTrafficPacketType) 0x0020)
374 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_ALL        ((CsrWifiRouterCtrlTrafficPacketType) 0x00FF)
375 
376 /*******************************************************************************
377 
378   NAME
379     CsrWifiRouterCtrlTrafficType
380 
381   DESCRIPTION
382 
383  VALUES
384     CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_OCCASIONAL
385                    -
386     CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_BURSTY
387                    -
388     CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_PERIODIC
389                    -
390     CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_CONTINUOUS
391                    -
392 
393 *******************************************************************************/
394 typedef u8 CsrWifiRouterCtrlTrafficType;
395 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_OCCASIONAL   ((CsrWifiRouterCtrlTrafficType) 0x00)
396 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_BURSTY       ((CsrWifiRouterCtrlTrafficType) 0x01)
397 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_PERIODIC     ((CsrWifiRouterCtrlTrafficType) 0x02)
398 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_CONTINUOUS   ((CsrWifiRouterCtrlTrafficType) 0x03)
399 
400 
401 /*******************************************************************************
402 
403   NAME
404     CsrWifiRouterCtrlPeerRecordHandle
405 
406   DESCRIPTION
407 
408 *******************************************************************************/
409 typedef u32 CsrWifiRouterCtrlPeerRecordHandle;
410 /*******************************************************************************
411 
412   NAME
413     CsrWifiRouterCtrlPowersaveTypeMask
414 
415   DESCRIPTION
416     Mask type for use with the values defined by
417     CsrWifiRouterCtrlPowersaveType
418 
419 *******************************************************************************/
420 typedef u16 CsrWifiRouterCtrlPowersaveTypeMask;
421 /*******************************************************************************
422 
423   NAME
424     CsrWifiRouterCtrlQueueConfigMask
425 
426   DESCRIPTION
427     Mask type for use with the values defined by CsrWifiRouterCtrlQueueConfig
428 
429 *******************************************************************************/
430 typedef u8 CsrWifiRouterCtrlQueueConfigMask;
431 /*******************************************************************************
432 
433   NAME
434     CsrWifiRouterCtrlRequestorInfo
435 
436   DESCRIPTION
437 
438 *******************************************************************************/
439 typedef u16 CsrWifiRouterCtrlRequestorInfo;
440 /*******************************************************************************
441 
442   NAME
443     CsrWifiRouterCtrlTrafficStreamId
444 
445   DESCRIPTION
446 
447 *******************************************************************************/
448 typedef u8 CsrWifiRouterCtrlTrafficStreamId;
449 
450 
451 /*******************************************************************************
452 
453   NAME
454     CsrWifiRouterCtrlSmeVersions
455 
456   DESCRIPTION
457 
458   MEMBERS
459     firmwarePatch -
460     smeBuild      -
461     smeHip        -
462 
463 *******************************************************************************/
464 typedef struct
465 {
466     u32      firmwarePatch;
467     char *smeBuild;
468     u32      smeHip;
469 } CsrWifiRouterCtrlSmeVersions;
470 
471 /*******************************************************************************
472 
473   NAME
474     CsrWifiRouterCtrlStaInfo
475 
476   DESCRIPTION
477 
478   MEMBERS
479     wmmOrQosEnabled     -
480     powersaveMode       -
481     maxSpLength         -
482     listenIntervalInTus -
483 
484 *******************************************************************************/
485 typedef struct
486 {
487     u8                            wmmOrQosEnabled;
488     CsrWifiRouterCtrlPowersaveTypeMask powersaveMode;
489     u8                           maxSpLength;
490     u16                          listenIntervalInTus;
491 } CsrWifiRouterCtrlStaInfo;
492 
493 /*******************************************************************************
494 
495   NAME
496     CsrWifiRouterCtrlTrafficFilter
497 
498   DESCRIPTION
499 
500   MEMBERS
501     etherType     -
502     ipType        -
503     udpSourcePort -
504     udpDestPort   -
505 
506 *******************************************************************************/
507 typedef struct
508 {
509     u32 etherType;
510     u8  ipType;
511     u32 udpSourcePort;
512     u32 udpDestPort;
513 } CsrWifiRouterCtrlTrafficFilter;
514 
515 /*******************************************************************************
516 
517   NAME
518     CsrWifiRouterCtrlTrafficStats
519 
520   DESCRIPTION
521 
522   MEMBERS
523     rxMeanRate   - Mean rx data rate over the interval
524     rxFramesNum  - Keep number of Rx frames per second, for CYCLE_3.
525     txFramesNum  - Keep number of Tx frames per second, for CYCLE_3.
526     rxBytesCount - Keep calculated Rx throughput per second, for CYCLE_2.
527     txBytesCount - Keep calculated Tx throughput per second, for CYCLE_2.
528     intervals    - array size 11 MUST match TA_INTERVALS_NUM
529 
530 *******************************************************************************/
531 typedef struct
532 {
533     u32 rxMeanRate;
534     u32 rxFramesNum;
535     u32 txFramesNum;
536     u32 rxBytesCount;
537     u32 txBytesCount;
538     u8  intervals[11];
539 } CsrWifiRouterCtrlTrafficStats;
540 
541 /*******************************************************************************
542 
543   NAME
544     CsrWifiRouterCtrlVersions
545 
546   DESCRIPTION
547 
548   MEMBERS
549     chipId        -
550     chipVersion   -
551     firmwareBuild -
552     firmwareHip   -
553     routerBuild   -
554     routerHip     -
555 
556 *******************************************************************************/
557 typedef struct
558 {
559     u32      chipId;
560     u32      chipVersion;
561     u32      firmwareBuild;
562     u32      firmwareHip;
563     char *routerBuild;
564     u32      routerHip;
565 } CsrWifiRouterCtrlVersions;
566 
567 /*******************************************************************************
568 
569   NAME
570     CsrWifiRouterCtrlTrafficConfig
571 
572   DESCRIPTION
573 
574   MEMBERS
575     packetFilter -
576     customFilter -
577 
578 *******************************************************************************/
579 typedef struct
580 {
581     u16                      packetFilter;
582     CsrWifiRouterCtrlTrafficFilter customFilter;
583 } CsrWifiRouterCtrlTrafficConfig;
584 
585 
586 /* Downstream */
587 #define CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST            (0x0000)
588 
589 #define CSR_WIFI_ROUTER_CTRL_CONFIGURE_POWER_MODE_REQ     ((CsrWifiRouterCtrlPrim) (0x0000 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
590 #define CSR_WIFI_ROUTER_CTRL_HIP_REQ                      ((CsrWifiRouterCtrlPrim) (0x0001 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
591 #define CSR_WIFI_ROUTER_CTRL_MEDIA_STATUS_REQ             ((CsrWifiRouterCtrlPrim) (0x0002 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
592 #define CSR_WIFI_ROUTER_CTRL_MULTICAST_ADDRESS_RES        ((CsrWifiRouterCtrlPrim) (0x0003 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
593 #define CSR_WIFI_ROUTER_CTRL_PORT_CONFIGURE_REQ           ((CsrWifiRouterCtrlPrim) (0x0004 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
594 #define CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_REQ              ((CsrWifiRouterCtrlPrim) (0x0005 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
595 #define CSR_WIFI_ROUTER_CTRL_SUSPEND_RES                  ((CsrWifiRouterCtrlPrim) (0x0006 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
596 #define CSR_WIFI_ROUTER_CTRL_TCLAS_ADD_REQ                ((CsrWifiRouterCtrlPrim) (0x0007 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
597 #define CSR_WIFI_ROUTER_CTRL_RESUME_RES                   ((CsrWifiRouterCtrlPrim) (0x0008 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
598 #define CSR_WIFI_ROUTER_CTRL_RAW_SDIO_DEINITIALISE_REQ    ((CsrWifiRouterCtrlPrim) (0x0009 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
599 #define CSR_WIFI_ROUTER_CTRL_RAW_SDIO_INITIALISE_REQ      ((CsrWifiRouterCtrlPrim) (0x000A + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
600 #define CSR_WIFI_ROUTER_CTRL_TCLAS_DEL_REQ                ((CsrWifiRouterCtrlPrim) (0x000B + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
601 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_CLASSIFICATION_REQ   ((CsrWifiRouterCtrlPrim) (0x000C + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
602 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_REQ           ((CsrWifiRouterCtrlPrim) (0x000D + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
603 #define CSR_WIFI_ROUTER_CTRL_WIFI_OFF_REQ                 ((CsrWifiRouterCtrlPrim) (0x000E + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
604 #define CSR_WIFI_ROUTER_CTRL_WIFI_OFF_RES                 ((CsrWifiRouterCtrlPrim) (0x000F + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
605 #define CSR_WIFI_ROUTER_CTRL_WIFI_ON_REQ                  ((CsrWifiRouterCtrlPrim) (0x0010 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
606 #define CSR_WIFI_ROUTER_CTRL_WIFI_ON_RES                  ((CsrWifiRouterCtrlPrim) (0x0011 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
607 #define CSR_WIFI_ROUTER_CTRL_M4_TRANSMIT_REQ              ((CsrWifiRouterCtrlPrim) (0x0012 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
608 #define CSR_WIFI_ROUTER_CTRL_MODE_SET_REQ                 ((CsrWifiRouterCtrlPrim) (0x0013 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
609 #define CSR_WIFI_ROUTER_CTRL_PEER_ADD_REQ                 ((CsrWifiRouterCtrlPrim) (0x0014 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
610 #define CSR_WIFI_ROUTER_CTRL_PEER_DEL_REQ                 ((CsrWifiRouterCtrlPrim) (0x0015 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
611 #define CSR_WIFI_ROUTER_CTRL_PEER_UPDATE_REQ              ((CsrWifiRouterCtrlPrim) (0x0016 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
612 #define CSR_WIFI_ROUTER_CTRL_CAPABILITIES_REQ             ((CsrWifiRouterCtrlPrim) (0x0017 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
613 #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ENABLE_REQ         ((CsrWifiRouterCtrlPrim) (0x0018 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
614 #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_DISABLE_REQ        ((CsrWifiRouterCtrlPrim) (0x0019 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
615 #define CSR_WIFI_ROUTER_CTRL_WAPI_RX_PKT_REQ              ((CsrWifiRouterCtrlPrim) (0x001A + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
616 #define CSR_WIFI_ROUTER_CTRL_WAPI_MULTICAST_FILTER_REQ    ((CsrWifiRouterCtrlPrim) (0x001B + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
617 #define CSR_WIFI_ROUTER_CTRL_WAPI_UNICAST_FILTER_REQ      ((CsrWifiRouterCtrlPrim) (0x001C + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
618 #define CSR_WIFI_ROUTER_CTRL_WAPI_UNICAST_TX_PKT_REQ      ((CsrWifiRouterCtrlPrim) (0x001D + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
619 #define CSR_WIFI_ROUTER_CTRL_WAPI_FILTER_REQ              ((CsrWifiRouterCtrlPrim) (0x001E + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST))
620 
621 
622 #define CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_HIGHEST           (0x001E + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)
623 
624 /* Upstream */
625 #define CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST              (0x0000 + CSR_PRIM_UPSTREAM)
626 
627 #define CSR_WIFI_ROUTER_CTRL_HIP_IND                      ((CsrWifiRouterCtrlPrim)(0x0000 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
628 #define CSR_WIFI_ROUTER_CTRL_MULTICAST_ADDRESS_IND        ((CsrWifiRouterCtrlPrim)(0x0001 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
629 #define CSR_WIFI_ROUTER_CTRL_PORT_CONFIGURE_CFM           ((CsrWifiRouterCtrlPrim)(0x0002 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
630 #define CSR_WIFI_ROUTER_CTRL_RESUME_IND                   ((CsrWifiRouterCtrlPrim)(0x0003 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
631 #define CSR_WIFI_ROUTER_CTRL_SUSPEND_IND                  ((CsrWifiRouterCtrlPrim)(0x0004 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
632 #define CSR_WIFI_ROUTER_CTRL_TCLAS_ADD_CFM                ((CsrWifiRouterCtrlPrim)(0x0005 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
633 #define CSR_WIFI_ROUTER_CTRL_RAW_SDIO_DEINITIALISE_CFM    ((CsrWifiRouterCtrlPrim)(0x0006 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
634 #define CSR_WIFI_ROUTER_CTRL_RAW_SDIO_INITIALISE_CFM      ((CsrWifiRouterCtrlPrim)(0x0007 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
635 #define CSR_WIFI_ROUTER_CTRL_TCLAS_DEL_CFM                ((CsrWifiRouterCtrlPrim)(0x0008 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
636 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PROTOCOL_IND         ((CsrWifiRouterCtrlPrim)(0x0009 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
637 #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_SAMPLE_IND           ((CsrWifiRouterCtrlPrim)(0x000A + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
638 #define CSR_WIFI_ROUTER_CTRL_WIFI_OFF_IND                 ((CsrWifiRouterCtrlPrim)(0x000B + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
639 #define CSR_WIFI_ROUTER_CTRL_WIFI_OFF_CFM                 ((CsrWifiRouterCtrlPrim)(0x000C + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
640 #define CSR_WIFI_ROUTER_CTRL_WIFI_ON_IND                  ((CsrWifiRouterCtrlPrim)(0x000D + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
641 #define CSR_WIFI_ROUTER_CTRL_WIFI_ON_CFM                  ((CsrWifiRouterCtrlPrim)(0x000E + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
642 #define CSR_WIFI_ROUTER_CTRL_M4_READY_TO_SEND_IND         ((CsrWifiRouterCtrlPrim)(0x000F + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
643 #define CSR_WIFI_ROUTER_CTRL_M4_TRANSMITTED_IND           ((CsrWifiRouterCtrlPrim)(0x0010 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
644 #define CSR_WIFI_ROUTER_CTRL_MIC_FAILURE_IND              ((CsrWifiRouterCtrlPrim)(0x0011 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
645 #define CSR_WIFI_ROUTER_CTRL_CONNECTED_IND                ((CsrWifiRouterCtrlPrim)(0x0012 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
646 #define CSR_WIFI_ROUTER_CTRL_PEER_ADD_CFM                 ((CsrWifiRouterCtrlPrim)(0x0013 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
647 #define CSR_WIFI_ROUTER_CTRL_PEER_DEL_CFM                 ((CsrWifiRouterCtrlPrim)(0x0014 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
648 #define CSR_WIFI_ROUTER_CTRL_UNEXPECTED_FRAME_IND         ((CsrWifiRouterCtrlPrim)(0x0015 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
649 #define CSR_WIFI_ROUTER_CTRL_PEER_UPDATE_CFM              ((CsrWifiRouterCtrlPrim)(0x0016 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
650 #define CSR_WIFI_ROUTER_CTRL_CAPABILITIES_CFM             ((CsrWifiRouterCtrlPrim)(0x0017 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
651 #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ENABLE_CFM         ((CsrWifiRouterCtrlPrim)(0x0018 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
652 #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_DISABLE_CFM        ((CsrWifiRouterCtrlPrim)(0x0019 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
653 #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ERROR_IND          ((CsrWifiRouterCtrlPrim)(0x001A + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
654 #define CSR_WIFI_ROUTER_CTRL_STA_INACTIVE_IND             ((CsrWifiRouterCtrlPrim)(0x001B + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
655 #define CSR_WIFI_ROUTER_CTRL_WAPI_RX_MIC_CHECK_IND        ((CsrWifiRouterCtrlPrim)(0x001C + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
656 #define CSR_WIFI_ROUTER_CTRL_MODE_SET_CFM                 ((CsrWifiRouterCtrlPrim)(0x001D + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
657 #define CSR_WIFI_ROUTER_CTRL_WAPI_UNICAST_TX_ENCRYPT_IND  ((CsrWifiRouterCtrlPrim)(0x001E + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST))
658 
659 #define CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_HIGHEST             (0x001E + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)
660 
661 #define CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_COUNT             (CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_HIGHEST + 1 - CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)
662 #define CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_COUNT               (CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_HIGHEST   + 1 - CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)
663 
664 /*******************************************************************************
665 
666   NAME
667     CsrWifiRouterCtrlConfigurePowerModeReq
668 
669   DESCRIPTION
670 
671   MEMBERS
672     common     - Common header for use with the CsrWifiFsm Module
673     clientData -
674     mode       -
675     wakeHost   -
676 
677 *******************************************************************************/
678 typedef struct
679 {
680     CsrWifiFsmEvent                common;
681     CsrWifiRouterCtrlRequestorInfo clientData;
682     CsrWifiRouterCtrlLowPowerMode  mode;
683     u8                        wakeHost;
684 } CsrWifiRouterCtrlConfigurePowerModeReq;
685 
686 /*******************************************************************************
687 
688   NAME
689     CsrWifiRouterCtrlHipReq
690 
691   DESCRIPTION
692     This primitive is used for transferring MLME messages to the HIP.
693 
694   MEMBERS
695     common            - Common header for use with the CsrWifiFsm Module
696     mlmeCommandLength - Length of the MLME signal
697     mlmeCommand       - Pointer to the MLME signal
698     dataRef1Length    - Length of the dataRef1 bulk data
699     dataRef1          - Pointer to the bulk data 1
700     dataRef2Length    - Length of the dataRef2 bulk data
701     dataRef2          - Pointer to the bulk data 2
702 
703 *******************************************************************************/
704 typedef struct
705 {
706     CsrWifiFsmEvent common;
707     u16       mlmeCommandLength;
708     u8       *mlmeCommand;
709     u16       dataRef1Length;
710     u8       *dataRef1;
711     u16       dataRef2Length;
712     u8       *dataRef2;
713 } CsrWifiRouterCtrlHipReq;
714 
715 /*******************************************************************************
716 
717   NAME
718     CsrWifiRouterCtrlMediaStatusReq
719 
720   DESCRIPTION
721 
722   MEMBERS
723     common       - Common header for use with the CsrWifiFsm Module
724     interfaceTag -
725     clientData   -
726     mediaStatus  -
727 
728 *******************************************************************************/
729 typedef struct
730 {
731     CsrWifiFsmEvent                common;
732     u16                      interfaceTag;
733     CsrWifiRouterCtrlRequestorInfo clientData;
734     CsrWifiRouterCtrlMediaStatus   mediaStatus;
735 } CsrWifiRouterCtrlMediaStatusReq;
736 
737 /*******************************************************************************
738 
739   NAME
740     CsrWifiRouterCtrlMulticastAddressRes
741 
742   DESCRIPTION
743 
744   MEMBERS
745     common            - Common header for use with the CsrWifiFsm Module
746     interfaceTag      -
747     clientData        -
748     status            -
749     action            -
750     getAddressesCount -
751     getAddresses      -
752 
753 *******************************************************************************/
754 typedef struct
755 {
756     CsrWifiFsmEvent                common;
757     u16                      interfaceTag;
758     CsrWifiRouterCtrlRequestorInfo clientData;
759     CsrResult                      status;
760     CsrWifiRouterCtrlListAction    action;
761     u8                       getAddressesCount;
762     CsrWifiMacAddress             *getAddresses;
763 } CsrWifiRouterCtrlMulticastAddressRes;
764 
765 /*******************************************************************************
766 
767   NAME
768     CsrWifiRouterCtrlPortConfigureReq
769 
770   DESCRIPTION
771 
772   MEMBERS
773     common                 - Common header for use with the CsrWifiFsm Module
774     interfaceTag           -
775     clientData             -
776     uncontrolledPortAction -
777     controlledPortAction   -
778     macAddress             -
779     setProtection          -
780 
781 *******************************************************************************/
782 typedef struct
783 {
784     CsrWifiFsmEvent                common;
785     u16                      interfaceTag;
786     CsrWifiRouterCtrlRequestorInfo clientData;
787     CsrWifiRouterCtrlPortAction    uncontrolledPortAction;
788     CsrWifiRouterCtrlPortAction    controlledPortAction;
789     CsrWifiMacAddress              macAddress;
790     u8                        setProtection;
791 } CsrWifiRouterCtrlPortConfigureReq;
792 
793 /*******************************************************************************
794 
795   NAME
796     CsrWifiRouterCtrlQosControlReq
797 
798   DESCRIPTION
799 
800   MEMBERS
801     common       - Common header for use with the CsrWifiFsm Module
802     interfaceTag -
803     clientData   -
804     control      -
805     queueConfig  -
806 
807 *******************************************************************************/
808 typedef struct
809 {
810     CsrWifiFsmEvent                  common;
811     u16                        interfaceTag;
812     CsrWifiRouterCtrlRequestorInfo   clientData;
813     CsrWifiRouterCtrlQoSControl      control;
814     CsrWifiRouterCtrlQueueConfigMask queueConfig;
815 } CsrWifiRouterCtrlQosControlReq;
816 
817 /*******************************************************************************
818 
819   NAME
820     CsrWifiRouterCtrlSuspendRes
821 
822   DESCRIPTION
823 
824   MEMBERS
825     common     - Common header for use with the CsrWifiFsm Module
826     clientData -
827     status     -
828 
829 *******************************************************************************/
830 typedef struct
831 {
832     CsrWifiFsmEvent                common;
833     CsrWifiRouterCtrlRequestorInfo clientData;
834     CsrResult                      status;
835 } CsrWifiRouterCtrlSuspendRes;
836 
837 /*******************************************************************************
838 
839   NAME
840     CsrWifiRouterCtrlTclasAddReq
841 
842   DESCRIPTION
843 
844   MEMBERS
845     common       - Common header for use with the CsrWifiFsm Module
846     interfaceTag -
847     clientData   -
848     tclasLength  -
849     tclas        -
850 
851 *******************************************************************************/
852 typedef struct
853 {
854     CsrWifiFsmEvent                common;
855     u16                      interfaceTag;
856     CsrWifiRouterCtrlRequestorInfo clientData;
857     u16                      tclasLength;
858     u8                      *tclas;
859 } CsrWifiRouterCtrlTclasAddReq;
860 
861 /*******************************************************************************
862 
863   NAME
864     CsrWifiRouterCtrlResumeRes
865 
866   DESCRIPTION
867 
868   MEMBERS
869     common     - Common header for use with the CsrWifiFsm Module
870     clientData -
871     status     -
872 
873 *******************************************************************************/
874 typedef struct
875 {
876     CsrWifiFsmEvent                common;
877     CsrWifiRouterCtrlRequestorInfo clientData;
878     CsrResult                      status;
879 } CsrWifiRouterCtrlResumeRes;
880 
881 /*******************************************************************************
882 
883   NAME
884     CsrWifiRouterCtrlRawSdioDeinitialiseReq
885 
886   DESCRIPTION
887 
888   MEMBERS
889     common     - Common header for use with the CsrWifiFsm Module
890     clientData -
891 
892 *******************************************************************************/
893 typedef struct
894 {
895     CsrWifiFsmEvent                common;
896     CsrWifiRouterCtrlRequestorInfo clientData;
897 } CsrWifiRouterCtrlRawSdioDeinitialiseReq;
898 
899 /*******************************************************************************
900 
901   NAME
902     CsrWifiRouterCtrlRawSdioInitialiseReq
903 
904   DESCRIPTION
905 
906   MEMBERS
907     common     - Common header for use with the CsrWifiFsm Module
908     clientData -
909 
910 *******************************************************************************/
911 typedef struct
912 {
913     CsrWifiFsmEvent                common;
914     CsrWifiRouterCtrlRequestorInfo clientData;
915 } CsrWifiRouterCtrlRawSdioInitialiseReq;
916 
917 /*******************************************************************************
918 
919   NAME
920     CsrWifiRouterCtrlTclasDelReq
921 
922   DESCRIPTION
923 
924   MEMBERS
925     common       - Common header for use with the CsrWifiFsm Module
926     interfaceTag -
927     clientData   -
928     tclasLength  -
929     tclas        -
930 
931 *******************************************************************************/
932 typedef struct
933 {
934     CsrWifiFsmEvent                common;
935     u16                      interfaceTag;
936     CsrWifiRouterCtrlRequestorInfo clientData;
937     u16                      tclasLength;
938     u8                      *tclas;
939 } CsrWifiRouterCtrlTclasDelReq;
940 
941 /*******************************************************************************
942 
943   NAME
944     CsrWifiRouterCtrlTrafficClassificationReq
945 
946   DESCRIPTION
947 
948   MEMBERS
949     common       - Common header for use with the CsrWifiFsm Module
950     interfaceTag -
951     clientData   -
952     trafficType  -
953     period       -
954 
955 *******************************************************************************/
956 typedef struct
957 {
958     CsrWifiFsmEvent                common;
959     u16                      interfaceTag;
960     CsrWifiRouterCtrlRequestorInfo clientData;
961     CsrWifiRouterCtrlTrafficType   trafficType;
962     u16                      period;
963 } CsrWifiRouterCtrlTrafficClassificationReq;
964 
965 /*******************************************************************************
966 
967   NAME
968     CsrWifiRouterCtrlTrafficConfigReq
969 
970   DESCRIPTION
971 
972   MEMBERS
973     common            - Common header for use with the CsrWifiFsm Module
974     interfaceTag      -
975     clientData        -
976     trafficConfigType -
977     config            -
978 
979 *******************************************************************************/
980 typedef struct
981 {
982     CsrWifiFsmEvent                    common;
983     u16                          interfaceTag;
984     CsrWifiRouterCtrlRequestorInfo     clientData;
985     CsrWifiRouterCtrlTrafficConfigType trafficConfigType;
986     CsrWifiRouterCtrlTrafficConfig     config;
987 } CsrWifiRouterCtrlTrafficConfigReq;
988 
989 /*******************************************************************************
990 
991   NAME
992     CsrWifiRouterCtrlWifiOffReq
993 
994   DESCRIPTION
995 
996   MEMBERS
997     common     - Common header for use with the CsrWifiFsm Module
998     clientData -
999 
1000 *******************************************************************************/
1001 typedef struct
1002 {
1003     CsrWifiFsmEvent                common;
1004     CsrWifiRouterCtrlRequestorInfo clientData;
1005 } CsrWifiRouterCtrlWifiOffReq;
1006 
1007 /*******************************************************************************
1008 
1009   NAME
1010     CsrWifiRouterCtrlWifiOffRes
1011 
1012   DESCRIPTION
1013 
1014   MEMBERS
1015     common     - Common header for use with the CsrWifiFsm Module
1016     clientData -
1017 
1018 *******************************************************************************/
1019 typedef struct
1020 {
1021     CsrWifiFsmEvent                common;
1022     CsrWifiRouterCtrlRequestorInfo clientData;
1023 } CsrWifiRouterCtrlWifiOffRes;
1024 
1025 /*******************************************************************************
1026 
1027   NAME
1028     CsrWifiRouterCtrlWifiOnReq
1029 
1030   DESCRIPTION
1031 
1032   MEMBERS
1033     common     - Common header for use with the CsrWifiFsm Module
1034     clientData -
1035     dataLength - Number of bytes in the buffer pointed to by 'data'
1036     data       - Pointer to the buffer containing 'dataLength' bytes
1037 
1038 *******************************************************************************/
1039 typedef struct
1040 {
1041     CsrWifiFsmEvent                common;
1042     CsrWifiRouterCtrlRequestorInfo clientData;
1043     u32                      dataLength;
1044     u8                      *data;
1045 } CsrWifiRouterCtrlWifiOnReq;
1046 
1047 /*******************************************************************************
1048 
1049   NAME
1050     CsrWifiRouterCtrlWifiOnRes
1051 
1052   DESCRIPTION
1053 
1054   MEMBERS
1055     common              - Common header for use with the CsrWifiFsm Module
1056     clientData          -
1057     status              -
1058     numInterfaceAddress -
1059     stationMacAddress   - array size 1 MUST match CSR_WIFI_NUM_INTERFACES
1060     smeVersions         -
1061     scheduledInterrupt  -
1062 
1063 *******************************************************************************/
1064 typedef struct
1065 {
1066     CsrWifiFsmEvent                common;
1067     CsrWifiRouterCtrlRequestorInfo clientData;
1068     CsrResult                      status;
1069     u16                      numInterfaceAddress;
1070     CsrWifiMacAddress              stationMacAddress[2];
1071     CsrWifiRouterCtrlSmeVersions   smeVersions;
1072     u8                        scheduledInterrupt;
1073 } CsrWifiRouterCtrlWifiOnRes;
1074 
1075 /*******************************************************************************
1076 
1077   NAME
1078     CsrWifiRouterCtrlM4TransmitReq
1079 
1080   DESCRIPTION
1081 
1082   MEMBERS
1083     common       - Common header for use with the CsrWifiFsm Module
1084     interfaceTag -
1085     clientData   -
1086 
1087 *******************************************************************************/
1088 typedef struct
1089 {
1090     CsrWifiFsmEvent                common;
1091     u16                      interfaceTag;
1092     CsrWifiRouterCtrlRequestorInfo clientData;
1093 } CsrWifiRouterCtrlM4TransmitReq;
1094 
1095 /*******************************************************************************
1096 
1097   NAME
1098     CsrWifiRouterCtrlModeSetReq
1099 
1100   DESCRIPTION
1101 
1102   MEMBERS
1103     common              - Common header for use with the CsrWifiFsm Module
1104     interfaceTag        -
1105     clientData          -
1106     mode                -
1107     bssid               - BSSID of the network the device is going to be a part
1108                           of
1109     protection          - Set to TRUE if encryption is enabled for the
1110                           connection/broadcast frames
1111     intraBssDistEnabled - If set to TRUE, intra BSS destribution will be
1112                           enabled. If set to FALSE, any unicast PDU which does
1113                           not have the RA as the the local MAC address, shall be
1114                           ignored. This field is interpreted by the receive if
1115                           mode is set to CSR_WIFI_ROUTER_CTRL_MODE_P2PGO
1116 
1117 *******************************************************************************/
1118 typedef struct
1119 {
1120     CsrWifiFsmEvent                common;
1121     u16                      interfaceTag;
1122     CsrWifiRouterCtrlRequestorInfo clientData;
1123     CsrWifiRouterCtrlMode          mode;
1124     CsrWifiMacAddress              bssid;
1125     u8                        protection;
1126     u8                        intraBssDistEnabled;
1127 } CsrWifiRouterCtrlModeSetReq;
1128 
1129 /*******************************************************************************
1130 
1131   NAME
1132     CsrWifiRouterCtrlPeerAddReq
1133 
1134   DESCRIPTION
1135 
1136   MEMBERS
1137     common         - Common header for use with the CsrWifiFsm Module
1138     interfaceTag   -
1139     clientData     -
1140     peerMacAddress -
1141     associationId  -
1142     staInfo        -
1143 
1144 *******************************************************************************/
1145 typedef struct
1146 {
1147     CsrWifiFsmEvent                common;
1148     u16                      interfaceTag;
1149     CsrWifiRouterCtrlRequestorInfo clientData;
1150     CsrWifiMacAddress              peerMacAddress;
1151     u16                      associationId;
1152     CsrWifiRouterCtrlStaInfo       staInfo;
1153 } CsrWifiRouterCtrlPeerAddReq;
1154 
1155 /*******************************************************************************
1156 
1157   NAME
1158     CsrWifiRouterCtrlPeerDelReq
1159 
1160   DESCRIPTION
1161 
1162   MEMBERS
1163     common           - Common header for use with the CsrWifiFsm Module
1164     interfaceTag     -
1165     clientData       -
1166     peerRecordHandle -
1167 
1168 *******************************************************************************/
1169 typedef struct
1170 {
1171     CsrWifiFsmEvent                   common;
1172     u16                         interfaceTag;
1173     CsrWifiRouterCtrlRequestorInfo    clientData;
1174     CsrWifiRouterCtrlPeerRecordHandle peerRecordHandle;
1175 } CsrWifiRouterCtrlPeerDelReq;
1176 
1177 /*******************************************************************************
1178 
1179   NAME
1180     CsrWifiRouterCtrlPeerUpdateReq
1181 
1182   DESCRIPTION
1183 
1184   MEMBERS
1185     common           - Common header for use with the CsrWifiFsm Module
1186     interfaceTag     -
1187     clientData       -
1188     peerRecordHandle -
1189     powersaveMode    -
1190 
1191 *******************************************************************************/
1192 typedef struct
1193 {
1194     CsrWifiFsmEvent                    common;
1195     u16                          interfaceTag;
1196     CsrWifiRouterCtrlRequestorInfo     clientData;
1197     CsrWifiRouterCtrlPeerRecordHandle  peerRecordHandle;
1198     CsrWifiRouterCtrlPowersaveTypeMask powersaveMode;
1199 } CsrWifiRouterCtrlPeerUpdateReq;
1200 
1201 /*******************************************************************************
1202 
1203   NAME
1204     CsrWifiRouterCtrlCapabilitiesReq
1205 
1206   DESCRIPTION
1207 
1208   MEMBERS
1209     common     - Common header for use with the CsrWifiFsm Module
1210     clientData -
1211 
1212 *******************************************************************************/
1213 typedef struct
1214 {
1215     CsrWifiFsmEvent                common;
1216     CsrWifiRouterCtrlRequestorInfo clientData;
1217 } CsrWifiRouterCtrlCapabilitiesReq;
1218 
1219 /*******************************************************************************
1220 
1221   NAME
1222     CsrWifiRouterCtrlBlockAckEnableReq
1223 
1224   DESCRIPTION
1225 
1226   MEMBERS
1227     common          - Common header for use with the CsrWifiFsm Module
1228     interfaceTag    -
1229     clientData      -
1230     macAddress      -
1231     trafficStreamID -
1232     role            -
1233     bufferSize      -
1234     timeout         -
1235     ssn             -
1236 
1237 *******************************************************************************/
1238 typedef struct
1239 {
1240     CsrWifiFsmEvent                  common;
1241     u16                        interfaceTag;
1242     CsrWifiRouterCtrlRequestorInfo   clientData;
1243     CsrWifiMacAddress                macAddress;
1244     CsrWifiRouterCtrlTrafficStreamId trafficStreamID;
1245     CsrWifiRouterCtrlBlockAckRole    role;
1246     u16                        bufferSize;
1247     u16                        timeout;
1248     u16                        ssn;
1249 } CsrWifiRouterCtrlBlockAckEnableReq;
1250 
1251 /*******************************************************************************
1252 
1253   NAME
1254     CsrWifiRouterCtrlBlockAckDisableReq
1255 
1256   DESCRIPTION
1257 
1258   MEMBERS
1259     common          - Common header for use with the CsrWifiFsm Module
1260     interfaceTag    -
1261     clientData      -
1262     macAddress      -
1263     trafficStreamID -
1264     role            -
1265 
1266 *******************************************************************************/
1267 typedef struct
1268 {
1269     CsrWifiFsmEvent                  common;
1270     u16                        interfaceTag;
1271     CsrWifiRouterCtrlRequestorInfo   clientData;
1272     CsrWifiMacAddress                macAddress;
1273     CsrWifiRouterCtrlTrafficStreamId trafficStreamID;
1274     CsrWifiRouterCtrlBlockAckRole    role;
1275 } CsrWifiRouterCtrlBlockAckDisableReq;
1276 
1277 /*******************************************************************************
1278 
1279   NAME
1280     CsrWifiRouterCtrlWapiRxPktReq
1281 
1282   DESCRIPTION
1283 
1284   MEMBERS
1285     common       - Common header for use with the CsrWifiFsm Module
1286     interfaceTag -
1287     signalLength -
1288     signal       -
1289     dataLength   -
1290     data         -
1291 
1292 *******************************************************************************/
1293 typedef struct
1294 {
1295     CsrWifiFsmEvent common;
1296     u16       interfaceTag;
1297     u16       signalLength;
1298     u8       *signal;
1299     u16       dataLength;
1300     u8       *data;
1301 } CsrWifiRouterCtrlWapiRxPktReq;
1302 
1303 /*******************************************************************************
1304 
1305   NAME
1306     CsrWifiRouterCtrlWapiMulticastFilterReq
1307 
1308   DESCRIPTION
1309 
1310   MEMBERS
1311     common       - Common header for use with the CsrWifiFsm Module
1312     interfaceTag -
1313     status       -
1314 
1315 *******************************************************************************/
1316 typedef struct
1317 {
1318     CsrWifiFsmEvent common;
1319     u16       interfaceTag;
1320     u8        status;
1321 } CsrWifiRouterCtrlWapiMulticastFilterReq;
1322 
1323 /*******************************************************************************
1324 
1325   NAME
1326     CsrWifiRouterCtrlWapiUnicastFilterReq
1327 
1328   DESCRIPTION
1329 
1330   MEMBERS
1331     common       - Common header for use with the CsrWifiFsm Module
1332     interfaceTag -
1333     status       -
1334 
1335 *******************************************************************************/
1336 typedef struct
1337 {
1338     CsrWifiFsmEvent common;
1339     u16       interfaceTag;
1340     u8        status;
1341 } CsrWifiRouterCtrlWapiUnicastFilterReq;
1342 
1343 /*******************************************************************************
1344 
1345   NAME
1346     CsrWifiRouterCtrlWapiUnicastTxPktReq
1347 
1348   DESCRIPTION
1349 
1350   MEMBERS
1351     common       - Common header for use with the CsrWifiFsm Module
1352     interfaceTag -
1353     dataLength   -
1354     data         -
1355 
1356 *******************************************************************************/
1357 typedef struct
1358 {
1359     CsrWifiFsmEvent common;
1360     u16       interfaceTag;
1361     u16       dataLength;
1362     u8       *data;
1363 } CsrWifiRouterCtrlWapiUnicastTxPktReq;
1364 
1365 /*******************************************************************************
1366 
1367   NAME
1368     CsrWifiRouterCtrlWapiFilterReq
1369 
1370   DESCRIPTION
1371 
1372   MEMBERS
1373     common          - Common header for use with the CsrWifiFsm Module
1374     interfaceTag    -
1375     isWapiConnected -
1376 
1377 *******************************************************************************/
1378 typedef struct
1379 {
1380     CsrWifiFsmEvent common;
1381     u16       interfaceTag;
1382     u8         isWapiConnected;
1383 } CsrWifiRouterCtrlWapiFilterReq;
1384 
1385 /*******************************************************************************
1386 
1387   NAME
1388     CsrWifiRouterCtrlHipInd
1389 
1390   DESCRIPTION
1391     This primitive is used for transferring MLME messages from the HIP.
1392 
1393   MEMBERS
1394     common            - Common header for use with the CsrWifiFsm Module
1395     mlmeCommandLength - Length of the MLME signal
1396     mlmeCommand       - Pointer to the MLME signal
1397     dataRef1Length    - Length of the dataRef1 bulk data
1398     dataRef1          - Pointer to the bulk data 1
1399     dataRef2Length    - Length of the dataRef2 bulk data
1400     dataRef2          - Pointer to the bulk data 2
1401 
1402 *******************************************************************************/
1403 typedef struct
1404 {
1405     CsrWifiFsmEvent common;
1406     u16       mlmeCommandLength;
1407     u8       *mlmeCommand;
1408     u16       dataRef1Length;
1409     u8       *dataRef1;
1410     u16       dataRef2Length;
1411     u8       *dataRef2;
1412 } CsrWifiRouterCtrlHipInd;
1413 
1414 /*******************************************************************************
1415 
1416   NAME
1417     CsrWifiRouterCtrlMulticastAddressInd
1418 
1419   DESCRIPTION
1420 
1421   MEMBERS
1422     common            - Common header for use with the CsrWifiFsm Module
1423     clientData        -
1424     interfaceTag      -
1425     action            -
1426     setAddressesCount -
1427     setAddresses      -
1428 
1429 *******************************************************************************/
1430 typedef struct
1431 {
1432     CsrWifiFsmEvent                common;
1433     CsrWifiRouterCtrlRequestorInfo clientData;
1434     u16                      interfaceTag;
1435     CsrWifiRouterCtrlListAction    action;
1436     u8                       setAddressesCount;
1437     CsrWifiMacAddress             *setAddresses;
1438 } CsrWifiRouterCtrlMulticastAddressInd;
1439 
1440 /*******************************************************************************
1441 
1442   NAME
1443     CsrWifiRouterCtrlPortConfigureCfm
1444 
1445   DESCRIPTION
1446 
1447   MEMBERS
1448     common       - Common header for use with the CsrWifiFsm Module
1449     clientData   -
1450     interfaceTag -
1451     status       -
1452     macAddress   -
1453 
1454 *******************************************************************************/
1455 typedef struct
1456 {
1457     CsrWifiFsmEvent                common;
1458     CsrWifiRouterCtrlRequestorInfo clientData;
1459     u16                      interfaceTag;
1460     CsrResult                      status;
1461     CsrWifiMacAddress              macAddress;
1462 } CsrWifiRouterCtrlPortConfigureCfm;
1463 
1464 /*******************************************************************************
1465 
1466   NAME
1467     CsrWifiRouterCtrlResumeInd
1468 
1469   DESCRIPTION
1470 
1471   MEMBERS
1472     common          - Common header for use with the CsrWifiFsm Module
1473     clientData      -
1474     powerMaintained -
1475 
1476 *******************************************************************************/
1477 typedef struct
1478 {
1479     CsrWifiFsmEvent                common;
1480     CsrWifiRouterCtrlRequestorInfo clientData;
1481     u8                        powerMaintained;
1482 } CsrWifiRouterCtrlResumeInd;
1483 
1484 /*******************************************************************************
1485 
1486   NAME
1487     CsrWifiRouterCtrlSuspendInd
1488 
1489   DESCRIPTION
1490 
1491   MEMBERS
1492     common      - Common header for use with the CsrWifiFsm Module
1493     clientData  -
1494     hardSuspend -
1495     d3Suspend   -
1496 
1497 *******************************************************************************/
1498 typedef struct
1499 {
1500     CsrWifiFsmEvent                common;
1501     CsrWifiRouterCtrlRequestorInfo clientData;
1502     u8                        hardSuspend;
1503     u8                        d3Suspend;
1504 } CsrWifiRouterCtrlSuspendInd;
1505 
1506 /*******************************************************************************
1507 
1508   NAME
1509     CsrWifiRouterCtrlTclasAddCfm
1510 
1511   DESCRIPTION
1512 
1513   MEMBERS
1514     common       - Common header for use with the CsrWifiFsm Module
1515     clientData   -
1516     interfaceTag -
1517     status       -
1518 
1519 *******************************************************************************/
1520 typedef struct
1521 {
1522     CsrWifiFsmEvent                common;
1523     CsrWifiRouterCtrlRequestorInfo clientData;
1524     u16                      interfaceTag;
1525     CsrResult                      status;
1526 } CsrWifiRouterCtrlTclasAddCfm;
1527 
1528 /*******************************************************************************
1529 
1530   NAME
1531     CsrWifiRouterCtrlRawSdioDeinitialiseCfm
1532 
1533   DESCRIPTION
1534 
1535   MEMBERS
1536     common     - Common header for use with the CsrWifiFsm Module
1537     clientData -
1538     result     -
1539 
1540 *******************************************************************************/
1541 typedef struct
1542 {
1543     CsrWifiFsmEvent                common;
1544     CsrWifiRouterCtrlRequestorInfo clientData;
1545     CsrResult                      result;
1546 } CsrWifiRouterCtrlRawSdioDeinitialiseCfm;
1547 
1548 /*******************************************************************************
1549 
1550   NAME
1551     CsrWifiRouterCtrlRawSdioInitialiseCfm
1552 
1553   DESCRIPTION
1554 
1555   MEMBERS
1556     common           - Common header for use with the CsrWifiFsm Module
1557     clientData       -
1558     result           -
1559     byteRead         -
1560     byteWrite        -
1561     firmwareDownload -
1562     reset            -
1563     coreDumpPrepare  -
1564     byteBlockRead    -
1565     gpRead16         -
1566     gpWrite16        -
1567 
1568 *******************************************************************************/
1569 typedef struct
1570 {
1571     CsrWifiFsmEvent                          common;
1572     CsrWifiRouterCtrlRequestorInfo           clientData;
1573     CsrResult                                result;
1574     CsrWifiRouterCtrlRawSdioByteRead         byteRead;
1575     CsrWifiRouterCtrlRawSdioByteWrite        byteWrite;
1576     CsrWifiRouterCtrlRawSdioFirmwareDownload firmwareDownload;
1577     CsrWifiRouterCtrlRawSdioReset            reset;
1578     CsrWifiRouterCtrlRawSdioCoreDumpPrepare  coreDumpPrepare;
1579     CsrWifiRouterCtrlRawSdioByteBlockRead    byteBlockRead;
1580     CsrWifiRouterCtrlRawSdioGpRead16         gpRead16;
1581     CsrWifiRouterCtrlRawSdioGpWrite16        gpWrite16;
1582 } CsrWifiRouterCtrlRawSdioInitialiseCfm;
1583 
1584 /*******************************************************************************
1585 
1586   NAME
1587     CsrWifiRouterCtrlTclasDelCfm
1588 
1589   DESCRIPTION
1590 
1591   MEMBERS
1592     common       - Common header for use with the CsrWifiFsm Module
1593     clientData   -
1594     interfaceTag -
1595     status       -
1596 
1597 *******************************************************************************/
1598 typedef struct
1599 {
1600     CsrWifiFsmEvent                common;
1601     CsrWifiRouterCtrlRequestorInfo clientData;
1602     u16                      interfaceTag;
1603     CsrResult                      status;
1604 } CsrWifiRouterCtrlTclasDelCfm;
1605 
1606 /*******************************************************************************
1607 
1608   NAME
1609     CsrWifiRouterCtrlTrafficProtocolInd
1610 
1611   DESCRIPTION
1612 
1613   MEMBERS
1614     common       - Common header for use with the CsrWifiFsm Module
1615     clientData   -
1616     interfaceTag -
1617     packetType   -
1618     direction    -
1619     srcAddress   -
1620 
1621 *******************************************************************************/
1622 typedef struct
1623 {
1624     CsrWifiFsmEvent                    common;
1625     CsrWifiRouterCtrlRequestorInfo     clientData;
1626     u16                          interfaceTag;
1627     CsrWifiRouterCtrlTrafficPacketType packetType;
1628     CsrWifiRouterCtrlProtocolDirection direction;
1629     CsrWifiMacAddress                  srcAddress;
1630 } CsrWifiRouterCtrlTrafficProtocolInd;
1631 
1632 /*******************************************************************************
1633 
1634   NAME
1635     CsrWifiRouterCtrlTrafficSampleInd
1636 
1637   DESCRIPTION
1638 
1639   MEMBERS
1640     common       - Common header for use with the CsrWifiFsm Module
1641     clientData   -
1642     interfaceTag -
1643     stats        -
1644 
1645 *******************************************************************************/
1646 typedef struct
1647 {
1648     CsrWifiFsmEvent                common;
1649     CsrWifiRouterCtrlRequestorInfo clientData;
1650     u16                      interfaceTag;
1651     CsrWifiRouterCtrlTrafficStats  stats;
1652 } CsrWifiRouterCtrlTrafficSampleInd;
1653 
1654 /*******************************************************************************
1655 
1656   NAME
1657     CsrWifiRouterCtrlWifiOffInd
1658 
1659   DESCRIPTION
1660 
1661   MEMBERS
1662     common            - Common header for use with the CsrWifiFsm Module
1663     clientData        -
1664     controlIndication -
1665 
1666 *******************************************************************************/
1667 typedef struct
1668 {
1669     CsrWifiFsmEvent                    common;
1670     CsrWifiRouterCtrlRequestorInfo     clientData;
1671     CsrWifiRouterCtrlControlIndication controlIndication;
1672 } CsrWifiRouterCtrlWifiOffInd;
1673 
1674 /*******************************************************************************
1675 
1676   NAME
1677     CsrWifiRouterCtrlWifiOffCfm
1678 
1679   DESCRIPTION
1680 
1681   MEMBERS
1682     common     - Common header for use with the CsrWifiFsm Module
1683     clientData -
1684 
1685 *******************************************************************************/
1686 typedef struct
1687 {
1688     CsrWifiFsmEvent                common;
1689     CsrWifiRouterCtrlRequestorInfo clientData;
1690 } CsrWifiRouterCtrlWifiOffCfm;
1691 
1692 /*******************************************************************************
1693 
1694   NAME
1695     CsrWifiRouterCtrlWifiOnInd
1696 
1697   DESCRIPTION
1698 
1699   MEMBERS
1700     common     - Common header for use with the CsrWifiFsm Module
1701     clientData -
1702     status     -
1703     versions   -
1704 
1705 *******************************************************************************/
1706 typedef struct
1707 {
1708     CsrWifiFsmEvent                common;
1709     CsrWifiRouterCtrlRequestorInfo clientData;
1710     CsrResult                      status;
1711     CsrWifiRouterCtrlVersions      versions;
1712 } CsrWifiRouterCtrlWifiOnInd;
1713 
1714 /*******************************************************************************
1715 
1716   NAME
1717     CsrWifiRouterCtrlWifiOnCfm
1718 
1719   DESCRIPTION
1720 
1721   MEMBERS
1722     common     - Common header for use with the CsrWifiFsm Module
1723     clientData -
1724     status     -
1725 
1726 *******************************************************************************/
1727 typedef struct
1728 {
1729     CsrWifiFsmEvent                common;
1730     CsrWifiRouterCtrlRequestorInfo clientData;
1731     CsrResult                      status;
1732 } CsrWifiRouterCtrlWifiOnCfm;
1733 
1734 /*******************************************************************************
1735 
1736   NAME
1737     CsrWifiRouterCtrlM4ReadyToSendInd
1738 
1739   DESCRIPTION
1740 
1741   MEMBERS
1742     common         - Common header for use with the CsrWifiFsm Module
1743     clientData     -
1744     interfaceTag   -
1745     peerMacAddress -
1746 
1747 *******************************************************************************/
1748 typedef struct
1749 {
1750     CsrWifiFsmEvent                common;
1751     CsrWifiRouterCtrlRequestorInfo clientData;
1752     u16                      interfaceTag;
1753     CsrWifiMacAddress              peerMacAddress;
1754 } CsrWifiRouterCtrlM4ReadyToSendInd;
1755 
1756 /*******************************************************************************
1757 
1758   NAME
1759     CsrWifiRouterCtrlM4TransmittedInd
1760 
1761   DESCRIPTION
1762 
1763   MEMBERS
1764     common         - Common header for use with the CsrWifiFsm Module
1765     clientData     -
1766     interfaceTag   -
1767     peerMacAddress -
1768     status         -
1769 
1770 *******************************************************************************/
1771 typedef struct
1772 {
1773     CsrWifiFsmEvent                common;
1774     CsrWifiRouterCtrlRequestorInfo clientData;
1775     u16                      interfaceTag;
1776     CsrWifiMacAddress              peerMacAddress;
1777     CsrResult                      status;
1778 } CsrWifiRouterCtrlM4TransmittedInd;
1779 
1780 /*******************************************************************************
1781 
1782   NAME
1783     CsrWifiRouterCtrlMicFailureInd
1784 
1785   DESCRIPTION
1786 
1787   MEMBERS
1788     common         - Common header for use with the CsrWifiFsm Module
1789     clientData     -
1790     interfaceTag   -
1791     peerMacAddress -
1792     unicastPdu     -
1793 
1794 *******************************************************************************/
1795 typedef struct
1796 {
1797     CsrWifiFsmEvent                common;
1798     CsrWifiRouterCtrlRequestorInfo clientData;
1799     u16                      interfaceTag;
1800     CsrWifiMacAddress              peerMacAddress;
1801     u8                        unicastPdu;
1802 } CsrWifiRouterCtrlMicFailureInd;
1803 
1804 /*******************************************************************************
1805 
1806   NAME
1807     CsrWifiRouterCtrlConnectedInd
1808 
1809   DESCRIPTION
1810 
1811   MEMBERS
1812     common         - Common header for use with the CsrWifiFsm Module
1813     clientData     -
1814     interfaceTag   -
1815     peerMacAddress -
1816     peerStatus     -
1817 
1818 *******************************************************************************/
1819 typedef struct
1820 {
1821     CsrWifiFsmEvent                common;
1822     CsrWifiRouterCtrlRequestorInfo clientData;
1823     u16                      interfaceTag;
1824     CsrWifiMacAddress              peerMacAddress;
1825     CsrWifiRouterCtrlPeerStatus    peerStatus;
1826 } CsrWifiRouterCtrlConnectedInd;
1827 
1828 /*******************************************************************************
1829 
1830   NAME
1831     CsrWifiRouterCtrlPeerAddCfm
1832 
1833   DESCRIPTION
1834 
1835   MEMBERS
1836     common           - Common header for use with the CsrWifiFsm Module
1837     clientData       -
1838     interfaceTag     -
1839     peerMacAddress   -
1840     peerRecordHandle -
1841     status           -
1842 
1843 *******************************************************************************/
1844 typedef struct
1845 {
1846     CsrWifiFsmEvent                   common;
1847     CsrWifiRouterCtrlRequestorInfo    clientData;
1848     u16                         interfaceTag;
1849     CsrWifiMacAddress                 peerMacAddress;
1850     CsrWifiRouterCtrlPeerRecordHandle peerRecordHandle;
1851     CsrResult                         status;
1852 } CsrWifiRouterCtrlPeerAddCfm;
1853 
1854 /*******************************************************************************
1855 
1856   NAME
1857     CsrWifiRouterCtrlPeerDelCfm
1858 
1859   DESCRIPTION
1860 
1861   MEMBERS
1862     common       - Common header for use with the CsrWifiFsm Module
1863     clientData   -
1864     interfaceTag -
1865     status       -
1866 
1867 *******************************************************************************/
1868 typedef struct
1869 {
1870     CsrWifiFsmEvent                common;
1871     CsrWifiRouterCtrlRequestorInfo clientData;
1872     u16                      interfaceTag;
1873     CsrResult                      status;
1874 } CsrWifiRouterCtrlPeerDelCfm;
1875 
1876 /*******************************************************************************
1877 
1878   NAME
1879     CsrWifiRouterCtrlUnexpectedFrameInd
1880 
1881   DESCRIPTION
1882 
1883   MEMBERS
1884     common         - Common header for use with the CsrWifiFsm Module
1885     clientData     -
1886     interfaceTag   -
1887     peerMacAddress -
1888 
1889 *******************************************************************************/
1890 typedef struct
1891 {
1892     CsrWifiFsmEvent                common;
1893     CsrWifiRouterCtrlRequestorInfo clientData;
1894     u16                      interfaceTag;
1895     CsrWifiMacAddress              peerMacAddress;
1896 } CsrWifiRouterCtrlUnexpectedFrameInd;
1897 
1898 /*******************************************************************************
1899 
1900   NAME
1901     CsrWifiRouterCtrlPeerUpdateCfm
1902 
1903   DESCRIPTION
1904 
1905   MEMBERS
1906     common       - Common header for use with the CsrWifiFsm Module
1907     clientData   -
1908     interfaceTag -
1909     status       -
1910 
1911 *******************************************************************************/
1912 typedef struct
1913 {
1914     CsrWifiFsmEvent                common;
1915     CsrWifiRouterCtrlRequestorInfo clientData;
1916     u16                      interfaceTag;
1917     CsrResult                      status;
1918 } CsrWifiRouterCtrlPeerUpdateCfm;
1919 
1920 /*******************************************************************************
1921 
1922   NAME
1923     CsrWifiRouterCtrlCapabilitiesCfm
1924 
1925   DESCRIPTION
1926     The router sends this primitive to confirm the size of the queues of the
1927     HIP.
1928 
1929   MEMBERS
1930     common           - Common header for use with the CsrWifiFsm Module
1931     clientData       -
1932     commandQueueSize - Size of command queue
1933     trafficQueueSize - Size of traffic queue (per AC)
1934 
1935 *******************************************************************************/
1936 typedef struct
1937 {
1938     CsrWifiFsmEvent                common;
1939     CsrWifiRouterCtrlRequestorInfo clientData;
1940     u16                      commandQueueSize;
1941     u16                      trafficQueueSize;
1942 } CsrWifiRouterCtrlCapabilitiesCfm;
1943 
1944 /*******************************************************************************
1945 
1946   NAME
1947     CsrWifiRouterCtrlBlockAckEnableCfm
1948 
1949   DESCRIPTION
1950 
1951   MEMBERS
1952     common       - Common header for use with the CsrWifiFsm Module
1953     clientData   -
1954     interfaceTag -
1955     status       -
1956 
1957 *******************************************************************************/
1958 typedef struct
1959 {
1960     CsrWifiFsmEvent                common;
1961     CsrWifiRouterCtrlRequestorInfo clientData;
1962     u16                      interfaceTag;
1963     CsrResult                      status;
1964 } CsrWifiRouterCtrlBlockAckEnableCfm;
1965 
1966 /*******************************************************************************
1967 
1968   NAME
1969     CsrWifiRouterCtrlBlockAckDisableCfm
1970 
1971   DESCRIPTION
1972 
1973   MEMBERS
1974     common       - Common header for use with the CsrWifiFsm Module
1975     clientData   -
1976     interfaceTag -
1977     status       -
1978 
1979 *******************************************************************************/
1980 typedef struct
1981 {
1982     CsrWifiFsmEvent                common;
1983     CsrWifiRouterCtrlRequestorInfo clientData;
1984     u16                      interfaceTag;
1985     CsrResult                      status;
1986 } CsrWifiRouterCtrlBlockAckDisableCfm;
1987 
1988 /*******************************************************************************
1989 
1990   NAME
1991     CsrWifiRouterCtrlBlockAckErrorInd
1992 
1993   DESCRIPTION
1994 
1995   MEMBERS
1996     common          - Common header for use with the CsrWifiFsm Module
1997     clientData      -
1998     interfaceTag    -
1999     trafficStreamID -
2000     peerMacAddress  -
2001     status          -
2002 
2003 *******************************************************************************/
2004 typedef struct
2005 {
2006     CsrWifiFsmEvent                  common;
2007     CsrWifiRouterCtrlRequestorInfo   clientData;
2008     u16                        interfaceTag;
2009     CsrWifiRouterCtrlTrafficStreamId trafficStreamID;
2010     CsrWifiMacAddress                peerMacAddress;
2011     CsrResult                        status;
2012 } CsrWifiRouterCtrlBlockAckErrorInd;
2013 
2014 /*******************************************************************************
2015 
2016   NAME
2017     CsrWifiRouterCtrlStaInactiveInd
2018 
2019   DESCRIPTION
2020 
2021   MEMBERS
2022     common       - Common header for use with the CsrWifiFsm Module
2023     clientData   -
2024     interfaceTag -
2025     staAddress   -
2026 
2027 *******************************************************************************/
2028 typedef struct
2029 {
2030     CsrWifiFsmEvent                common;
2031     CsrWifiRouterCtrlRequestorInfo clientData;
2032     u16                      interfaceTag;
2033     CsrWifiMacAddress              staAddress;
2034 } CsrWifiRouterCtrlStaInactiveInd;
2035 
2036 /*******************************************************************************
2037 
2038   NAME
2039     CsrWifiRouterCtrlWapiRxMicCheckInd
2040 
2041   DESCRIPTION
2042 
2043   MEMBERS
2044     common       - Common header for use with the CsrWifiFsm Module
2045     clientData   -
2046     interfaceTag -
2047     signalLength -
2048     signal       -
2049     dataLength   -
2050     data         -
2051 
2052 *******************************************************************************/
2053 typedef struct
2054 {
2055     CsrWifiFsmEvent                common;
2056     CsrWifiRouterCtrlRequestorInfo clientData;
2057     u16                      interfaceTag;
2058     u16                      signalLength;
2059     u8                      *signal;
2060     u16                      dataLength;
2061     u8                      *data;
2062 } CsrWifiRouterCtrlWapiRxMicCheckInd;
2063 
2064 /*******************************************************************************
2065 
2066   NAME
2067     CsrWifiRouterCtrlModeSetCfm
2068 
2069   DESCRIPTION
2070 
2071   MEMBERS
2072     common       - Common header for use with the CsrWifiFsm Module
2073     clientData   -
2074     interfaceTag -
2075     mode         -
2076     status       -
2077 
2078 *******************************************************************************/
2079 typedef struct
2080 {
2081     CsrWifiFsmEvent                common;
2082     CsrWifiRouterCtrlRequestorInfo clientData;
2083     u16                      interfaceTag;
2084     CsrWifiRouterCtrlMode          mode;
2085     CsrResult                      status;
2086 } CsrWifiRouterCtrlModeSetCfm;
2087 
2088 /*******************************************************************************
2089 
2090   NAME
2091     CsrWifiRouterCtrlWapiUnicastTxEncryptInd
2092 
2093   DESCRIPTION
2094 
2095   MEMBERS
2096     common       - Common header for use with the CsrWifiFsm Module
2097     clientData   -
2098     interfaceTag -
2099     dataLength   -
2100     data         -
2101 
2102 *******************************************************************************/
2103 typedef struct
2104 {
2105     CsrWifiFsmEvent                common;
2106     CsrWifiRouterCtrlRequestorInfo clientData;
2107     u16                      interfaceTag;
2108     u16                      dataLength;
2109     u8                      *data;
2110 } CsrWifiRouterCtrlWapiUnicastTxEncryptInd;
2111 
2112 #endif /* CSR_WIFI_ROUTER_CTRL_PRIM_H__ */
2113 
2114