Home | History | Annotate | Download | only in wifi_hal
      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