History

Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem

John W. Linville committed 13 years ago

Commit 98d5fac2 parents 4153577 9e97d14189 files · +12387 −3236Browse files

Showing the changes to include/uapi/linux (1 of 189 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+269−5
@@ -513,6 +513,12 @@ · 512 unmodified lines
513513 * command with the %NL80211_ATTR_WOWLAN_TRIGGERS attribute. For
514514 * more background information, see
515515 * http://wireless.kernel.org/en/users/Documentation/WoWLAN.
516+ * The @NL80211_CMD_SET_WOWLAN command can also be used as a notification
517+ * from the driver reporting the wakeup reason. In this case, the
518+ * @NL80211_ATTR_WOWLAN_TRIGGERS attribute will contain the reason
519+ * for the wakeup, if it was caused by wireless. If it is not present
520+ * in the wakeup notification, the wireless device didn't cause the
521+ * wakeup but reports that it was woken up.
516522 *
517523 * @NL80211_CMD_SET_REKEY_OFFLOAD: This command is used give the driver
518524 * the necessary information for supporting GTK rekey offload. This
@@ -597,6 +603,14 @@ · 78 unmodified lines
597603 * command is used in AP/P2P GO mode. Driver has to make sure to clear its
598604 * ACL list during %NL80211_CMD_STOP_AP.
599605 *
606+ * @NL80211_CMD_RADAR_DETECT: Start a Channel availability check (CAC). Once
607+ * a radar is detected or the channel availability scan (CAC) has finished
608+ * or was aborted, or a radar was detected, usermode will be notified with
609+ * this event. This command is also used to notify userspace about radars
610+ * while operating on this channel.
611+ * %NL80211_ATTR_RADAR_EVENT is used to inform about the type of the
612+ * event.
613+ *
600614 * @NL80211_CMD_MAX: highest used command number
601615 * @__NL80211_CMD_AFTER_LAST: internal use
602616 */
@@ -749,6 +763,8 @@ enum nl80211_commands { · 146 unmodified lines
749763
750764 NL80211_CMD_SET_MAC_ACL,
751765
766+ NL80211_CMD_RADAR_DETECT,
767+
752768 /* add new commands above here */
753769
754770 /* used to define NL80211_CMD_MAX below */
@@ -1336,6 +1352,22 @@ enum nl80211_commands { · 581 unmodified lines
13361352 * number of MAC addresses that a device can support for MAC
13371353 * ACL.
13381354 *
1355+ * @NL80211_ATTR_RADAR_EVENT: Type of radar event for notification to userspace,
1356+ * contains a value of enum nl80211_radar_event (u32).
1357+ *
1358+ * @NL80211_ATTR_EXT_CAPA: 802.11 extended capabilities that the kernel driver
1359+ * has and handles. The format is the same as the IE contents. See
1360+ * 802.11-2012 8.4.2.29 for more information.
1361+ * @NL80211_ATTR_EXT_CAPA_MASK: Extended capabilities that the kernel driver
1362+ * has set in the %NL80211_ATTR_EXT_CAPA value, for multibit fields.
1363+ *
1364+ * @NL80211_ATTR_STA_CAPABILITY: Station capabilities (u16) are advertised to
1365+ * the driver, e.g., to enable TDLS power save (PU-APSD).
1366+ *
1367+ * @NL80211_ATTR_STA_EXT_CAPABILITY: Station extended capabilities are
1368+ * advertised to the driver, e.g., to enable TDLS off channel operations
1369+ * and PU-APSD.
1370+ *
13391371 * @NL80211_ATTR_MAX: highest attribute number currently defined
13401372 * @__NL80211_ATTR_AFTER_LAST: internal use
13411373 */
@@ -1614,6 +1646,14 @@ enum nl80211_attrs { · 272 unmodified lines
16141646
16151647 NL80211_ATTR_MAC_ACL_MAX,
16161648
1649+ NL80211_ATTR_RADAR_EVENT,
1650+
1651+ NL80211_ATTR_EXT_CAPA,
1652+ NL80211_ATTR_EXT_CAPA_MASK,
1653+
1654+ NL80211_ATTR_STA_CAPABILITY,
1655+ NL80211_ATTR_STA_EXT_CAPABILITY,
1656+
16171657 /* add attributes here, update the policy in nl80211.c */
16181658
16191659 __NL80211_ATTR_AFTER_LAST,
@@ -1851,6 +1891,8 @@ enum nl80211_sta_bss_param { · 231 unmodified lines
18511891 * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs)
18521892 * @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station)
18531893 * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station)
1894+ * @NL80211_STA_INFO_RX_BYTES64: total received bytes (u64, from this station)
1895+ * @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (u64, to this station)
18541896 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
18551897 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
18561898 * containing info as possible, see &enum nl80211_rate_info
@@ -1903,6 +1945,8 @@ enum nl80211_sta_info { · 46 unmodified lines
19031945 NL80211_STA_INFO_LOCAL_PM,
19041946 NL80211_STA_INFO_PEER_PM,
19051947 NL80211_STA_INFO_NONPEER_PM,
1948+ NL80211_STA_INFO_RX_BYTES64,
1949+ NL80211_STA_INFO_TX_BYTES64,
19061950
19071951 /* keep last */
19081952 __NL80211_STA_INFO_AFTER_LAST,
@@ -2012,6 +2056,20 @@ enum nl80211_band_attr { · 103 unmodified lines
20122056 * on this channel in current regulatory domain.
20132057 * @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm
20142058 * (100 * dBm).
2059+ * @NL80211_FREQUENCY_ATTR_DFS_STATE: current state for DFS
2060+ * (enum nl80211_dfs_state)
2061+ * @NL80211_FREQUENCY_ATTR_DFS_TIME: time in miliseconds for how long
2062+ * this channel is in this DFS state.
2063+ * @NL80211_FREQUENCY_ATTR_NO_HT40_MINUS: HT40- isn't possible with this
2064+ * channel as the control channel
2065+ * @NL80211_FREQUENCY_ATTR_NO_HT40_PLUS: HT40+ isn't possible with this
2066+ * channel as the control channel
2067+ * @NL80211_FREQUENCY_ATTR_NO_80MHZ: any 80 MHz channel using this channel
2068+ * as the primary or any of the secondary channels isn't possible,
2069+ * this includes 80+80 channels
2070+ * @NL80211_FREQUENCY_ATTR_NO_160MHZ: any 160 MHz (but not 80+80) channel
2071+ * using this channel as the primary or any of the secondary channels
2072+ * isn't possible
20152073 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
20162074 * currently defined
20172075 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -2024,6 +2082,12 @@ enum nl80211_frequency_attr { · 6 unmodified lines
20242082 NL80211_FREQUENCY_ATTR_NO_IBSS,
20252083 NL80211_FREQUENCY_ATTR_RADAR,
20262084 NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
2085+ NL80211_FREQUENCY_ATTR_DFS_STATE,
2086+ NL80211_FREQUENCY_ATTR_DFS_TIME,
2087+ NL80211_FREQUENCY_ATTR_NO_HT40_MINUS,
2088+ NL80211_FREQUENCY_ATTR_NO_HT40_PLUS,
2089+ NL80211_FREQUENCY_ATTR_NO_80MHZ,
2090+ NL80211_FREQUENCY_ATTR_NO_160MHZ,
20272091
20282092 /* keep last */
20292093 __NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -2896,10 +2960,12 @@ enum nl80211_tx_power_setting { · 866 unmodified lines
28962960 * corresponds to the lowest-order bit in the second byte of the mask.
28972961 * For example: The match 00:xx:00:00:xx:00:00:00:00:xx:xx:xx (where
28982962 * xx indicates "don't care") would be represented by a pattern of
2899− * twelve zero bytes, and a mask of "0xed,0x07".
2963+ * twelve zero bytes, and a mask of "0xed,0x01".
29002964 * Note that the pattern matching is done as though frames were not
29012965 * 802.11 frames but 802.3 frames, i.e. the frame is fully unpacked
29022966 * first (including SNAP header unpacking) and then matched.
2967+ * @NL80211_WOWLAN_PKTPAT_OFFSET: packet offset, pattern is matched after
2968+ * these fixed number of bytes of received packet
29032969 * @NUM_NL80211_WOWLAN_PKTPAT: number of attributes
29042970 * @MAX_NL80211_WOWLAN_PKTPAT: max attribute number
29052971 */
@@ -2907,6 +2973,7 @@ enum nl80211_wowlan_packet_pattern_attr { · 1 unmodified line
29072973 __NL80211_WOWLAN_PKTPAT_INVALID,
29082974 NL80211_WOWLAN_PKTPAT_MASK,
29092975 NL80211_WOWLAN_PKTPAT_PATTERN,
2976+ NL80211_WOWLAN_PKTPAT_OFFSET,
29102977
29112978 NUM_NL80211_WOWLAN_PKTPAT,
29122979 MAX_NL80211_WOWLAN_PKTPAT = NUM_NL80211_WOWLAN_PKTPAT - 1,
@@ -2917,6 +2984,7 @@ enum nl80211_wowlan_packet_pattern_attr { · 4 unmodified lines
29172984 * @max_patterns: maximum number of patterns supported
29182985 * @min_pattern_len: minimum length of each pattern
29192986 * @max_pattern_len: maximum length of each pattern
2987+ * @max_pkt_offset: maximum Rx packet offset
29202988 *
29212989 * This struct is carried in %NL80211_WOWLAN_TRIG_PKT_PATTERN when
29222990 * that is part of %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED in the
@@ -2926,6 +2994,7 @@ struct nl80211_wowlan_pattern_support { · 3 unmodified lines
29262994 __u32 max_patterns;
29272995 __u32 min_pattern_len;
29282996 __u32 max_pattern_len;
2997+ __u32 max_pkt_offset;
29292998 } __attribute__((packed));
29302999
29313000 /**
@@ -2941,12 +3010,17 @@ struct nl80211_wowlan_pattern_support { · 9 unmodified lines
29413010 * @NL80211_WOWLAN_TRIG_PKT_PATTERN: wake up on the specified packet patterns
29423011 * which are passed in an array of nested attributes, each nested attribute
29433012 * defining a with attributes from &struct nl80211_wowlan_trig_pkt_pattern.
2944− * Each pattern defines a wakeup packet. The matching is done on the MSDU,
2945− * i.e. as though the packet was an 802.3 packet, so the pattern matching
2946− * is done after the packet is converted to the MSDU.
3013+ * Each pattern defines a wakeup packet. Packet offset is associated with
3014+ * each pattern which is used while matching the pattern. The matching is
3015+ * done on the MSDU, i.e. as though the packet was an 802.3 packet, so the
3016+ * pattern matching is done after the packet is converted to the MSDU.
29473017 *
29483018 * In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute
29493019 * carrying a &struct nl80211_wowlan_pattern_support.
3020+ *
3021+ * When reporting wakeup. it is a u32 attribute containing the 0-based
3022+ * index of the pattern that caused the wakeup, in the patterns passed
3023+ * to the kernel when configuring.
29503024 * @NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED: Not a real trigger, and cannot be
29513025 * used when setting, used only to indicate that GTK rekeying is supported
29523026 * by the device (flag)
@@ -2957,8 +3031,36 @@ struct nl80211_wowlan_pattern_support { · 4 unmodified lines
29573031 * @NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE: wake up on 4-way handshake (flag)
29583032 * @NL80211_WOWLAN_TRIG_RFKILL_RELEASE: wake up when rfkill is released
29593033 * (on devices that have rfkill in the device) (flag)
3034+ * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211: For wakeup reporting only, contains
3035+ * the 802.11 packet that caused the wakeup, e.g. a deauth frame. The frame
3036+ * may be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN
3037+ * attribute contains the original length.
3038+ * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN: Original length of the 802.11
3039+ * packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211
3040+ * attribute if the packet was truncated somewhere.
3041+ * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023: For wakeup reporting only, contains the
3042+ * 802.11 packet that caused the wakeup, e.g. a magic packet. The frame may
3043+ * be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN attribute
3044+ * contains the original length.
3045+ * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN: Original length of the 802.3
3046+ * packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023
3047+ * attribute if the packet was truncated somewhere.
3048+ * @NL80211_WOWLAN_TRIG_TCP_CONNECTION: TCP connection wake, see DOC section
3049+ * "TCP connection wakeup" for more details. This is a nested attribute
3050+ * containing the exact information for establishing and keeping alive
3051+ * the TCP connection.
3052+ * @NL80211_WOWLAN_TRIG_TCP_WAKEUP_MATCH: For wakeup reporting only, the
3053+ * wakeup packet was received on the TCP connection
3054+ * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST: For wakeup reporting only, the
3055+ * TCP connection was lost or failed to be established
3056+ * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only,
3057+ * the TCP connection ran out of tokens to use for data to send to the
3058+ * service
29603059 * @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers
29613060 * @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number
3061+ *
3062+ * These nested attributes are used to configure the wakeup triggers and
3063+ * to report the wakeup reason(s).
29623064 */
29633065 enum nl80211_wowlan_triggers {
29643066 __NL80211_WOWLAN_TRIG_INVALID,
@@ -2971,12 +3073,130 @@ enum nl80211_wowlan_triggers { · 6 unmodified lines
29713073 NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST,
29723074 NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE,
29733075 NL80211_WOWLAN_TRIG_RFKILL_RELEASE,
3076+ NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211,
3077+ NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN,
3078+ NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023,
3079+ NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN,
3080+ NL80211_WOWLAN_TRIG_TCP_CONNECTION,
3081+ NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH,
3082+ NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST,
3083+ NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS,
29743084
29753085 /* keep last */
29763086 NUM_NL80211_WOWLAN_TRIG,
29773087 MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1
29783088 };
29793089
3090+/**
3091+ * DOC: TCP connection wakeup
3092+ *
3093+ * Some devices can establish a TCP connection in order to be woken up by a
3094+ * packet coming in from outside their network segment, or behind NAT. If
3095+ * configured, the device will establish a TCP connection to the given
3096+ * service, and periodically send data to that service. The first data
3097+ * packet is usually transmitted after SYN/ACK, also ACKing the SYN/ACK.
3098+ * The data packets can optionally include a (little endian) sequence
3099+ * number (in the TCP payload!) that is generated by the device, and, also
3100+ * optionally, a token from a list of tokens. This serves as a keep-alive
3101+ * with the service, and for NATed connections, etc.
3102+ *
3103+ * During this keep-alive period, the server doesn't send any data to the
3104+ * client. When receiving data, it is compared against the wakeup pattern
3105+ * (and mask) and if it matches, the host is woken up. Similarly, if the
3106+ * connection breaks or cannot be established to start with, the host is
3107+ * also woken up.
3108+ *
3109+ * Developer's note: ARP offload is required for this, otherwise TCP
3110+ * response packets might not go through correctly.
3111+ */
3112+
3113+/**
3114+ * struct nl80211_wowlan_tcp_data_seq - WoWLAN TCP data sequence
3115+ * @start: starting value
3116+ * @offset: offset of sequence number in packet
3117+ * @len: length of the sequence value to write, 1 through 4
3118+ *
3119+ * Note: don't confuse with the TCP sequence number(s), this is for the
3120+ * keepalive packet payload. The actual value is written into the packet
3121+ * in little endian.
3122+ */
3123+struct nl80211_wowlan_tcp_data_seq {
3124+ __u32 start, offset, len;
3125+};
3126+
3127+/**
3128+ * struct nl80211_wowlan_tcp_data_token - WoWLAN TCP data token config
3129+ * @offset: offset of token in packet
3130+ * @len: length of each token
3131+ * @token_stream: stream of data to be used for the tokens, the length must
3132+ * be a multiple of @len for this to make sense
3133+ */
3134+struct nl80211_wowlan_tcp_data_token {
3135+ __u32 offset, len;
3136+ __u8 token_stream[];
3137+};
3138+
3139+/**
3140+ * struct nl80211_wowlan_tcp_data_token_feature - data token features
3141+ * @min_len: minimum token length
3142+ * @max_len: maximum token length
3143+ * @bufsize: total available token buffer size (max size of @token_stream)
3144+ */
3145+struct nl80211_wowlan_tcp_data_token_feature {
3146+ __u32 min_len, max_len, bufsize;
3147+};
3148+
3149+/**
3150+ * enum nl80211_wowlan_tcp_attrs - WoWLAN TCP connection parameters
3151+ * @__NL80211_WOWLAN_TCP_INVALID: invalid number for nested attributes
3152+ * @NL80211_WOWLAN_TCP_SRC_IPV4: source IPv4 address (in network byte order)
3153+ * @NL80211_WOWLAN_TCP_DST_IPV4: destination IPv4 address
3154+ * (in network byte order)
3155+ * @NL80211_WOWLAN_TCP_DST_MAC: destination MAC address, this is given because
3156+ * route lookup when configured might be invalid by the time we suspend,
3157+ * and doing a route lookup when suspending is no longer possible as it
3158+ * might require ARP querying.
3159+ * @NL80211_WOWLAN_TCP_SRC_PORT: source port (u16); optional, if not given a
3160+ * socket and port will be allocated
3161+ * @NL80211_WOWLAN_TCP_DST_PORT: destination port (u16)
3162+ * @NL80211_WOWLAN_TCP_DATA_PAYLOAD: data packet payload, at least one byte.
3163+ * For feature advertising, a u32 attribute holding the maximum length
3164+ * of the data payload.
3165+ * @NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ: data packet sequence configuration
3166+ * (if desired), a &struct nl80211_wowlan_tcp_data_seq. For feature
3167+ * advertising it is just a flag
3168+ * @NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN: data packet token configuration,
3169+ * see &struct nl80211_wowlan_tcp_data_token and for advertising see
3170+ * &struct nl80211_wowlan_tcp_data_token_feature.
3171+ * @NL80211_WOWLAN_TCP_DATA_INTERVAL: data interval in seconds, maximum
3172+ * interval in feature advertising (u32)
3173+ * @NL80211_WOWLAN_TCP_WAKE_PAYLOAD: wake packet payload, for advertising a
3174+ * u32 attribute holding the maximum length
3175+ * @NL80211_WOWLAN_TCP_WAKE_MASK: Wake packet payload mask, not used for
3176+ * feature advertising. The mask works like @NL80211_WOWLAN_PKTPAT_MASK
3177+ * but on the TCP payload only.
3178+ * @NUM_NL80211_WOWLAN_TCP: number of TCP attributes
3179+ * @MAX_NL80211_WOWLAN_TCP: highest attribute number
3180+ */
3181+enum nl80211_wowlan_tcp_attrs {
3182+ __NL80211_WOWLAN_TCP_INVALID,
3183+ NL80211_WOWLAN_TCP_SRC_IPV4,
3184+ NL80211_WOWLAN_TCP_DST_IPV4,
3185+ NL80211_WOWLAN_TCP_DST_MAC,
3186+ NL80211_WOWLAN_TCP_SRC_PORT,
3187+ NL80211_WOWLAN_TCP_DST_PORT,
3188+ NL80211_WOWLAN_TCP_DATA_PAYLOAD,
3189+ NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ,
3190+ NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN,
3191+ NL80211_WOWLAN_TCP_DATA_INTERVAL,
3192+ NL80211_WOWLAN_TCP_WAKE_PAYLOAD,
3193+ NL80211_WOWLAN_TCP_WAKE_MASK,
3194+
3195+ /* keep last */
3196+ NUM_NL80211_WOWLAN_TCP,
3197+ MAX_NL80211_WOWLAN_TCP = NUM_NL80211_WOWLAN_TCP - 1
3198+};
3199+
29803200 /**
29813201 * enum nl80211_iface_limit_attrs - limit attributes
29823202 * @NL80211_IFACE_LIMIT_UNSPEC: (reserved)
@@ -3234,6 +3454,8 @@ enum nl80211_ap_sme_features { · 251 unmodified lines
32343454 * Note that even for drivers that support this, the default is to add
32353455 * stations in authenticated/associated state, so to add unauthenticated
32363456 * stations the authenticated/associated bits have to be set in the mask.
3457+ * @NL80211_FEATURE_ADVERTISE_CHAN_LIMITS: cfg80211 advertises channel limits
3458+ * (HT40, VHT 80/160 MHz) if this flag is set
32373459 */
32383460 enum nl80211_feature_flags {
32393461 NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
@@ -3249,7 +3471,9 @@ enum nl80211_feature_flags { · 9 unmodified lines
32493471 NL80211_FEATURE_NEED_OBSS_SCAN = 1 << 10,
32503472 NL80211_FEATURE_P2P_GO_CTWIN = 1 << 11,
32513473 NL80211_FEATURE_P2P_GO_OPPPS = 1 << 12,
3252− NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 13,
3474+ /* bit 13 is reserved */
3475+ NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 1 << 14,
3476+ NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 15,
32533477 };
32543478
32553479 /**
@@ -3323,4 +3547,44 @@ enum nl80211_acl_policy { · 67 unmodified lines
33233547 NL80211_ACL_POLICY_DENY_UNLESS_LISTED,
33243548 };
33253549
3550+/**
3551+ * enum nl80211_radar_event - type of radar event for DFS operation
3552+ *
3553+ * Type of event to be used with NL80211_ATTR_RADAR_EVENT to inform userspace
3554+ * about detected radars or success of the channel available check (CAC)
3555+ *
3556+ * @NL80211_RADAR_DETECTED: A radar pattern has been detected. The channel is
3557+ * now unusable.
3558+ * @NL80211_RADAR_CAC_FINISHED: Channel Availability Check has been finished,
3559+ * the channel is now available.
3560+ * @NL80211_RADAR_CAC_ABORTED: Channel Availability Check has been aborted, no
3561+ * change to the channel status.
3562+ * @NL80211_RADAR_NOP_FINISHED: The Non-Occupancy Period for this channel is
3563+ * over, channel becomes usable.
3564+ */
3565+enum nl80211_radar_event {
3566+ NL80211_RADAR_DETECTED,
3567+ NL80211_RADAR_CAC_FINISHED,
3568+ NL80211_RADAR_CAC_ABORTED,
3569+ NL80211_RADAR_NOP_FINISHED,
3570+};
3571+
3572+/**
3573+ * enum nl80211_dfs_state - DFS states for channels
3574+ *
3575+ * Channel states used by the DFS code.
3576+ *
3577+ * @IEEE80211_DFS_USABLE: The channel can be used, but channel availability
3578+ * check (CAC) must be performed before using it for AP or IBSS.
3579+ * @IEEE80211_DFS_UNAVAILABLE: A radar has been detected on this channel, it
3580+ * is therefore marked as not available.
3581+ * @IEEE80211_DFS_AVAILABLE: The channel has been CAC checked and is available.
3582+ */
3583+
3584+enum nl80211_dfs_state {
3585+ NL80211_DFS_USABLE,
3586+ NL80211_DFS_UNAVAILABLE,
3587+ NL80211_DFS_AVAILABLE,
3588+};
3589+
33263590 #endif /* __LINUX_NL80211_H */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t