History

Merge tag 'wireless-next-2026-03-26' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next

Johannes Berg says: ==================== A fairly big set of changes all over, notably with: - cfg80211: new APIs for NAN (Neighbor Aware Networking, aka Wi-Fi Aware) so less work must be in firmware - mt76: - mt7996/mt7925 MLO fixes/improvements - mt7996 NPU support (HW eth/wifi traffic offload) - iwlwifi: UNII-9 and continuing UHR work * tag 'wireless-next-2026-03-26' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next: (230 commits) wifi: mac80211: ignore reserved bits in reconfiguration status wifi: cfg80211: allow protected action frame TX for NAN wifi: ieee80211: Add some missing NAN definitions wifi: nl80211: Add a notification to notify NAN channel evacuation wifi: nl80211: add NL80211_CMD_NAN_ULW_UPDATE notification wifi: nl80211: allow reporting spurious NAN Data frames wifi: cfg80211: allow ToDS=0/FromDS=0 data frames on NAN data interfaces wifi: nl80211: define an API for configuring the NAN peer's schedule wifi: nl80211: add support for NAN stations wifi: cfg80211: separately store HT, VHT and HE capabilities for NAN wifi: cfg80211: add support for NAN data interface wifi: cfg80211: make sure NAN chandefs are valid wifi: cfg80211: Add an API to configure local NAN schedule wifi: mac80211: cleanup error path of ieee80211_do_open wifi: mac80211: extract channel logic from link logic wifi: iwlwifi: mld: set RX_FLAG_RADIOTAP_TLV_AT_END generically wifi: iwlwifi: reduce the number of prints upon firmware crash wifi: iwlwifi: fix the description of SESSION_PROTECTION_CMD wifi: iwlwifi: mld: introduce iwl_mld_vif_fw_id_valid wifi: iwlwifi: mld: block EMLSR during TDLS connections ... ====================

Jakub Kicinski committed 7 months ago

Commit dbd94b92 parents 7d89349 7dd6f81166 files · +7113 −2303Browse files

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

Unified · Split

