1 /*
2  * Copyright (C) 2014 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef __VENDOR_DEFINITIONS_H__
18 #define __VENDOR_DEFINITIONS_H__
19 
20 #include "qca-vendor_copy.h"
21 
22 #define WIFI_SCANNING_MAC_OUI_LENGTH 3
23 #define WIFI_MAC_ADDR_LENGTH 6
24 
25 /*Internal to Android HAL component */
26 /* subcommands for link layer statistics start here */
27 #ifndef QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET
28 #define QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET 14
29 #define QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET 15
30 #define QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR 16
31 /* subcommands for gscan start here */
32 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_START 20
33 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_STOP 21
34 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_VALID_CHANNELS 22
35 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CAPABILITIES 23
36 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CACHED_RESULTS 24
37 /* Used when report_threshold is reached in scan cache. */
38 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_RESULTS_AVAILABLE 25
39 /* Used to report scan results when each probe rsp. is received,
40  * if report_events enabled in wifi_scan_cmd_params.
41  */
42 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_FULL_SCAN_RESULT 26
43 /* Indicates progress of scanning state-machine. */
44 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_EVENT 27
45 /* Indicates BSSID Hotlist. */
46 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_FOUND 28
47 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_BSSID_HOTLIST 29
48 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_BSSID_HOTLIST 30
49 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_SIGNIFICANT_CHANGE 31
50 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_SIGNIFICANT_CHANGE 32
51 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_SIGNIFICANT_CHANGE 33
52 /* TDLS Commands. */
53 #define QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE 34
54 #define QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE 35
55 #define QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS 36
56 #define QCA_NL80211_VENDOR_SUBCMD_TDLS_STATE 37
57 /* Supported features. */
58 #define QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES 38
59 /* set scanning_mac_oui */
60 #define QCA_NL80211_VENDOR_SUBCMD_SCANNING_MAC_OUI 39
61 /* Set nodfs_flag */
62 #define QCA_NL80211_VENDOR_SUBCMD_NO_DFS_FLAG 40
63 /* Indicates BSSID Hotlist AP lost. */
64 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_LOST 41
65 /* Get Concurrency Matrix */
66 #define QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX 42
67 /* Get Wifi Specific Info */
68 #define QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO 61
69 /* Start Wifi Logger */
70 #define QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_START 62
71 /* Start Wifi Memory Dump */
72 #define QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_MEMORY_DUMP 63
73 /* Roaming */
74 #define QCA_NL80211_VENDOR_SUBCMD_ROAM 64
75 
76 /* APIs corresponding to the sub commands 65-68 are deprecated.
77  * These sub commands are reserved and not supposed to be used
78  * for any other purpose
79  */
80 /* PNO */
81 #define QCA_NL80211_VENDOR_SUBCMD_PNO_SET_LIST 69
82 #define QCA_NL80211_VENDOR_SUBCMD_PNO_SET_PASSPOINT_LIST 70
83 #define QCA_NL80211_VENDOR_SUBCMD_PNO_RESET_PASSPOINT_LIST 71
84 #define QCA_NL80211_VENDOR_SUBCMD_PNO_NETWORK_FOUND 72
85 #define QCA_NL80211_VENDOR_SUBCMD_PNO_PASSPOINT_NETWORK_FOUND 73
86 /* Wi-Fi Configuration subcommands */
87 #define QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION 74
88 #define QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION 75
89 /* WiFiLogger Support feature set */
90 #define QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET 76
91 /* WiFiLogger Get Ring Data */
92 #define QCA_NL80211_VENDOR_SUBCMD_GET_RING_DATA 77
93 /* Get tdls capabilities */
94 #define QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_CAPABILITIES 78
95 /* offloaded packets*/
96 #define QCA_NL80211_VENDOR_SUBCMD_OFFLOADED_PACKETS 79
97 /* RSSI monitoring*/
98 #define QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI 80
99 /* Nan Data Path */
100 #define QCA_NL80211_VENDOR_SUBCMD_NDP 81
101 /* Neighbour Discovery offload */
102 #define QCA_NL80211_VENDOR_SUBCMD_ND_OFFLOAD 82
103 /* Set packet filter for BPF*/
104 #define QCA_NL80211_VENDOR_SUBCMD_PACKET_FILTER 83
105 /* Get Driver-firmware interface maximum supported size*/
106 #define QCA_NL80211_VENDOR_SUBCMD_GET_BUS_SIZE 84
107 /* Get wake reason stats */
108 #define QCA_NL80211_VENDOR_SUBCMD_GET_WAKE_REASON_STATS 85
109 #endif
110 
111 enum qca_wlan_vendor_attr_tdls_enable
112 {
113     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_INVALID = 0,
114     /* An array of 6 x Unsigned 8-bit value */
115     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAC_ADDR,
116     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_CHANNEL,
117     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_GLOBAL_OPERATING_CLASS,
118     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX_LATENCY_MS,
119     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MIN_BANDWIDTH_KBPS,
120     /* keep last */
121     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_AFTER_LAST,
122     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX =
123         QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_AFTER_LAST - 1,
124 };
125 
126 enum qca_wlan_vendor_attr_tdls_disable
127 {
128     QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_INVALID = 0,
129     /* An array of 6 x Unsigned 8-bit value */
130     QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAC_ADDR,
131     /* keep last */
132     QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_AFTER_LAST,
133     QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAX =
134         QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_AFTER_LAST - 1,
135 };
136 
137 enum qca_wlan_vendor_attr_tdls_get_status
138 {
139     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_INVALID = 0,
140     /* An array of 6 x Unsigned 8-bit value */
141     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAC_ADDR,
142     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_STATE,
143     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_REASON,
144     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_CHANNEL,
145     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_GLOBAL_OPERATING_CLASS,
146     /* keep last */
147     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AFTER_LAST,
148     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAX =
149         QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AFTER_LAST - 1,
150 };
151 
152 enum qca_wlan_vendor_attr_tdls_state
153 {
154     QCA_WLAN_VENDOR_ATTR_TDLS_STATE_INVALID = 0,
155     /* An array of 6 x Unsigned 8-bit value */
156     QCA_WLAN_VENDOR_ATTR_TDLS_MAC_ADDR,
157     QCA_WLAN_VENDOR_ATTR_TDLS_STATE,
158     QCA_WLAN_VENDOR_ATTR_TDLS_REASON,
159     QCA_WLAN_VENDOR_ATTR_TDLS_CHANNEL,
160     QCA_WLAN_VENDOR_ATTR_TDLS_GLOBAL_OPERATING_CLASS,
161     /* keep last */
162     QCA_WLAN_VENDOR_ATTR_TDLS_STATE_AFTER_LAST,
163     QCA_WLAN_VENDOR_ATTR_TDLS_STATE_MAX =
164         QCA_WLAN_VENDOR_ATTR_TDLS_STATE_AFTER_LAST - 1,
165 };
166 
167 enum qca_wlan_vendor_attr_tdls_get_capabilities
168 {
169     QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_INVALID = 0,
170 
171     QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_MAX_CONC_SESSIONS,
172     QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_FEATURES_SUPPORTED,
173 
174     /* keep last */
175     QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_AFTER_LAST,
176     QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_MAX =
177         QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_AFTER_LAST - 1,
178 };
179 
180 enum qca_wlan_vendor_attr_get_supported_features
181 {
182     QCA_WLAN_VENDOR_ATTR_FEATURE_SET_INVALID = 0,
183     /* Unsigned 32-bit value */
184     QCA_WLAN_VENDOR_ATTR_FEATURE_SET = 1,
185     /* keep last */
186     QCA_WLAN_VENDOR_ATTR_FEATURE_SET_AFTER_LAST,
187     QCA_WLAN_VENDOR_ATTR_FEATURE_SET_MAX =
188         QCA_WLAN_VENDOR_ATTR_FEATURE_SET_AFTER_LAST - 1,
189 };
190 
191 enum qca_wlan_vendor_attr_set_scanning_mac_oui
192 {
193     QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_INVALID = 0,
194     /* An array of 3 x Unsigned 8-bit value */
195     QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI = 1,
196     /* keep last */
197     QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_AFTER_LAST,
198     QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_MAX =
199         QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_AFTER_LAST - 1,
200 };
201 
202 enum qca_wlan_vendor_attr_set_no_dfs_flag
203 {
204     QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_INVALID = 0,
205     /* Unsigned 32-bit value */
206     QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG = 1,
207     /* keep last */
208     QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_AFTER_LAST,
209     QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_MAX =
210         QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_AFTER_LAST - 1,
211 };
212 
213 /* NL attributes for data used by
214  * QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX sub command.
215  */
216 enum qca_wlan_vendor_attr_get_concurrency_matrix
217 {
218     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_INVALID = 0,
219     /* Unsigned 32-bit value */
220     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_CONFIG_PARAM_SET_SIZE_MAX = 1,
221     /* Unsigned 32-bit value */
222     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_RESULTS_SET_SIZE = 2,
223     /* An array of SET_SIZE x Unsigned 32bit values representing
224      * concurrency combinations.
225      */
226     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_RESULTS_SET = 3,
227     /* keep last */
228     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_AFTER_LAST,
229     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_MAX =
230         QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_AFTER_LAST - 1,
231 };
232 
233 /* NL attributes for data used by
234  * QCA_NL80211_VENDOR_SUBCMD_SET|GET_WIFI_CONFIGURATION sub commands.
235  */
236 enum qca_wlan_vendor_attr_wifi_config {
237     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_INVALID = 0,
238     /* Unsigned 32-bit value */
239     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_DYNAMIC_DTIM = 1,
240     /* Unsigned 32-bit value */
241     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_STATS_AVG_FACTOR = 2,
242     /* Unsigned 32-bit value */
243     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_GUARD_TIME = 3,
244     /* Unsigned 32-bit value */
245     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_FINE_TIME_MEASUREMENT = 4,
246     /* Unsigned 32-bit value */
247     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_TX_RATE = 5,
248     /* Unsigned 32-bit value */
249     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_PENALIZE_AFTER_NCONS_BEACON_MISS = 6,
250     /* keep last */
251     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_AFTER_LAST,
252     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_MAX =
253         QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_AFTER_LAST - 1,
254 };
255 
256 enum qca_wlan_epno_type
257 {
258     QCA_WLAN_EPNO,
259     QCA_WLAN_PNO
260 };
261 
262 #define EPNO_NO_NETWORKS 0
263 
264 enum qca_wlan_offloaded_packets_sending_control
265 {
266     QCA_WLAN_OFFLOADED_PACKETS_SENDING_CONTROL_INVALID = 0,
267     QCA_WLAN_OFFLOADED_PACKETS_SENDING_START,
268     QCA_WLAN_OFFLOADED_PACKETS_SENDING_STOP
269 };
270 
271 enum qca_wlan_vendor_attr_offloaded_packets
272 {
273     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_INVALID = 0,
274 
275     /* Takes valid value from the enum
276      * qca_wlan_offloaded_packets_sending_control
277      */
278     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SENDING_CONTROL,
279 
280     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_REQUEST_ID,
281 
282     /* Packet in hex format */
283     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_IP_PACKET,
284     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SRC_MAC_ADDR,
285     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_DST_MAC_ADDR,
286     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_PERIOD,
287 
288     /* keep last */
289     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_LAST,
290     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_MAX =
291         QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_LAST - 1,
292 
293 };
294 
295 enum qca_wlan_rssi_monitoring_control
296 {
297     QCA_WLAN_RSSI_MONITORING_CONTROL_INVALID = 0,
298     QCA_WLAN_RSSI_MONITORING_START,
299     QCA_WLAN_RSSI_MONITORING_STOP,
300 };
301 
302 enum qca_wlan_vendor_attr_rssi_monitoring
303 {
304     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_INVALID = 0,
305 
306     /* Takes valid value from the enum
307      * qca_wlan_rssi_monitoring_control
308      */
309     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CONTROL,
310 
311     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_REQUEST_ID,
312 
313     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX_RSSI,
314     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MIN_RSSI,
315 
316     /* attributes to be used/received in callback */
317     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_BSSID,
318     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_RSSI,
319 
320     /* keep last */
321     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_AFTER_LAST,
322     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX =
323         QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_AFTER_LAST - 1,
324 
325 };
326 
327 enum qca_wlan_vendor_attr_ndp_params
328 {
329     QCA_WLAN_VENDOR_ATTR_NDP_PARAM_INVALID = 0,
330     /* enum of sub commands */
331     QCA_WLAN_VENDOR_ATTR_NDP_SUBCMD,
332     /* Unsigned 16-bit value */
333     QCA_WLAN_VENDOR_ATTR_NDP_TRANSACTION_ID,
334     /* NL attributes for data used NDP SUB cmds */
335     /* Unsigned 32-bit value indicating a service info */
336     QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_INSTANCE_ID,
337     /* Unsigned 32-bit value; channel frequency */
338     QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL,
339     /* Interface Discovery MAC address. An array of 6 Unsigned int8 */
340     QCA_WLAN_VENDOR_ATTR_NDP_PEER_DISCOVERY_MAC_ADDR,
341     /* Interface name on which NDP is being created */
342     QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR,
343     /* Unsigned 32-bit value for security */
344     QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_SECURITY,
345     /* Unsigned 32-bit value for Qos */
346     QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_QOS,
347     /* Array of u8: len = QCA_WLAN_VENDOR_ATTR_NAN_DP_APP_INFO_LEN */
348     QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO,
349     /* Unsigned 32-bit value for NDP instance Id */
350     QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID,
351     /* Array of instance Ids */
352     QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID_ARRAY,
353     /* Unsigned 32-bit value for initiator/responder ndp response code accept/reject */
354     QCA_WLAN_VENDOR_ATTR_NDP_RESPONSE_CODE,
355     /* NDI MAC address. An array of 6 Unsigned int8 */
356     QCA_WLAN_VENDOR_ATTR_NDP_NDI_MAC_ADDR,
357     /* Unsigned 32-bit value errors types returned by driver */
358     QCA_WLAN_VENDOR_ATTR_NDP_DRV_RESPONSE_STATUS_TYPE,
359     /* Unsigned 32-bit value error values returned by driver */
360     QCA_WLAN_VENDOR_ATTR_NDP_DRV_RETURN_VALUE,
361     /* Unsigned 32-bit value for Channel setup configuration */
362     QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL_CONFIG,
363     /* Unsigned 32-bit value for Cipher Suite Shared Key Type */
364     QCA_WLAN_VENDOR_ATTR_NDP_CSID,
365     /* Array of u8: len = NAN_PMK_INFO_LEN */
366     QCA_WLAN_VENDOR_ATTR_NDP_PMK,
367     QCA_WLAN_VENDOR_ATTR_NDP_SCID,
368     /* Array of u8: len = NAN_SECURITY_MAX_PASSPHRASE_LEN*/
369     QCA_WLAN_VENDOR_ATTR_NDP_PASSPHRASE,
370     /* Array of u8: len = NAN_MAX_SERVICE_NAME_LEN */
371     QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_NAME,
372 
373 
374     /* KEEP LAST */
375     QCA_WLAN_VENDOR_ATTR_NDP_AFTER_LAST,
376     QCA_WLAN_VENDOR_ATTR_NDP_MAX =
377         QCA_WLAN_VENDOR_ATTR_NDP_AFTER_LAST - 1,
378 };
379 
380 enum qca_wlan_vendor_attr_ndp_cfg_security
381 {
382    /* Security info will be added when proposed in the specification */
383    QCA_WLAN_VENDOR_ATTR_NDP_SECURITY_TYPE = 1,
384 
385 };
386 
387 enum qca_wlan_vendor_attr_ndp_qos
388 {
389    /* Qos info will be added when proposed in the specification */
390    QCA_WLAN_VENDOR_ATTR_NDP_QOS_CONFIG = 1,
391 
392 };
393 
394 /*
395  * QCA_NL80211_VENDOR_SUBCMD_NDP sub commands.
396  */
397 enum qca_wlan_vendor_attr_ndp_sub_cmd_value
398 {
399    QCA_WLAN_VENDOR_ATTR_NDP_INTERFACE_CREATE = 1,
400    QCA_WLAN_VENDOR_ATTR_NDP_INTERFACE_DELETE = 2,
401    QCA_WLAN_VENDOR_ATTR_NDP_INITIATOR_REQUEST = 3,
402    QCA_WLAN_VENDOR_ATTR_NDP_INITIATOR_RESPONSE = 4,
403    QCA_WLAN_VENDOR_ATTR_NDP_RESPONDER_REQUEST = 5,
404    QCA_WLAN_VENDOR_ATTR_NDP_RESPONDER_RESPONSE = 6,
405    QCA_WLAN_VENDOR_ATTR_NDP_END_REQUEST = 7,
406    QCA_WLAN_VENDOR_ATTR_NDP_END_RESPONSE = 8,
407    QCA_WLAN_VENDOR_ATTR_NDP_DATA_REQUEST_IND = 9,
408    QCA_WLAN_VENDOR_ATTR_NDP_CONFIRM_IND = 10,
409    QCA_WLAN_VENDOR_ATTR_NDP_END_IND = 11
410 };
411 
412 #define PACKET_FILTER_ID 0
413 
414 enum packet_filter_sub_cmd
415 {
416     QCA_WLAN_SET_PACKET_FILTER = 1,
417     QCA_WLAN_GET_PACKET_FILTER_SIZE = 2,
418 };
419 
420 enum qca_wlan_vendor_attr_packet_filter
421 {
422     QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_INVALID = 0,
423 
424     QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_SUB_CMD,
425     QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_VERSION,
426     QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_ID,
427     QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_TOTAL_LENGTH,
428     QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_CURRENT_OFFSET,
429     QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_PROGRAM,
430 
431     /* keep last */
432     QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_AFTER_LAST,
433     QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_MAX =
434         QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_AFTER_LAST - 1,
435 
436 };
437 
438 enum qca_wlan_vendor_attr_nd_offload
439 {
440     QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_INVALID = 0,
441 
442     QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_FLAG,
443 
444     /* keep last */
445     QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_AFTER_LAST,
446     QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_MAX =
447         QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_AFTER_LAST - 1,
448 
449 };
450 
451 enum qca_wlan_vendor_drv_info
452 {
453     QCA_WLAN_VENDOR_ATTR_DRV_INFO_INVALID = 0,
454 
455     QCA_WLAN_VENDOR_ATTR_DRV_INFO_BUS_SIZE,
456 
457     /* keep last */
458     QCA_WLAN_VENDOR_ATTR_DRV_INFO_AFTER_LAST,
459     QCA_WLAN_VENDOR_ATTR_DRV_INFO_MAX =
460         QCA_WLAN_VENDOR_ATTR_DRV_INFO_AFTER_LAST - 1,
461 
462 };
463 
464 /* NL attributes for data used by
465  * QCA_NL80211_VENDOR_SUBCMD_GET_WAKE_REASON_STATS  sub command.
466  */
467 enum qca_wlan_vendor_attr_wake_stats
468 {
469     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_INVALID = 0,
470     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_TOTAL_CMD_EVENT_WAKE,
471     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_CMD_EVENT_WAKE_CNT_PTR,
472     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_CMD_EVENT_WAKE_CNT_SZ,
473     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_TOTAL_DRIVER_FW_LOCAL_WAKE,
474     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_DRIVER_FW_LOCAL_WAKE_CNT_PTR,
475     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_DRIVER_FW_LOCAL_WAKE_CNT_SZ,
476     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_TOTAL_RX_DATA_WAKE,
477     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_RX_UNICAST_CNT,
478     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_RX_MULTICAST_CNT,
479     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_RX_BROADCAST_CNT,
480     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP_PKT,
481     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_PKT,
482     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_RA,
483     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_NA,
484     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_NS,
485     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP4_RX_MULTICAST_CNT,
486     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_RX_MULTICAST_CNT,
487     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_OTHER_RX_MULTICAST_CNT,
488     /* keep last */
489     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_AFTER_LAST,
490     QCA_WLAN_VENDOR_ATTR_WAKE_STATS_MAX =
491         QCA_WLAN_VENDOR_ATTR_WAKE_STATS_AFTER_LAST - 1,
492 };
493 #endif
494