Sync with mac80211-next.git include/uapi/linux/nl80211.h
This brings in nl80211 definitions as of 2016-10-27. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
2a0b86d319
commit
e76e950eac
1 changed files with 304 additions and 6 deletions
|
@ -48,6 +48,7 @@
|
||||||
#define NL80211_MULTICAST_GROUP_REG "regulatory"
|
#define NL80211_MULTICAST_GROUP_REG "regulatory"
|
||||||
#define NL80211_MULTICAST_GROUP_MLME "mlme"
|
#define NL80211_MULTICAST_GROUP_MLME "mlme"
|
||||||
#define NL80211_MULTICAST_GROUP_VENDOR "vendor"
|
#define NL80211_MULTICAST_GROUP_VENDOR "vendor"
|
||||||
|
#define NL80211_MULTICAST_GROUP_NAN "nan"
|
||||||
#define NL80211_MULTICAST_GROUP_TESTMODE "testmode"
|
#define NL80211_MULTICAST_GROUP_TESTMODE "testmode"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -838,6 +839,41 @@
|
||||||
* not running. The driver indicates the status of the scan through
|
* not running. The driver indicates the status of the scan through
|
||||||
* cfg80211_scan_done().
|
* cfg80211_scan_done().
|
||||||
*
|
*
|
||||||
|
* @NL80211_CMD_START_NAN: Start NAN operation, identified by its
|
||||||
|
* %NL80211_ATTR_WDEV interface. This interface must have been previously
|
||||||
|
* created with %NL80211_CMD_NEW_INTERFACE. After it has been started, the
|
||||||
|
* NAN interface will create or join a cluster. This command must have a
|
||||||
|
* valid %NL80211_ATTR_NAN_MASTER_PREF attribute and optional
|
||||||
|
* %NL80211_ATTR_NAN_DUAL attributes.
|
||||||
|
* After this command NAN functions can be added.
|
||||||
|
* @NL80211_CMD_STOP_NAN: Stop the NAN operation, identified by
|
||||||
|
* its %NL80211_ATTR_WDEV interface.
|
||||||
|
* @NL80211_CMD_ADD_NAN_FUNCTION: Add a NAN function. The function is defined
|
||||||
|
* with %NL80211_ATTR_NAN_FUNC nested attribute. When called, this
|
||||||
|
* operation returns the strictly positive and unique instance id
|
||||||
|
* (%NL80211_ATTR_NAN_FUNC_INST_ID) and a cookie (%NL80211_ATTR_COOKIE)
|
||||||
|
* of the function upon success.
|
||||||
|
* Since instance ID's can be re-used, this cookie is the right
|
||||||
|
* way to identify the function. This will avoid races when a termination
|
||||||
|
* event is handled by the user space after it has already added a new
|
||||||
|
* function that got the same instance id from the kernel as the one
|
||||||
|
* which just terminated.
|
||||||
|
* This cookie may be used in NAN events even before the command
|
||||||
|
* returns, so userspace shouldn't process NAN events until it processes
|
||||||
|
* the response to this command.
|
||||||
|
* Look at %NL80211_ATTR_SOCKET_OWNER as well.
|
||||||
|
* @NL80211_CMD_DEL_NAN_FUNCTION: Delete a NAN function by cookie.
|
||||||
|
* This command is also used as a notification sent when a NAN function is
|
||||||
|
* terminated. This will contain a %NL80211_ATTR_NAN_FUNC_INST_ID
|
||||||
|
* and %NL80211_ATTR_COOKIE attributes.
|
||||||
|
* @NL80211_CMD_CHANGE_NAN_CONFIG: Change current NAN configuration. NAN
|
||||||
|
* must be operational (%NL80211_CMD_START_NAN was executed).
|
||||||
|
* It must contain at least one of the following attributes:
|
||||||
|
* %NL80211_ATTR_NAN_MASTER_PREF, %NL80211_ATTR_NAN_DUAL.
|
||||||
|
* @NL80211_CMD_NAN_FUNC_MATCH: Notification sent when a match is reported.
|
||||||
|
* This will contain a %NL80211_ATTR_NAN_MATCH nested attribute and
|
||||||
|
* %NL80211_ATTR_COOKIE.
|
||||||
|
*
|
||||||
* @NL80211_CMD_MAX: highest used command number
|
* @NL80211_CMD_MAX: highest used command number
|
||||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||||
*/
|
*/
|
||||||
|
@ -1026,6 +1062,13 @@ enum nl80211_commands {
|
||||||
|
|
||||||
NL80211_CMD_ABORT_SCAN,
|
NL80211_CMD_ABORT_SCAN,
|
||||||
|
|
||||||
|
NL80211_CMD_START_NAN,
|
||||||
|
NL80211_CMD_STOP_NAN,
|
||||||
|
NL80211_CMD_ADD_NAN_FUNCTION,
|
||||||
|
NL80211_CMD_DEL_NAN_FUNCTION,
|
||||||
|
NL80211_CMD_CHANGE_NAN_CONFIG,
|
||||||
|
NL80211_CMD_NAN_MATCH,
|
||||||
|
|
||||||
/* add new commands above here */
|
/* add new commands above here */
|
||||||
|
|
||||||
/* used to define NL80211_CMD_MAX below */
|
/* used to define NL80211_CMD_MAX below */
|
||||||
|
@ -1343,7 +1386,13 @@ enum nl80211_commands {
|
||||||
* enum nl80211_band value is used as the index (nla_type() of the nested
|
* enum nl80211_band value is used as the index (nla_type() of the nested
|
||||||
* data. If a band is not included, it will be configured to allow all
|
* data. If a band is not included, it will be configured to allow all
|
||||||
* rates based on negotiated supported rates information. This attribute
|
* rates based on negotiated supported rates information. This attribute
|
||||||
* is used with %NL80211_CMD_SET_TX_BITRATE_MASK.
|
* is used with %NL80211_CMD_SET_TX_BITRATE_MASK and with starting AP,
|
||||||
|
* and joining mesh networks (not IBSS yet). In the later case, it must
|
||||||
|
* specify just a single bitrate, which is to be used for the beacon.
|
||||||
|
* The driver must also specify support for this with the extended
|
||||||
|
* features NL80211_EXT_FEATURE_BEACON_RATE_LEGACY,
|
||||||
|
* NL80211_EXT_FEATURE_BEACON_RATE_HT and
|
||||||
|
* NL80211_EXT_FEATURE_BEACON_RATE_VHT.
|
||||||
*
|
*
|
||||||
* @NL80211_ATTR_FRAME_MATCH: A binary attribute which typically must contain
|
* @NL80211_ATTR_FRAME_MATCH: A binary attribute which typically must contain
|
||||||
* at least one byte, currently used with @NL80211_CMD_REGISTER_FRAME.
|
* at least one byte, currently used with @NL80211_CMD_REGISTER_FRAME.
|
||||||
|
@ -1589,8 +1638,16 @@ enum nl80211_commands {
|
||||||
* the connection request from a station. nl80211_connect_failed_reason
|
* the connection request from a station. nl80211_connect_failed_reason
|
||||||
* enum has different reasons of connection failure.
|
* enum has different reasons of connection failure.
|
||||||
*
|
*
|
||||||
* @NL80211_ATTR_SAE_DATA: SAE elements in Authentication frames. This starts
|
* @NL80211_ATTR_AUTH_DATA: Fields and elements in Authentication frames.
|
||||||
* with the Authentication transaction sequence number field.
|
* This contains the authentication frame body (non-IE and IE data),
|
||||||
|
* excluding the Authentication algorithm number, i.e., starting at the
|
||||||
|
* Authentication transaction sequence number field. It is used with
|
||||||
|
* authentication algorithms that need special fields to be added into
|
||||||
|
* the frames (SAE and FILS). Currently, only the SAE cases use the
|
||||||
|
* initial two fields (Authentication transaction sequence number and
|
||||||
|
* Status code). However, those fields are included in the attribute data
|
||||||
|
* for all authentication algorithms to keep the attribute definition
|
||||||
|
* consistent.
|
||||||
*
|
*
|
||||||
* @NL80211_ATTR_VHT_CAPABILITY: VHT Capability information element (from
|
* @NL80211_ATTR_VHT_CAPABILITY: VHT Capability information element (from
|
||||||
* association request when used with NL80211_CMD_NEW_STATION)
|
* association request when used with NL80211_CMD_NEW_STATION)
|
||||||
|
@ -1733,6 +1790,12 @@ enum nl80211_commands {
|
||||||
* regulatory indoor configuration would be owned by the netlink socket
|
* regulatory indoor configuration would be owned by the netlink socket
|
||||||
* that configured the indoor setting, and the indoor operation would be
|
* that configured the indoor setting, and the indoor operation would be
|
||||||
* cleared when the socket is closed.
|
* cleared when the socket is closed.
|
||||||
|
* If set during NAN interface creation, the interface will be destroyed
|
||||||
|
* if the socket is closed just like any other interface. Moreover, only
|
||||||
|
* the netlink socket that created the interface will be allowed to add
|
||||||
|
* and remove functions. NAN notifications will be sent in unicast to that
|
||||||
|
* socket. Without this attribute, any socket can add functions and the
|
||||||
|
* notifications will be sent to the %NL80211_MCGRP_NAN multicast group.
|
||||||
*
|
*
|
||||||
* @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
|
* @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
|
||||||
* the TDLS link initiator.
|
* the TDLS link initiator.
|
||||||
|
@ -1867,6 +1930,26 @@ enum nl80211_commands {
|
||||||
* @NL80211_ATTR_MESH_PEER_AID: Association ID for the mesh peer (u16). This is
|
* @NL80211_ATTR_MESH_PEER_AID: Association ID for the mesh peer (u16). This is
|
||||||
* used to pull the stored data for mesh peer in power save state.
|
* used to pull the stored data for mesh peer in power save state.
|
||||||
*
|
*
|
||||||
|
* @NL80211_ATTR_NAN_MASTER_PREF: the master preference to be used by
|
||||||
|
* %NL80211_CMD_START_NAN and optionally with
|
||||||
|
* %NL80211_CMD_CHANGE_NAN_CONFIG. Its type is u8 and it can't be 0.
|
||||||
|
* Also, values 1 and 255 are reserved for certification purposes and
|
||||||
|
* should not be used during a normal device operation.
|
||||||
|
* @NL80211_ATTR_NAN_DUAL: NAN dual band operation config (see
|
||||||
|
* &enum nl80211_nan_dual_band_conf). This attribute is used with
|
||||||
|
* %NL80211_CMD_START_NAN and optionally with
|
||||||
|
* %NL80211_CMD_CHANGE_NAN_CONFIG.
|
||||||
|
* @NL80211_ATTR_NAN_FUNC: a function that can be added to NAN. See
|
||||||
|
* &enum nl80211_nan_func_attributes for description of this nested
|
||||||
|
* attribute.
|
||||||
|
* @NL80211_ATTR_NAN_MATCH: used to report a match. This is a nested attribute.
|
||||||
|
* See &enum nl80211_nan_match_attributes.
|
||||||
|
* @NL80211_ATTR_FILS_KEK: KEK for FILS (Re)Association Request/Response frame
|
||||||
|
* protection.
|
||||||
|
* @NL80211_ATTR_FILS_NONCES: Nonces (part of AAD) for FILS (Re)Association
|
||||||
|
* Request/Response frame protection. This attribute contains the 16 octet
|
||||||
|
* STA Nonce followed by 16 octets of AP Nonce.
|
||||||
|
*
|
||||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||||
|
@ -2125,7 +2208,7 @@ enum nl80211_attrs {
|
||||||
|
|
||||||
NL80211_ATTR_CONN_FAILED_REASON,
|
NL80211_ATTR_CONN_FAILED_REASON,
|
||||||
|
|
||||||
NL80211_ATTR_SAE_DATA,
|
NL80211_ATTR_AUTH_DATA,
|
||||||
|
|
||||||
NL80211_ATTR_VHT_CAPABILITY,
|
NL80211_ATTR_VHT_CAPABILITY,
|
||||||
|
|
||||||
|
@ -2261,6 +2344,14 @@ enum nl80211_attrs {
|
||||||
|
|
||||||
NL80211_ATTR_MESH_PEER_AID,
|
NL80211_ATTR_MESH_PEER_AID,
|
||||||
|
|
||||||
|
NL80211_ATTR_NAN_MASTER_PREF,
|
||||||
|
NL80211_ATTR_NAN_DUAL,
|
||||||
|
NL80211_ATTR_NAN_FUNC,
|
||||||
|
NL80211_ATTR_NAN_MATCH,
|
||||||
|
|
||||||
|
NL80211_ATTR_FILS_KEK,
|
||||||
|
NL80211_ATTR_FILS_NONCES,
|
||||||
|
|
||||||
/* add attributes here, update the policy in nl80211.c */
|
/* add attributes here, update the policy in nl80211.c */
|
||||||
|
|
||||||
__NL80211_ATTR_AFTER_LAST,
|
__NL80211_ATTR_AFTER_LAST,
|
||||||
|
@ -2272,6 +2363,7 @@ enum nl80211_attrs {
|
||||||
#define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
|
#define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
|
||||||
#define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG
|
#define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG
|
||||||
#define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER
|
#define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER
|
||||||
|
#define NL80211_ATTR_SAE_DATA NL80211_ATTR_AUTH_DATA
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Allow user space programs to use #ifdef on new attributes by defining them
|
* Allow user space programs to use #ifdef on new attributes by defining them
|
||||||
|
@ -2339,6 +2431,7 @@ enum nl80211_attrs {
|
||||||
* commands to create and destroy one
|
* commands to create and destroy one
|
||||||
* @NL80211_IF_TYPE_OCB: Outside Context of a BSS
|
* @NL80211_IF_TYPE_OCB: Outside Context of a BSS
|
||||||
* This mode corresponds to the MIB variable dot11OCBActivated=true
|
* This mode corresponds to the MIB variable dot11OCBActivated=true
|
||||||
|
* @NL80211_IFTYPE_NAN: NAN device interface type (not a netdev)
|
||||||
* @NL80211_IFTYPE_MAX: highest interface type number currently defined
|
* @NL80211_IFTYPE_MAX: highest interface type number currently defined
|
||||||
* @NUM_NL80211_IFTYPES: number of defined interface types
|
* @NUM_NL80211_IFTYPES: number of defined interface types
|
||||||
*
|
*
|
||||||
|
@ -2359,6 +2452,7 @@ enum nl80211_iftype {
|
||||||
NL80211_IFTYPE_P2P_GO,
|
NL80211_IFTYPE_P2P_GO,
|
||||||
NL80211_IFTYPE_P2P_DEVICE,
|
NL80211_IFTYPE_P2P_DEVICE,
|
||||||
NL80211_IFTYPE_OCB,
|
NL80211_IFTYPE_OCB,
|
||||||
|
NL80211_IFTYPE_NAN,
|
||||||
|
|
||||||
/* keep last */
|
/* keep last */
|
||||||
NUM_NL80211_IFTYPES,
|
NUM_NL80211_IFTYPES,
|
||||||
|
@ -3583,6 +3677,9 @@ enum nl80211_bss_status {
|
||||||
* @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r)
|
* @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r)
|
||||||
* @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP)
|
* @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP)
|
||||||
* @NL80211_AUTHTYPE_SAE: Simultaneous authentication of equals
|
* @NL80211_AUTHTYPE_SAE: Simultaneous authentication of equals
|
||||||
|
* @NL80211_AUTHTYPE_FILS_SK: Fast Initial Link Setup shared key
|
||||||
|
* @NL80211_AUTHTYPE_FILS_SK_PFS: Fast Initial Link Setup shared key with PFS
|
||||||
|
* @NL80211_AUTHTYPE_FILS_PK: Fast Initial Link Setup public key
|
||||||
* @__NL80211_AUTHTYPE_NUM: internal
|
* @__NL80211_AUTHTYPE_NUM: internal
|
||||||
* @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm
|
* @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm
|
||||||
* @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by
|
* @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by
|
||||||
|
@ -3595,6 +3692,9 @@ enum nl80211_auth_type {
|
||||||
NL80211_AUTHTYPE_FT,
|
NL80211_AUTHTYPE_FT,
|
||||||
NL80211_AUTHTYPE_NETWORK_EAP,
|
NL80211_AUTHTYPE_NETWORK_EAP,
|
||||||
NL80211_AUTHTYPE_SAE,
|
NL80211_AUTHTYPE_SAE,
|
||||||
|
NL80211_AUTHTYPE_FILS_SK,
|
||||||
|
NL80211_AUTHTYPE_FILS_SK_PFS,
|
||||||
|
NL80211_AUTHTYPE_FILS_PK,
|
||||||
|
|
||||||
/* keep last */
|
/* keep last */
|
||||||
__NL80211_AUTHTYPE_NUM,
|
__NL80211_AUTHTYPE_NUM,
|
||||||
|
@ -4203,6 +4303,9 @@ enum nl80211_iface_limit_attrs {
|
||||||
* of supported channel widths for radar detection.
|
* of supported channel widths for radar detection.
|
||||||
* @NL80211_IFACE_COMB_RADAR_DETECT_REGIONS: u32 attribute containing the bitmap
|
* @NL80211_IFACE_COMB_RADAR_DETECT_REGIONS: u32 attribute containing the bitmap
|
||||||
* of supported regulatory regions for radar detection.
|
* of supported regulatory regions for radar detection.
|
||||||
|
* @NL80211_IFACE_COMB_BI_MIN_GCD: u32 attribute specifying the minimum GCD of
|
||||||
|
* different beacon intervals supported by all the interface combinations
|
||||||
|
* in this group (if not present, all beacon intervals be identical).
|
||||||
* @NUM_NL80211_IFACE_COMB: number of attributes
|
* @NUM_NL80211_IFACE_COMB: number of attributes
|
||||||
* @MAX_NL80211_IFACE_COMB: highest attribute number
|
* @MAX_NL80211_IFACE_COMB: highest attribute number
|
||||||
*
|
*
|
||||||
|
@ -4210,8 +4313,8 @@ enum nl80211_iface_limit_attrs {
|
||||||
* limits = [ #{STA} <= 1, #{AP} <= 1 ], matching BI, channels = 1, max = 2
|
* limits = [ #{STA} <= 1, #{AP} <= 1 ], matching BI, channels = 1, max = 2
|
||||||
* => allows an AP and a STA that must match BIs
|
* => allows an AP and a STA that must match BIs
|
||||||
*
|
*
|
||||||
* numbers = [ #{AP, P2P-GO} <= 8 ], channels = 1, max = 8
|
* numbers = [ #{AP, P2P-GO} <= 8 ], BI min gcd, channels = 1, max = 8,
|
||||||
* => allows 8 of AP/GO
|
* => allows 8 of AP/GO that can have BI gcd >= min gcd
|
||||||
*
|
*
|
||||||
* numbers = [ #{STA} <= 2 ], channels = 2, max = 2
|
* numbers = [ #{STA} <= 2 ], channels = 2, max = 2
|
||||||
* => allows two STAs on different channels
|
* => allows two STAs on different channels
|
||||||
|
@ -4237,6 +4340,7 @@ enum nl80211_if_combination_attrs {
|
||||||
NL80211_IFACE_COMB_NUM_CHANNELS,
|
NL80211_IFACE_COMB_NUM_CHANNELS,
|
||||||
NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS,
|
NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS,
|
||||||
NL80211_IFACE_COMB_RADAR_DETECT_REGIONS,
|
NL80211_IFACE_COMB_RADAR_DETECT_REGIONS,
|
||||||
|
NL80211_IFACE_COMB_BI_MIN_GCD,
|
||||||
|
|
||||||
/* keep last */
|
/* keep last */
|
||||||
NUM_NL80211_IFACE_COMB,
|
NUM_NL80211_IFACE_COMB,
|
||||||
|
@ -4551,6 +4655,14 @@ enum nl80211_feature_flags {
|
||||||
* (if available).
|
* (if available).
|
||||||
* @NL80211_EXT_FEATURE_SET_SCAN_DWELL: This driver supports configuration of
|
* @NL80211_EXT_FEATURE_SET_SCAN_DWELL: This driver supports configuration of
|
||||||
* channel dwell time.
|
* channel dwell time.
|
||||||
|
* @NL80211_EXT_FEATURE_BEACON_RATE_LEGACY: Driver supports beacon rate
|
||||||
|
* configuration (AP/mesh), supporting a legacy (non HT/VHT) rate.
|
||||||
|
* @NL80211_EXT_FEATURE_BEACON_RATE_HT: Driver supports beacon rate
|
||||||
|
* configuration (AP/mesh) with HT rates.
|
||||||
|
* @NL80211_EXT_FEATURE_BEACON_RATE_VHT: Driver supports beacon rate
|
||||||
|
* configuration (AP/mesh) with VHT rates.
|
||||||
|
* @NL80211_EXT_FEATURE_FILS_STA: This driver supports Fast Initial Link Setup
|
||||||
|
* with user space SME (NL80211_CMD_AUTHENTICATE) in station mode.
|
||||||
*
|
*
|
||||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||||
|
@ -4562,6 +4674,10 @@ enum nl80211_ext_feature_index {
|
||||||
NL80211_EXT_FEATURE_SCAN_START_TIME,
|
NL80211_EXT_FEATURE_SCAN_START_TIME,
|
||||||
NL80211_EXT_FEATURE_BSS_PARENT_TSF,
|
NL80211_EXT_FEATURE_BSS_PARENT_TSF,
|
||||||
NL80211_EXT_FEATURE_SET_SCAN_DWELL,
|
NL80211_EXT_FEATURE_SET_SCAN_DWELL,
|
||||||
|
NL80211_EXT_FEATURE_BEACON_RATE_LEGACY,
|
||||||
|
NL80211_EXT_FEATURE_BEACON_RATE_HT,
|
||||||
|
NL80211_EXT_FEATURE_BEACON_RATE_VHT,
|
||||||
|
NL80211_EXT_FEATURE_FILS_STA,
|
||||||
|
|
||||||
/* add new features before the definition below */
|
/* add new features before the definition below */
|
||||||
NUM_NL80211_EXT_FEATURES,
|
NUM_NL80211_EXT_FEATURES,
|
||||||
|
@ -4855,4 +4971,186 @@ enum nl80211_bss_select_attr {
|
||||||
NL80211_BSS_SELECT_ATTR_MAX = __NL80211_BSS_SELECT_ATTR_AFTER_LAST - 1
|
NL80211_BSS_SELECT_ATTR_MAX = __NL80211_BSS_SELECT_ATTR_AFTER_LAST - 1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_nan_dual_band_conf - NAN dual band configuration
|
||||||
|
*
|
||||||
|
* Defines the NAN dual band mode of operation
|
||||||
|
*
|
||||||
|
* @NL80211_NAN_BAND_DEFAULT: device default mode
|
||||||
|
* @NL80211_NAN_BAND_2GHZ: 2.4GHz mode
|
||||||
|
* @NL80211_NAN_BAND_5GHZ: 5GHz mode
|
||||||
|
*/
|
||||||
|
enum nl80211_nan_dual_band_conf {
|
||||||
|
NL80211_NAN_BAND_DEFAULT = 1 << 0,
|
||||||
|
NL80211_NAN_BAND_2GHZ = 1 << 1,
|
||||||
|
NL80211_NAN_BAND_5GHZ = 1 << 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_nan_function_type - NAN function type
|
||||||
|
*
|
||||||
|
* Defines the function type of a NAN function
|
||||||
|
*
|
||||||
|
* @NL80211_NAN_FUNC_PUBLISH: function is publish
|
||||||
|
* @NL80211_NAN_FUNC_SUBSCRIBE: function is subscribe
|
||||||
|
* @NL80211_NAN_FUNC_FOLLOW_UP: function is follow-up
|
||||||
|
*/
|
||||||
|
enum nl80211_nan_function_type {
|
||||||
|
NL80211_NAN_FUNC_PUBLISH,
|
||||||
|
NL80211_NAN_FUNC_SUBSCRIBE,
|
||||||
|
NL80211_NAN_FUNC_FOLLOW_UP,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
__NL80211_NAN_FUNC_TYPE_AFTER_LAST,
|
||||||
|
NL80211_NAN_FUNC_MAX_TYPE = __NL80211_NAN_FUNC_TYPE_AFTER_LAST - 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_nan_publish_type - NAN publish tx type
|
||||||
|
*
|
||||||
|
* Defines how to send publish Service Discovery Frames
|
||||||
|
*
|
||||||
|
* @NL80211_NAN_SOLICITED_PUBLISH: publish function is solicited
|
||||||
|
* @NL80211_NAN_UNSOLICITED_PUBLISH: publish function is unsolicited
|
||||||
|
*/
|
||||||
|
enum nl80211_nan_publish_type {
|
||||||
|
NL80211_NAN_SOLICITED_PUBLISH = 1 << 0,
|
||||||
|
NL80211_NAN_UNSOLICITED_PUBLISH = 1 << 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_nan_func_term_reason - NAN functions termination reason
|
||||||
|
*
|
||||||
|
* Defines termination reasons of a NAN function
|
||||||
|
*
|
||||||
|
* @NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST: requested by user
|
||||||
|
* @NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED: timeout
|
||||||
|
* @NL80211_NAN_FUNC_TERM_REASON_ERROR: errored
|
||||||
|
*/
|
||||||
|
enum nl80211_nan_func_term_reason {
|
||||||
|
NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST,
|
||||||
|
NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED,
|
||||||
|
NL80211_NAN_FUNC_TERM_REASON_ERROR,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define NL80211_NAN_FUNC_SERVICE_ID_LEN 6
|
||||||
|
#define NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN 0xff
|
||||||
|
#define NL80211_NAN_FUNC_SRF_MAX_LEN 0xff
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_nan_func_attributes - NAN function attributes
|
||||||
|
* @__NL80211_NAN_FUNC_INVALID: invalid
|
||||||
|
* @NL80211_NAN_FUNC_TYPE: &enum nl80211_nan_function_type (u8).
|
||||||
|
* @NL80211_NAN_FUNC_SERVICE_ID: 6 bytes of the service ID hash as
|
||||||
|
* specified in NAN spec. This is a binary attribute.
|
||||||
|
* @NL80211_NAN_FUNC_PUBLISH_TYPE: relevant if the function's type is
|
||||||
|
* publish. Defines the transmission type for the publish Service Discovery
|
||||||
|
* Frame, see &enum nl80211_nan_publish_type. Its type is u8.
|
||||||
|
* @NL80211_NAN_FUNC_PUBLISH_BCAST: relevant if the function is a solicited
|
||||||
|
* publish. Should the solicited publish Service Discovery Frame be sent to
|
||||||
|
* the NAN Broadcast address. This is a flag.
|
||||||
|
* @NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE: relevant if the function's type is
|
||||||
|
* subscribe. Is the subscribe active. This is a flag.
|
||||||
|
* @NL80211_NAN_FUNC_FOLLOW_UP_ID: relevant if the function's type is follow up.
|
||||||
|
* The instance ID for the follow up Service Discovery Frame. This is u8.
|
||||||
|
* @NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID: relevant if the function's type
|
||||||
|
* is follow up. This is a u8.
|
||||||
|
* The requestor instance ID for the follow up Service Discovery Frame.
|
||||||
|
* @NL80211_NAN_FUNC_FOLLOW_UP_DEST: the MAC address of the recipient of the
|
||||||
|
* follow up Service Discovery Frame. This is a binary attribute.
|
||||||
|
* @NL80211_NAN_FUNC_CLOSE_RANGE: is this function limited for devices in a
|
||||||
|
* close range. The range itself (RSSI) is defined by the device.
|
||||||
|
* This is a flag.
|
||||||
|
* @NL80211_NAN_FUNC_TTL: strictly positive number of DWs this function should
|
||||||
|
* stay active. If not present infinite TTL is assumed. This is a u32.
|
||||||
|
* @NL80211_NAN_FUNC_SERVICE_INFO: array of bytes describing the service
|
||||||
|
* specific info. This is a binary attribute.
|
||||||
|
* @NL80211_NAN_FUNC_SRF: Service Receive Filter. This is a nested attribute.
|
||||||
|
* See &enum nl80211_nan_srf_attributes.
|
||||||
|
* @NL80211_NAN_FUNC_RX_MATCH_FILTER: Receive Matching filter. This is a nested
|
||||||
|
* attribute. It is a list of binary values.
|
||||||
|
* @NL80211_NAN_FUNC_TX_MATCH_FILTER: Transmit Matching filter. This is a
|
||||||
|
* nested attribute. It is a list of binary values.
|
||||||
|
* @NL80211_NAN_FUNC_INSTANCE_ID: The instance ID of the function.
|
||||||
|
* Its type is u8 and it cannot be 0.
|
||||||
|
* @NL80211_NAN_FUNC_TERM_REASON: NAN function termination reason.
|
||||||
|
* See &enum nl80211_nan_func_term_reason.
|
||||||
|
*
|
||||||
|
* @NUM_NL80211_NAN_FUNC_ATTR: internal
|
||||||
|
* @NL80211_NAN_FUNC_ATTR_MAX: highest NAN function attribute
|
||||||
|
*/
|
||||||
|
enum nl80211_nan_func_attributes {
|
||||||
|
__NL80211_NAN_FUNC_INVALID,
|
||||||
|
NL80211_NAN_FUNC_TYPE,
|
||||||
|
NL80211_NAN_FUNC_SERVICE_ID,
|
||||||
|
NL80211_NAN_FUNC_PUBLISH_TYPE,
|
||||||
|
NL80211_NAN_FUNC_PUBLISH_BCAST,
|
||||||
|
NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE,
|
||||||
|
NL80211_NAN_FUNC_FOLLOW_UP_ID,
|
||||||
|
NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID,
|
||||||
|
NL80211_NAN_FUNC_FOLLOW_UP_DEST,
|
||||||
|
NL80211_NAN_FUNC_CLOSE_RANGE,
|
||||||
|
NL80211_NAN_FUNC_TTL,
|
||||||
|
NL80211_NAN_FUNC_SERVICE_INFO,
|
||||||
|
NL80211_NAN_FUNC_SRF,
|
||||||
|
NL80211_NAN_FUNC_RX_MATCH_FILTER,
|
||||||
|
NL80211_NAN_FUNC_TX_MATCH_FILTER,
|
||||||
|
NL80211_NAN_FUNC_INSTANCE_ID,
|
||||||
|
NL80211_NAN_FUNC_TERM_REASON,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
NUM_NL80211_NAN_FUNC_ATTR,
|
||||||
|
NL80211_NAN_FUNC_ATTR_MAX = NUM_NL80211_NAN_FUNC_ATTR - 1
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_nan_srf_attributes - NAN Service Response filter attributes
|
||||||
|
* @__NL80211_NAN_SRF_INVALID: invalid
|
||||||
|
* @NL80211_NAN_SRF_INCLUDE: present if the include bit of the SRF set.
|
||||||
|
* This is a flag.
|
||||||
|
* @NL80211_NAN_SRF_BF: Bloom Filter. Present if and only if
|
||||||
|
* &NL80211_NAN_SRF_MAC_ADDRS isn't present. This attribute is binary.
|
||||||
|
* @NL80211_NAN_SRF_BF_IDX: index of the Bloom Filter. Mandatory if
|
||||||
|
* &NL80211_NAN_SRF_BF is present. This is a u8.
|
||||||
|
* @NL80211_NAN_SRF_MAC_ADDRS: list of MAC addresses for the SRF. Present if
|
||||||
|
* and only if &NL80211_NAN_SRF_BF isn't present. This is a nested
|
||||||
|
* attribute. Each nested attribute is a MAC address.
|
||||||
|
* @NUM_NL80211_NAN_SRF_ATTR: internal
|
||||||
|
* @NL80211_NAN_SRF_ATTR_MAX: highest NAN SRF attribute
|
||||||
|
*/
|
||||||
|
enum nl80211_nan_srf_attributes {
|
||||||
|
__NL80211_NAN_SRF_INVALID,
|
||||||
|
NL80211_NAN_SRF_INCLUDE,
|
||||||
|
NL80211_NAN_SRF_BF,
|
||||||
|
NL80211_NAN_SRF_BF_IDX,
|
||||||
|
NL80211_NAN_SRF_MAC_ADDRS,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
NUM_NL80211_NAN_SRF_ATTR,
|
||||||
|
NL80211_NAN_SRF_ATTR_MAX = NUM_NL80211_NAN_SRF_ATTR - 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_nan_match_attributes - NAN match attributes
|
||||||
|
* @__NL80211_NAN_MATCH_INVALID: invalid
|
||||||
|
* @NL80211_NAN_MATCH_FUNC_LOCAL: the local function that had the
|
||||||
|
* match. This is a nested attribute.
|
||||||
|
* See &enum nl80211_nan_func_attributes.
|
||||||
|
* @NL80211_NAN_MATCH_FUNC_PEER: the peer function
|
||||||
|
* that caused the match. This is a nested attribute.
|
||||||
|
* See &enum nl80211_nan_func_attributes.
|
||||||
|
*
|
||||||
|
* @NUM_NL80211_NAN_MATCH_ATTR: internal
|
||||||
|
* @NL80211_NAN_MATCH_ATTR_MAX: highest NAN match attribute
|
||||||
|
*/
|
||||||
|
enum nl80211_nan_match_attributes {
|
||||||
|
__NL80211_NAN_MATCH_INVALID,
|
||||||
|
NL80211_NAN_MATCH_FUNC_LOCAL,
|
||||||
|
NL80211_NAN_MATCH_FUNC_PEER,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
NUM_NL80211_NAN_MATCH_ATTR,
|
||||||
|
NL80211_NAN_MATCH_ATTR_MAX = NUM_NL80211_NAN_MATCH_ATTR - 1
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* __LINUX_NL80211_H */
|
#endif /* __LINUX_NL80211_H */
|
||||||
|
|
Loading…
Reference in a new issue