include/uapi/linux/nl80211.h+229−3
@@ -906,8 +906,9 @@ · 905 unmodified lines
906 * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP906 * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP
907 * (or GO) interface (i.e. hostapd) to ask for unexpected frames to907 * (or GO) interface (i.e. hostapd) to ask for unexpected frames to
908 * implement sending deauth to stations that send unexpected class 3908 * implement sending deauth to stations that send unexpected class 3
909 * frames. Also used as the event sent by the kernel when such a frame909 * frames. For NAN_DATA interfaces, this is used to report frames from
910 * is received.910 * unknown peers (A2 not assigned to any active NDP).
911 * Also used as the event sent by the kernel when such a frame is received.
911 * For the event, the %NL80211_ATTR_MAC attribute carries the TA and912 * For the event, the %NL80211_ATTR_MAC attribute carries the TA and
912 * other attributes like the interface index are present.913 * other attributes like the interface index are present.
913 * If used as the command it must have an interface index and you can914 * If used as the command it must have an interface index and you can
@@ -1367,6 +1368,53 @@ · 453 unmodified lines
1367 * %NL80211_ATTR_INCUMBENT_SIGNAL_INTERFERENCE_BITMAP. The current channel1368 * %NL80211_ATTR_INCUMBENT_SIGNAL_INTERFERENCE_BITMAP. The current channel
1368 * definition is also sent.1369 * definition is also sent.
1369 *1370 *
1371 * @NL80211_CMD_NAN_SET_LOCAL_SCHED: Set the local NAN schedule. NAN must be
1372 * operational (%NL80211_CMD_START_NAN was executed). Must contain
1373 * %NL80211_ATTR_NAN_TIME_SLOTS and %NL80211_ATTR_NAN_AVAIL_BLOB, but
1374 * %NL80211_ATTR_NAN_CHANNEL is optional (for example in case of a channel
1375 * removal, that channel won't be provided).
1376 * If %NL80211_ATTR_NAN_SCHED_DEFERRED is set, the command is a request
1377 * from the device to perform an announced schedule update. See
1378 * %NL80211_ATTR_NAN_SCHED_DEFERRED for more details.
1379 * If not set, the schedule should be applied immediately.
1380 * @NL80211_CMD_NAN_SCHED_UPDATE_DONE: Event sent to user space to notify that
1381 * a deferred local NAN schedule update (requested with
1382 * %NL80211_CMD_NAN_SET_LOCAL_SCHED and %NL80211_ATTR_NAN_SCHED_DEFERRED)
1383 * has been completed. The presence of %NL80211_ATTR_NAN_SCHED_UPDATE_SUCCESS
1384 * indicates that the update was successful.
1385 * @NL80211_CMD_NAN_SET_PEER_SCHED: Set the peer NAN schedule. NAN
1386 * must be operational (%NL80211_CMD_START_NAN was executed).
1387 * Required attributes: %NL80211_ATTR_MAC (peer NMI address) and
1388 * %NL80211_ATTR_NAN_COMMITTED_DW.
1389 * Optionally, the full schedule can be provided by including all of:
1390 * %NL80211_ATTR_NAN_SEQ_ID, %NL80211_ATTR_NAN_CHANNEL (one or more), and
1391 * %NL80211_ATTR_NAN_PEER_MAPS (see &enum nl80211_nan_peer_map_attrs).
1392 * If any of these three optional attributes is provided, all three must
1393 * be provided.
1394 * Each peer channel must be compatible with at least one local channel
1395 * set by %NL80211_CMD_SET_LOCAL_NAN_SCHED. Different maps must not
1396 * contain compatible channels.
1397 * For single-radio devices (n_radio <= 1), different maps must not
1398 * schedule the same time slot, as the device cannot operate on multiple
1399 * channels simultaneously.
1400 * When updating an existing peer schedule, the full new schedule must be
1401 * provided - partial updates are not supported. The new schedule will
1402 * completely replace the previous one.
1403 * The peer schedule is automatically removed when the NMI station is
1404 * removed.
1405 * @NL80211_CMD_NAN_ULW_UPDATE: Notification from the driver to user space
1406 * with the updated ULW blob of the device. User space can use this blob
1407 * to attach to frames sent to peers. This notification contains
1408 * %NL80211_ATTR_NAN_ULW with the ULW blob.
1409 * @NL80211_CMD_NAN_CHANNEL_EVAC: Notification to indicate that a NAN
1410 * channel has been evacuated due to resource conflicts with other
1411 * interfaces. This can happen when another interface sharing the channel
1412 * resource with NAN needs to move to a different channel (e.g., channel
1413 * switch or link switch on a BSS interface).
1414 * The notification contains %NL80211_ATTR_NAN_CHANNEL attribute
1415 * identifying the evacuated channel.
1416 * User space may reconfigure the local schedule in response to this
1417 * notification.
1370 * @NL80211_CMD_MAX: highest used command number1418 * @NL80211_CMD_MAX: highest used command number
1371 * @__NL80211_CMD_AFTER_LAST: internal use1419 * @__NL80211_CMD_AFTER_LAST: internal use
1372 */1420 */
@@ -1632,6 +1680,16 @@ enum nl80211_commands { · 259 unmodified lines
1632 1680
1633 NL80211_CMD_INCUMBENT_SIGNAL_DETECT,1681 NL80211_CMD_INCUMBENT_SIGNAL_DETECT,
1634 1682
1683 NL80211_CMD_NAN_SET_LOCAL_SCHED,
1684
1685 NL80211_CMD_NAN_SCHED_UPDATE_DONE,
1686
1687 NL80211_CMD_NAN_SET_PEER_SCHED,
1688
1689 NL80211_CMD_NAN_ULW_UPDATE,
1690
1691 NL80211_CMD_NAN_CHANNEL_EVAC,
1692
1635 /* add new commands above here */1693 /* add new commands above here */
1636 1694
1637 /* used to define NL80211_CMD_MAX below */1695 /* used to define NL80211_CMD_MAX below */
@@ -2659,7 +2717,8 @@ enum nl80211_commands { · 1021 unmodified lines
2659 * a flow is assigned on each round of the DRR scheduler.2717 * a flow is assigned on each round of the DRR scheduler.
2660 * @NL80211_ATTR_HE_CAPABILITY: HE Capability information element (from2718 * @NL80211_ATTR_HE_CAPABILITY: HE Capability information element (from
2661 * association request when used with NL80211_CMD_NEW_STATION). Can be set2719 * association request when used with NL80211_CMD_NEW_STATION). Can be set
2662 * only if %NL80211_STA_FLAG_WME is set.2720 * only if %NL80211_STA_FLAG_WME is set (except for NAN, which uses WME
2721 * anyway).
2663 *2722 *
2664 * @NL80211_ATTR_FTM_RESPONDER: nested attribute which user-space can include2723 * @NL80211_ATTR_FTM_RESPONDER: nested attribute which user-space can include
2665 * in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing2724 * in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing
@@ -2991,6 +3050,82 @@ enum nl80211_commands { · 325 unmodified lines
2991 * @NL80211_ATTR_DISABLE_UHR: Force UHR capable interfaces to disable3050 * @NL80211_ATTR_DISABLE_UHR: Force UHR capable interfaces to disable
2992 * this feature during association. This is a flag attribute.3051 * this feature during association. This is a flag attribute.
2993 * Currently only supported in mac80211 drivers.3052 * Currently only supported in mac80211 drivers.
3053 * @NL80211_ATTR_NAN_CHANNEL: This is a nested attribute. There can be multiple
3054 * attributes of this type, each one represents a channel definition and
3055 * consists of top-level attributes like %NL80211_ATTR_WIPHY_FREQ.
3056 * When used with %NL80211_CMD_NAN_SET_LOCAL_SCHED, it specifies
3057 * the channel definitions on which the radio needs to operate during
3058 * specific time slots. All of the channel definitions should be mutually
3059 * incompatible. With this command, %NL80211_ATTR_NAN_CHANNEL_ENTRY and
3060 * %NL80211_ATTR_NAN_RX_NSS are mandatory.
3061 * When used with %NL80211_CMD_NAN_SET_PEER_SCHED, it configures the
3062 * peer NAN channels. In that case, the channel definitions can be
3063 * compatible to each other, or even identical just with different RX NSS.
3064 * With this command, %NL80211_ATTR_NAN_CHANNEL_ENTRY and
3065 * %NL80211_ATTR_NAN_RX_NSS are mandatory.
3066 * The number of channels should fit the current configuration of channels
3067 * and the possible interface combinations.
3068 * If an existing NAN channel is changed but the chandef isn't, the
3069 * channel entry must also remain unchanged.
3070 * When used with %NL80211_CMD_NAN_CHANNEL_EVAC, this identifies the
3071 * channels that were evacuated.
3072 * @NL80211_ATTR_NAN_CHANNEL_ENTRY: a byte array of 6 bytes. contains the
3073 * Channel Entry as defined in Wi-Fi Aware (TM) 4.0 specification Table
3074 * 100 (Channel Entry format for the NAN Availability attribute).
3075 * @NL80211_ATTR_NAN_RX_NSS: (u8) RX NSS used for a NAN channel. This is
3076 * used with %NL80211_ATTR_NAN_CHANNEL when configuring NAN channels with
3077 * %NL80211_CMD_NAN_SET_LOCAL_SCHED or %NL80211_CMD_NAN_SET_PEER_SCHED.
3078 * @NL80211_ATTR_NAN_TIME_SLOTS: an array of u8 values and 32 cells. each value
3079 * maps a time slot to the chandef on which the radio should operate on in
3080 * that time. %NL80211_NAN_SCHED_NOT_AVAIL_SLOT indicates unscheduled.
3081 * The chandef is represented using its index, where the index is the
3082 * sequential number of the %NL80211_ATTR_NAN_CHANNEL attribute within all
3083 * the attributes of this type.
3084 * Each slots spans over 16TUs, hence the entire schedule spans over
3085 * 512TUs. Other slot durations and periods are currently not supported.
3086 * @NL80211_ATTR_NAN_AVAIL_BLOB: (Binary) The NAN Availability attribute blob,
3087 * including the attribute header, as defined in Wi-Fi Aware (TM) 4.0
3088 * specification Table 93 (NAN Availability attribute format). Required with
3089 * %NL80211_CMD_NAN_SET_LOCAL_SCHED to provide the raw NAN Availability
3090 * attribute. Used by the device to publish Schedule Update NAFs.
3091 * @NL80211_ATTR_NAN_SCHED_DEFERRED: Flag attribute used with
3092 * %NL80211_CMD_NAN_SET_LOCAL_SCHED. When present, the command is a
3093 * request from the device to perform an announced schedule update. This
3094 * means that it needs to send the updated NAN availability to the peers,
3095 * and do the actual switch on the right time (i.e. at the end of the slot
3096 * after the slot in which the updated NAN Availability was sent). Since
3097 * the slots management is done in the device, the update to the peers
3098 * needs to be sent by the device, so it knows the actual switch time.
3099 * If the flag is not set, the schedule should be applied immediately.
3100 * When this flag is set, the total number of NAN channels from both the
3101 * old and new schedules must not exceed the allowed number of local NAN
3102 * channels, because with deferred scheduling the old channels cannot be
3103 * removed before adding the new ones to free up space.
3104 * @NL80211_ATTR_NAN_SCHED_UPDATE_SUCCESS: flag attribute used with
3105 * %NL80211_CMD_NAN_SCHED_UPDATE_DONE to indicate that the deferred
3106 * schedule update completed successfully. If this flag is not present,
3107 * the update failed.
3108 * @NL80211_ATTR_NAN_NMI_MAC: The address of the NMI station to which this NDI
3109 * station belongs. Used with %NL80211_CMD_NEW_STATION when adding an NDI
3110 * station.
3111 * @NL80211_ATTR_NAN_ULW: (Binary) The initial ULW(s) as published by the
3112 * peer, as defined in the Wi-Fi Aware (TM) 4.0 specification Table 109
3113 * (Unaligned Schedule attribute format). Used to configure the device
3114 * with the initial ULW(s) of a peer, before the device starts tracking it.
3115 * @NL80211_ATTR_NAN_COMMITTED_DW: (u16) The committed DW as published by the
3116 * peer, as defined in the Wi-Fi Aware (TM) 4.0 specification Table 80
3117 * (Committed DW Information field format).
3118 * @NL80211_ATTR_NAN_SEQ_ID: (u8) The sequence ID of the peer schedule that
3119 * %NL80211_CMD_NAN_SET_PEER_SCHED defines. The device follows the
3120 * sequence ID in the frames to identify newer schedules. Once a schedule
3121 * with a higher sequence ID is received, the device may stop communicating
3122 * with that peer until a new peer schedule with a matching sequence ID is
3123 * received.
3124 * @NL80211_ATTR_NAN_MAX_CHAN_SWITCH_TIME: (u16) The maximum channel switch
3125 * time, in microseconds.
3126 * @NL80211_ATTR_NAN_PEER_MAPS: Nested array of peer schedule maps.
3127 * Used with %NL80211_CMD_NAN_SET_PEER_SCHED. Contains up to 2 entries,
3128 * each containing nested attributes from &enum nl80211_nan_peer_map_attrs.
2994 *3129 *
2995 * @NL80211_ATTR_INCUMBENT_SIGNAL_INTERFERENCE_BITMAP: u32 attribute specifying3130 * @NL80211_ATTR_INCUMBENT_SIGNAL_INTERFERENCE_BITMAP: u32 attribute specifying
2996 * the signal interference bitmap detected on the operating bandwidth for3131 * the signal interference bitmap detected on the operating bandwidth for
@@ -3582,6 +3717,22 @@ enum nl80211_attrs { · 585 unmodified lines
3582 3717
3583 NL80211_ATTR_UHR_OPERATION,3718 NL80211_ATTR_UHR_OPERATION,
3584 3719
3720 NL80211_ATTR_NAN_CHANNEL,
3721 NL80211_ATTR_NAN_CHANNEL_ENTRY,
3722 NL80211_ATTR_NAN_TIME_SLOTS,
3723 NL80211_ATTR_NAN_RX_NSS,
3724 NL80211_ATTR_NAN_AVAIL_BLOB,
3725 NL80211_ATTR_NAN_SCHED_DEFERRED,
3726 NL80211_ATTR_NAN_SCHED_UPDATE_SUCCESS,
3727
3728 NL80211_ATTR_NAN_NMI_MAC,
3729
3730 NL80211_ATTR_NAN_ULW,
3731 NL80211_ATTR_NAN_COMMITTED_DW,
3732 NL80211_ATTR_NAN_SEQ_ID,
3733 NL80211_ATTR_NAN_MAX_CHAN_SWITCH_TIME,
3734 NL80211_ATTR_NAN_PEER_MAPS,
3735
3585 /* add attributes here, update the policy in nl80211.c */3736 /* add attributes here, update the policy in nl80211.c */
3586 3737
3587 __NL80211_ATTR_AFTER_LAST,3738 __NL80211_ATTR_AFTER_LAST,
@@ -3675,6 +3826,9 @@ enum nl80211_attrs { · 87 unmodified lines
3675 * @NL80211_IFTYPE_OCB: Outside Context of a BSS3826 * @NL80211_IFTYPE_OCB: Outside Context of a BSS
3676 * This mode corresponds to the MIB variable dot11OCBActivated=true3827 * This mode corresponds to the MIB variable dot11OCBActivated=true
3677 * @NL80211_IFTYPE_NAN: NAN device interface type (not a netdev)3828 * @NL80211_IFTYPE_NAN: NAN device interface type (not a netdev)
3829 * @NL80211_IFTYPE_NAN_DATA: NAN data interface type (netdev); NAN data
3830 * interfaces can only be brought up (IFF_UP) when a NAN interface
3831 * already exists and NAN has been started (using %NL80211_CMD_START_NAN).
3678 * @NL80211_IFTYPE_MAX: highest interface type number currently defined3832 * @NL80211_IFTYPE_MAX: highest interface type number currently defined
3679 * @NUM_NL80211_IFTYPES: number of defined interface types3833 * @NUM_NL80211_IFTYPES: number of defined interface types
3680 *3834 *
@@ -3696,6 +3850,7 @@ enum nl80211_iftype { · 15 unmodified lines
3696 NL80211_IFTYPE_P2P_DEVICE,3850 NL80211_IFTYPE_P2P_DEVICE,
3697 NL80211_IFTYPE_OCB,3851 NL80211_IFTYPE_OCB,
3698 NL80211_IFTYPE_NAN,3852 NL80211_IFTYPE_NAN,
3853 NL80211_IFTYPE_NAN_DATA,
3699 3854
3700 /* keep last */3855 /* keep last */
3701 NUM_NL80211_IFTYPES,3856 NUM_NL80211_IFTYPES,
@@ -4384,6 +4539,46 @@ enum nl80211_band_attr { · 682 unmodified lines
4384 4539
4385#define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA4540#define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA
4386 4541
4542/**
4543 * enum nl80211_nan_phy_cap_attr - NAN PHY capabilities attributes
4544 * @__NL80211_NAN_PHY_CAP_ATTR_INVALID: attribute number 0 is reserved
4545 * @NL80211_NAN_PHY_CAP_ATTR_HT_MCS_SET: 16-byte attribute containing HT MCS set
4546 * @NL80211_NAN_PHY_CAP_ATTR_HT_CAPA: HT capabilities (u16)
4547 * @NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_FACTOR: HT A-MPDU factor (u8)
4548 * @NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_DENSITY: HT A-MPDU density (u8)
4549 * @NL80211_NAN_PHY_CAP_ATTR_VHT_MCS_SET: 8-byte attribute containing VHT MCS set
4550 * @NL80211_NAN_PHY_CAP_ATTR_VHT_CAPA: VHT capabilities (u32)
4551 * @NL80211_NAN_PHY_CAP_ATTR_HE_MAC: HE MAC capabilities
4552 * @NL80211_NAN_PHY_CAP_ATTR_HE_PHY: HE PHY capabilities
4553 * @NL80211_NAN_PHY_CAP_ATTR_HE_MCS_SET: HE supported NSS/MCS combinations
4554 * @NL80211_NAN_PHY_CAP_ATTR_HE_PPE: HE PPE thresholds
4555 * @NL80211_NAN_PHY_CAP_ATTR_MAX: highest NAN PHY cap attribute number
4556 * @__NL80211_NAN_PHY_CAP_ATTR_AFTER_LAST: internal use
4557 */
4558enum nl80211_nan_phy_cap_attr {
4559 __NL80211_NAN_PHY_CAP_ATTR_INVALID,
4560
4561 /* HT capabilities */
4562 NL80211_NAN_PHY_CAP_ATTR_HT_MCS_SET,
4563 NL80211_NAN_PHY_CAP_ATTR_HT_CAPA,
4564 NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_FACTOR,
4565 NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_DENSITY,
4566
4567 /* VHT capabilities */
4568 NL80211_NAN_PHY_CAP_ATTR_VHT_MCS_SET,
4569 NL80211_NAN_PHY_CAP_ATTR_VHT_CAPA,
4570
4571 /* HE capabilities */
4572 NL80211_NAN_PHY_CAP_ATTR_HE_MAC,
4573 NL80211_NAN_PHY_CAP_ATTR_HE_PHY,
4574 NL80211_NAN_PHY_CAP_ATTR_HE_MCS_SET,
4575 NL80211_NAN_PHY_CAP_ATTR_HE_PPE,
4576
4577 /* keep last */
4578 __NL80211_NAN_PHY_CAP_ATTR_AFTER_LAST,
4579 NL80211_NAN_PHY_CAP_ATTR_MAX = __NL80211_NAN_PHY_CAP_ATTR_AFTER_LAST - 1
4580};
4581
4387/**4582/**
4388 * enum nl80211_wmm_rule - regulatory wmm rule4583 * enum nl80211_wmm_rule - regulatory wmm rule
4389 *4584 *
@@ -8557,6 +8752,8 @@ enum nl80211_s1g_short_beacon_attrs { · 4167 unmodified lines
8557 * @NL80211_NAN_CAPA_CAPABILITIES: u8 attribute containing the8752 * @NL80211_NAN_CAPA_CAPABILITIES: u8 attribute containing the
8558 * capabilities of the device as defined in Wi-Fi Aware (TM)8753 * capabilities of the device as defined in Wi-Fi Aware (TM)
8559 * specification Table 79 (Capabilities field).8754 * specification Table 79 (Capabilities field).
8755 * @NL80211_NAN_CAPA_PHY: nested attribute containing band-agnostic
8756 * capabilities for NAN data path. See &enum nl80211_nan_phy_cap_attr.
8560 * @__NL80211_NAN_CAPABILITIES_LAST: Internal8757 * @__NL80211_NAN_CAPABILITIES_LAST: Internal
8561 * @NL80211_NAN_CAPABILITIES_MAX: Highest NAN capability attribute.8758 * @NL80211_NAN_CAPABILITIES_MAX: Highest NAN capability attribute.
8562 */8759 */
@@ -8569,9 +8766,38 @@ enum nl80211_nan_capabilities { · 6 unmodified lines
8569 NL80211_NAN_CAPA_NUM_ANTENNAS,8766 NL80211_NAN_CAPA_NUM_ANTENNAS,
8570 NL80211_NAN_CAPA_MAX_CHANNEL_SWITCH_TIME,8767 NL80211_NAN_CAPA_MAX_CHANNEL_SWITCH_TIME,
8571 NL80211_NAN_CAPA_CAPABILITIES,8768 NL80211_NAN_CAPA_CAPABILITIES,
8769 NL80211_NAN_CAPA_PHY,
8572 /* keep last */8770 /* keep last */
8573 __NL80211_NAN_CAPABILITIES_LAST,8771 __NL80211_NAN_CAPABILITIES_LAST,
8574 NL80211_NAN_CAPABILITIES_MAX = __NL80211_NAN_CAPABILITIES_LAST - 1,8772 NL80211_NAN_CAPABILITIES_MAX = __NL80211_NAN_CAPABILITIES_LAST - 1,
8575};8773};
8576 8774
8775/**
8776 * enum nl80211_nan_peer_map_attrs - NAN peer schedule map attributes
8777 *
8778 * Nested attributes used within %NL80211_ATTR_NAN_PEER_MAPS to define
8779 * individual peer schedule maps.
8780 *
8781 * @__NL80211_NAN_PEER_MAP_ATTR_INVALID: Invalid
8782 * @NL80211_NAN_PEER_MAP_ATTR_MAP_ID: (u8) The map ID for this schedule map.
8783 * @NL80211_NAN_PEER_MAP_ATTR_TIME_SLOTS: An array of u8 values with 32 cells.
8784 * Each value maps a time slot to a channel index within the schedule's
8785 * channel list (%NL80211_ATTR_NAN_CHANNEL attributes).
8786 * %NL80211_NAN_SCHED_NOT_AVAIL_SLOT indicates unscheduled.
8787 * @__NL80211_NAN_PEER_MAP_ATTR_LAST: Internal
8788 * @NL80211_NAN_PEER_MAP_ATTR_MAX: Highest peer map attribute
8789 */
8790enum nl80211_nan_peer_map_attrs {
8791 __NL80211_NAN_PEER_MAP_ATTR_INVALID,
8792
8793 NL80211_NAN_PEER_MAP_ATTR_MAP_ID,
8794 NL80211_NAN_PEER_MAP_ATTR_TIME_SLOTS,
8795
8796 /* keep last */
8797 __NL80211_NAN_PEER_MAP_ATTR_LAST,
8798 NL80211_NAN_PEER_MAP_ATTR_MAX = __NL80211_NAN_PEER_MAP_ATTR_LAST - 1,
8799};
8800
8801#define NL80211_NAN_SCHED_NOT_AVAIL_SLOT 0xff
8802
8577#endif /* __LINUX_NL80211_H */8803#endif /* __LINUX_NL80211_H */