The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/compat/linuxkpi/common/include/linux/nl80211.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 2020-2021 The FreeBSD Foundation
    3  *
    4  * This software was developed by Björn Zeeb under sponsorship from
    5  * the FreeBSD Foundation.
    6  *
    7  * Redistribution and use in source and binary forms, with or without
    8  * modification, are permitted provided that the following conditions
    9  * are met:
   10  * 1. Redistributions of source code must retain the above copyright
   11  *    notice, this list of conditions and the following disclaimer.
   12  * 2. Redistributions in binary form must reproduce the above copyright
   13  *    notice, this list of conditions and the following disclaimer in the
   14  *    documentation and/or other materials provided with the distribution.
   15  *
   16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   20  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   22  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   24  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   26  * SUCH DAMAGE.
   27  *
   28  * $FreeBSD$
   29  */
   30 
   31 #ifndef _LINUXKPI_LINUX_NL80211_H
   32 #define _LINUXKPI_LINUX_NL80211_H
   33 
   34 #include <linux/bitops.h>
   35 
   36 enum nl80211_feature_flags {
   37         NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE       = BIT(0),
   38         NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES       = BIT(1),
   39         NL80211_FEATURE_HT_IBSS                         = BIT(2),
   40         NL80211_FEATURE_LOW_PRIORITY_SCAN               = BIT(3),
   41         NL80211_FEATURE_ND_RANDOM_MAC_ADDR              = BIT(4),
   42         NL80211_FEATURE_P2P_GO_CTWIN                    = BIT(5),
   43         NL80211_FEATURE_P2P_GO_OPPPS                    = BIT(6),
   44         NL80211_FEATURE_QUIET                           = BIT(7),
   45         NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR            = BIT(8),
   46         NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR      = BIT(9),
   47         NL80211_FEATURE_DYNAMIC_SMPS                    = BIT(10),
   48         NL80211_FEATURE_STATIC_SMPS                     = BIT(11),
   49         NL80211_FEATURE_SUPPORTS_WMM_ADMISSION          = BIT(12),
   50         NL80211_FEATURE_TDLS_CHANNEL_SWITCH             = BIT(13),
   51         NL80211_FEATURE_TX_POWER_INSERTION              = BIT(14),
   52         NL80211_FEATURE_WFA_TPC_IE_IN_PROBES            = BIT(15),
   53         NL80211_FEATURE_AP_SCAN                         = BIT(16),
   54         NL80211_FEATURE_ACTIVE_MONITOR                  = BIT(17),
   55 };
   56 
   57 enum nl80211_pmsr_ftm_failure_flags {
   58         NL80211_PMSR_FTM_FAILURE_NO_RESPONSE            = BIT(0),
   59         NL80211_PMSR_FTM_FAILURE_PEER_BUSY              = BIT(1),
   60         NL80211_PMSR_FTM_FAILURE_UNSPECIFIED            = BIT(2),
   61 };
   62 
   63 enum nl80211_pmsr_status_flags {
   64         NL80211_PMSR_STATUS_FAILURE                     = BIT(0),
   65         NL80211_PMSR_STATUS_SUCCESS                     = BIT(1),
   66         NL80211_PMSR_STATUS_TIMEOUT                     = BIT(2),
   67 };
   68 
   69 #define NL80211_PMSR_TYPE_FTM                           1
   70 
   71 enum nl80211_reg_rule_flags {
   72         NL80211_RRF_AUTO_BW                             = BIT(0),
   73         NL80211_RRF_DFS                                 = BIT(1),
   74         NL80211_RRF_GO_CONCURRENT                       = BIT(2),
   75         NL80211_RRF_NO_IR                               = BIT(3),
   76         NL80211_RRF_NO_OUTDOOR                          = BIT(4),
   77         NL80211_RRF_NO_HT40MINUS                        = BIT(5),
   78         NL80211_RRF_NO_HT40PLUS                         = BIT(6),
   79         NL80211_RRF_NO_80MHZ                            = BIT(7),
   80         NL80211_RRF_NO_160MHZ                           = BIT(8),
   81         NL80211_RRF_NO_HE                               = BIT(9),
   82         NL80211_RRF_NO_OFDM                             = BIT(10),
   83 };
   84 #define NL80211_RRF_NO_HT40     (NL80211_RRF_NO_HT40MINUS|NL80211_RRF_NO_HT40PLUS)
   85 
   86 enum nl80211_scan_flags {
   87         NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME         = BIT(0),
   88         NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION    = BIT(1),
   89         NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE    = BIT(2),
   90         NL80211_SCAN_FLAG_RANDOM_ADDR                   = BIT(3),
   91         NL80211_SCAN_FLAG_COLOCATED_6GHZ                = BIT(4),
   92         NL80211_SCAN_FLAG_RANDOM_SN                     = BIT(5),
   93         NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP       = BIT(6),
   94 };
   95 
   96 #define NL80211_MAX_SUPP_REG_RULES                      512     /* TODO FIXME, random */
   97 
   98 #define NL80211_BSS_CHAN_WIDTH_20                       __LINE__ /* TODO FIXME, brcmfmac */
   99 
  100 enum nl80211_wpa_versions {
  101         NL80211_WPA_VERSION_1   = 1,
  102         NL80211_WPA_VERSION_2,
  103         NL80211_WPA_VERSION_3,
  104 };
  105 
  106 enum nl80211_bss_select_attr {
  107         __NL80211_BSS_SELECT_ATTR_INVALID       = 0,
  108         NL80211_BSS_SELECT_ATTR_BAND_PREF,
  109         NL80211_BSS_SELECT_ATTR_RSSI,
  110         NL80211_BSS_SELECT_ATTR_RSSI_ADJUST,
  111 };
  112 
  113 enum nl80211_sta_flag {
  114         /* XXX TODO */
  115         NL80211_STA_FLAG_ASSOCIATED,
  116         NL80211_STA_FLAG_AUTHENTICATED,
  117         NL80211_STA_FLAG_AUTHORIZED,
  118         NL80211_STA_FLAG_TDLS_PEER,
  119         NL80211_STA_FLAG_WME,
  120 };
  121 
  122 enum nl80211_band {
  123         /* XXX TODO */
  124         NL80211_BAND_2GHZ       = 0,
  125         NL80211_BAND_5GHZ,
  126         NL80211_BAND_60GHZ,
  127         NL80211_BAND_6GHZ,
  128 
  129         /* Keep this last. */
  130         NUM_NL80211_BANDS
  131 };
  132 
  133 enum nl80211_chan_flags {
  134         /* XXX TODO */
  135         NL80211_CHAN_NO_HT,
  136 };
  137 
  138 enum nl80211_chan_width {
  139         /* XXX TODO */
  140         NL80211_CHAN_WIDTH_20_NOHT,
  141         NL80211_CHAN_WIDTH_20,
  142         NL80211_CHAN_WIDTH_40,
  143         NL80211_CHAN_WIDTH_80,
  144         NL80211_CHAN_WIDTH_80P80,
  145         NL80211_CHAN_WIDTH_160,
  146         NL80211_CHAN_WIDTH_5,
  147         NL80211_CHAN_WIDTH_10,
  148 };
  149 
  150 enum nl80211_iftype {
  151         /* XXX TODO */
  152         NL80211_IFTYPE_UNSPECIFIED,
  153         NL80211_IFTYPE_ADHOC,
  154         NL80211_IFTYPE_STATION,
  155         NL80211_IFTYPE_AP,
  156         NL80211_IFTYPE_AP_VLAN,
  157         NL80211_IFTYPE_MONITOR,
  158         NL80211_IFTYPE_P2P_CLIENT,
  159         NL80211_IFTYPE_P2P_DEVICE,
  160         NL80211_IFTYPE_P2P_GO,
  161         NL80211_IFTYPE_MESH_POINT,
  162         NL80211_IFTYPE_WDS,
  163         NL80211_IFTYPE_OCB,
  164 
  165         /* Keep this last. */
  166         NUM_NL80211_IFTYPES
  167 };
  168 
  169 enum nl80211_preamble {
  170         /* XXX TODO */
  171         NL80211_PREAMBLE_LEGACY,
  172         NL80211_PREAMBLE_HT,
  173         NL80211_PREAMBLE_VHT,
  174         NL80211_PREAMBLE_HE,
  175 };
  176 
  177 enum nl80211_tdls_operation {
  178         /* XXX TODO */
  179         NL80211_TDLS_SETUP,
  180         NL80211_TDLS_TEARDOWN,
  181         NL80211_TDLS_ENABLE_LINK,
  182         NL80211_TDLS_DISABLE_LINK,
  183         NL80211_TDLS_DISCOVERY_REQ,
  184         NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY,
  185         NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY,
  186 };
  187 
  188 enum nl80211_cqm_rssi_threshold_event {
  189         /* XXX TODO */
  190         NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW,
  191         NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH,
  192 };
  193 
  194 enum nl80211_ext_feature {
  195         /* XXX TODO */
  196         NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP,
  197         NL80211_EXT_FEATURE_BSS_PARENT_TSF,
  198         NL80211_EXT_FEATURE_CAN_REPLACE_PTK0,
  199         NL80211_EXT_FEATURE_DFS_OFFLOAD,
  200         NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER,
  201         NL80211_EXT_FEATURE_EXT_KEY_ID,
  202         NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME,
  203         NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER,
  204         NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION,
  205         NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE,
  206         NL80211_EXT_FEATURE_PROTECTED_TWT,
  207         NL80211_EXT_FEATURE_SAE_OFFLOAD,
  208         NL80211_EXT_FEATURE_SCAN_START_TIME,
  209         NL80211_EXT_FEATURE_SET_SCAN_DWELL,
  210         NL80211_EXT_FEATURE_VHT_IBSS,
  211         NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X,
  212         NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK,
  213         NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT,
  214         NL80211_EXT_FEATURE_SCAN_RANDOM_SN,
  215         NL80211_EXT_FEATURE_STA_TX_PWR,
  216         NL80211_EXT_FEATURE_CQM_RSSI_LIST,
  217         NL80211_EXT_FEATURE_AQL,
  218         NL80211_EXT_FEATURE_AIRTIME_FAIRNESS,
  219         NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT,
  220         NL80211_EXT_FEATURE_BEACON_RATE_LEGACY,
  221         NL80211_EXT_FEATURE_BEACON_RATE_HT,
  222         NL80211_EXT_FEATURE_BEACON_RATE_VHT,
  223         NL80211_EXT_FEATURE_BEACON_RATE_HE,
  224         NL80211_EXT_FEATURE_BSS_COLOR,
  225         NL80211_EXT_FEATURE_FILS_DISCOVERY,
  226         NL80211_EXT_FEATURE_RADAR_BACKGROUND,
  227         NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP,
  228 
  229         /* Keep this last. */
  230         NUM_NL80211_EXT_FEATURES
  231 };
  232 
  233 enum nl80211_sta_info {
  234         /* XXX TODO */
  235         NL80211_STA_INFO_BEACON_RX,
  236         NL80211_STA_INFO_BEACON_SIGNAL_AVG,
  237         NL80211_STA_INFO_BSS_PARAM,
  238         NL80211_STA_INFO_CHAIN_SIGNAL,
  239         NL80211_STA_INFO_CONNECTED_TIME,
  240         NL80211_STA_INFO_INACTIVE_TIME,
  241         NL80211_STA_INFO_SIGNAL,
  242         NL80211_STA_INFO_SIGNAL_AVG,
  243         NL80211_STA_INFO_STA_FLAGS,
  244         NL80211_STA_INFO_RX_BITRATE,
  245         NL80211_STA_INFO_RX_PACKETS,
  246         NL80211_STA_INFO_RX_BYTES,
  247         NL80211_STA_INFO_RX_DROP_MISC,
  248         NL80211_STA_INFO_TX_BITRATE,
  249         NL80211_STA_INFO_TX_PACKETS,
  250         NL80211_STA_INFO_TX_BYTES,
  251         NL80211_STA_INFO_TX_BYTES64,
  252         NL80211_STA_INFO_TX_FAILED,
  253         NL80211_STA_INFO_TX_RETRIES,
  254         NL80211_STA_INFO_RX_DURATION,
  255         NL80211_STA_INFO_TX_DURATION,
  256 };
  257 
  258 enum nl80211_ftm_stats {
  259         /* XXX TODO */
  260         NL80211_FTM_STATS_ASAP_NUM,
  261         NL80211_FTM_STATS_FAILED_NUM,
  262         NL80211_FTM_STATS_NON_ASAP_NUM,
  263         NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM,
  264         NL80211_FTM_STATS_PARTIAL_NUM,
  265         NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM,
  266         NL80211_FTM_STATS_SUCCESS_NUM,
  267         NL80211_FTM_STATS_TOTAL_DURATION_MSEC,
  268         NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM,
  269 };
  270 
  271 enum nl80211_reg_initiator {
  272         /* XXX TODO */
  273         NL80211_REGDOM_SET_BY_USER,
  274         NL80211_REGDOM_SET_BY_DRIVER,
  275         NL80211_REGDOM_SET_BY_CORE,
  276         NL80211_REGDOM_SET_BY_COUNTRY_IE,
  277 };
  278 
  279 struct nl80211_sta_flag_update {
  280         /* XXX TODO */
  281         int     mask, set;
  282 
  283 };
  284 
  285 enum nl80211_tx_power_setting {
  286         /* XXX TODO */
  287         NL80211_TX_POWER_AUTOMATIC,
  288         NL80211_TX_POWER_FIXED,
  289         NL80211_TX_POWER_LIMITED,
  290 };
  291 
  292 enum nl80211_crit_proto_id {
  293         /* XXX TODO */
  294         NL80211_CRIT_PROTO_DHCP,
  295 };
  296 
  297 enum nl80211_auth_type {
  298         NL80211_AUTHTYPE_AUTOMATIC,
  299         NL80211_AUTHTYPE_OPEN_SYSTEM,
  300         NL80211_AUTHTYPE_SHARED_KEY,
  301         NL80211_AUTHTYPE_SAE,
  302 };
  303 
  304 enum nl80211_key_type {
  305         NL80211_KEYTYPE_GROUP,
  306         NL80211_KEYTYPE_PAIRWISE,
  307 };
  308 
  309 enum nl80211_he_ru_alloc {
  310         NL80211_RATE_INFO_HE_RU_ALLOC_26,
  311         NL80211_RATE_INFO_HE_RU_ALLOC_52,
  312         NL80211_RATE_INFO_HE_RU_ALLOC_106,
  313         NL80211_RATE_INFO_HE_RU_ALLOC_242,
  314         NL80211_RATE_INFO_HE_RU_ALLOC_484,
  315         NL80211_RATE_INFO_HE_RU_ALLOC_996,
  316         NL80211_RATE_INFO_HE_RU_ALLOC_2x996,
  317 };
  318 
  319 enum nl80211_he_gi {
  320         NL80211_RATE_INFO_HE_GI_0_8,
  321         NL80211_RATE_INFO_HE_GI_1_6,
  322         NL80211_RATE_INFO_HE_GI_3_2,
  323 };
  324 
  325 enum nl80211_he_ltf {
  326         NL80211_RATE_INFO_HE_1XLTF,
  327         NL80211_RATE_INFO_HE_2XLTF,
  328         NL80211_RATE_INFO_HE_4XLTF,
  329 };
  330 
  331 enum nl80211_dfs_regions {
  332         NL80211_DFS_UNSET,
  333         NL80211_DFS_FCC,
  334         NL80211_DFS_ETSI,
  335         NL80211_DFS_JP,
  336 };
  337 
  338 enum nl80211_dfs_state {
  339         NL80211_DFS_USABLE,
  340 };
  341 
  342 enum nl80211_sar_type {
  343         NL80211_SAR_TYPE_POWER,
  344 };
  345 
  346 #define NL80211_VHT_NSS_MAX                     8
  347 #define NL80211_HE_NSS_MAX                      8
  348 
  349 enum nl80211_tid_cfg_attr {
  350         NL80211_TID_CONFIG_ATTR_NOACK,
  351         NL80211_TID_CONFIG_ATTR_RETRY_SHORT,
  352         NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE,
  353         NL80211_TID_CONFIG_ATTR_TX_RATE,
  354         NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL,
  355         NL80211_TID_CONFIG_ATTR_RETRY_LONG,
  356         NL80211_TID_CONFIG_ATTR_AMPDU_CTRL,
  357 };
  358 
  359 enum nl80211_tid_config {
  360         NL80211_TID_CONFIG_ENABLE,
  361 };
  362 
  363 enum nl80211_tx_rate_setting {
  364         NL80211_TX_RATE_AUTOMATIC,
  365         NL80211_TX_RATE_FIXED,
  366         NL80211_TX_RATE_LIMITED,
  367 };
  368 
  369 enum nl80211_txrate_gi {
  370         NL80211_TXRATE_DEFAULT_GI,
  371         NL80211_TXRATE_FORCE_SGI,
  372         NL80211_TXRATE_FORCE_LGI,
  373 };
  374 
  375 enum nl80211_probe_resp_offload_support {
  376         NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2,
  377         NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS,
  378         NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P,
  379 };
  380 
  381 enum nl80211_user_reg_hint_type {
  382         NL80211_USER_REG_HINT_USER,
  383 };
  384 
  385 #define NL80211_KCK_LEN                         16
  386 #define NL80211_KCK_EXT_LEN                     24
  387 #define NL80211_KEK_LEN                         16
  388 #define NL80211_KEK_EXT_LEN                     32
  389 #define NL80211_REPLAY_CTR_LEN                  8
  390 #endif  /* _LINUXKPI_LINUX_NL80211_H */

Cache object: 3bea346dbe7a50fd6b2acd7ee1a6a0bd


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.