staging: rtl8712, rtl8712: avoid lots of build warnings
[firefly-linux-kernel-4.4.55.git] / drivers / staging / csr / csr_wifi_router_ctrl_prim.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_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