Synchronize with wireless-testing.git include/uapi/linux/nl80211.h
Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
87470ea298
commit
542e7c406d
1 changed files with 234 additions and 5 deletions
|
@ -603,6 +603,14 @@
|
||||||
* command is used in AP/P2P GO mode. Driver has to make sure to clear its
|
* command is used in AP/P2P GO mode. Driver has to make sure to clear its
|
||||||
* ACL list during %NL80211_CMD_STOP_AP.
|
* ACL list during %NL80211_CMD_STOP_AP.
|
||||||
*
|
*
|
||||||
|
* @NL80211_CMD_RADAR_DETECT: Start a Channel availability check (CAC). Once
|
||||||
|
* a radar is detected or the channel availability scan (CAC) has finished
|
||||||
|
* or was aborted, or a radar was detected, usermode will be notified with
|
||||||
|
* this event. This command is also used to notify userspace about radars
|
||||||
|
* while operating on this channel.
|
||||||
|
* %NL80211_ATTR_RADAR_EVENT is used to inform about the type of the
|
||||||
|
* event.
|
||||||
|
*
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
|
@ -755,6 +763,8 @@ enum nl80211_commands {
|
||||||
|
|
||||||
NL80211_CMD_SET_MAC_ACL,
|
NL80211_CMD_SET_MAC_ACL,
|
||||||
|
|
||||||
|
NL80211_CMD_RADAR_DETECT,
|
||||||
|
|
||||||
/* add new commands above here */
|
/* add new commands above here */
|
||||||
|
|
||||||
/* used to define NL80211_CMD_MAX below */
|
/* used to define NL80211_CMD_MAX below */
|
||||||
|
@ -1342,6 +1352,22 @@ enum nl80211_commands {
|
||||||
* number of MAC addresses that a device can support for MAC
|
* number of MAC addresses that a device can support for MAC
|
||||||
* ACL.
|
* ACL.
|
||||||
*
|
*
|
||||||
|
* @NL80211_ATTR_RADAR_EVENT: Type of radar event for notification to userspace,
|
||||||
|
* contains a value of enum nl80211_radar_event (u32).
|
||||||
|
*
|
||||||
|
* @NL80211_ATTR_EXT_CAPA: 802.11 extended capabilities that the kernel driver
|
||||||
|
* has and handles. The format is the same as the IE contents. See
|
||||||
|
* 802.11-2012 8.4.2.29 for more information.
|
||||||
|
* @NL80211_ATTR_EXT_CAPA_MASK: Extended capabilities that the kernel driver
|
||||||
|
* has set in the %NL80211_ATTR_EXT_CAPA value, for multibit fields.
|
||||||
|
*
|
||||||
|
* @NL80211_ATTR_STA_CAPABILITY: Station capabilities (u16) are advertised to
|
||||||
|
* the driver, e.g., to enable TDLS power save (PU-APSD).
|
||||||
|
*
|
||||||
|
* @NL80211_ATTR_STA_EXT_CAPABILITY: Station extended capabilities are
|
||||||
|
* advertised to the driver, e.g., to enable TDLS off channel operations
|
||||||
|
* and PU-APSD.
|
||||||
|
*
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
|
@ -1620,6 +1646,14 @@ enum nl80211_attrs {
|
||||||
|
|
||||||
NL80211_ATTR_MAC_ACL_MAX,
|
NL80211_ATTR_MAC_ACL_MAX,
|
||||||
|
|
||||||
|
NL80211_ATTR_RADAR_EVENT,
|
||||||
|
|
||||||
|
NL80211_ATTR_EXT_CAPA,
|
||||||
|
NL80211_ATTR_EXT_CAPA_MASK,
|
||||||
|
|
||||||
|
NL80211_ATTR_STA_CAPABILITY,
|
||||||
|
NL80211_ATTR_STA_EXT_CAPABILITY,
|
||||||
|
|
||||||
/* 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,
|
||||||
|
@ -2022,6 +2056,20 @@ enum nl80211_band_attr {
|
||||||
* on this channel in current regulatory domain.
|
* on this channel in current regulatory domain.
|
||||||
* @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm
|
* @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm
|
||||||
* (100 * dBm).
|
* (100 * dBm).
|
||||||
|
* @NL80211_FREQUENCY_ATTR_DFS_STATE: current state for DFS
|
||||||
|
* (enum nl80211_dfs_state)
|
||||||
|
* @NL80211_FREQUENCY_ATTR_DFS_TIME: time in miliseconds for how long
|
||||||
|
* this channel is in this DFS state.
|
||||||
|
* @NL80211_FREQUENCY_ATTR_NO_HT40_MINUS: HT40- isn't possible with this
|
||||||
|
* channel as the control channel
|
||||||
|
* @NL80211_FREQUENCY_ATTR_NO_HT40_PLUS: HT40+ isn't possible with this
|
||||||
|
* channel as the control channel
|
||||||
|
* @NL80211_FREQUENCY_ATTR_NO_80MHZ: any 80 MHz channel using this channel
|
||||||
|
* as the primary or any of the secondary channels isn't possible,
|
||||||
|
* this includes 80+80 channels
|
||||||
|
* @NL80211_FREQUENCY_ATTR_NO_160MHZ: any 160 MHz (but not 80+80) channel
|
||||||
|
* using this channel as the primary or any of the secondary channels
|
||||||
|
* isn't possible
|
||||||
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
||||||
* currently defined
|
* currently defined
|
||||||
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
||||||
|
@ -2034,6 +2082,12 @@ enum nl80211_frequency_attr {
|
||||||
NL80211_FREQUENCY_ATTR_NO_IBSS,
|
NL80211_FREQUENCY_ATTR_NO_IBSS,
|
||||||
NL80211_FREQUENCY_ATTR_RADAR,
|
NL80211_FREQUENCY_ATTR_RADAR,
|
||||||
NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
|
NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
|
||||||
|
NL80211_FREQUENCY_ATTR_DFS_STATE,
|
||||||
|
NL80211_FREQUENCY_ATTR_DFS_TIME,
|
||||||
|
NL80211_FREQUENCY_ATTR_NO_HT40_MINUS,
|
||||||
|
NL80211_FREQUENCY_ATTR_NO_HT40_PLUS,
|
||||||
|
NL80211_FREQUENCY_ATTR_NO_80MHZ,
|
||||||
|
NL80211_FREQUENCY_ATTR_NO_160MHZ,
|
||||||
|
|
||||||
/* keep last */
|
/* keep last */
|
||||||
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
||||||
|
@ -2906,10 +2960,12 @@ enum nl80211_tx_power_setting {
|
||||||
* corresponds to the lowest-order bit in the second byte of the mask.
|
* corresponds to the lowest-order bit in the second byte of the mask.
|
||||||
* For example: The match 00:xx:00:00:xx:00:00:00:00:xx:xx:xx (where
|
* For example: The match 00:xx:00:00:xx:00:00:00:00:xx:xx:xx (where
|
||||||
* xx indicates "don't care") would be represented by a pattern of
|
* xx indicates "don't care") would be represented by a pattern of
|
||||||
* twelve zero bytes, and a mask of "0xed,0x07".
|
* twelve zero bytes, and a mask of "0xed,0x01".
|
||||||
* Note that the pattern matching is done as though frames were not
|
* Note that the pattern matching is done as though frames were not
|
||||||
* 802.11 frames but 802.3 frames, i.e. the frame is fully unpacked
|
* 802.11 frames but 802.3 frames, i.e. the frame is fully unpacked
|
||||||
* first (including SNAP header unpacking) and then matched.
|
* first (including SNAP header unpacking) and then matched.
|
||||||
|
* @NL80211_WOWLAN_PKTPAT_OFFSET: packet offset, pattern is matched after
|
||||||
|
* these fixed number of bytes of received packet
|
||||||
* @NUM_NL80211_WOWLAN_PKTPAT: number of attributes
|
* @NUM_NL80211_WOWLAN_PKTPAT: number of attributes
|
||||||
* @MAX_NL80211_WOWLAN_PKTPAT: max attribute number
|
* @MAX_NL80211_WOWLAN_PKTPAT: max attribute number
|
||||||
*/
|
*/
|
||||||
|
@ -2917,6 +2973,7 @@ enum nl80211_wowlan_packet_pattern_attr {
|
||||||
__NL80211_WOWLAN_PKTPAT_INVALID,
|
__NL80211_WOWLAN_PKTPAT_INVALID,
|
||||||
NL80211_WOWLAN_PKTPAT_MASK,
|
NL80211_WOWLAN_PKTPAT_MASK,
|
||||||
NL80211_WOWLAN_PKTPAT_PATTERN,
|
NL80211_WOWLAN_PKTPAT_PATTERN,
|
||||||
|
NL80211_WOWLAN_PKTPAT_OFFSET,
|
||||||
|
|
||||||
NUM_NL80211_WOWLAN_PKTPAT,
|
NUM_NL80211_WOWLAN_PKTPAT,
|
||||||
MAX_NL80211_WOWLAN_PKTPAT = NUM_NL80211_WOWLAN_PKTPAT - 1,
|
MAX_NL80211_WOWLAN_PKTPAT = NUM_NL80211_WOWLAN_PKTPAT - 1,
|
||||||
|
@ -2927,6 +2984,7 @@ enum nl80211_wowlan_packet_pattern_attr {
|
||||||
* @max_patterns: maximum number of patterns supported
|
* @max_patterns: maximum number of patterns supported
|
||||||
* @min_pattern_len: minimum length of each pattern
|
* @min_pattern_len: minimum length of each pattern
|
||||||
* @max_pattern_len: maximum length of each pattern
|
* @max_pattern_len: maximum length of each pattern
|
||||||
|
* @max_pkt_offset: maximum Rx packet offset
|
||||||
*
|
*
|
||||||
* This struct is carried in %NL80211_WOWLAN_TRIG_PKT_PATTERN when
|
* This struct is carried in %NL80211_WOWLAN_TRIG_PKT_PATTERN when
|
||||||
* that is part of %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED in the
|
* that is part of %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED in the
|
||||||
|
@ -2936,6 +2994,7 @@ struct nl80211_wowlan_pattern_support {
|
||||||
__u32 max_patterns;
|
__u32 max_patterns;
|
||||||
__u32 min_pattern_len;
|
__u32 min_pattern_len;
|
||||||
__u32 max_pattern_len;
|
__u32 max_pattern_len;
|
||||||
|
__u32 max_pkt_offset;
|
||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2951,9 +3010,10 @@ struct nl80211_wowlan_pattern_support {
|
||||||
* @NL80211_WOWLAN_TRIG_PKT_PATTERN: wake up on the specified packet patterns
|
* @NL80211_WOWLAN_TRIG_PKT_PATTERN: wake up on the specified packet patterns
|
||||||
* which are passed in an array of nested attributes, each nested attribute
|
* which are passed in an array of nested attributes, each nested attribute
|
||||||
* defining a with attributes from &struct nl80211_wowlan_trig_pkt_pattern.
|
* defining a with attributes from &struct nl80211_wowlan_trig_pkt_pattern.
|
||||||
* Each pattern defines a wakeup packet. The matching is done on the MSDU,
|
* Each pattern defines a wakeup packet. Packet offset is associated with
|
||||||
* i.e. as though the packet was an 802.3 packet, so the pattern matching
|
* each pattern which is used while matching the pattern. The matching is
|
||||||
* is done after the packet is converted to the MSDU.
|
* done on the MSDU, i.e. as though the packet was an 802.3 packet, so the
|
||||||
|
* pattern matching is done after the packet is converted to the MSDU.
|
||||||
*
|
*
|
||||||
* In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute
|
* In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute
|
||||||
* carrying a &struct nl80211_wowlan_pattern_support.
|
* carrying a &struct nl80211_wowlan_pattern_support.
|
||||||
|
@ -2985,6 +3045,17 @@ struct nl80211_wowlan_pattern_support {
|
||||||
* @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN: Original length of the 802.3
|
* @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN: Original length of the 802.3
|
||||||
* packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023
|
* packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023
|
||||||
* attribute if the packet was truncated somewhere.
|
* attribute if the packet was truncated somewhere.
|
||||||
|
* @NL80211_WOWLAN_TRIG_TCP_CONNECTION: TCP connection wake, see DOC section
|
||||||
|
* "TCP connection wakeup" for more details. This is a nested attribute
|
||||||
|
* containing the exact information for establishing and keeping alive
|
||||||
|
* the TCP connection.
|
||||||
|
* @NL80211_WOWLAN_TRIG_TCP_WAKEUP_MATCH: For wakeup reporting only, the
|
||||||
|
* wakeup packet was received on the TCP connection
|
||||||
|
* @NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST: For wakeup reporting only, the
|
||||||
|
* TCP connection was lost or failed to be established
|
||||||
|
* @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only,
|
||||||
|
* the TCP connection ran out of tokens to use for data to send to the
|
||||||
|
* service
|
||||||
* @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers
|
* @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers
|
||||||
* @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number
|
* @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number
|
||||||
*
|
*
|
||||||
|
@ -3006,12 +3077,126 @@ enum nl80211_wowlan_triggers {
|
||||||
NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN,
|
NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN,
|
||||||
NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023,
|
NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023,
|
||||||
NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN,
|
NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN,
|
||||||
|
NL80211_WOWLAN_TRIG_TCP_CONNECTION,
|
||||||
|
NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH,
|
||||||
|
NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST,
|
||||||
|
NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS,
|
||||||
|
|
||||||
/* keep last */
|
/* keep last */
|
||||||
NUM_NL80211_WOWLAN_TRIG,
|
NUM_NL80211_WOWLAN_TRIG,
|
||||||
MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1
|
MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DOC: TCP connection wakeup
|
||||||
|
*
|
||||||
|
* Some devices can establish a TCP connection in order to be woken up by a
|
||||||
|
* packet coming in from outside their network segment, or behind NAT. If
|
||||||
|
* configured, the device will establish a TCP connection to the given
|
||||||
|
* service, and periodically send data to that service. The first data
|
||||||
|
* packet is usually transmitted after SYN/ACK, also ACKing the SYN/ACK.
|
||||||
|
* The data packets can optionally include a (little endian) sequence
|
||||||
|
* number (in the TCP payload!) that is generated by the device, and, also
|
||||||
|
* optionally, a token from a list of tokens. This serves as a keep-alive
|
||||||
|
* with the service, and for NATed connections, etc.
|
||||||
|
*
|
||||||
|
* During this keep-alive period, the server doesn't send any data to the
|
||||||
|
* client. When receiving data, it is compared against the wakeup pattern
|
||||||
|
* (and mask) and if it matches, the host is woken up. Similarly, if the
|
||||||
|
* connection breaks or cannot be established to start with, the host is
|
||||||
|
* also woken up.
|
||||||
|
*
|
||||||
|
* Developer's note: ARP offload is required for this, otherwise TCP
|
||||||
|
* response packets might not go through correctly.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct nl80211_wowlan_tcp_data_seq - WoWLAN TCP data sequence
|
||||||
|
* @start: starting value
|
||||||
|
* @offset: offset of sequence number in packet
|
||||||
|
* @len: length of the sequence value to write, 1 through 4
|
||||||
|
*
|
||||||
|
* Note: don't confuse with the TCP sequence number(s), this is for the
|
||||||
|
* keepalive packet payload. The actual value is written into the packet
|
||||||
|
* in little endian.
|
||||||
|
*/
|
||||||
|
struct nl80211_wowlan_tcp_data_seq {
|
||||||
|
__u32 start, offset, len;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct nl80211_wowlan_tcp_data_token - WoWLAN TCP data token config
|
||||||
|
* @offset: offset of token in packet
|
||||||
|
* @len: length of each token
|
||||||
|
* @token_stream: stream of data to be used for the tokens, the length must
|
||||||
|
* be a multiple of @len for this to make sense
|
||||||
|
*/
|
||||||
|
struct nl80211_wowlan_tcp_data_token {
|
||||||
|
__u32 offset, len;
|
||||||
|
__u8 token_stream[];
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct nl80211_wowlan_tcp_data_token_feature - data token features
|
||||||
|
* @min_len: minimum token length
|
||||||
|
* @max_len: maximum token length
|
||||||
|
* @bufsize: total available token buffer size (max size of @token_stream)
|
||||||
|
*/
|
||||||
|
struct nl80211_wowlan_tcp_data_token_feature {
|
||||||
|
__u32 min_len, max_len, bufsize;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_wowlan_tcp_attrs - WoWLAN TCP connection parameters
|
||||||
|
* @__NL80211_WOWLAN_TCP_INVALID: invalid number for nested attributes
|
||||||
|
* @NL80211_WOWLAN_TCP_SRC_IPV4: source IPv4 address (in network byte order)
|
||||||
|
* @NL80211_WOWLAN_TCP_DST_IPV4: destination IPv4 address
|
||||||
|
* (in network byte order)
|
||||||
|
* @NL80211_WOWLAN_TCP_DST_MAC: destination MAC address, this is given because
|
||||||
|
* route lookup when configured might be invalid by the time we suspend,
|
||||||
|
* and doing a route lookup when suspending is no longer possible as it
|
||||||
|
* might require ARP querying.
|
||||||
|
* @NL80211_WOWLAN_TCP_SRC_PORT: source port (u16); optional, if not given a
|
||||||
|
* socket and port will be allocated
|
||||||
|
* @NL80211_WOWLAN_TCP_DST_PORT: destination port (u16)
|
||||||
|
* @NL80211_WOWLAN_TCP_DATA_PAYLOAD: data packet payload, at least one byte.
|
||||||
|
* For feature advertising, a u32 attribute holding the maximum length
|
||||||
|
* of the data payload.
|
||||||
|
* @NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ: data packet sequence configuration
|
||||||
|
* (if desired), a &struct nl80211_wowlan_tcp_data_seq. For feature
|
||||||
|
* advertising it is just a flag
|
||||||
|
* @NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN: data packet token configuration,
|
||||||
|
* see &struct nl80211_wowlan_tcp_data_token and for advertising see
|
||||||
|
* &struct nl80211_wowlan_tcp_data_token_feature.
|
||||||
|
* @NL80211_WOWLAN_TCP_DATA_INTERVAL: data interval in seconds, maximum
|
||||||
|
* interval in feature advertising (u32)
|
||||||
|
* @NL80211_WOWLAN_TCP_WAKE_PAYLOAD: wake packet payload, for advertising a
|
||||||
|
* u32 attribute holding the maximum length
|
||||||
|
* @NL80211_WOWLAN_TCP_WAKE_MASK: Wake packet payload mask, not used for
|
||||||
|
* feature advertising. The mask works like @NL80211_WOWLAN_PKTPAT_MASK
|
||||||
|
* but on the TCP payload only.
|
||||||
|
* @NUM_NL80211_WOWLAN_TCP: number of TCP attributes
|
||||||
|
* @MAX_NL80211_WOWLAN_TCP: highest attribute number
|
||||||
|
*/
|
||||||
|
enum nl80211_wowlan_tcp_attrs {
|
||||||
|
__NL80211_WOWLAN_TCP_INVALID,
|
||||||
|
NL80211_WOWLAN_TCP_SRC_IPV4,
|
||||||
|
NL80211_WOWLAN_TCP_DST_IPV4,
|
||||||
|
NL80211_WOWLAN_TCP_DST_MAC,
|
||||||
|
NL80211_WOWLAN_TCP_SRC_PORT,
|
||||||
|
NL80211_WOWLAN_TCP_DST_PORT,
|
||||||
|
NL80211_WOWLAN_TCP_DATA_PAYLOAD,
|
||||||
|
NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ,
|
||||||
|
NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN,
|
||||||
|
NL80211_WOWLAN_TCP_DATA_INTERVAL,
|
||||||
|
NL80211_WOWLAN_TCP_WAKE_PAYLOAD,
|
||||||
|
NL80211_WOWLAN_TCP_WAKE_MASK,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
NUM_NL80211_WOWLAN_TCP,
|
||||||
|
MAX_NL80211_WOWLAN_TCP = NUM_NL80211_WOWLAN_TCP - 1
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* enum nl80211_iface_limit_attrs - limit attributes
|
* enum nl80211_iface_limit_attrs - limit attributes
|
||||||
* @NL80211_IFACE_LIMIT_UNSPEC: (reserved)
|
* @NL80211_IFACE_LIMIT_UNSPEC: (reserved)
|
||||||
|
@ -3269,6 +3454,8 @@ enum nl80211_ap_sme_features {
|
||||||
* Note that even for drivers that support this, the default is to add
|
* Note that even for drivers that support this, the default is to add
|
||||||
* stations in authenticated/associated state, so to add unauthenticated
|
* stations in authenticated/associated state, so to add unauthenticated
|
||||||
* stations the authenticated/associated bits have to be set in the mask.
|
* stations the authenticated/associated bits have to be set in the mask.
|
||||||
|
* @NL80211_FEATURE_ADVERTISE_CHAN_LIMITS: cfg80211 advertises channel limits
|
||||||
|
* (HT40, VHT 80/160 MHz) if this flag is set
|
||||||
*/
|
*/
|
||||||
enum nl80211_feature_flags {
|
enum nl80211_feature_flags {
|
||||||
NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
|
NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
|
||||||
|
@ -3284,7 +3471,9 @@ enum nl80211_feature_flags {
|
||||||
NL80211_FEATURE_NEED_OBSS_SCAN = 1 << 10,
|
NL80211_FEATURE_NEED_OBSS_SCAN = 1 << 10,
|
||||||
NL80211_FEATURE_P2P_GO_CTWIN = 1 << 11,
|
NL80211_FEATURE_P2P_GO_CTWIN = 1 << 11,
|
||||||
NL80211_FEATURE_P2P_GO_OPPPS = 1 << 12,
|
NL80211_FEATURE_P2P_GO_OPPPS = 1 << 12,
|
||||||
NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 13,
|
/* bit 13 is reserved */
|
||||||
|
NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 1 << 14,
|
||||||
|
NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 15,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3358,4 +3547,44 @@ enum nl80211_acl_policy {
|
||||||
NL80211_ACL_POLICY_DENY_UNLESS_LISTED,
|
NL80211_ACL_POLICY_DENY_UNLESS_LISTED,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_radar_event - type of radar event for DFS operation
|
||||||
|
*
|
||||||
|
* Type of event to be used with NL80211_ATTR_RADAR_EVENT to inform userspace
|
||||||
|
* about detected radars or success of the channel available check (CAC)
|
||||||
|
*
|
||||||
|
* @NL80211_RADAR_DETECTED: A radar pattern has been detected. The channel is
|
||||||
|
* now unusable.
|
||||||
|
* @NL80211_RADAR_CAC_FINISHED: Channel Availability Check has been finished,
|
||||||
|
* the channel is now available.
|
||||||
|
* @NL80211_RADAR_CAC_ABORTED: Channel Availability Check has been aborted, no
|
||||||
|
* change to the channel status.
|
||||||
|
* @NL80211_RADAR_NOP_FINISHED: The Non-Occupancy Period for this channel is
|
||||||
|
* over, channel becomes usable.
|
||||||
|
*/
|
||||||
|
enum nl80211_radar_event {
|
||||||
|
NL80211_RADAR_DETECTED,
|
||||||
|
NL80211_RADAR_CAC_FINISHED,
|
||||||
|
NL80211_RADAR_CAC_ABORTED,
|
||||||
|
NL80211_RADAR_NOP_FINISHED,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_dfs_state - DFS states for channels
|
||||||
|
*
|
||||||
|
* Channel states used by the DFS code.
|
||||||
|
*
|
||||||
|
* @IEEE80211_DFS_USABLE: The channel can be used, but channel availability
|
||||||
|
* check (CAC) must be performed before using it for AP or IBSS.
|
||||||
|
* @IEEE80211_DFS_UNAVAILABLE: A radar has been detected on this channel, it
|
||||||
|
* is therefore marked as not available.
|
||||||
|
* @IEEE80211_DFS_AVAILABLE: The channel has been CAC checked and is available.
|
||||||
|
*/
|
||||||
|
|
||||||
|
enum nl80211_dfs_state {
|
||||||
|
NL80211_DFS_USABLE,
|
||||||
|
NL80211_DFS_UNAVAILABLE,
|
||||||
|
NL80211_DFS_AVAILABLE,
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* __LINUX_NL80211_H */
|
#endif /* __LINUX_NL80211_H */
|
||||||
|
|
Loading…
Reference in a new issue