1 /****************************************************************************
3 * Copyright (c) 2014 - 2018 Samsung Electronics Co., Ltd. All rights reserved
5 ****************************************************************************/
7 /* Note: this is an auto-generated file. */
12 #include <linux/kernel.h>
13 #include <linux/if_ether.h>
20 #ifndef CONFIG_SCSC_SMAPPER
28 static inline struct slsi_skb_cb
*slsi_skb_cb_get(struct sk_buff
*skb
)
30 return (struct slsi_skb_cb
*)skb
->cb
;
33 static inline struct slsi_skb_cb
*slsi_skb_cb_init(struct sk_buff
*skb
)
35 BUILD_BUG_ON(sizeof(struct slsi_skb_cb
) > sizeof(skb
->cb
));
37 memset(skb
->cb
, 0, sizeof(struct slsi_skb_cb
));
38 return slsi_skb_cb_get(skb
);
42 #define FAPI_SIG_TYPE_MASK 0x0F00
43 #define FAPI_SIG_TYPE_REQ 0x0000
44 #define FAPI_SIG_TYPE_CFM 0x0100
45 #define FAPI_SIG_TYPE_RES 0x0200
46 #define FAPI_SIG_TYPE_IND 0x0300
48 #define FAPI_SAP_TYPE_MASK 0xF000
49 #define FAPI_SAP_TYPE_MA 0x1000
50 #define FAPI_SAP_TYPE_MLME 0x2000
51 #define FAPI_SAP_TYPE_DEBUG 0x8000
52 #define FAPI_SAP_TYPE_TEST 0x9000
54 #define FAPI_DEBUG_SAP_ENG_VERSION 0x0000
55 #define FAPI_CONTROL_SAP_ENG_VERSION 0x0000
56 #define FAPI_DATA_SAP_ENG_VERSION 0x0000
57 #define FAPI_TEST_SAP_ENG_VERSION 0x0006
58 #define FAPI_DEBUG_SAP_VERSION 0x0d03
59 #define FAPI_CONTROL_SAP_VERSION 0x0e00
60 #define FAPI_TEST_SAP_VERSION 0x0e00
61 #define FAPI_DATA_SAP_VERSION 0x0e00
63 #define FAPI_ACLPOLICY_BLACKLIST 0x0000
64 #define FAPI_ACLPOLICY_WHITELIST 0x0001
66 #define FAPI_AUTHENTICATIONTYPE_OPEN_SYSTEM 0x0000
67 #define FAPI_AUTHENTICATIONTYPE_SHARED_KEY 0x0001
68 #define FAPI_AUTHENTICATIONTYPE_LEAP 0x0080
70 #define FAPI_BANDWIDTH_20_MHZ 0x0
71 #define FAPI_BANDWIDTH_40_MHZ 0x1
72 #define FAPI_BANDWIDTH_80_MHZ 0x2
73 #define FAPI_BANDWIDTH_160_MHZ 0x3
75 #define FAPI_BLOCKACKPOLICY_DELAYED_BLOCKACK 0x0
76 #define FAPI_BLOCKACKPOLICY_IMMEDIATE_BLOCKACK 0x1
78 #define FAPI_BULKDATADESCRIPTOR_INLINE 0x0000
79 #define FAPI_BULKDATADESCRIPTOR_SMAPPER 0x0001
81 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_20MHZ 0x00
82 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_40MHZ 0x01
83 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_80MHZ 0x02
85 #define FAPI_CONNECTIONTYPE_WLAN_INFRASTRUCTURE 0x0000
86 #define FAPI_CONNECTIONTYPE_P2P_OPERATION 0x0001
87 #define FAPI_CONNECTIONTYPE_NAN_FURTHER_SERVICE_SLOT 0x0004
88 #define FAPI_CONNECTIONTYPE_WLAN_RANGING 0x0005
90 #define FAPI_CWSTARTFLAGS_NONE 0x0000
91 #define FAPI_CWSTARTFLAGS_SCAN_CHANNEL 0x0001
93 #define FAPI_CWTYPE_SINE 0x0000
94 #define FAPI_CWTYPE_RAMP 0x0001
95 #define FAPI_CWTYPE_TWO_TONE 0x0002
96 #define FAPI_CWTYPE_DC 0x0003
97 #define FAPI_CWTYPE_PRN 0x0004
99 #define FAPI_DATARATE_11B20_1MBPS 0x0001
100 #define FAPI_DATARATE_11B20_2MBPS 0x0002
101 #define FAPI_DATARATE_11B20_5M5BPS 0x0005
102 #define FAPI_DATARATE_11B20_11MBPS 0x000b
103 #define FAPI_DATARATE_11A20_6MBPS 0x2006
104 #define FAPI_DATARATE_11A20_9MBPS 0x2009
105 #define FAPI_DATARATE_11A20_12MBPS 0x200c
106 #define FAPI_DATARATE_11A20_18MBPS 0x2012
107 #define FAPI_DATARATE_11A20_24MBPS 0x2018
108 #define FAPI_DATARATE_11A20_36MBPS 0x2024
109 #define FAPI_DATARATE_11A20_48MBPS 0x2030
110 #define FAPI_DATARATE_11A20_54MBPS 0x2036
111 #define FAPI_DATARATE_11N20_6M5BPS 0x4000
112 #define FAPI_DATARATE_11N20_13MBPS 0x4001
113 #define FAPI_DATARATE_11N20_19M5BPS 0x4002
114 #define FAPI_DATARATE_11N20_26MBPS 0x4003
115 #define FAPI_DATARATE_11N20_39MBPS 0x4004
116 #define FAPI_DATARATE_11N20_52MBPS 0x4005
117 #define FAPI_DATARATE_11N20_58M5BPS 0x4006
118 #define FAPI_DATARATE_11N20_65MBPS 0x4007
119 #define FAPI_DATARATE_11N20_7M2BPS_SGI 0x4040
120 #define FAPI_DATARATE_11N20_14M4BPS_SGI 0x4041
121 #define FAPI_DATARATE_11N20_21M7BPS_SGI 0x4042
122 #define FAPI_DATARATE_11N20_28M9BPS_SGI 0x4043
123 #define FAPI_DATARATE_11N20_43M3BPS_SGI 0x4044
124 #define FAPI_DATARATE_11N20_57M8BPS_SGI 0x4045
125 #define FAPI_DATARATE_11N20_65MBPS_SGI 0x4046
126 #define FAPI_DATARATE_11N20_72M2BPS_SGI 0x4047
127 #define FAPI_DATARATE_11N20_13MBPS_NSS2 0x4088
128 #define FAPI_DATARATE_11N20_26MBPS_NSS2 0x4089
129 #define FAPI_DATARATE_11N20_39MBPS_NSS2 0x408a
130 #define FAPI_DATARATE_11N20_52MBPS_NSS2 0x408b
131 #define FAPI_DATARATE_11N20_78MBPS_NSS2 0x408c
132 #define FAPI_DATARATE_11N20_104MBPS_NSS2 0x408d
133 #define FAPI_DATARATE_11N20_117MBPS_NSS2 0x408e
134 #define FAPI_DATARATE_11N20_130MBPS_NSS2 0x408f
135 #define FAPI_DATARATE_11N20_14M4BPS_SGI_NSS2 0x40c8
136 #define FAPI_DATARATE_11N20_28M9BPS_SGI_NSS2 0x40c9
137 #define FAPI_DATARATE_11N20_43M3BPS_SGI_NSS2 0x40ca
138 #define FAPI_DATARATE_11N20_57M8BPS_SGI_NSS2 0x40cb
139 #define FAPI_DATARATE_11N20_86M7BPS_SGI_NSS2 0x40cc
140 #define FAPI_DATARATE_11N20_115M6BPS_SGI_NSS2 0x40cd
141 #define FAPI_DATARATE_11N20_130MBPS_SGI_NSS2 0x40ce
142 #define FAPI_DATARATE_11N20_144M4BPS_SGI_NSS2 0x40cf
143 #define FAPI_DATARATE_11N40_13M5BPS 0x4400
144 #define FAPI_DATARATE_11N40_27MBPS 0x4401
145 #define FAPI_DATARATE_11N40_40M5BPS 0x4402
146 #define FAPI_DATARATE_11N40_54MBPS 0x4403
147 #define FAPI_DATARATE_11N40_81MBPS 0x4404
148 #define FAPI_DATARATE_11N40_108MBPS 0x4405
149 #define FAPI_DATARATE_11N40_121M5BPS 0x4406
150 #define FAPI_DATARATE_11N40_135MBPS 0x4407
151 #define FAPI_DATARATE_11N40_6MBPS 0x4420
152 #define FAPI_DATARATE_11N40_15MBPS_SGI 0x4440
153 #define FAPI_DATARATE_11N40_30MBPS_SGI 0x4441
154 #define FAPI_DATARATE_11N40_45MBPS_SGI 0x4442
155 #define FAPI_DATARATE_11N40_60MBPS_SGI 0x4443
156 #define FAPI_DATARATE_11N40_90MBPS_SGI 0x4444
157 #define FAPI_DATARATE_11N40_120MBPS_SGI 0x4445
158 #define FAPI_DATARATE_11N40_135MBPS_SGI 0x4446
159 #define FAPI_DATARATE_11N40_150MBPS_SGI 0x4447
160 #define FAPI_DATARATE_11N40_6M7BPS_SGI 0x4460
161 #define FAPI_DATARATE_11N40_27MBPS_NSS2 0x4488
162 #define FAPI_DATARATE_11N40_54MBPS_NSS2 0x4489
163 #define FAPI_DATARATE_11N40_81MBPS_NSS2 0x448a
164 #define FAPI_DATARATE_11N40_108MBPS_NSS2 0x448b
165 #define FAPI_DATARATE_11N40_162MBPS_NSS2 0x448c
166 #define FAPI_DATARATE_11N40_216MBPS_NSS2 0x448d
167 #define FAPI_DATARATE_11N40_243MBPS_NSS2 0x448e
168 #define FAPI_DATARATE_11N40_270MBPS_NSS2 0x448f
169 #define FAPI_DATARATE_11N40_30MBPS_SGI_NSS2 0x44c8
170 #define FAPI_DATARATE_11N40_60MBPS_SGI_NSS2 0x44c9
171 #define FAPI_DATARATE_11N40_90MBPS_SGI_NSS2 0x44ca
172 #define FAPI_DATARATE_11N40_120MBPS_SGI_NSS2 0x44cb
173 #define FAPI_DATARATE_11N40_180MBPS_SGI_NSS2 0x44cc
174 #define FAPI_DATARATE_11N40_240MBPS_SGI_NSS2 0x44cd
175 #define FAPI_DATARATE_11N40_270MBPS_SGI_NSS2 0x44ce
176 #define FAPI_DATARATE_11N40_300MBPS_SGI_NSS2 0x44cf
177 #define FAPI_DATARATE_11AC20_6M5BPS 0x6000
178 #define FAPI_DATARATE_11AC20_13MBPS 0x6001
179 #define FAPI_DATARATE_11AC20_19M5BPS 0x6002
180 #define FAPI_DATARATE_11AC20_26MBPS 0x6003
181 #define FAPI_DATARATE_11AC20_39MBPS 0x6004
182 #define FAPI_DATARATE_11AC20_52MBPS 0x6005
183 #define FAPI_DATARATE_11AC20_58M5BPS 0x6006
184 #define FAPI_DATARATE_11AC20_65MBPS 0x6007
185 #define FAPI_DATARATE_11AC20_78MBPS 0x6008
186 #define FAPI_DATARATE_11AC20_7M2BPS_SGI 0x6040
187 #define FAPI_DATARATE_11AC20_14M4BPS_SGI 0x6041
188 #define FAPI_DATARATE_11AC20_21M7BPS_SGI 0x6042
189 #define FAPI_DATARATE_11AC20_28M9BPS_SGI 0x6043
190 #define FAPI_DATARATE_11AC20_43M3BPS_SGI 0x6044
191 #define FAPI_DATARATE_11AC20_57M8BPS_SGI 0x6045
192 #define FAPI_DATARATE_11AC20_65MBPS_SGI 0x6046
193 #define FAPI_DATARATE_11AC20_72M2BPS_SGI 0x6047
194 #define FAPI_DATARATE_11AC20_86M7BPS_SGI 0x6048
195 #define FAPI_DATARATE_11AC20_13MBPS_NSS2 0x6080
196 #define FAPI_DATARATE_11AC20_26MBPS_NSS2 0x6081
197 #define FAPI_DATARATE_11AC20_39MBPS_NSS2 0x6082
198 #define FAPI_DATARATE_11AC20_52MBPS_NSS2 0x6083
199 #define FAPI_DATARATE_11AC20_78MBPS_NSS2 0x6084
200 #define FAPI_DATARATE_11AC20_104MBPS_NSS2 0x6085
201 #define FAPI_DATARATE_11AC20_117MBPS_NSS2 0x6086
202 #define FAPI_DATARATE_11AC20_130MBPS_NSS2 0x6087
203 #define FAPI_DATARATE_11AC20_156MBPS_NSS2 0x6088
204 #define FAPI_DATARATE_11AC20_14M4BPS_SGI_NSS2 0x60c0
205 #define FAPI_DATARATE_11AC20_28M9BPS_SGI_NSS2 0x60c1
206 #define FAPI_DATARATE_11AC20_43M3BPS_SGI_NSS2 0x60c2
207 #define FAPI_DATARATE_11AC20_57M8BPS_SGI_NSS2 0x60c3
208 #define FAPI_DATARATE_11AC20_86M7BPS_SGI_NSS2 0x60c4
209 #define FAPI_DATARATE_11AC20_115M6BPS_SGI_NSS2 0x60c5
210 #define FAPI_DATARATE_11AC20_130MBPS_SGI_NSS2 0x60c6
211 #define FAPI_DATARATE_11AC20_144M4BPS_SGI_NSS2 0x60c7
212 #define FAPI_DATARATE_11AC20_173M3BPS_SGI_NSS2 0x60c8
213 #define FAPI_DATARATE_11AC40_13M5BPS 0x6400
214 #define FAPI_DATARATE_11AC40_27MBPS 0x6401
215 #define FAPI_DATARATE_11AC40_40M5BPS 0x6402
216 #define FAPI_DATARATE_11AC40_54MBPS 0x6403
217 #define FAPI_DATARATE_11AC40_81MBPS 0x6404
218 #define FAPI_DATARATE_11AC40_108MBPS 0x6405
219 #define FAPI_DATARATE_11AC40_121M5BPS 0x6406
220 #define FAPI_DATARATE_11AC40_135MBPS 0x6407
221 #define FAPI_DATARATE_11AC40_162MBPS 0x6408
222 #define FAPI_DATARATE_11AC40_180MBPS 0x6409
223 #define FAPI_DATARATE_11AC40_15MBPS_SGI 0x6440
224 #define FAPI_DATARATE_11AC40_30MBPS_SGI 0x6441
225 #define FAPI_DATARATE_11AC40_45MBPS_SGI 0x6442
226 #define FAPI_DATARATE_11AC40_60MBPS_SGI 0x6443
227 #define FAPI_DATARATE_11AC40_90MBPS_SGI 0x6444
228 #define FAPI_DATARATE_11AC40_120MBPS_SGI 0x6445
229 #define FAPI_DATARATE_11AC40_135MBPS_SGI 0x6446
230 #define FAPI_DATARATE_11AC40_150MBPS_SGI 0x6447
231 #define FAPI_DATARATE_11AC40_180MBPS_SGI 0x6448
232 #define FAPI_DATARATE_11AC40_200MBPS_SGI 0x6449
233 #define FAPI_DATARATE_11AC40_27MBPS_NSS2 0x6480
234 #define FAPI_DATARATE_11AC40_54MBPS_NSS2 0x6481
235 #define FAPI_DATARATE_11AC40_81MBPS_NSS2 0x6482
236 #define FAPI_DATARATE_11AC40_108MBPS_NSS2 0x6483
237 #define FAPI_DATARATE_11AC40_162MBPS_NSS2 0x6484
238 #define FAPI_DATARATE_11AC40_216MBPS_NSS2 0x6485
239 #define FAPI_DATARATE_11AC40_243MBPS_NSS2 0x6486
240 #define FAPI_DATARATE_11AC40_270MBPS_NSS2 0x6487
241 #define FAPI_DATARATE_11AC40_324MBPS_NSS2 0x6488
242 #define FAPI_DATARATE_11AC40_360MBPS_NSS2 0x6489
243 #define FAPI_DATARATE_11AC40_30MBPS_SGI_NSS2 0x64c0
244 #define FAPI_DATARATE_11AC40_60MBPS_SGI_NSS2 0x64c1
245 #define FAPI_DATARATE_11AC40_90MBPS_SGI_NSS2 0x64c2
246 #define FAPI_DATARATE_11AC40_120MBPS_SGI_NSS2 0x64c3
247 #define FAPI_DATARATE_11AC40_180MBPS_SGI_NSS2 0x64c4
248 #define FAPI_DATARATE_11AC40_240MBPS_SGI_NSS2 0x64c5
249 #define FAPI_DATARATE_11AC40_270MBPS_SGI_NSS2 0x64c6
250 #define FAPI_DATARATE_11AC40_300MBPS_SGI_NSS2 0x64c7
251 #define FAPI_DATARATE_11AC40_360MBPS_SGI_NSS2 0x64c8
252 #define FAPI_DATARATE_11AC40_400MBPS_SGI_NSS2 0x64c9
253 #define FAPI_DATARATE_11AC80_29M3BPS 0x6800
254 #define FAPI_DATARATE_11AC80_58M5BPS 0x6801
255 #define FAPI_DATARATE_11AC80_87M8BPS 0x6802
256 #define FAPI_DATARATE_11AC80_117MBPS 0x6803
257 #define FAPI_DATARATE_11AC80_175M5BPS 0x6804
258 #define FAPI_DATARATE_11AC80_234MBPS 0x6805
259 #define FAPI_DATARATE_11AC80_263M3BPS 0x6806
260 #define FAPI_DATARATE_11AC80_292M5BPS 0x6807
261 #define FAPI_DATARATE_11AC80_351MBPS 0x6808
262 #define FAPI_DATARATE_11AC80_390MBPS 0x6809
263 #define FAPI_DATARATE_11AC80_32M5BPS_SGI 0x6840
264 #define FAPI_DATARATE_11AC80_65MBPS_SGI 0x6841
265 #define FAPI_DATARATE_11AC80_97M5BPS_SGI 0x6842
266 #define FAPI_DATARATE_11AC80_130MBPS_SGI 0x6843
267 #define FAPI_DATARATE_11AC80_195MBPS_SGI 0x6844
268 #define FAPI_DATARATE_11AC80_260MBPS_SGI 0x6845
269 #define FAPI_DATARATE_11AC80_292M5BPS_SGI 0x6846
270 #define FAPI_DATARATE_11AC80_325MBPS_SGI 0x6847
271 #define FAPI_DATARATE_11AC80_390MBPS_SGI 0x6848
272 #define FAPI_DATARATE_11AC80_433M3BPS_SGI 0x6849
273 #define FAPI_DATARATE_11AC80_58M5BPS_NSS2 0x6880
274 #define FAPI_DATARATE_11AC80_117MBPS_NSS2 0x6881
275 #define FAPI_DATARATE_11AC80_175M5BPS_NSS2 0x6882
276 #define FAPI_DATARATE_11AC80_234MBPS_NSS2 0x6883
277 #define FAPI_DATARATE_11AC80_351MBPS_NSS2 0x6884
278 #define FAPI_DATARATE_11AC80_468MBPS_NSS2 0x6885
279 #define FAPI_DATARATE_11AC80_526M5BPS_NSS2 0x6886
280 #define FAPI_DATARATE_11AC80_585MBPS_NSS2 0x6887
281 #define FAPI_DATARATE_11AC80_702MBPS_NSS2 0x6888
282 #define FAPI_DATARATE_11AC80_780MBPS_NSS2 0x6889
283 #define FAPI_DATARATE_11AC80_65MBPS_SGI_NSS2 0x68c0
284 #define FAPI_DATARATE_11AC80_130MBPS_SGI_NSS2 0x68c1
285 #define FAPI_DATARATE_11AC80_195MBPS_SGI_NSS2 0x68c2
286 #define FAPI_DATARATE_11AC80_260MBPS_SGI_NSS2 0x68c3
287 #define FAPI_DATARATE_11AC80_390MBPS_SGI_NSS2 0x68c4
288 #define FAPI_DATARATE_11AC80_520MBPS_SGI_NSS2 0x68c5
289 #define FAPI_DATARATE_11AC80_585MBPS_SGI_NSS2 0x68c6
290 #define FAPI_DATARATE_11AC80_650MBPS_SGI_NSS2 0x68c7
291 #define FAPI_DATARATE_11AC80_780MBPS_SGI_NSS2 0x68c8
292 #define FAPI_DATARATE_11AC80_866M7BPS_SGI_NSS2 0x68c9
293 #define FAPI_DATARATE_CTR_TOTAL 0xe000
294 #define FAPI_DATARATE_CTR_NO_ERROR 0xe001
295 #define FAPI_DATARATE_CTR_CRC_ERROR 0xe002
296 #define FAPI_DATARATE_CTR_BAD_SIGNAL 0xe003
297 #define FAPI_DATARATE_CTR_STBC 0xe004
298 #define FAPI_DATARATE_CTR_DUPLICATE 0xe005
299 #define FAPI_DATARATE_CTR_ERROR 0xe006
300 #define FAPI_DATARATE_CTR_LDPC 0xe007
302 #define FAPI_DATAUNITDESCRIPTOR_IEEE802_11_FRAME 0x0000
303 #define FAPI_DATAUNITDESCRIPTOR_IEEE802_3_FRAME 0x0001
304 #define FAPI_DATAUNITDESCRIPTOR_AMSDU_SUBFRAME 0x0002
305 #define FAPI_DATAUNITDESCRIPTOR_AMSDU 0x0003
306 #define FAPI_DATAUNITDESCRIPTOR_TCP_ACK 0x0004
308 #define FAPI_DEVICEROLE_INFRASTRUCTURE_STATION 0x0001
309 #define FAPI_DEVICEROLE_P2P_GO 0x0002
310 #define FAPI_DEVICEROLE_P2P_DEVICE 0x0003
311 #define FAPI_DEVICEROLE_P2P_CLIENT 0x0004
313 #define FAPI_DEVICESTATE_IDLE 0
314 #define FAPI_DEVICESTATE_RX_RUNNING 1
315 #define FAPI_DEVICESTATE_TX_RUNNING 2
316 #define FAPI_DEVICESTATE_CW_RUNNING 3
317 #define FAPI_DEVICESTATE_BIST_RUNNING 4
319 #define FAPI_DIRECTION_TRANSMIT 0x0000
320 #define FAPI_DIRECTION_RECEIVE 0x0001
321 #define FAPI_DIRECTION_ANY 0x0003
323 #define FAPI_ENDPOINT_HOSTIO 0x0001
324 #define FAPI_ENDPOINT_DPLP 0x0002
326 #define FAPI_EPNOPOLICY_HIDDEN 0x0001
327 #define FAPI_EPNOPOLICY_A_BAND 0x0002
328 #define FAPI_EPNOPOLICY_G_BAND 0x0004
329 #define FAPI_EPNOPOLICY_STRICT_MATCH 0x0008
330 #define FAPI_EPNOPOLICY_SAME_NETWORK 0x0010
331 #define FAPI_EPNOPOLICY_AUTH_OPEN 0x0100
332 #define FAPI_EPNOPOLICY_AUTH_PSK 0x0200
333 #define FAPI_EPNOPOLICY_AUTH_EAPOL 0x0400
335 #define FAPI_EVENT_WIFI_EVENT_ASSOCIATION_REQUESTED 0x0000
336 #define FAPI_EVENT_WIFI_EVENT_AUTH_COMPLETE 0x0001
337 #define FAPI_EVENT_WIFI_EVENT_ASSOC_COMPLETE 0x0002
338 #define FAPI_EVENT_WIFI_EVENT_FW_AUTH_STARTED 0x0003
339 #define FAPI_EVENT_WIFI_EVENT_FW_ASSOC_STARTED 0x0004
340 #define FAPI_EVENT_WIFI_EVENT_FW_RE_ASSOC_STARTED 0x0005
341 #define FAPI_EVENT_WIFI_EVENT_DRIVER_SCAN_REQUESTED 0x0006
342 #define FAPI_EVENT_WIFI_EVENT_DRIVER_SCAN_RESULT_FOUND 0x0007
343 #define FAPI_EVENT_WIFI_EVENT_DRIVER_SCAN_COMPLETE 0x0008
344 #define FAPI_EVENT_WIFI_EVENT_G_SCAN_STARTED 0x0009
345 #define FAPI_EVENT_WIFI_EVENT_G_SCAN_COMPLETE 0x000a
346 #define FAPI_EVENT_WIFI_EVENT_DISASSOCIATION_REQUESTED 0x000b
347 #define FAPI_EVENT_WIFI_EVENT_RE_ASSOCIATION_REQUESTED 0x000c
348 #define FAPI_EVENT_WIFI_EVENT_ROAM_REQUESTED 0x000d
349 #define FAPI_EVENT_WIFI_EVENT_BEACON_RECEIVED 0x000e
350 #define FAPI_EVENT_WIFI_EVENT_ROAM_SCAN_STARTED 0x000f
351 #define FAPI_EVENT_WIFI_EVENT_ROAM_SCAN_COMPLETE 0x0010
352 #define FAPI_EVENT_WIFI_EVENT_ROAM_SEARCH_STARTED 0x0011
353 #define FAPI_EVENT_WIFI_EVENT_ROAM_SEARCH_STOPPED 0x0012
354 #define FAPI_EVENT_WIFI_EVENT_CHANNEL_SWITCH_ANOUNCEMENT 0x0014
355 #define FAPI_EVENT_WIFI_EVENT_FW_EAPOL_FRAME_TRANSMIT_START 0x0015
356 #define FAPI_EVENT_WIFI_EVENT_FW_EAPOL_FRAME_TRANSMIT_STOP 0x0016
357 #define FAPI_EVENT_WIFI_EVENT_DRIVER_EAPOL_FRAME_TRANSMIT_REQUESTED 0x0017
358 #define FAPI_EVENT_WIFI_EVENT_FW_EAPOL_FRAME_RECEIVED 0x0018
359 #define FAPI_EVENT_WIFI_EVENT_DRIVER_EAPOL_FRAME_RECEIVED 0x001a
360 #define FAPI_EVENT_WIFI_EVENT_BLOCK_ACK_NEGOTIATION_COMPLETE 0x001b
361 #define FAPI_EVENT_WIFI_EVENT_BT_COEX_BT_SCO_START 0x001c
362 #define FAPI_EVENT_WIFI_EVENT_BT_COEX_BT_SCO_STOP 0x001d
363 #define FAPI_EVENT_WIFI_EVENT_BT_COEX_BT_SCAN_START 0x001e
364 #define FAPI_EVENT_WIFI_EVENT_BT_COEX_BT_SCAN_STOP 0x001f
365 #define FAPI_EVENT_WIFI_EVENT_BT_COEX_BT_HID_START 0x0020
366 #define FAPI_EVENT_WIFI_EVENT_BT_COEX_BT_HID_STOP 0x0021
367 #define FAPI_EVENT_WIFI_EVENT_ROAM_AUTH_STARTED 0x0022
368 #define FAPI_EVENT_WIFI_EVENT_ROAM_AUTH_COMPLETE 0x0023
369 #define FAPI_EVENT_WIFI_EVENT_ROAM_ASSOC_STARTED 0x0024
370 #define FAPI_EVENT_WIFI_EVENT_ROAM_ASSOC_COMPLETE 0x0025
371 #define FAPI_EVENT_WIFI_EVENT_G_SCAN_STOP 0x0026
372 #define FAPI_EVENT_WIFI_EVENT_G_SCAN_CYCLE_STARTED 0x0027
373 #define FAPI_EVENT_WIFI_EVENT_G_SCAN_CYCLE_COMPLETED 0x0028
374 #define FAPI_EVENT_WIFI_EVENT_G_SCAN_BUCKET_STARTED 0x0029
375 #define FAPI_EVENT_WIFI_EVENT_G_SCAN_BUCKET_COMPLETED 0x002a
376 #define FAPI_EVENT_WIFI_EVENT_G_SCAN_RESULTS_AVAILABLE 0x002b
377 #define FAPI_EVENT_WIFI_EVENT_G_SCAN_CAPABILITIES 0x002c
378 #define FAPI_EVENT_WIFI_EVENT_ROAM_CANDIDATE_FOUND 0x002d
379 #define FAPI_EVENT_WIFI_EVENT_ROAM_SCAN_CONFIG 0x002e
380 #define FAPI_EVENT_WIFI_EVENT_AUTH_TIMEOUT 0x002f
381 #define FAPI_EVENT_WIFI_EVENT_ASSOC_TIMEOUT 0x0030
382 #define FAPI_EVENT_WIFI_EVENT_MEM_ALLOC_FAILURE 0x0031
383 #define FAPI_EVENT_WIFI_EVENT_DRIVER_PNO_ADD 0x0032
384 #define FAPI_EVENT_WIFI_EVENT_DRIVER_PNO_REMOVE 0x0033
385 #define FAPI_EVENT_WIFI_EVENT_DRIVER_PNO_NETWORK_FOUND 0x0034
386 #define FAPI_EVENT_WIFI_EVENT_DRIVER_PNO_SCAN_REQUESTED 0x0035
387 #define FAPI_EVENT_WIFI_EVENT_DRIVER_PNO_SCAN_RESULT_FOUND 0x0036
388 #define FAPI_EVENT_WIFI_EVENT_DRIVER_PNO_SCAN_COMPLETE 0x0037
389 #define FAPI_EVENT_WIFI_EVENT_BLACKOUT_START 0x0064
390 #define FAPI_EVENT_WIFI_EVENT_BLACKOUT_STOP 0x0065
391 #define FAPI_EVENT_WIFI_EVENT_NAN_PUBLISH_TERMINATED 0x0100
392 #define FAPI_EVENT_WIFI_EVENT_NAN_SUBSCRIBE_TERMINATED 0x0101
393 #define FAPI_EVENT_WIFI_EVENT_NAN_MATCH_EXPIRED 0x0102
394 #define FAPI_EVENT_WIFI_EVENT_NAN_ADDRESS_CHANGED 0x0103
395 #define FAPI_EVENT_WIFI_EVENT_NAN_CLUSTER_STARTED 0x0104
396 #define FAPI_EVENT_WIFI_EVENT_NAN_CLUSTER_JOINED 0x0105
397 #define FAPI_EVENT_WIFI_EVENT_NAN_TRANSMIT_FOLLOWUP 0x0106
399 #define FAPI_HIDDENSSID_NOT_HIDDEN 0x0000
400 #define FAPI_HIDDENSSID_HIDDEN_ZERO_LENGTH 0x0001
401 #define FAPI_HIDDENSSID_HIDDEN_ZERO_DATA 0x0002
403 #define FAPI_HOSTSTATE_LCD_ACTIVE 0x0001
404 #define FAPI_HOSTSTATE_CELLULAR_ACTIVE 0x0002
405 #define FAPI_HOSTSTATE_SAR_ACTIVE 0x0004
406 #define FAPI_HOSTSTATE_GRIP_ACTIVE 0x0008
408 #define FAPI_HT_NON_HT_RATE 0x1
409 #define FAPI_HT_HT_RATE 0x2
410 #define FAPI_HT_VHT_RATE 0x3
412 #define FAPI_KEYTYPE_GROUP 0x0000
413 #define FAPI_KEYTYPE_PAIRWISE 0x0001
414 #define FAPI_KEYTYPE_WEP 0x0002
415 #define FAPI_KEYTYPE_IGTK 0x0003
416 #define FAPI_KEYTYPE_FIRST_ILLEGAL 0x0004
418 #define FAPI_MESSAGETYPE_EAP_MESSAGE 0x0001
419 #define FAPI_MESSAGETYPE_EAPOL_KEY_M123 0x0002
420 #define FAPI_MESSAGETYPE_EAPOL_KEY_M4 0x0003
421 #define FAPI_MESSAGETYPE_ARP 0x0004
422 #define FAPI_MESSAGETYPE_DHCP 0x0005
423 #define FAPI_MESSAGETYPE_NEIGHBOR_DISCOVERY 0x0006
424 #define FAPI_MESSAGETYPE_WAI_MESSAGE 0x0007
425 #define FAPI_MESSAGETYPE_PERIODIC_OFFLOAD 0x0008
426 #define FAPI_MESSAGETYPE_IEEE80211_ACTION 0x0010
427 /* TBD: Auto generate to add this */
428 #define FAPI_MESSAGETYPE_IEEE80211_MGMT_NOT_ACTION 0x0011
430 #define FAPI_MODE_SOURCE 0x0001
431 #define FAPI_MODE_SINK 0x0002
432 #define FAPI_MODE_LOOPBACK 0x0003
434 #define FAPI_NANAVAILABILITYDURATION_16MS 0x00
435 #define FAPI_NANAVAILABILITYDURATION_32MS 0x01
436 #define FAPI_NANAVAILABILITYDURATION_64MS 0x02
438 #define FAPI_NANOPERATIONCONTROL_CLUSTER_SDF 0x0001
439 #define FAPI_NANOPERATIONCONTROL_MAC_ADDRESS_EVENT 0x0002
440 #define FAPI_NANOPERATIONCONTROL_START_CLUSTER_EVENT 0x0004
441 #define FAPI_NANOPERATIONCONTROL_JOINED_CLUSTER_EVENT 0x0008
443 #define FAPI_NANSDFCONTROL_PUBLISH_END_EVENT 0x0001
444 #define FAPI_NANSDFCONTROL_SUBSCRIBE_END_EVENT 0x0002
445 #define FAPI_NANSDFCONTROL_MATCH_EXPIRED_EVENT 0x0004
446 #define FAPI_NANSDFCONTROL_RECEIVED_FOLLOWUP_EVENT 0x0008
447 #define FAPI_NANSDFCONTROL_DISABLE_RESPONSES_AFTER_FOLLOWUP 0x0010
449 #define FAPI_PACKETFILTERMODE_OPT_OUT 0x01
450 #define FAPI_PACKETFILTERMODE_OPT_IN 0x02
451 #define FAPI_PACKETFILTERMODE_OPT_OUT_SLEEP 0x04
452 #define FAPI_PACKETFILTERMODE_OPT_IN_SLEEP 0x08
454 #define FAPI_PMALLOCAREA_PMALLOC_STATS 0x0000
455 #define FAPI_PMALLOCAREA_PMALLOC_FSM_STATS 0x0001
456 #define FAPI_PMALLOCAREA_HOSTIO_SIG_SIZES 0x0002
458 #define FAPI_POWERMANAGEMENTMODE_ACTIVE_MODE 0x0000
459 #define FAPI_POWERMANAGEMENTMODE_POWER_SAVE 0x0001
461 #define FAPI_PRIMARYCHANNELPOSITION_P0 0x00
462 #define FAPI_PRIMARYCHANNELPOSITION_P1 0x01
463 #define FAPI_PRIMARYCHANNELPOSITION_P2 0x02
464 #define FAPI_PRIMARYCHANNELPOSITION_P3 0x03
465 #define FAPI_PRIMARYCHANNELPOSITION_P4 0x04
466 #define FAPI_PRIMARYCHANNELPOSITION_P5 0x05
467 #define FAPI_PRIMARYCHANNELPOSITION_P6 0x06
468 #define FAPI_PRIMARYCHANNELPOSITION_P7 0x07
469 #define FAPI_PRIMARYCHANNELPOSITION_NOT_APPLICABLE 0x08
471 #define FAPI_PRIORITY_QOS_UP0 0x0000
472 #define FAPI_PRIORITY_QOS_UP1 0x0001
473 #define FAPI_PRIORITY_QOS_UP2 0x0002
474 #define FAPI_PRIORITY_QOS_UP3 0x0003
475 #define FAPI_PRIORITY_QOS_UP4 0x0004
476 #define FAPI_PRIORITY_QOS_UP5 0x0005
477 #define FAPI_PRIORITY_QOS_UP6 0x0006
478 #define FAPI_PRIORITY_QOS_UP7 0x0007
479 #define FAPI_PRIORITY_CONTENTION 0x8000
481 #define FAPI_PROCEDURETYPE_UNKNOWN 0x0000
482 #define FAPI_PROCEDURETYPE_CONNECTION_STARTED 0x0001
483 #define FAPI_PROCEDURETYPE_DEVICE_DISCOVERED 0x0002
484 #define FAPI_PROCEDURETYPE_ROAMING_STARTED 0x0003
486 #define FAPI_PROCESSOR_DEFAULT 0x0
487 #define FAPI_PROCESSOR_CHIPCPU 0x1
488 #define FAPI_PROCESSOR_HOSTCPU 0x3
490 #define FAPI_PROTOCOL_UDP 0x0001
491 #define FAPI_PROTOCOL_TCP 0x0002
493 #define FAPI_PURPOSE_BEACON 0x0001
494 #define FAPI_PURPOSE_PROBE_RESPONSE 0x0002
495 #define FAPI_PURPOSE_ASSOCIATION_RESPONSE 0x0004
496 #define FAPI_PURPOSE_LOCAL 0x0008
497 #define FAPI_PURPOSE_ASSOCIATION_REQUEST 0x0010
498 #define FAPI_PURPOSE_PROBE_REQUEST 0x0020
500 #define FAPI_RADIOBITMAP_RADIO_0 0x0001
501 #define FAPI_RADIOBITMAP_RADIO_1 0x0002
503 #define FAPI_REASONCODE_RESERVED 0x0000
504 #define FAPI_REASONCODE_UNSPECIFIED_REASON 0x0001
505 #define FAPI_REASONCODE_DEAUTHENTICATED_INVALID_AUTHENTICATION 0x0002
506 #define FAPI_REASONCODE_DEAUTHENTICATED_LEAVING_ESS 0x0003
507 #define FAPI_REASONCODE_DEAUTHENTICATED_INACTIVITY 0x0004
508 #define FAPI_REASONCODE_DEAUTHENTICATED_NO_MORE_STATIONS 0x0005
509 #define FAPI_REASONCODE_DEAUTHENTICATED_INVALID_CLASS_2_FRAME 0x0006
510 #define FAPI_REASONCODE_DEAUTHENTICATED_INVALID_CLASS_3_FRAME 0x0007
511 #define FAPI_REASONCODE_DEAUTHENTICATED_UNACCEPTABLE_POWER_CAPABILITY 0x000a
512 #define FAPI_REASONCODE_DEAUTHENTICATED_4_WAY_HANDSHAKE_TIMEOUT 0x000f
513 #define FAPI_REASONCODE_DEAUTHENTICATED_GROUP_HANDSHAKE_TIMEOUT 0x0010
514 #define FAPI_REASONCODE_DEAUTHENTICATED_HANDSHAKE_ELEMENT_MISMATCH 0x0011
515 #define FAPI_REASONCODE_DEAUTHENTICATED_REASON_INVALID_RSNE 0x0014
516 #define FAPI_REASONCODE_DEAUTHENTICATED_802_1_X_AUTH_FAILED 0x0017
517 #define FAPI_REASONCODE_TDLS_PEER_UNREACHABLE 0x0019
518 #define FAPI_REASONCODE_TDLS_TEARDOWN_UNSPECIFIED_REASON 0x001a
519 #define FAPI_REASONCODE_QOS_UNSPECIFIED_REASON 0x0020
520 #define FAPI_REASONCODE_QOS_EXCESSIVE_NOT_ACK 0x0022
521 #define FAPI_REASONCODE_QOS_TXOP_LIMIT_EXCEEDED 0x0023
522 #define FAPI_REASONCODE_QSTA_LEAVING 0x0024
523 #define FAPI_REASONCODE_END 0x0025
524 #define FAPI_REASONCODE_UNKNOWN 0x0026
525 #define FAPI_REASONCODE_TIMEOUT 0x0027
526 #define FAPI_REASONCODE_KEEP_ALIVE_FAILURE 0x0028
527 #define FAPI_REASONCODE_START 0x0029
528 #define FAPI_REASONCODE_SYNCHRONISATION_LOSS 0x8003
529 #define FAPI_REASONCODE_SECURITY_REQUIRED 0x8004
530 #define FAPI_REASONCODE_ROAMING_FAILURE_LINK_LOSS_NO_CANDIDATE 0x8005
531 #define FAPI_REASONCODE_HOTSPOT_MAX_CLIENT_REACHED 0x8006
532 #define FAPI_REASONCODE_NAN_SERVICE_TERMINATED_TIMEOUT 0x9001
533 #define FAPI_REASONCODE_NAN_SERVICE_TERMINATED_USER_REQUEST 0x9002
534 #define FAPI_REASONCODE_NAN_SERVICE_TERMINATED_COUNT_REACHED 0x9003
535 #define FAPI_REASONCODE_NAN_SERVICE_TERMINATED_DISCOVERY_SHUTDOWN 0x9004
536 #define FAPI_REASONCODE_NAN_SERVICE_TERMINATED_POST_DISCOVERY_EXPIRED 0x9005
537 #define FAPI_REASONCODE_NAN_TRANSMIT_FOLLOWUP_SUCCESS 0x9006
538 #define FAPI_REASONCODE_NAN_TRANSMIT_FOLLOWUP_FAILURE 0x9007
540 #define FAPI_REPORTMODE_BUFFER_FULL 0x0001
541 #define FAPI_REPORTMODE_END_OF_SCAN_CYCLE 0x0002
542 #define FAPI_REPORTMODE_REAL_TIME 0x0004
543 #define FAPI_REPORTMODE_NO_BATCH 0x0008
545 #define FAPI_REQUESTTYPE_SMAPPER_RX_CONFIG 0x0000
547 #define FAPI_RESULTCODE_SUCCESS 0x0000
548 #define FAPI_RESULTCODE_UNSPECIFIED_FAILURE 0x0001
549 #define FAPI_RESULTCODE_INVALID_PARAMETERS 0x0026
550 #define FAPI_RESULTCODE_REJECTED_INVALID_IE 0x0028
551 #define FAPI_RESULTCODE_NOT_ALLOWED 0x0030
552 #define FAPI_RESULTCODE_NOT_PRESENT 0x0031
553 #define FAPI_RESULTCODE_TRANSMISSION_FAILURE 0x004f
554 #define FAPI_RESULTCODE_TIMEOUT 0x8000
555 #define FAPI_RESULTCODE_TOO_MANY_SIMULTANEOUS_REQUESTS 0x8001
556 #define FAPI_RESULTCODE_BSS_ALREADY_STARTED_OR_JOINED 0x8002
557 #define FAPI_RESULTCODE_NOT_SUPPORTED 0x8003
558 #define FAPI_RESULTCODE_INVALID_STATE 0x8004
559 #define FAPI_RESULTCODE_INSUFFICIENT_RESOURCE 0x8006
560 #define FAPI_RESULTCODE_MISSING_INFORMATION_ELEMENT 0x8007
561 #define FAPI_RESULTCODE_INVALID_VIRTUAL_INTERFACE_INDEX 0x800a
562 #define FAPI_RESULTCODE_HOST_REQUEST_SUCCESS 0x800b
563 #define FAPI_RESULTCODE_HOST_REQUEST_FAILED 0x800c
564 #define FAPI_RESULTCODE_COMEBACK_TIME_RUNNING 0x800d
565 #define FAPI_RESULTCODE_INVALID_FREQUENCY 0x800e
566 #define FAPI_RESULTCODE_PROBE_TIMEOUT 0x800f
567 #define FAPI_RESULTCODE_AUTH_TIMEOUT 0x8010
568 #define FAPI_RESULTCODE_ASSOC_TIMEOUT 0x8011
569 #define FAPI_RESULTCODE_ASSOC_ABORT 0x8012
570 /*Will remove it once we get latest fapi.xml */
571 #define FAPI_RESULTCODE_AUTH_NO_ACK 0x8013
572 #define FAPI_RESULTCODE_ASSOC_NO_ACK 0x8014
573 /*--------------------------------------------------*/
574 #define FAPI_RESULTCODE_INVALID_TLV_VALUE 0x9000
575 #define FAPI_RESULTCODE_NAN_PROTOCOL_FAILURE 0x9001
576 #define FAPI_RESULTCODE_NAN_INVALID_PUBLISH_SUBSCRIBE_ID 0x9002
577 #define FAPI_RESULTCODE_NAN_INVALID_REQUESTOR_INSTANCE_ID 0x9003
579 #define FAPI_RTTBANDWIDTH_20MHZ 0x0004
580 #define FAPI_RTTBANDWIDTH_40MHZ 0x0008
581 #define FAPI_RTTBANDWIDTH_80MHZ 0x0010
582 #define FAPI_RTTBANDWIDTH_160MHZ 0x0020
584 #define FAPI_RTTPEERTYPE_UNKNOWN 0x0000
585 #define FAPI_RTTPEERTYPE_AP 0x0001
586 #define FAPI_RTTPEERTYPE_STA 0x0002
587 #define FAPI_RTTPEERTYPE_P2P_GO 0x0003
588 #define FAPI_RTTPEERTYPE_P2P_CLIENT 0x0004
589 #define FAPI_RTTPEERTYPE_NAN_DEVICE 0x0005
591 #define FAPI_RTTPREAMBLE_LEGACY 0x0001
592 #define FAPI_RTTPREAMBLE_HT 0x0002
593 #define FAPI_RTTPREAMBLE_VHT 0x0004
595 #define FAPI_RTTSTATUS_SUCCESS 0x0000
596 #define FAPI_RTTSTATUS_UNSPECIFIED_FAILURE 0x0001
597 #define FAPI_RTTSTATUS_FAIL_NO_RESPONSE 0x0002
598 #define FAPI_RTTSTATUS_FAIL_REJECTED 0x0003
599 #define FAPI_RTTSTATUS_FAIL_NOT_SCHEDULED 0x0004
600 #define FAPI_RTTSTATUS_FAIL_TIMEOUT 0x0005
601 #define FAPI_RTTSTATUS_FAIL_INCORRECT_CHANNEL 0x0006
602 #define FAPI_RTTSTATUS_FAIL_FTM_NOT_SUPPORTED 0x0007
603 #define FAPI_RTTSTATUS_MEASUREMENT_ABORTED 0x0008
604 #define FAPI_RTTSTATUS_FAIL_INVALID_TIME_STAMP 0x0009
605 #define FAPI_RTTSTATUS_FAIL_NO_FTM_RECEIVED 0x000a
606 #define FAPI_RTTSTATUS_FAIL_BURST_NOT_SCHEDULED 0x000b
607 #define FAPI_RTTSTATUS_FAIL_BUSY_TRY_LATER 0x000c
608 #define FAPI_RTTSTATUS_FAIL_INVALID_REQUEST 0x000d
609 #define FAPI_RTTSTATUS_FAIL_FTM_PARAMETER_OVERRIDE 0x000f
611 #define FAPI_RTTTYPE_ONE_SIDED 0x0001
612 #define FAPI_RTTTYPE_TWO_SIDED 0x0002
614 #define FAPI_RXSTARTFLAGS_NONE 0x0000
615 #define FAPI_RXSTARTFLAGS_SCAN_CHANNEL 0x0001
616 #define FAPI_RXSTARTFLAGS_FILTERING 0x0002
617 #define FAPI_RXSTARTFLAGS_ACK 0x0008
618 #define FAPI_RXSTARTFLAGS_LP_MODE 0x0010
620 #define FAPI_SCANPOLICY_PASSIVE 0x01
621 #define FAPI_SCANPOLICY_TEST_MODE 0x02
622 #define FAPI_SCANPOLICY_ANY_RA 0x04
623 #define FAPI_SCANPOLICY_2_4GHZ 0x08
624 #define FAPI_SCANPOLICY_5GHZ 0x10
625 #define FAPI_SCANPOLICY_NON_DFS 0x20
626 #define FAPI_SCANPOLICY_DFS 0x40
627 #define FAPI_SCANPOLICY_ON_CHANNEL 0x80
629 #define FAPI_SCANTYPE_INITIAL_SCAN 0x0001
630 #define FAPI_SCANTYPE_FULL_SCAN 0x0002
631 #define FAPI_SCANTYPE_SCHEDULED_SCAN 0x0003
632 #define FAPI_SCANTYPE_P2P_SCAN_FULL 0x0004
633 #define FAPI_SCANTYPE_P2P_SCAN_SOCIAL 0x0005
634 #define FAPI_SCANTYPE_OBSS_SCAN 0x0006
635 #define FAPI_SCANTYPE_AP_AUTO_CHANNEL_SELECTION 0x0007
636 #define FAPI_SCANTYPE_GSCAN 0x0009
637 #define FAPI_SCANTYPE_MEASUREMENT_SCAN 0x000a
638 #define FAPI_SCANTYPE_SOFT_NEIGHBOUR_ROAMING_SCAN 0x000b
639 #define FAPI_SCANTYPE_SOFT_CACHED_ROAMING_SCAN 0x000c
640 #define FAPI_SCANTYPE_SOFT_ALL_ROAMING_SCAN 0x000d
641 #define FAPI_SCANTYPE_HARD_NEIGHBOUR_ROAMING_SCAN 0x000e
642 #define FAPI_SCANTYPE_HARD_CACHED_ROAMING_SCAN 0x000f
643 #define FAPI_SCANTYPE_HARD_ALL_ROAMING_SCAN 0x0010
644 #define FAPI_SCANTYPE_OBSS_SCAN_INTERNAL 0x0011
645 #define FAPI_SCANTYPE_NAN_SCAN 0x0012
646 #define FAPI_SCANTYPE_FIRST_ILLEGAL 0x0013
648 #define FAPI_STATSSTOPBITMAP_STATS_RADIO 0x0001
649 #define FAPI_STATSSTOPBITMAP_STATS_RADIO_CCA 0x0002
650 #define FAPI_STATSSTOPBITMAP_STATS_RADIO_CHANNELS 0x0004
651 #define FAPI_STATSSTOPBITMAP_STATS_RADIO_SCAN 0x0008
652 #define FAPI_STATSSTOPBITMAP_STATS_IFACE 0x0010
653 #define FAPI_STATSSTOPBITMAP_STATS_IFACE_TXRATE 0x0020
654 #define FAPI_STATSSTOPBITMAP_STATS_IFACE_AC 0x0040
655 #define FAPI_STATSSTOPBITMAP_STATS_IFACE_CONTENSION 0x0080
657 #define FAPI_TDLSACTION_DISCOVERY 0x0000
658 #define FAPI_TDLSACTION_SETUP 0x0001
659 #define FAPI_TDLSACTION_TEARDOWN 0x0002
660 #define FAPI_TDLSACTION_CHANNEL_SWITCH 0x0003
662 #define FAPI_TDLSEVENT_CONNECTED 0x0001
663 #define FAPI_TDLSEVENT_DISCONNECTED 0x0002
664 #define FAPI_TDLSEVENT_DISCOVERED 0x0003
666 #define FAPI_TRANSMISSIONSTATUS_SUCCESSFUL 0x0000
667 #define FAPI_TRANSMISSIONSTATUS_RETRY_LIMIT 0x0001
668 #define FAPI_TRANSMISSIONSTATUS_TX_LIFETIME 0x0002
669 #define FAPI_TRANSMISSIONSTATUS_NO_BSS 0x0003
670 #define FAPI_TRANSMISSIONSTATUS_EXCESSIVE_DATA_LENGTH 0x0004
671 #define FAPI_TRANSMISSIONSTATUS_UNAVAILABLE_KEY_MAPPING 0x0005
672 #define FAPI_TRANSMISSIONSTATUS_UNSPECIFIED_FAILURE 0x0006
674 #define FAPI_TXDATATYPE_DATA_WORD 0x0000
675 #define FAPI_TXDATATYPE_DATA_RANDOM 0x0001
677 #define FAPI_TXREADFLAGS_NONE 0x0000
678 #define FAPI_TXREADFLAGS_FRAME_COUNTING 0x0001
679 #define FAPI_TXREADFLAGS_THERMAL_CUTOUT 0x0002
681 #define FAPI_TXSETPARAMSFLAGS_NONE 0x0000
682 #define FAPI_TXSETPARAMSFLAGS_ACK 0x0001
683 #define FAPI_TXSETPARAMSFLAGS_DUPLICATE_80 0x0002
684 #define FAPI_TXSETPARAMSFLAGS_DUPLICATE_40 0x0004
685 #define FAPI_TXSETPARAMSFLAGS_DEAFEN_RX 0x0008
686 #define FAPI_TXSETPARAMSFLAGS_CS 0x0010
687 #define FAPI_TXSETPARAMSFLAGS_SCAN_CHANNEL 0x0020
688 #define FAPI_TXSETPARAMSFLAGS_SHORT_PREAMBLE 0x0040
689 #define FAPI_TXSETPARAMSFLAGS_DISABLE_SCRAMBLER 0x0080
690 #define FAPI_TXSETPARAMSFLAGS_LDPC 0x0100
691 #define FAPI_TXSETPARAMSFLAGS_STBC 0x0200
692 #define FAPI_TXSETPARAMSFLAGS_DISABLE_SPREADER 0x0400
693 #define FAPI_TXSETPARAMSFLAGS_GREENFIELD_PREAMBLE 0x0800
694 #define FAPI_TXSETPARAMSFLAGS_IBSS_FRAMES 0x2000
696 #define FAPI_TYPEOFAIRPOWER_EIRP 0x00
697 #define FAPI_TYPEOFAIRPOWER_TPO 0x01
698 #define FAPI_TYPEOFAIRPOWER_RAW 0x02
700 #define FAPI_USAGE_NO_USE 0x0
701 #define FAPI_USAGE_USE 0x1
703 #define FAPI_VIFRANGE_VIF_INDEX_MIN 0x0001
704 #define FAPI_VIFRANGE_VIF_INDEX_MAX 0x0008
706 #define FAPI_VIFTYPE_UNSYNCHRONISED 0x0000
707 #define FAPI_VIFTYPE_SCAN 0x0001
708 #define FAPI_VIFTYPE_STATION 0x0002
709 #define FAPI_VIFTYPE_AP 0x0003
710 #define FAPI_VIFTYPE_WLANLITE 0x0004
711 #define FAPI_VIFTYPE_NAN 0x0005
712 #define FAPI_VIFTYPE_DISCOVERY 0x0006
713 #define FAPI_VIFTYPE_OFFCHANNEL 0x0007
714 #define FAPI_VIFTYPE_RANGE 0x0008
715 #define FAPI_VIFTYPE_MONITOR 0x0010
717 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_20MHZ_PRIMARYCHANNELPOSITION_P0 0x0000
718 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_20MHZ_PRIMARYCHANNELPOSITION_P1 0x0001
719 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_20MHZ_PRIMARYCHANNELPOSITION_P2 0x0002
720 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_20MHZ_PRIMARYCHANNELPOSITION_P3 0x0003
721 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_20MHZ_PRIMARYCHANNELPOSITION_P4 0x0004
722 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_20MHZ_PRIMARYCHANNELPOSITION_P5 0x0005
723 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_20MHZ_PRIMARYCHANNELPOSITION_P6 0x0006
724 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_20MHZ_PRIMARYCHANNELPOSITION_P7 0x0007
725 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_20MHZ_PRIMARYCHANNELPOSITION_NOT_APPLICABLE 0x0008
726 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_40MHZ_PRIMARYCHANNELPOSITION_P0 0x0100
727 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_40MHZ_PRIMARYCHANNELPOSITION_P1 0x0101
728 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_40MHZ_PRIMARYCHANNELPOSITION_P2 0x0102
729 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_40MHZ_PRIMARYCHANNELPOSITION_P3 0x0103
730 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_40MHZ_PRIMARYCHANNELPOSITION_P4 0x0104
731 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_40MHZ_PRIMARYCHANNELPOSITION_P5 0x0105
732 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_40MHZ_PRIMARYCHANNELPOSITION_P6 0x0106
733 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_40MHZ_PRIMARYCHANNELPOSITION_P7 0x0107
734 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_40MHZ_PRIMARYCHANNELPOSITION_NOT_APPLICABLE 0x0108
735 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_80MHZ_PRIMARYCHANNELPOSITION_P0 0x0200
736 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_80MHZ_PRIMARYCHANNELPOSITION_P1 0x0201
737 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_80MHZ_PRIMARYCHANNELPOSITION_P2 0x0202
738 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_80MHZ_PRIMARYCHANNELPOSITION_P3 0x0203
739 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_80MHZ_PRIMARYCHANNELPOSITION_P4 0x0204
740 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_80MHZ_PRIMARYCHANNELPOSITION_P5 0x0205
741 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_80MHZ_PRIMARYCHANNELPOSITION_P6 0x0206
742 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_80MHZ_PRIMARYCHANNELPOSITION_P7 0x0207
743 #define FAPI_CHANNELBANDWIDTH_BANDWIDTH_80MHZ_PRIMARYCHANNELPOSITION_NOT_APPLICABLE 0x0208
745 #define MA_UNITDATA_REQ 0x1000
746 #define MA_CONTROL_REQ 0x1001
747 #define MA_SPARE_SIGNAL_1_REQ 0x1002
748 #define MA_SPARE_SIGNAL_2_REQ 0x1003
749 #define MA_SPARE_SIGNAL_3_REQ 0x1004
750 #define MA_UNITDATA_CFM 0x1100
751 #define MA_CONTROL_CFM 0x1101
752 #define MA_SPARE_SIGNAL_1_CFM 0x1102
753 #define MA_SPARE_SIGNAL_2_CFM 0x1103
754 #define MA_SPARE_SIGNAL_3_CFM 0x1104
755 #define MA_SPARE_SIGNAL_1_RES 0x1200
756 #define MA_SPARE_SIGNAL_2_RES 0x1201
757 #define MA_SPARE_SIGNAL_3_RES 0x1202
758 #define MA_UNITDATA_IND 0x1300
759 #define MA_BLOCKACK_IND 0x1301
760 #define MA_SPARE_SIGNAL_1_IND 0x1302
761 #define MA_SPARE_SIGNAL_2_IND 0x1303
762 #define MA_SPARE_SIGNAL_3_IND 0x1304
763 #define MLME_GET_REQ 0x2001
764 #define MLME_SET_REQ 0x2002
765 #define MLME_POWERMGT_REQ 0x2003
766 #define MLME_ADD_INFO_ELEMENTS_REQ 0x2004
767 #define MLME_ADD_SCAN_REQ 0x2005
768 #define MLME_DEL_SCAN_REQ 0x2006
769 #define MLME_ADD_VIF_REQ 0x2007
770 #define MLME_DEL_VIF_REQ 0x2008
771 #define MLME_START_REQ 0x2009
772 #define MLME_SET_CHANNEL_REQ 0x200a
773 #define MLME_CONNECT_REQ 0x200b
774 #define MLME_REASSOCIATE_REQ 0x200c
775 #define MLME_ROAM_REQ 0x200d
776 #define MLME_DISCONNECT_REQ 0x200e
777 #define MLME_REGISTER_ACTION_FRAME_REQ 0x200f
778 #define MLME_SEND_FRAME_REQ 0x2010
779 #define MLME_RESET_DWELL_TIME_REQ 0x2011
780 #define MLME_SET_TRAFFIC_PARAMETERS_REQ 0x2012
781 #define MLME_DEL_TRAFFIC_PARAMETERS_REQ 0x2013
782 #define MLME_SET_PACKET_FILTER_REQ 0x2014
783 #define MLME_SET_IP_ADDRESS_REQ 0x2015
784 #define MLME_SET_ACL_REQ 0x2016
785 #define MLME_SETKEYS_REQ 0x2018
786 #define MLME_GET_KEY_SEQUENCE_REQ 0x201a
787 #define MLME_SET_PMK_REQ 0x201c
788 #define MLME_SET_CACHED_CHANNELS_REQ 0x201f
789 #define MLME_SET_WHITELIST_SSID_REQ 0x2020
790 #define MLME_TDLS_ACTION_REQ 0x2021
791 #define MLME_CHANNEL_SWITCH_REQ 0x2022
792 #define MLME_MONITOR_RSSI_REQ 0x2023
793 #define MLME_START_LINK_STATISTICS_REQ 0x2024
794 #define MLME_STOP_LINK_STATISTICS_REQ 0x2025
795 #define MLME_SET_BSSID_HOTLIST_REQ 0x2026
796 #define MLME_SET_PNO_LIST_REQ 0x2027
797 #define MLME_HOST_STATE_REQ 0x2028
798 #define MLME_ADD_RANGE_REQ 0x2029
799 #define MLME_DEL_RANGE_REQ 0x202a
800 #define MLME_SET_NOA_REQ 0x202b
801 #define MLME_SET_CTWINDOW_REQ 0x202c
802 #define MLME_NAN_START_REQ 0x202d
803 #define MLME_NAN_CONFIG_REQ 0x202e
804 #define MLME_NAN_PUBLISH_REQ 0x202f
805 #define MLME_NAN_SUBSCRIBE_REQ 0x2030
806 #define MLME_NAN_FOLLOWUP_REQ 0x2031
807 #define MLME_SPARE_SIGNAL_1_REQ 0x2032
808 #define MLME_SPARE_SIGNAL_2_REQ 0x2033
809 #define MLME_SPARE_SIGNAL_3_REQ 0x2034
810 #define MLME_GET_CFM 0x2101
811 #define MLME_SET_CFM 0x2102
812 #define MLME_POWERMGT_CFM 0x2103
813 #define MLME_ADD_INFO_ELEMENTS_CFM 0x2104
814 #define MLME_ADD_SCAN_CFM 0x2105
815 #define MLME_DEL_SCAN_CFM 0x2106
816 #define MLME_ADD_VIF_CFM 0x2107
817 #define MLME_DEL_VIF_CFM 0x2108
818 #define MLME_START_CFM 0x2109
819 #define MLME_SET_CHANNEL_CFM 0x210a
820 #define MLME_CONNECT_CFM 0x210b
821 #define MLME_REASSOCIATE_CFM 0x210c
822 #define MLME_ROAM_CFM 0x210d
823 #define MLME_DISCONNECT_CFM 0x210e
824 #define MLME_REGISTER_ACTION_FRAME_CFM 0x210f
825 #define MLME_SEND_FRAME_CFM 0x2110
826 #define MLME_RESET_DWELL_TIME_CFM 0x2111
827 #define MLME_SET_TRAFFIC_PARAMETERS_CFM 0x2112
828 #define MLME_DEL_TRAFFIC_PARAMETERS_CFM 0x2113
829 #define MLME_SET_PACKET_FILTER_CFM 0x2114
830 #define MLME_SET_IP_ADDRESS_CFM 0x2115
831 #define MLME_SET_ACL_CFM 0x2116
832 #define MLME_SETKEYS_CFM 0x2118
833 #define MLME_GET_KEY_SEQUENCE_CFM 0x211a
834 #define MLME_SET_PMK_CFM 0x211c
835 #define MLME_SET_CACHED_CHANNELS_CFM 0x211f
836 #define MLME_SET_WHITELIST_SSID_CFM 0x2120
837 #define MLME_TDLS_ACTION_CFM 0x2121
838 #define MLME_CHANNEL_SWITCH_CFM 0x2122
839 #define MLME_MONITOR_RSSI_CFM 0x2123
840 #define MLME_START_LINK_STATISTICS_CFM 0x2124
841 #define MLME_STOP_LINK_STATISTICS_CFM 0x2125
842 #define MLME_SET_BSSID_HOTLIST_CFM 0x2126
843 #define MLME_SET_PNO_LIST_CFM 0x2127
844 #define MLME_HOST_STATE_CFM 0x2128
845 #define MLME_ADD_RANGE_CFM 0x2129
846 #define MLME_DEL_RANGE_CFM 0x212a
847 #define MLME_SET_NOA_CFM 0x212b
848 #define MLME_SET_CTWINDOW_CFM 0x212c
849 #define MLME_NAN_START_CFM 0x212d
850 #define MLME_NAN_CONFIG_CFM 0x212e
851 #define MLME_NAN_PUBLISH_CFM 0x212f
852 #define MLME_NAN_SUBSCRIBE_CFM 0x2130
853 #define MLME_NAN_FOLLOWUP_CFM 0x2131
854 #define MLME_SPARE_SIGNAL_1_CFM 0x2132
855 #define MLME_SPARE_SIGNAL_2_CFM 0x2133
856 #define MLME_SPARE_SIGNAL_3_CFM 0x2134
857 #define MLME_CONNECT_RES 0x2200
858 #define MLME_CONNECTED_RES 0x2201
859 #define MLME_REASSOCIATE_RES 0x2202
860 #define MLME_ROAMED_RES 0x2203
861 #define MLME_TDLS_PEER_RES 0x2204
862 #define MLME_SPARE_SIGNAL_1_RES 0x2205
863 #define MLME_SPARE_SIGNAL_2_RES 0x2206
864 #define MLME_SPARE_SIGNAL_3_RES 0x2207
865 #define MLME_SCAN_IND 0x2300
866 #define MLME_SCAN_DONE_IND 0x2301
867 #define MLME_LISTEN_END_IND 0x2302
868 #define MLME_CONNECT_IND 0x2303
869 #define MLME_CONNECTED_IND 0x2304
870 #define MLME_REASSOCIATE_IND 0x2305
871 #define MLME_ROAM_IND 0x2306
872 #define MLME_ROAMED_IND 0x2307
873 #define MLME_DISCONNECT_IND 0x2308
874 #define MLME_DISCONNECTED_IND 0x2309
875 #define MLME_PROCEDURE_STARTED_IND 0x230a
876 #define MLME_MIC_FAILURE_IND 0x230b
877 #define MLME_FRAME_TRANSMISSION_IND 0x230c
878 #define MLME_RECEIVED_FRAME_IND 0x230d
879 #define MLME_TDLS_PEER_IND 0x230f
880 #define MLME_AP_LOSS_IND 0x2310
881 #define MLME_SIGNIFICANT_CHANGE_IND 0x2311
882 #define MLME_RSSI_REPORT_IND 0x2312
883 #define MLME_AC_PRIORITY_UPDATE_IND 0x2313
884 #define MLME_RANGE_IND 0x2314
885 #define MLME_RANGE_DONE_IND 0x2315
886 #define MLME_EVENT_LOG_IND 0x2316
887 #define MLME_NAN_EVENT_IND 0x2317
888 #define MLME_NAN_SERVICE_IND 0x2318
889 #define MLME_NAN_FOLLOWUP_IND 0x2319
890 #define MLME_CHANNEL_SWITCHED_IND 0x231a
891 #define MLME_SPARE_SIGNAL_1_IND 0x231b
892 #define MLME_SPARE_SIGNAL_2_IND 0x231c
893 #define MLME_SPARE_SIGNAL_3_IND 0x231d
894 #define DEBUG_SPARE_SIGNAL_1_REQ 0x8000
895 #define DEBUG_SPARE_SIGNAL_2_REQ 0x8001
896 #define DEBUG_SPARE_SIGNAL_3_REQ 0x8002
897 #define DEBUG_SPARE_SIGNAL_1_CFM 0x8100
898 #define DEBUG_SPARE_SIGNAL_2_CFM 0x8101
899 #define DEBUG_SPARE_SIGNAL_3_CFM 0x8102
900 #define DEBUG_SPARE_SIGNAL_1_RES 0x8200
901 #define DEBUG_SPARE_SIGNAL_2_RES 0x8201
902 #define DEBUG_SPARE_SIGNAL_3_RES 0x8202
903 #define DEBUG_WORD12IND 0x8301
904 #define DEBUG_FAULT_IND 0x8302
905 #define DEBUG_SPARE_SIGNAL_1_IND 0x8303
906 #define DEBUG_SPARE_SIGNAL_2_IND 0x8304
907 #define DEBUG_SPARE_SIGNAL_3_IND 0x8305
908 #define TEST_BLOCK_REQUESTS_REQ 0x9000
909 #define TEST_PANIC_REQ 0x9001
910 #define TEST_SUSPEND_REQ 0x9002
911 #define TEST_RESUME_REQ 0x9003
912 #define RADIO_LOGGING_REQ 0x9004
913 #define WLANLITE_CW_START_REQ 0x9005
914 #define WLANLITE_CW_STOP_REQ 0x9006
915 #define WLANLITE_TX_SET_PARAMS_REQ 0x9007
916 #define WLANLITE_TX_START_REQ 0x9008
917 #define WLANLITE_TX_READ_REQ 0x9009
918 #define WLANLITE_TX_STOP_REQ 0x900a
919 #define WLANLITE_RX_START_REQ 0x900b
920 #define WLANLITE_RX_READ_REQ 0x900c
921 #define WLANLITE_RX_STOP_REQ 0x900d
922 #define WLANLITE_STATUS_REQ 0x900e
923 #define TEST_PMALLOC_REQ 0x900f
924 #define TEST_CONFIGURE_MONITOR_MODE_REQ 0x9010
925 #define TEST_CHECK_FW_ALIVE_REQ 0x9012
926 #define DEBUG_GENERIC_REQ 0x9013
927 #define DEBUG_PKT_SINK_START_REQ 0x9014
928 #define DEBUG_PKT_SINK_STOP_REQ 0x9015
929 #define DEBUG_PKT_SINK_REPORT_REQ 0x9016
930 #define DEBUG_PKT_GEN_START_REQ 0x9017
931 #define DEBUG_PKT_GEN_STOP_REQ 0x9018
932 #define DEBUG_PKT_GEN_REPORT_REQ 0x9019
933 #define WLANLITE_RADIO_SELECT_REQ 0x901a
934 #define TEST_HIP_TESTER_START_REQ 0x901b
935 #define TEST_HIP_TESTER_STOP_REQ 0x901c
936 #define TEST_HIP_TESTER_SET_PARAMS_REQ 0x901d
937 #define TEST_HIP_TESTER_REPORT_REQ 0x901e
938 #define TEST_BIST_GET_TX_GAIN_REQ 0x901f
939 #define TEST_SPARE_SIGNAL_1_REQ 0x9020
940 #define TEST_SPARE_SIGNAL_2_REQ 0x9021
941 #define TEST_SPARE_SIGNAL_3_REQ 0x9022
942 #define RADIO_LOGGING_CFM 0x9100
943 #define WLANLITE_CW_START_CFM 0x9101
944 #define WLANLITE_TX_SET_PARAMS_CFM 0x9102
945 #define WLANLITE_CW_STOP_CFM 0x9103
946 #define WLANLITE_TX_START_CFM 0x9104
947 #define WLANLITE_TX_READ_CFM 0x9105
948 #define WLANLITE_TX_STOP_CFM 0x9106
949 #define WLANLITE_RX_START_CFM 0x9107
950 #define WLANLITE_RX_READ_CFM 0x9108
951 #define WLANLITE_RX_STOP_CFM 0x9109
952 #define WLANLITE_STATUS_CFM 0x910a
953 #define TEST_PMALLOC_CFM 0x910b
954 #define TEST_CONFIGURE_MONITOR_MODE_CFM 0x910c
955 #define TEST_CHECK_FW_ALIVE_CFM 0x910e
956 #define TEST_SUSPEND_CFM 0x910f
957 #define TEST_RESUME_CFM 0x9110
958 #define DEBUG_GENERIC_CFM 0x9111
959 #define WLANLITE_RADIO_SELECT_CFM 0x9112
960 #define TEST_HIP_TESTER_START_CFM 0x9113
961 #define TEST_HIP_TESTER_STOP_CFM 0x9114
962 #define TEST_HIP_TESTER_SET_PARAMS_CFM 0x9115
963 #define TEST_BIST_GET_TX_GAIN_CFM 0x9116
964 #define TEST_SPARE_SIGNAL_1_CFM 0x9117
965 #define TEST_SPARE_SIGNAL_2_CFM 0x9118
966 #define TEST_SPARE_SIGNAL_3_CFM 0x9119
967 #define TEST_SPARE_SIGNAL_1_RES 0x9200
968 #define TEST_SPARE_SIGNAL_2_RES 0x9201
969 #define TEST_SPARE_SIGNAL_3_RES 0x9202
970 #define RADIO_LOGGING_IND 0x9300
971 #define DEBUG_GENERIC_IND 0x9301
972 #define DEBUG_PKT_SINK_REPORT_IND 0x9302
973 #define DEBUG_PKT_GEN_REPORT_IND 0x9303
974 #define TEST_HIP_TESTER_REPORT_IND 0x9304
975 #define TEST_SPARE_SIGNAL_1_IND 0x9305
976 #define TEST_SPARE_SIGNAL_2_IND 0x9306
977 #define TEST_SPARE_SIGNAL_3_IND 0x9307
979 struct fapi_signal_header
{
986 struct fapi_vif_signal_header
{
1006 __le16 data_unit_descriptor
;
1007 __le16 bulk_data_descriptor
;
1012 } __packed ma_unitdata_req
;
1015 __le16 control_request_type
;
1020 } __packed ma_control_req
;
1027 } __packed ma_spare_signal_1_req
;
1034 } __packed ma_spare_signal_2_req
;
1041 } __packed ma_spare_signal_3_req
;
1044 __le16 transmission_status
;
1046 __le16 sequence_number
;
1052 } __packed ma_unitdata_cfm
;
1060 } __packed ma_control_cfm
;
1068 } __packed ma_spare_signal_1_cfm
;
1076 } __packed ma_spare_signal_2_cfm
;
1084 } __packed ma_spare_signal_3_cfm
;
1091 } __packed ma_spare_signal_1_res
;
1098 } __packed ma_spare_signal_2_res
;
1105 } __packed ma_spare_signal_3_res
;
1108 __le16 data_unit_descriptor
;
1109 __le16 sequence_number
;
1112 __le16 proprieraty_information_length
;
1113 __le16 bulk_data_descriptor
;
1118 } __packed ma_unitdata_ind
;
1121 u8 peer_qsta_address
[ETH_ALEN
];
1122 __le16 sequence_number
;
1124 __le16 blockack_parameter_set
;
1130 } __packed ma_blockack_ind
;
1137 } __packed ma_spare_signal_1_ind
;
1144 } __packed ma_spare_signal_2_ind
;
1151 } __packed ma_spare_signal_3_ind
;
1158 } __packed mlme_get_req
;
1165 } __packed mlme_set_req
;
1168 __le16 power_management_mode
;
1173 } __packed mlme_powermgt_req
;
1181 } __packed mlme_add_info_elements_req
;
1186 u8 device_address
[ETH_ALEN
];
1187 __le16 report_mode_bitmap
;
1192 } __packed mlme_add_scan_req
;
1200 } __packed mlme_del_scan_req
;
1203 u8 interface_address
[ETH_ALEN
];
1204 __le16 virtual_interface_type
;
1205 u8 device_address
[ETH_ALEN
];
1210 } __packed mlme_add_vif_req
;
1217 } __packed mlme_del_vif_req
;
1221 __le16 beacon_period
;
1223 __le16 capability_information
;
1224 __le16 authentication_type
;
1226 __le16 channel_frequency
;
1227 __le16 channel_information
;
1232 } __packed mlme_start_req
;
1235 __le16 availability_duration
;
1236 __le16 availability_interval
;
1238 __le16 channel_frequency
;
1243 } __packed mlme_set_channel_req
;
1247 __le16 authentication_type
;
1248 __le16 channel_frequency
;
1253 } __packed mlme_connect_req
;
1260 } __packed mlme_reassociate_req
;
1264 __le16 channel_frequency
;
1269 } __packed mlme_roam_req
;
1272 u8 peer_sta_address
[ETH_ALEN
];
1278 } __packed mlme_disconnect_req
;
1281 __le32 action_frame_category_bitmap_active
;
1282 __le32 action_frame_category_bitmap_suspended
;
1287 } __packed mlme_register_action_frame_req
;
1291 __le16 data_unit_descriptor
;
1292 __le16 message_type
;
1293 __le16 channel_frequency
;
1300 } __packed mlme_send_frame_req
;
1307 } __packed mlme_reset_dwell_time_req
;
1310 __le16 user_priority
;
1312 __le16 minimum_data_rate
;
1313 u8 peer_address
[ETH_ALEN
];
1318 } __packed mlme_set_traffic_parameters_req
;
1321 __le16 user_priority
;
1326 } __packed mlme_del_traffic_parameters_req
;
1333 } __packed mlme_set_packet_filter_req
;
1337 u8 multicast_address
[ETH_ALEN
];
1342 } __packed mlme_set_ip_address_req
;
1351 } __packed mlme_set_acl_req
;
1357 u8 address
[ETH_ALEN
];
1358 __le16 sequence_number
[8];
1359 __le32 cipher_suite_selector
;
1364 } __packed mlme_setkeys_req
;
1373 } __packed mlme_get_key_sequence_req
;
1380 } __packed mlme_set_pmk_req
;
1387 } __packed mlme_set_cached_channels_req
;
1394 } __packed mlme_set_whitelist_ssid_req
;
1397 u8 peer_sta_address
[ETH_ALEN
];
1399 __le16 channel_frequency
;
1400 __le16 channel_information
;
1405 } __packed mlme_tdls_action_req
;
1408 __le16 channel_frequency
;
1409 __le16 channel_information
;
1414 } __packed mlme_channel_switch_req
;
1417 __le16 low_rssi_threshold
;
1418 __le16 high_rssi_threshold
;
1419 __le16 rssi_monitoring_enabled
;
1424 } __packed mlme_monitor_rssi_req
;
1427 __le16 mpdu_size_threshold
;
1428 __le16 aggressive_statistics_gathering_enabled
;
1433 } __packed mlme_start_link_statistics_req
;
1436 __le16 statistics_stop_bitmap
;
1441 } __packed mlme_stop_link_statistics_req
;
1448 } __packed mlme_set_bssid_hotlist_req
;
1455 } __packed mlme_set_pno_list_req
;
1463 } __packed mlme_host_state_req
;
1471 } __packed mlme_add_range_req
;
1480 } __packed mlme_del_range_req
;
1491 } __packed mlme_set_noa_req
;
1499 } __packed mlme_set_ctwindow_req
;
1503 __le16 cluster_high
;
1504 __le16 nan_operation_control_flags
;
1509 } __packed mlme_nan_start_req
;
1512 __le16 nan_operation_control_flags
;
1517 } __packed mlme_nan_config_req
;
1521 __le16 nan_sdf_flags
;
1526 } __packed mlme_nan_publish_req
;
1529 __le16 subscribe_id
;
1530 __le16 nan_sdf_flags
;
1535 } __packed mlme_nan_subscribe_req
;
1538 __le16 publish_subscribe_id
;
1539 __le16 requestor_instance_id
;
1540 __le16 nan_sdf_flags
;
1545 } __packed mlme_nan_followup_req
;
1552 } __packed mlme_spare_signal_1_req
;
1559 } __packed mlme_spare_signal_2_req
;
1566 } __packed mlme_spare_signal_3_req
;
1573 } __packed mlme_get_cfm
;
1580 } __packed mlme_set_cfm
;
1588 } __packed mlme_powermgt_cfm
;
1596 } __packed mlme_add_info_elements_cfm
;
1605 } __packed mlme_add_scan_cfm
;
1614 } __packed mlme_del_scan_cfm
;
1622 } __packed mlme_add_vif_cfm
;
1630 } __packed mlme_del_vif_cfm
;
1638 } __packed mlme_start_cfm
;
1646 } __packed mlme_set_channel_cfm
;
1654 } __packed mlme_connect_cfm
;
1662 } __packed mlme_reassociate_cfm
;
1670 } __packed mlme_roam_cfm
;
1673 u8 peer_sta_address
[ETH_ALEN
];
1679 } __packed mlme_disconnect_cfm
;
1687 } __packed mlme_register_action_frame_cfm
;
1696 } __packed mlme_send_frame_cfm
;
1704 } __packed mlme_reset_dwell_time_cfm
;
1712 } __packed mlme_set_traffic_parameters_cfm
;
1720 } __packed mlme_del_traffic_parameters_cfm
;
1727 } __packed mlme_set_packet_filter_cfm
;
1735 } __packed mlme_set_ip_address_cfm
;
1743 } __packed mlme_set_acl_cfm
;
1751 } __packed mlme_setkeys_cfm
;
1754 __le16 sequence_number
[8];
1760 } __packed mlme_get_key_sequence_cfm
;
1768 } __packed mlme_set_pmk_cfm
;
1776 } __packed mlme_set_cached_channels_cfm
;
1784 } __packed mlme_set_whitelist_ssid_cfm
;
1792 } __packed mlme_tdls_action_cfm
;
1800 } __packed mlme_channel_switch_cfm
;
1808 } __packed mlme_monitor_rssi_cfm
;
1816 } __packed mlme_start_link_statistics_cfm
;
1824 } __packed mlme_stop_link_statistics_cfm
;
1832 } __packed mlme_set_bssid_hotlist_cfm
;
1840 } __packed mlme_set_pno_list_cfm
;
1848 } __packed mlme_host_state_cfm
;
1857 } __packed mlme_add_range_cfm
;
1866 } __packed mlme_del_range_cfm
;
1874 } __packed mlme_set_noa_cfm
;
1882 } __packed mlme_set_ctwindow_cfm
;
1890 } __packed mlme_nan_start_cfm
;
1898 } __packed mlme_nan_config_cfm
;
1906 } __packed mlme_nan_publish_cfm
;
1914 } __packed mlme_nan_subscribe_cfm
;
1922 } __packed mlme_nan_followup_cfm
;
1930 } __packed mlme_spare_signal_1_cfm
;
1938 } __packed mlme_spare_signal_2_cfm
;
1946 } __packed mlme_spare_signal_3_cfm
;
1953 } __packed mlme_connect_res
;
1961 } __packed mlme_connected_res
;
1968 } __packed mlme_reassociate_res
;
1975 } __packed mlme_roamed_res
;
1984 } __packed mlme_tdls_peer_res
;
1991 } __packed mlme_spare_signal_1_res
;
1998 } __packed mlme_spare_signal_2_res
;
2005 } __packed mlme_spare_signal_3_res
;
2008 __le16 channel_frequency
;
2011 __le16 hotlisted_ap
;
2012 __le16 preferrednetwork_ap
;
2013 __le16 anqp_elements_length
;
2014 __le16 network_block_id
;
2019 } __packed mlme_scan_ind
;
2027 } __packed mlme_scan_done_ind
;
2034 } __packed mlme_listen_end_ind
;
2042 } __packed mlme_connect_ind
;
2050 } __packed mlme_connected_ind
;
2058 } __packed mlme_reassociate_ind
;
2066 } __packed mlme_roam_ind
;
2069 __le16 temporal_keys_required
;
2074 } __packed mlme_roamed_ind
;
2077 u8 peer_sta_address
[ETH_ALEN
];
2082 } __packed mlme_disconnect_ind
;
2085 u8 peer_sta_address
[ETH_ALEN
];
2091 } __packed mlme_disconnected_ind
;
2094 __le16 procedure_type
;
2100 } __packed mlme_procedure_started_ind
;
2103 u8 peer_sta_address
[ETH_ALEN
];
2106 __le16 key_sequence_number
[8];
2111 } __packed mlme_mic_failure_ind
;
2115 __le16 transmission_status
;
2120 } __packed mlme_frame_transmission_ind
;
2123 __le16 data_unit_descriptor
;
2124 __le16 channel_frequency
;
2129 } __packed mlme_received_frame_ind
;
2132 u8 peer_sta_address
[ETH_ALEN
];
2140 } __packed mlme_tdls_peer_ind
;
2148 } __packed mlme_ap_loss_ind
;
2151 __le16 number_of_results
;
2152 __le16 number_of_rssi_entries
;
2157 } __packed mlme_significant_change_ind
;
2166 } __packed mlme_rssi_report_ind
;
2174 } __packed mlme_ac_priority_update_ind
;
2183 } __packed mlme_range_ind
;
2191 } __packed mlme_range_done_ind
;
2200 } __packed mlme_event_log_ind
;
2205 u8 address_or_identifier
[ETH_ALEN
];
2211 } __packed mlme_nan_event_ind
;
2214 __le16 publish_subscribe_id
;
2215 __le16 requestor_instance_id
;
2220 } __packed mlme_nan_service_ind
;
2223 __le16 publish_subscribe_id
;
2224 __le16 requestor_instance_id
;
2229 } __packed mlme_nan_followup_ind
;
2232 __le16 channel_frequency
;
2233 __le16 channel_information
;
2238 } __packed mlme_channel_switched_ind
;
2245 } __packed mlme_spare_signal_1_ind
;
2252 } __packed mlme_spare_signal_2_ind
;
2259 } __packed mlme_spare_signal_3_ind
;
2266 } __packed debug_spare_signal_1_req
;
2273 } __packed debug_spare_signal_2_req
;
2280 } __packed debug_spare_signal_3_req
;
2288 } __packed debug_spare_signal_1_cfm
;
2296 } __packed debug_spare_signal_2_cfm
;
2304 } __packed debug_spare_signal_3_cfm
;
2311 } __packed debug_spare_signal_1_res
;
2318 } __packed debug_spare_signal_2_res
;
2325 } __packed debug_spare_signal_3_res
;
2329 __le16 module_sub_id
;
2331 __le16 debug_words
[12];
2332 __le16 sequence_number
;
2337 } __packed debug_word12_ind
;
2345 __le16 sequence_number
;
2350 } __packed debug_fault_ind
;
2357 } __packed debug_spare_signal_1_ind
;
2364 } __packed debug_spare_signal_2_ind
;
2371 } __packed debug_spare_signal_3_ind
;
2378 } __packed test_block_requests_req
;
2385 } __packed test_panic_req
;
2392 } __packed test_suspend_req
;
2399 } __packed test_resume_req
;
2401 __le32 logging_source
;
2402 __le32 logging_frequency
;
2403 __le32 capture_stream
;
2404 __le32 trigger_mode
;
2411 } __packed radio_logging_req
;
2425 } __packed wlanlite_cw_start_req
;
2431 } __packed wlanlite_cw_stop_req
;
2435 __le16 channel_information
;
2440 __le16 channel_description_index
;
2441 __le16 distance_to_band_edge_half_mhz
;
2442 __le16 band_oob_rule_selector
;
2448 } __packed wlanlite_tx_set_params_req
;
2450 __le32 num_frames_to_send
;
2453 u8 dest_addr
[ETH_ALEN
];
2454 u8 src_addr
[ETH_ALEN
];
2456 __le16 num_mpdus_per_ampdu
;
2461 } __packed wlanlite_tx_start_req
;
2467 } __packed wlanlite_tx_read_req
;
2473 } __packed wlanlite_tx_stop_req
;
2476 __le16 channel_information
;
2478 u8 mac_addr
[ETH_ALEN
];
2481 __le16 num_mpdus_per_ampdu
;
2486 } __packed wlanlite_rx_start_req
;
2492 } __packed wlanlite_rx_read_req
;
2498 } __packed wlanlite_rx_stop_req
;
2504 } __packed wlanlite_status_req
;
2511 } __packed test_pmalloc_req
;
2518 } __packed test_configure_monitor_mode_req
;
2524 } __packed test_check_fw_alive_req
;
2527 __le16 debug_words
[8];
2532 } __packed debug_generic_req
;
2538 __le16 packets_per_interval
;
2543 } __packed debug_pkt_sink_start_req
;
2552 } __packed debug_pkt_sink_stop_req
;
2557 __le32 report_interval
;
2562 } __packed debug_pkt_sink_report_req
;
2569 __le16 packets_per_interval
;
2570 __le32 ipv4destination_address
;
2571 __le16 packets_per_interrupt
;
2572 __le16 use_streaming
;
2577 } __packed debug_pkt_gen_start_req
;
2586 } __packed debug_pkt_gen_stop_req
;
2591 __le32 report_interval
;
2596 } __packed debug_pkt_gen_report_req
;
2598 __le16 radio_bitmap
;
2603 } __packed wlanlite_radio_select_req
;
2610 __le16 packets_per_interval
;
2611 __le16 packets_size
;
2616 } __packed test_hip_tester_start_req
;
2624 } __packed test_hip_tester_stop_req
;
2632 } __packed test_hip_tester_set_params_req
;
2636 __le32 report_interval
;
2641 } __packed test_hip_tester_report_req
;
2650 } __packed test_bist_get_tx_gain_req
;
2657 } __packed test_spare_signal_1_req
;
2664 } __packed test_spare_signal_2_req
;
2671 } __packed test_spare_signal_3_req
;
2678 } __packed radio_logging_cfm
;
2685 } __packed wlanlite_cw_start_cfm
;
2692 } __packed wlanlite_tx_set_params_cfm
;
2699 } __packed wlanlite_cw_stop_cfm
;
2706 } __packed wlanlite_tx_start_cfm
;
2710 __le32 ctr_frames_left_to_send
;
2711 __le32 transmission_back_off
;
2712 __le16 wanted_power_target
;
2713 __le16 final_power_target
;
2714 __le16 oob_constraint
;
2715 __le16 last_trim_pa_temperature
;
2716 __le16 current_pa_temperature
;
2717 __le16 last_trim_ambient_temperature
;
2718 __le16 current_ambient_temperature
;
2719 __le16 temp_power_adjust
;
2720 __le32 ctr_frames_success
;
2725 } __packed wlanlite_tx_read_cfm
;
2732 } __packed wlanlite_tx_stop_cfm
;
2739 } __packed wlanlite_rx_start_cfm
;
2742 __le32 freq_offset_cur
;
2743 __le32 freq_offset_avg
;
2753 } __packed wlanlite_rx_read_cfm
;
2760 } __packed wlanlite_rx_stop_cfm
;
2763 __le16 device_state
;
2768 } __packed wlanlite_status_cfm
;
2774 } __packed test_pmalloc_cfm
;
2782 } __packed test_configure_monitor_mode_cfm
;
2788 } __packed test_check_fw_alive_cfm
;
2794 } __packed test_suspend_cfm
;
2800 } __packed test_resume_cfm
;
2803 __le16 debug_words
[8];
2808 } __packed debug_generic_cfm
;
2815 } __packed wlanlite_radio_select_cfm
;
2824 } __packed test_hip_tester_start_cfm
;
2831 __le32 failed_count
;
2836 __le32 tester_reserved1
;
2837 __le32 tester_reserved2
;
2842 } __packed test_hip_tester_stop_cfm
;
2851 } __packed test_hip_tester_set_params_cfm
;
2859 } __packed test_bist_get_tx_gain_cfm
;
2867 } __packed test_spare_signal_1_cfm
;
2875 } __packed test_spare_signal_2_cfm
;
2883 } __packed test_spare_signal_3_cfm
;
2890 } __packed test_spare_signal_1_res
;
2897 } __packed test_spare_signal_2_res
;
2904 } __packed test_spare_signal_3_res
;
2906 __le32 sequence_number
;
2912 } __packed radio_logging_ind
;
2915 __le16 debug_words
[8];
2920 } __packed debug_generic_ind
;
2926 __le32 received_packets
;
2927 __le32 received_octets
;
2936 } __packed debug_pkt_sink_report_ind
;
2942 __le32 received_packets
;
2943 __le32 failed_count
;
2944 __le32 received_octets
;
2953 } __packed debug_pkt_gen_report_ind
;
2959 __le32 failed_count
;
2964 __le32 tester_reserved1
;
2965 __le32 tester_reserved2
;
2970 } __packed test_hip_tester_report_ind
;
2977 } __packed test_spare_signal_1_ind
;
2984 } __packed test_spare_signal_2_ind
;
2991 } __packed test_spare_signal_3_ind
;
2995 static inline struct sk_buff
*fapi_alloc_f(size_t sig_size
, size_t data_size
, u16 id
, u16 vif
, const char *file
, int line
)
2997 struct sk_buff
*skb
= slsi_alloc_skb_headroom_f(sig_size
+ data_size
, GFP_ATOMIC
, file
, line
);
2998 struct fapi_vif_signal_header
*header
;
3000 WARN_ON(sig_size
< sizeof(struct fapi_signal_header
));
3004 slsi_skb_cb_init(skb
)->sig_length
= sig_size
;
3005 slsi_skb_cb_get(skb
)->data_length
= sig_size
;
3007 header
= (struct fapi_vif_signal_header
*)skb_put(skb
, sig_size
);
3008 header
->id
= cpu_to_le16(id
);
3009 header
->receiver_pid
= 0;
3010 header
->sender_pid
= 0;
3011 header
->fw_reference
= 0;
3016 #define fapi_sig_size(mp_name) ((u16)offsetof(struct fapi_signal, u.mp_name.dr))
3017 #define fapi_alloc(mp_name, mp_id, mp_vif, mp_datalen) fapi_alloc_f(fapi_sig_size(mp_name), mp_datalen, mp_id, mp_vif, __FILE__, __LINE__)
3018 #define fapi_get_buff(mp_skb, mp_name) (((struct fapi_signal *)(mp_skb)->data)->mp_name)
3019 #define fapi_get_u16(mp_skb, mp_name) le16_to_cpu(((struct fapi_signal *)(mp_skb)->data)->mp_name)
3020 #define fapi_get_u32(mp_skb, mp_name) le32_to_cpu(((struct fapi_signal *)(mp_skb)->data)->mp_name)
3021 #define fapi_get_u64(mp_skb, mp_name) le64_to_cpu(((struct fapi_signal *)(mp_skb)->data)->mp_name)
3022 #define fapi_set_u16(mp_skb, mp_name, mp_value) (((struct fapi_signal *)(mp_skb)->data)->mp_name = cpu_to_le16(mp_value))
3023 #define fapi_set_u32(mp_skb, mp_name, mp_value) (((struct fapi_signal *)(mp_skb)->data)->mp_name = cpu_to_le32(mp_value))
3024 #define fapi_get_s16(mp_skb, mp_name) ((s16)le16_to_cpu(((struct fapi_signal *)(mp_skb)->data)->mp_name))
3025 #define fapi_get_s32(mp_skb, mp_name) ((s32)le32_to_cpu(((struct fapi_signal *)(mp_skb)->data)->mp_name))
3026 #define fapi_set_s16(mp_skb, mp_name, mp_value) (((struct fapi_signal *)(mp_skb)->data)->mp_name = cpu_to_le16((u16)mp_value))
3027 #define fapi_set_s32(mp_skb, mp_name, mp_value) (((struct fapi_signal *)(mp_skb)->data)->mp_name = cpu_to_le32((u32)mp_value))
3028 #define fapi_set_memcpy(mp_skb, mp_name, mp_value) memcpy(((struct fapi_signal *)(mp_skb)->data)->mp_name, mp_value, sizeof(((struct fapi_signal *)(mp_skb)->data)->mp_name))
3029 #define fapi_set_memset(mp_skb, mp_name, mp_value) memset(((struct fapi_signal *)(mp_skb)->data)->mp_name, mp_value, sizeof(((struct fapi_signal *)(mp_skb)->data)->mp_name))
3031 /* Helper to get and set high/low 16 bits from u32 signals */
3032 #define fapi_get_high16_u32(mp_skb, mp_name) ((fapi_get_u32((mp_skb), mp_name) & 0xffff0000) >> 16)
3033 #define fapi_set_high16_u32(mp_skb, mp_name, mp_value) fapi_set_u32((mp_skb), mp_name, (fapi_get_u32((mp_skb), mp_name) & 0xffff) | ((mp_value) << 16))
3034 #define fapi_get_low16_u32(mp_skb, mp_name) (fapi_get_u32((mp_skb), mp_name) & 0xffff)
3035 #define fapi_set_low16_u32(mp_skb, mp_name, mp_value) fapi_set_u32((mp_skb), mp_name, (fapi_get_u32((mp_skb), mp_name) & 0xffff0000) | (mp_value))
3037 /* Helper to get signal and data */
3038 #define fapi_get_sigid(mp_skb) le16_to_cpu(((struct fapi_signal *)(mp_skb)->data)->id)
3039 #define fapi_get_siglen(mp_skb) (slsi_skb_cb_get(mp_skb)->sig_length)
3040 #define fapi_get_datalen(mp_skb) (slsi_skb_cb_get(mp_skb)->data_length - slsi_skb_cb_get(mp_skb)->sig_length)
3041 #define fapi_get_data(mp_skb) (mp_skb->data + fapi_get_siglen(mp_skb))
3042 #define fapi_get_vif(mp_skb) le16_to_cpu(((struct fapi_vif_signal_header *)(mp_skb)->data)->vif)
3044 /* Helper to get the struct ieee80211_mgmt from the data */
3045 #define fapi_get_mgmt(mp_skb) ((struct ieee80211_mgmt *)fapi_get_data(mp_skb))
3046 #define fapi_get_mgmtlen(mp_skb) fapi_get_datalen(mp_skb)
3048 static inline u8
*fapi_append_data(struct sk_buff
*skb
, const u8
*data
, size_t data_len
)
3052 if (WARN_ON(skb_tailroom(skb
) < data_len
))
3055 p
= skb_put(skb
, data_len
);
3056 slsi_skb_cb_get(skb
)->data_length
+= data_len
;
3058 memcpy(p
, data
, data_len
);
3062 static inline bool fapi_is_mlme(struct sk_buff
*skb
)
3064 return (fapi_get_sigid(skb
) & FAPI_SAP_TYPE_MASK
) == FAPI_SAP_TYPE_MLME
;
3067 static inline bool fapi_is_ma(struct sk_buff
*skb
)
3069 return (fapi_get_sigid(skb
) & FAPI_SAP_TYPE_MASK
) == FAPI_SAP_TYPE_MA
;
3072 static inline bool fapi_is_debug(struct sk_buff
*skb
)
3074 return (fapi_get_sigid(skb
) & FAPI_SAP_TYPE_MASK
) == FAPI_SAP_TYPE_DEBUG
;
3077 static inline bool fapi_is_test(struct sk_buff
*skb
)
3079 return (fapi_get_sigid(skb
) & FAPI_SAP_TYPE_MASK
) == FAPI_SAP_TYPE_TEST
;
3082 static inline bool fapi_is_req(struct sk_buff
*skb
)
3084 return (fapi_get_sigid(skb
) & FAPI_SIG_TYPE_MASK
) == FAPI_SIG_TYPE_REQ
;
3087 static inline bool fapi_is_cfm(struct sk_buff
*skb
)
3089 return (fapi_get_sigid(skb
) & FAPI_SIG_TYPE_MASK
) == FAPI_SIG_TYPE_CFM
;
3092 static inline bool fapi_is_res(struct sk_buff
*skb
)
3094 return (fapi_get_sigid(skb
) & FAPI_SIG_TYPE_MASK
) == FAPI_SIG_TYPE_RES
;
3097 static inline bool fapi_is_ind(struct sk_buff
*skb
)
3099 return (fapi_get_sigid(skb
) & FAPI_SIG_TYPE_MASK
) == FAPI_SIG_TYPE_IND
;
3102 static inline u16
fapi_get_expected_size_table(struct sk_buff
*skb
, const u16 fapi_size_table
[], size_t table_size
, u16 start_id
)
3104 u16 id
= fapi_get_sigid(skb
);
3109 if (id
- start_id
>= (u16
)table_size
)
3112 return fapi_size_table
[id
- start_id
];
3115 static inline u16
fapi_get_expected_size(struct sk_buff
*skb
)
3117 static const u16 fapi_ma_req_size_table
[] = {
3118 fapi_sig_size(ma_unitdata_req
),
3119 fapi_sig_size(ma_control_req
),
3120 fapi_sig_size(ma_spare_signal_1_req
),
3121 fapi_sig_size(ma_spare_signal_2_req
),
3122 fapi_sig_size(ma_spare_signal_3_req
),
3125 static const u16 fapi_mlme_req_size_table
[] = {
3126 fapi_sig_size(mlme_get_req
),
3127 fapi_sig_size(mlme_set_req
),
3128 fapi_sig_size(mlme_powermgt_req
),
3129 fapi_sig_size(mlme_add_info_elements_req
),
3130 fapi_sig_size(mlme_add_scan_req
),
3131 fapi_sig_size(mlme_del_scan_req
),
3132 fapi_sig_size(mlme_add_vif_req
),
3133 fapi_sig_size(mlme_del_vif_req
),
3134 fapi_sig_size(mlme_start_req
),
3135 fapi_sig_size(mlme_set_channel_req
),
3136 fapi_sig_size(mlme_connect_req
),
3137 fapi_sig_size(mlme_reassociate_req
),
3138 fapi_sig_size(mlme_roam_req
),
3139 fapi_sig_size(mlme_disconnect_req
),
3140 fapi_sig_size(mlme_register_action_frame_req
),
3141 fapi_sig_size(mlme_send_frame_req
),
3142 fapi_sig_size(mlme_reset_dwell_time_req
),
3143 fapi_sig_size(mlme_set_traffic_parameters_req
),
3144 fapi_sig_size(mlme_del_traffic_parameters_req
),
3145 fapi_sig_size(mlme_set_packet_filter_req
),
3146 fapi_sig_size(mlme_set_ip_address_req
),
3147 fapi_sig_size(mlme_set_acl_req
),
3149 fapi_sig_size(mlme_setkeys_req
),
3151 fapi_sig_size(mlme_get_key_sequence_req
),
3153 fapi_sig_size(mlme_set_pmk_req
),
3156 fapi_sig_size(mlme_set_cached_channels_req
),
3157 fapi_sig_size(mlme_set_whitelist_ssid_req
),
3158 fapi_sig_size(mlme_tdls_action_req
),
3159 fapi_sig_size(mlme_channel_switch_req
),
3160 fapi_sig_size(mlme_monitor_rssi_req
),
3161 fapi_sig_size(mlme_start_link_statistics_req
),
3162 fapi_sig_size(mlme_stop_link_statistics_req
),
3163 fapi_sig_size(mlme_set_bssid_hotlist_req
),
3164 fapi_sig_size(mlme_set_pno_list_req
),
3165 fapi_sig_size(mlme_host_state_req
),
3166 fapi_sig_size(mlme_add_range_req
),
3167 fapi_sig_size(mlme_del_range_req
),
3168 fapi_sig_size(mlme_set_noa_req
),
3169 fapi_sig_size(mlme_set_ctwindow_req
),
3170 fapi_sig_size(mlme_nan_start_req
),
3171 fapi_sig_size(mlme_nan_config_req
),
3172 fapi_sig_size(mlme_nan_publish_req
),
3173 fapi_sig_size(mlme_nan_subscribe_req
),
3174 fapi_sig_size(mlme_nan_followup_req
),
3175 fapi_sig_size(mlme_spare_signal_1_req
),
3176 fapi_sig_size(mlme_spare_signal_2_req
),
3177 fapi_sig_size(mlme_spare_signal_3_req
),
3180 static const u16 fapi_debug_req_size_table
[] = {
3181 fapi_sig_size(debug_spare_signal_1_req
),
3182 fapi_sig_size(debug_spare_signal_2_req
),
3183 fapi_sig_size(debug_spare_signal_3_req
),
3186 static const u16 fapi_test_req_size_table
[] = {
3187 fapi_sig_size(test_block_requests_req
),
3188 fapi_sig_size(test_panic_req
),
3189 fapi_sig_size(test_suspend_req
),
3190 fapi_sig_size(test_resume_req
),
3191 fapi_sig_size(radio_logging_req
),
3192 fapi_sig_size(wlanlite_cw_start_req
),
3193 fapi_sig_size(wlanlite_cw_stop_req
),
3194 fapi_sig_size(wlanlite_tx_set_params_req
),
3195 fapi_sig_size(wlanlite_tx_start_req
),
3196 fapi_sig_size(wlanlite_tx_read_req
),
3197 fapi_sig_size(wlanlite_tx_stop_req
),
3198 fapi_sig_size(wlanlite_rx_start_req
),
3199 fapi_sig_size(wlanlite_rx_read_req
),
3200 fapi_sig_size(wlanlite_rx_stop_req
),
3201 fapi_sig_size(wlanlite_status_req
),
3202 fapi_sig_size(test_pmalloc_req
),
3203 fapi_sig_size(test_configure_monitor_mode_req
),
3205 fapi_sig_size(test_check_fw_alive_req
),
3206 fapi_sig_size(debug_generic_req
),
3207 fapi_sig_size(debug_pkt_sink_start_req
),
3208 fapi_sig_size(debug_pkt_sink_stop_req
),
3209 fapi_sig_size(debug_pkt_sink_report_req
),
3210 fapi_sig_size(debug_pkt_gen_start_req
),
3211 fapi_sig_size(debug_pkt_gen_stop_req
),
3212 fapi_sig_size(debug_pkt_gen_report_req
),
3213 fapi_sig_size(wlanlite_radio_select_req
),
3214 fapi_sig_size(test_hip_tester_start_req
),
3215 fapi_sig_size(test_hip_tester_stop_req
),
3216 fapi_sig_size(test_hip_tester_set_params_req
),
3217 fapi_sig_size(test_hip_tester_report_req
),
3218 fapi_sig_size(test_bist_get_tx_gain_req
),
3219 fapi_sig_size(test_spare_signal_1_req
),
3220 fapi_sig_size(test_spare_signal_2_req
),
3221 fapi_sig_size(test_spare_signal_3_req
),
3224 static const u16 fapi_ma_cfm_size_table
[] = {
3225 fapi_sig_size(ma_unitdata_cfm
),
3226 fapi_sig_size(ma_control_cfm
),
3227 fapi_sig_size(ma_spare_signal_1_cfm
),
3228 fapi_sig_size(ma_spare_signal_2_cfm
),
3229 fapi_sig_size(ma_spare_signal_3_cfm
),
3232 static const u16 fapi_mlme_cfm_size_table
[] = {
3233 fapi_sig_size(mlme_get_cfm
),
3234 fapi_sig_size(mlme_set_cfm
),
3235 fapi_sig_size(mlme_powermgt_cfm
),
3236 fapi_sig_size(mlme_add_info_elements_cfm
),
3237 fapi_sig_size(mlme_add_scan_cfm
),
3238 fapi_sig_size(mlme_del_scan_cfm
),
3239 fapi_sig_size(mlme_add_vif_cfm
),
3240 fapi_sig_size(mlme_del_vif_cfm
),
3241 fapi_sig_size(mlme_start_cfm
),
3242 fapi_sig_size(mlme_set_channel_cfm
),
3243 fapi_sig_size(mlme_connect_cfm
),
3244 fapi_sig_size(mlme_reassociate_cfm
),
3245 fapi_sig_size(mlme_roam_cfm
),
3246 fapi_sig_size(mlme_disconnect_cfm
),
3247 fapi_sig_size(mlme_register_action_frame_cfm
),
3248 fapi_sig_size(mlme_send_frame_cfm
),
3249 fapi_sig_size(mlme_reset_dwell_time_cfm
),
3250 fapi_sig_size(mlme_set_traffic_parameters_cfm
),
3251 fapi_sig_size(mlme_del_traffic_parameters_cfm
),
3252 fapi_sig_size(mlme_set_packet_filter_cfm
),
3253 fapi_sig_size(mlme_set_ip_address_cfm
),
3254 fapi_sig_size(mlme_set_acl_cfm
),
3256 fapi_sig_size(mlme_setkeys_cfm
),
3258 fapi_sig_size(mlme_get_key_sequence_cfm
),
3260 fapi_sig_size(mlme_set_pmk_cfm
),
3263 fapi_sig_size(mlme_set_cached_channels_cfm
),
3264 fapi_sig_size(mlme_set_whitelist_ssid_cfm
),
3265 fapi_sig_size(mlme_tdls_action_cfm
),
3266 fapi_sig_size(mlme_channel_switch_cfm
),
3267 fapi_sig_size(mlme_monitor_rssi_cfm
),
3268 fapi_sig_size(mlme_start_link_statistics_cfm
),
3269 fapi_sig_size(mlme_stop_link_statistics_cfm
),
3270 fapi_sig_size(mlme_set_bssid_hotlist_cfm
),
3271 fapi_sig_size(mlme_set_pno_list_cfm
),
3272 fapi_sig_size(mlme_host_state_cfm
),
3273 fapi_sig_size(mlme_add_range_cfm
),
3274 fapi_sig_size(mlme_del_range_cfm
),
3275 fapi_sig_size(mlme_set_noa_cfm
),
3276 fapi_sig_size(mlme_set_ctwindow_cfm
),
3277 fapi_sig_size(mlme_nan_start_cfm
),
3278 fapi_sig_size(mlme_nan_config_cfm
),
3279 fapi_sig_size(mlme_nan_publish_cfm
),
3280 fapi_sig_size(mlme_nan_subscribe_cfm
),
3281 fapi_sig_size(mlme_nan_followup_cfm
),
3282 fapi_sig_size(mlme_spare_signal_1_cfm
),
3283 fapi_sig_size(mlme_spare_signal_2_cfm
),
3284 fapi_sig_size(mlme_spare_signal_3_cfm
),
3287 static const u16 fapi_debug_cfm_size_table
[] = {
3288 fapi_sig_size(debug_spare_signal_1_cfm
),
3289 fapi_sig_size(debug_spare_signal_2_cfm
),
3290 fapi_sig_size(debug_spare_signal_3_cfm
),
3293 static const u16 fapi_test_cfm_size_table
[] = {
3294 fapi_sig_size(radio_logging_cfm
),
3295 fapi_sig_size(wlanlite_cw_start_cfm
),
3296 fapi_sig_size(wlanlite_tx_set_params_cfm
),
3297 fapi_sig_size(wlanlite_cw_stop_cfm
),
3298 fapi_sig_size(wlanlite_tx_start_cfm
),
3299 fapi_sig_size(wlanlite_tx_read_cfm
),
3300 fapi_sig_size(wlanlite_tx_stop_cfm
),
3301 fapi_sig_size(wlanlite_rx_start_cfm
),
3302 fapi_sig_size(wlanlite_rx_read_cfm
),
3303 fapi_sig_size(wlanlite_rx_stop_cfm
),
3304 fapi_sig_size(wlanlite_status_cfm
),
3305 fapi_sig_size(test_pmalloc_cfm
),
3306 fapi_sig_size(test_configure_monitor_mode_cfm
),
3308 fapi_sig_size(test_check_fw_alive_cfm
),
3309 fapi_sig_size(test_suspend_cfm
),
3310 fapi_sig_size(test_resume_cfm
),
3311 fapi_sig_size(debug_generic_cfm
),
3312 fapi_sig_size(wlanlite_radio_select_cfm
),
3313 fapi_sig_size(test_hip_tester_start_cfm
),
3314 fapi_sig_size(test_hip_tester_stop_cfm
),
3315 fapi_sig_size(test_hip_tester_set_params_cfm
),
3316 fapi_sig_size(test_bist_get_tx_gain_cfm
),
3317 fapi_sig_size(test_spare_signal_1_cfm
),
3318 fapi_sig_size(test_spare_signal_2_cfm
),
3319 fapi_sig_size(test_spare_signal_3_cfm
),
3322 static const u16 fapi_ma_ind_size_table
[] = {
3323 fapi_sig_size(ma_unitdata_ind
),
3324 fapi_sig_size(ma_blockack_ind
),
3325 fapi_sig_size(ma_spare_signal_1_ind
),
3326 fapi_sig_size(ma_spare_signal_2_ind
),
3327 fapi_sig_size(ma_spare_signal_3_ind
),
3330 static const u16 fapi_mlme_ind_size_table
[] = {
3331 fapi_sig_size(mlme_scan_ind
),
3332 fapi_sig_size(mlme_scan_done_ind
),
3333 fapi_sig_size(mlme_listen_end_ind
),
3334 fapi_sig_size(mlme_connect_ind
),
3335 fapi_sig_size(mlme_connected_ind
),
3336 fapi_sig_size(mlme_reassociate_ind
),
3337 fapi_sig_size(mlme_roam_ind
),
3338 fapi_sig_size(mlme_roamed_ind
),
3339 fapi_sig_size(mlme_disconnect_ind
),
3340 fapi_sig_size(mlme_disconnected_ind
),
3341 fapi_sig_size(mlme_procedure_started_ind
),
3342 fapi_sig_size(mlme_mic_failure_ind
),
3343 fapi_sig_size(mlme_frame_transmission_ind
),
3344 fapi_sig_size(mlme_received_frame_ind
),
3346 fapi_sig_size(mlme_tdls_peer_ind
),
3347 fapi_sig_size(mlme_ap_loss_ind
),
3348 fapi_sig_size(mlme_significant_change_ind
),
3349 fapi_sig_size(mlme_rssi_report_ind
),
3350 fapi_sig_size(mlme_ac_priority_update_ind
),
3351 fapi_sig_size(mlme_range_ind
),
3352 fapi_sig_size(mlme_range_done_ind
),
3353 fapi_sig_size(mlme_event_log_ind
),
3354 fapi_sig_size(mlme_nan_event_ind
),
3355 fapi_sig_size(mlme_nan_service_ind
),
3356 fapi_sig_size(mlme_nan_followup_ind
),
3357 fapi_sig_size(mlme_channel_switched_ind
),
3358 fapi_sig_size(mlme_spare_signal_1_ind
),
3359 fapi_sig_size(mlme_spare_signal_2_ind
),
3360 fapi_sig_size(mlme_spare_signal_3_ind
),
3363 static const u16 fapi_debug_ind_size_table
[] = {
3364 fapi_sig_size(debug_word12_ind
),
3365 fapi_sig_size(debug_fault_ind
),
3366 fapi_sig_size(debug_spare_signal_1_ind
),
3367 fapi_sig_size(debug_spare_signal_2_ind
),
3368 fapi_sig_size(debug_spare_signal_3_ind
),
3371 static const u16 fapi_test_ind_size_table
[] = {
3372 fapi_sig_size(radio_logging_ind
),
3373 fapi_sig_size(debug_generic_ind
),
3374 fapi_sig_size(debug_pkt_sink_report_ind
),
3375 fapi_sig_size(debug_pkt_gen_report_ind
),
3376 fapi_sig_size(test_hip_tester_report_ind
),
3377 fapi_sig_size(test_spare_signal_1_ind
),
3378 fapi_sig_size(test_spare_signal_2_ind
),
3379 fapi_sig_size(test_spare_signal_3_ind
),
3382 static const u16 fapi_mlme_res_size_table
[] = {
3383 fapi_sig_size(mlme_connect_res
),
3384 fapi_sig_size(mlme_connected_res
),
3385 fapi_sig_size(mlme_reassociate_res
),
3386 fapi_sig_size(mlme_roamed_res
),
3387 fapi_sig_size(mlme_tdls_peer_res
),
3388 fapi_sig_size(mlme_spare_signal_1_res
),
3389 fapi_sig_size(mlme_spare_signal_2_res
),
3390 fapi_sig_size(mlme_spare_signal_3_res
),
3393 static const u16 fapi_ma_res_size_table
[] = {
3394 fapi_sig_size(ma_spare_signal_1_res
),
3395 fapi_sig_size(ma_spare_signal_2_res
),
3396 fapi_sig_size(ma_spare_signal_3_res
),
3399 static const u16 fapi_debug_res_size_table
[] = {
3400 fapi_sig_size(debug_spare_signal_1_res
),
3401 fapi_sig_size(debug_spare_signal_2_res
),
3402 fapi_sig_size(debug_spare_signal_3_res
),
3405 static const u16 fapi_test_res_size_table
[] = {
3406 fapi_sig_size(test_spare_signal_1_res
),
3407 fapi_sig_size(test_spare_signal_2_res
),
3408 fapi_sig_size(test_spare_signal_3_res
),
3411 if (fapi_is_mlme(skb
) && fapi_is_req(skb
))
3412 return fapi_get_expected_size_table(skb
, fapi_mlme_req_size_table
, ARRAY_SIZE(fapi_mlme_req_size_table
), MLME_GET_REQ
);
3413 else if (fapi_is_mlme(skb
) && fapi_is_cfm(skb
))
3414 return fapi_get_expected_size_table(skb
, fapi_mlme_cfm_size_table
, ARRAY_SIZE(fapi_mlme_cfm_size_table
), MLME_GET_CFM
);
3415 else if (fapi_is_mlme(skb
) && fapi_is_res(skb
))
3416 return fapi_get_expected_size_table(skb
, fapi_mlme_res_size_table
, ARRAY_SIZE(fapi_mlme_res_size_table
), MLME_CONNECT_RES
);
3417 else if (fapi_is_mlme(skb
) && fapi_is_ind(skb
))
3418 return fapi_get_expected_size_table(skb
, fapi_mlme_ind_size_table
, ARRAY_SIZE(fapi_mlme_ind_size_table
), MLME_SCAN_IND
);
3419 else if (fapi_is_ma(skb
) && fapi_is_req(skb
))
3420 return fapi_get_expected_size_table(skb
, fapi_ma_req_size_table
, ARRAY_SIZE(fapi_ma_req_size_table
), MA_UNITDATA_REQ
);
3421 else if (fapi_is_ma(skb
) && fapi_is_cfm(skb
))
3422 return fapi_get_expected_size_table(skb
, fapi_ma_cfm_size_table
, ARRAY_SIZE(fapi_ma_cfm_size_table
), MA_UNITDATA_CFM
);
3423 else if (fapi_is_ma(skb
) && fapi_is_ind(skb
))
3424 return fapi_get_expected_size_table(skb
, fapi_ma_ind_size_table
, ARRAY_SIZE(fapi_ma_ind_size_table
), MA_UNITDATA_IND
);
3425 else if (fapi_is_debug(skb
) && fapi_is_req(skb
))
3426 return fapi_get_expected_size_table(skb
, fapi_debug_req_size_table
, ARRAY_SIZE(fapi_debug_req_size_table
), DEBUG_GENERIC_REQ
);
3427 else if (fapi_is_debug(skb
) && fapi_is_cfm(skb
))
3428 return fapi_get_expected_size_table(skb
, fapi_debug_cfm_size_table
, ARRAY_SIZE(fapi_debug_cfm_size_table
), DEBUG_GENERIC_CFM
);
3429 else if (fapi_is_debug(skb
) && fapi_is_ind(skb
))
3430 return fapi_get_expected_size_table(skb
, fapi_debug_ind_size_table
, ARRAY_SIZE(fapi_debug_ind_size_table
), DEBUG_WORD12IND
);
3431 else if (fapi_is_test(skb
) && fapi_is_req(skb
))
3432 return fapi_get_expected_size_table(skb
, fapi_test_req_size_table
, ARRAY_SIZE(fapi_test_req_size_table
), TEST_BLOCK_REQUESTS_REQ
);
3433 else if (fapi_is_test(skb
) && fapi_is_cfm(skb
))
3434 return fapi_get_expected_size_table(skb
, fapi_test_cfm_size_table
, ARRAY_SIZE(fapi_test_cfm_size_table
), RADIO_LOGGING_CFM
);
3435 else if (fapi_is_test(skb
) && fapi_is_ind(skb
))
3436 return fapi_get_expected_size_table(skb
, fapi_test_ind_size_table
, ARRAY_SIZE(fapi_test_ind_size_table
), RADIO_LOGGING_IND
);
3437 else if (fapi_is_mlme(skb
) && fapi_is_res(skb
))
3438 return fapi_get_expected_size_table(skb
, fapi_ma_res_size_table
, ARRAY_SIZE(fapi_ma_res_size_table
), MA_SPARE_SIGNAL_1_RES
);
3439 else if (fapi_is_mlme(skb
) && fapi_is_res(skb
))
3440 return fapi_get_expected_size_table(skb
, fapi_debug_res_size_table
, ARRAY_SIZE(fapi_debug_res_size_table
), DEBUG_SPARE_SIGNAL_1_RES
);
3441 else if (fapi_is_mlme(skb
) && fapi_is_res(skb
))
3442 return fapi_get_expected_size_table(skb
, fapi_test_res_size_table
, ARRAY_SIZE(fapi_test_res_size_table
), TEST_SPARE_SIGNAL_1_RES
);
3450 #endif /* _FAPI_H__ */