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