include: update kernel headers from v6.18

This commit is contained in:
Yu Watanabe
2025-12-04 07:58:02 +09:00
committed by Luca Boccassi
parent 69646ac0e2
commit 26b2085d54
15 changed files with 349 additions and 20 deletions

View File

@@ -1522,6 +1522,12 @@ union bpf_attr {
* If provided, map_flags should have BPF_F_TOKEN_FD flag set.
*/
__s32 map_token_fd;
/* Hash of the program that has exclusive access to the map.
*/
__aligned_u64 excl_prog_hash;
/* Size of the passed excl_prog_hash. */
__u32 excl_prog_hash_size;
};
struct { /* anonymous struct used by BPF_MAP_*_ELEM and BPF_MAP_FREEZE commands */
@@ -1605,6 +1611,16 @@ union bpf_attr {
* continuous.
*/
__u32 fd_array_cnt;
/* Pointer to a buffer containing the signature of the BPF
* program.
*/
__aligned_u64 signature;
/* Size of the signature buffer in bytes. */
__u32 signature_size;
/* ID of the kernel keyring to be used for signature
* verification.
*/
__s32 keyring_id;
};
struct { /* anonymous struct used by BPF_OBJ_* commands */
@@ -4875,7 +4891,7 @@ union bpf_attr {
*
* **-ENOENT** if the bpf_local_storage cannot be found.
*
* long bpf_d_path(struct path *path, char *buf, u32 sz)
* long bpf_d_path(const struct path *path, char *buf, u32 sz)
* Description
* Return full path for given **struct path** object, which
* needs to be the kernel BTF *path* object. The path is
@@ -6666,6 +6682,8 @@ struct bpf_map_info {
__u32 btf_value_type_id;
__u32 btf_vmlinux_id;
__u64 map_extra;
__aligned_u64 hash;
__u32 hash_size;
} __attribute__((aligned(8)));
struct bpf_btf_info {
@@ -7418,6 +7436,10 @@ struct bpf_timer {
__u64 __opaque[2];
} __attribute__((aligned(8)));
struct bpf_task_work {
__u64 __opaque;
} __attribute__((aligned(8)));
struct bpf_wq {
__u64 __opaque[2];
} __attribute__((aligned(8)));

View File

@@ -101,8 +101,8 @@ struct can_ctrlmode {
#define CAN_CTRLMODE_PRESUME_ACK 0x40 /* Ignore missing CAN ACKs */
#define CAN_CTRLMODE_FD_NON_ISO 0x80 /* CAN FD in non-ISO mode */
#define CAN_CTRLMODE_CC_LEN8_DLC 0x100 /* Classic CAN DLC option */
#define CAN_CTRLMODE_TDC_AUTO 0x200 /* CAN transiver automatically calculates TDCV */
#define CAN_CTRLMODE_TDC_MANUAL 0x400 /* TDCV is manually set up by user */
#define CAN_CTRLMODE_TDC_AUTO 0x200 /* FD transceiver automatically calculates TDCV */
#define CAN_CTRLMODE_TDC_MANUAL 0x400 /* FD TDCV is manually set up by user */
/*
* CAN device statistics
@@ -129,14 +129,14 @@ enum {
IFLA_CAN_RESTART_MS,
IFLA_CAN_RESTART,
IFLA_CAN_BERR_COUNTER,
IFLA_CAN_DATA_BITTIMING,
IFLA_CAN_DATA_BITTIMING_CONST,
IFLA_CAN_DATA_BITTIMING, /* FD */
IFLA_CAN_DATA_BITTIMING_CONST, /* FD */
IFLA_CAN_TERMINATION,
IFLA_CAN_TERMINATION_CONST,
IFLA_CAN_BITRATE_CONST,
IFLA_CAN_DATA_BITRATE_CONST,
IFLA_CAN_DATA_BITRATE_CONST, /* FD */
IFLA_CAN_BITRATE_MAX,
IFLA_CAN_TDC,
IFLA_CAN_TDC, /* FD */
IFLA_CAN_CTRLMODE_EXT,
/* add new constants above here */
@@ -145,7 +145,7 @@ enum {
};
/*
* CAN FD Transmitter Delay Compensation (TDC)
* CAN FD/XL Transmitter Delay Compensation (TDC)
*
* Please refer to struct can_tdc_const and can_tdc in
* include/linux/can/bittiming.h for further details.

View File

@@ -2378,6 +2378,7 @@ enum {
#define RXH_L4_B_0_1 (1 << 6) /* src port in case of TCP/UDP/SCTP */
#define RXH_L4_B_2_3 (1 << 7) /* dst port in case of TCP/UDP/SCTP */
#define RXH_GTP_TEID (1 << 8) /* teid in case of GTP */
#define RXH_IP6_FL (1 << 9) /* IPv6 flow label */
#define RXH_DISCARD (1 << 31)
#define RX_CLS_FLOW_DISC 0xffffffffffffffffULL

View File

@@ -426,10 +426,13 @@ typedef int __bitwise __kernel_rwf_t;
/* buffered IO that drops the cache after reading or writing data */
#define RWF_DONTCACHE ((__kernel_rwf_t)0x00000080)
/* prevent pipe and socket writes from raising SIGPIPE */
#define RWF_NOSIGNAL ((__kernel_rwf_t)0x00000100)
/* mask of flags supported by the kernel */
#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT |\
RWF_APPEND | RWF_NOAPPEND | RWF_ATOMIC |\
RWF_DONTCACHE)
RWF_DONTCACHE | RWF_NOSIGNAL)
#define PROCFS_IOCTL_MAGIC 'f'

View File

@@ -48,6 +48,8 @@ struct hidraw_devinfo {
#define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
#define HIDIOCREVOKE _IOW('H', 0x0D, int) /* Revoke device access */
#define HIDIOCTL_LAST _IOC_NR(HIDIOCREVOKE)
#define HIDRAW_FIRST_MINOR 0
#define HIDRAW_MAX_DEVICES 64
/* number of reports to buffer */

View File

@@ -823,6 +823,8 @@ struct br_mcast_stats {
/* bridge boolean options
* BR_BOOLOPT_NO_LL_LEARN - disable learning from link-local packets
* BR_BOOLOPT_MCAST_VLAN_SNOOPING - control vlan multicast snooping
* BR_BOOLOPT_FDB_LOCAL_VLAN_0 - local FDB entries installed by the bridge
* driver itself should only be added on VLAN 0
*
* IMPORTANT: if adding a new option do not forget to handle
* it in br_boolopt_toggle/get and bridge sysfs
@@ -832,6 +834,7 @@ enum br_boolopt_id {
BR_BOOLOPT_MCAST_VLAN_SNOOPING,
BR_BOOLOPT_MST_ENABLE,
BR_BOOLOPT_MDB_OFFLOAD_FAIL_NOTIFICATION,
BR_BOOLOPT_FDB_LOCAL_VLAN_0,
BR_BOOLOPT_MAX
};

View File

@@ -379,6 +379,8 @@ enum {
IFLA_DPLL_PIN,
IFLA_MAX_PACING_OFFLOAD_HORIZON,
IFLA_NETNS_IMMUTABLE,
IFLA_HEADROOM,
IFLA_TAILROOM,
__IFLA_MAX
};
@@ -1562,6 +1564,7 @@ enum {
IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE,
IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE,
IFLA_BOND_SLAVE_PRIO,
IFLA_BOND_SLAVE_ACTOR_PORT_PRIO,
__IFLA_BOND_SLAVE_MAX,
};

View File

@@ -27,6 +27,7 @@
#define INPUT_PROP_TOPBUTTONPAD 0x04 /* softbuttons at top of pad */
#define INPUT_PROP_POINTING_STICK 0x05 /* is a pointing stick */
#define INPUT_PROP_ACCELEROMETER 0x06 /* has accelerometer */
#define INPUT_PROP_PRESSUREPAD 0x07 /* pressure triggers clicks */
#define INPUT_PROP_MAX 0x1f
#define INPUT_PROP_CNT (INPUT_PROP_MAX + 1)
@@ -630,6 +631,18 @@
#define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */
#define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */
/*
* Keycodes for hotkeys toggling the electronic privacy screen found on some
* laptops on/off. Note when the embedded-controller turns on/off the eprivacy
* screen itself then the state should be reported through drm connecter props:
* https://www.kernel.org/doc/html/latest/gpu/drm-kms.html#standard-connector-properties
* Except when implementing the drm connecter properties API is not possible
* because e.g. the firmware does not allow querying the presence and/or status
* of the eprivacy screen at boot.
*/
#define KEY_EPRIVACY_SCREEN_ON 0x252
#define KEY_EPRIVACY_SCREEN_OFF 0x253
#define KEY_KBDINPUTASSIST_PREV 0x260
#define KEY_KBDINPUTASSIST_NEXT 0x261
#define KEY_KBDINPUTASSIST_PREVGROUP 0x262

View File

@@ -427,6 +427,24 @@ struct ff_rumble_effect {
__u16 weak_magnitude;
};
/**
* struct ff_haptic_effect
* @hid_usage: hid_usage according to Haptics page (WAVEFORM_CLICK, etc.)
* @vendor_id: the waveform vendor ID if hid_usage is in the vendor-defined range
* @vendor_waveform_page: the vendor waveform page if hid_usage is in the vendor-defined range
* @intensity: strength of the effect as percentage
* @repeat_count: number of times to retrigger effect
* @retrigger_period: time before effect is retriggered (in ms)
*/
struct ff_haptic_effect {
__u16 hid_usage;
__u16 vendor_id;
__u8 vendor_waveform_page;
__u16 intensity;
__u16 repeat_count;
__u16 retrigger_period;
};
/**
* struct ff_effect - defines force feedback effect
* @type: type of the effect (FF_CONSTANT, FF_PERIODIC, FF_RAMP, FF_SPRING,
@@ -463,6 +481,7 @@ struct ff_effect {
struct ff_periodic_effect periodic;
struct ff_condition_effect condition[2]; /* One for each axis */
struct ff_rumble_effect rumble;
struct ff_haptic_effect haptic;
} u;
};
@@ -470,6 +489,7 @@ struct ff_effect {
* Force feedback effect types
*/
#define FF_HAPTIC 0x4f
#define FF_RUMBLE 0x50
#define FF_PERIODIC 0x51
#define FF_CONSTANT 0x52
@@ -479,7 +499,7 @@ struct ff_effect {
#define FF_INERTIA 0x56
#define FF_RAMP 0x57
#define FF_EFFECT_MIN FF_RUMBLE
#define FF_EFFECT_MIN FF_HAPTIC
#define FF_EFFECT_MAX FF_RAMP
/*

View File

@@ -66,10 +66,16 @@ enum {
#define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */
/*
* These bit locations are exposed in the vm.zone_reclaim_mode sysctl
* ABI. New bits are OK, but existing bits can never change.
* Enabling zone reclaim means the page allocator will attempt to fulfill
* the allocation request on the current node by triggering reclaim and
* trying to shrink the current node.
* Fallback allocations on the next candidates in the zonelist are considered
* when reclaim fails to free up enough memory in the current node/zone.
*
* These bit locations are exposed in the vm.zone_reclaim_mode sysctl.
* New bits are OK, but existing bits should not be changed.
*/
#define RECLAIM_ZONE (1<<0) /* Run shrink_inactive_list on the zone */
#define RECLAIM_ZONE (1<<0) /* Enable zone reclaim */
#define RECLAIM_WRITE (1<<1) /* Writeout pages during reclaim */
#define RECLAIM_UNMAP (1<<2) /* Unmap pages during reclaim */

View File

@@ -197,7 +197,7 @@ struct statmount {
*/
struct mnt_id_req {
__u32 size;
__u32 spare;
__u32 mnt_ns_fd;
__u64 mnt_id;
__u64 param;
__u64 mnt_ns_id;

View File

@@ -959,6 +959,7 @@ enum nft_exthdr_attributes {
* @NFT_META_SDIF: slave device interface index
* @NFT_META_SDIFNAME: slave device interface name
* @NFT_META_BRI_BROUTE: packet br_netfilter_broute bit
* @NFT_META_BRI_IIFHWADDR: packet input bridge interface ethernet address
*/
enum nft_meta_keys {
NFT_META_LEN,
@@ -999,6 +1000,7 @@ enum nft_meta_keys {
NFT_META_SDIFNAME,
NFT_META_BRI_BROUTE,
__NFT_META_IIFTYPE,
NFT_META_BRI_IIFHWADDR,
};
/**

View File

@@ -1085,8 +1085,9 @@
* %NL80211_ATTR_NAN_MASTER_PREF attribute and optional
* %NL80211_ATTR_BANDS attributes. If %NL80211_ATTR_BANDS is
* omitted or set to 0, it means don't-care and the device will
* decide what to use. After this command NAN functions can be
* added.
* decide what to use. Additional cluster configuration may be
* optionally provided with %NL80211_ATTR_NAN_CONFIG.
* 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
@@ -1115,6 +1116,10 @@
* current configuration is not changed. If it is present but
* set to zero, the configuration is changed to don't-care
* (i.e. the device can decide what to do).
* Additional parameters may be provided with
* %NL80211_ATTR_NAN_CONFIG. User space should provide all previously
* configured nested attributes under %NL80211_ATTR_NAN_CONFIG, even if
* only a subset was changed.
* @NL80211_CMD_NAN_MATCH: Notification sent when a match is reported.
* This will contain a %NL80211_ATTR_NAN_MATCH nested attribute and
* %NL80211_ATTR_COOKIE.
@@ -1344,6 +1349,18 @@
* control EPCS configuration. Used to notify userland on the current state
* of EPCS.
*
* @NL80211_CMD_NAN_NEXT_DW_NOTIFICATION: This command is used to notify
* user space about the next NAN Discovery Window (DW). User space may use
* it to prepare frames to be sent in the next DW.
* %NL80211_ATTR_WIPHY_FREQ is used to indicate the frequency of the next
* DW. SDF transmission should be requested with %NL80211_CMD_FRAME and
* the device/driver shall take care of the actual transmission timing.
* This notification is only sent to the NAN interface owning socket
* (see %NL80211_ATTR_SOCKET_OWNER flag).
* @NL80211_CMD_NAN_CLUSTER_JOINED: This command is used to notify
* user space that the NAN new cluster has been joined. The cluster ID is
* indicated by %NL80211_ATTR_MAC.
*
* @NL80211_CMD_MAX: highest used command number
* @__NL80211_CMD_AFTER_LAST: internal use
*/
@@ -1604,6 +1621,9 @@ enum nl80211_commands {
NL80211_CMD_ASSOC_MLO_RECONF,
NL80211_CMD_EPCS_CFG,
NL80211_CMD_NAN_NEXT_DW_NOTIFICATION,
NL80211_CMD_NAN_CLUSTER_JOINED,
/* add new commands above here */
/* used to define NL80211_CMD_MAX below */
@@ -1943,8 +1963,9 @@ enum nl80211_commands {
* The driver must also specify support for this with the extended
* features NL80211_EXT_FEATURE_BEACON_RATE_LEGACY,
* NL80211_EXT_FEATURE_BEACON_RATE_HT,
* NL80211_EXT_FEATURE_BEACON_RATE_VHT and
* NL80211_EXT_FEATURE_BEACON_RATE_HE.
* NL80211_EXT_FEATURE_BEACON_RATE_VHT,
* NL80211_EXT_FEATURE_BEACON_RATE_HE and
* NL80211_EXT_FEATURE_BEACON_RATE_EHT.
*
* @NL80211_ATTR_FRAME_MATCH: A binary attribute which typically must contain
* at least one byte, currently used with @NL80211_CMD_REGISTER_FRAME.
@@ -2283,7 +2304,8 @@ enum nl80211_commands {
* @NL80211_ATTR_PEER_AID: Association ID for the peer TDLS station (u16).
* This is similar to @NL80211_ATTR_STA_AID but with a difference of being
* allowed to be used with the first @NL80211_CMD_SET_STATION command to
* update a TDLS peer STA entry.
* update a TDLS peer STA entry. For S1G interfaces, this is limited to
* 1600 for the current mac80211 implementation.
*
* @NL80211_ATTR_COALESCE_RULE: Coalesce rule information.
*
@@ -2928,6 +2950,29 @@ enum nl80211_commands {
* required alongside this attribute. Refer to
* @enum nl80211_s1g_short_beacon_attrs for the attribute definitions.
*
* @NL80211_ATTR_BSS_PARAM: nested attribute used with %NL80211_CMD_GET_WIPHY
* which indicates which BSS parameters can be modified. The attribute can
* also be used as flag attribute by user-space in %NL80211_CMD_SET_BSS to
* indicate that it wants strict checking on the BSS parameters to be
* modified.
*
* @NL80211_ATTR_NAN_CONFIG: Nested attribute for
* extended NAN cluster configuration. This is used with
* %NL80211_CMD_START_NAN and %NL80211_CMD_CHANGE_NAN_CONFIG.
* See &enum nl80211_nan_conf_attributes for details.
* This attribute is optional.
* @NL80211_ATTR_NAN_NEW_CLUSTER: Flag attribute indicating that a new
* NAN cluster has been created. This is used with
* %NL80211_CMD_NAN_CLUSTER_JOINED
* @NL80211_ATTR_NAN_CAPABILITIES: Nested attribute for NAN capabilities.
* This is used with %NL80211_CMD_GET_WIPHY to indicate the NAN
* capabilities supported by the driver. See &enum nl80211_nan_capabilities
* for details.
*
* @NL80211_ATTR_S1G_PRIMARY_2MHZ: flag attribute indicating that the S1G
* primary channel is 2 MHz wide, and the control channel designates
* the 1 MHz primary subchannel within that 2 MHz primary.
*
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
@@ -3489,6 +3534,12 @@ enum nl80211_attrs {
NL80211_ATTR_S1G_LONG_BEACON_PERIOD,
NL80211_ATTR_S1G_SHORT_BEACON,
NL80211_ATTR_BSS_PARAM,
NL80211_ATTR_NAN_CONFIG,
NL80211_ATTR_NAN_NEW_CLUSTER,
NL80211_ATTR_NAN_CAPABILITIES,
NL80211_ATTR_S1G_PRIMARY_2MHZ,
/* add attributes here, update the policy in nl80211.c */
@@ -3735,6 +3786,22 @@ enum nl80211_eht_gi {
NL80211_RATE_INFO_EHT_GI_3_2,
};
/**
* enum nl80211_eht_ltf - EHT long training field
* @NL80211_RATE_INFO_EHT_1XLTF: 3.2 usec
* @NL80211_RATE_INFO_EHT_2XLTF: 6.4 usec
* @NL80211_RATE_INFO_EHT_4XLTF: 12.8 usec
* @NL80211_RATE_INFO_EHT_6XLTF: 19.2 usec
* @NL80211_RATE_INFO_EHT_8XLTF: 25.6 usec
*/
enum nl80211_eht_ltf {
NL80211_RATE_INFO_EHT_1XLTF,
NL80211_RATE_INFO_EHT_2XLTF,
NL80211_RATE_INFO_EHT_4XLTF,
NL80211_RATE_INFO_EHT_6XLTF,
NL80211_RATE_INFO_EHT_8XLTF,
};
/**
* enum nl80211_eht_ru_alloc - EHT RU allocation values
* @NL80211_RATE_INFO_EHT_RU_ALLOC_26: 26-tone RU allocation
@@ -4371,6 +4438,12 @@ enum nl80211_wmm_rule {
* very low power (VLP) AP, despite being NO_IR.
* @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
* 20 MHz bandwidth, despite being NO_IR.
* @NL80211_FREQUENCY_ATTR_NO_4MHZ: 4 MHz operation is not allowed on this
* channel in current regulatory domain.
* @NL80211_FREQUENCY_ATTR_NO_8MHZ: 8 MHz operation is not allowed on this
* channel in current regulatory domain.
* @NL80211_FREQUENCY_ATTR_NO_16MHZ: 16 MHz operation is not allowed on this
* channel in current regulatory domain.
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
* currently defined
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -4416,6 +4489,9 @@ enum nl80211_frequency_attr {
NL80211_FREQUENCY_ATTR_CAN_MONITOR,
NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
NL80211_FREQUENCY_ATTR_NO_4MHZ,
NL80211_FREQUENCY_ATTR_NO_8MHZ,
NL80211_FREQUENCY_ATTR_NO_16MHZ,
/* keep last */
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -5481,6 +5557,10 @@ enum nl80211_key_attributes {
* see &struct nl80211_txrate_he
* @NL80211_TXRATE_HE_GI: configure HE GI, 0.8us, 1.6us and 3.2us.
* @NL80211_TXRATE_HE_LTF: configure HE LTF, 1XLTF, 2XLTF and 4XLTF.
* @NL80211_TXRATE_EHT: EHT rates allowed for TX rate selection,
* see &struct nl80211_txrate_eht
* @NL80211_TXRATE_EHT_GI: configure EHT GI, (u8, see &enum nl80211_eht_gi)
* @NL80211_TXRATE_EHT_LTF: configure EHT LTF, (u8, see &enum nl80211_eht_ltf)
* @__NL80211_TXRATE_AFTER_LAST: internal
* @NL80211_TXRATE_MAX: highest TX rate attribute
*/
@@ -5493,6 +5573,9 @@ enum nl80211_tx_rate_attributes {
NL80211_TXRATE_HE,
NL80211_TXRATE_HE_GI,
NL80211_TXRATE_HE_LTF,
NL80211_TXRATE_EHT,
NL80211_TXRATE_EHT_GI,
NL80211_TXRATE_EHT_LTF,
/* keep last */
__NL80211_TXRATE_AFTER_LAST,
@@ -5525,6 +5608,15 @@ enum nl80211_txrate_gi {
NL80211_TXRATE_FORCE_LGI,
};
#define NL80211_EHT_NSS_MAX 16
/**
* struct nl80211_txrate_eht - EHT MCS/NSS txrate bitmap
* @mcs: MCS bitmap table for each NSS (array index 0 for 1 stream, etc.)
*/
struct nl80211_txrate_eht {
__u16 mcs[NL80211_EHT_NSS_MAX];
};
/**
* enum nl80211_band - Frequency band
* @NL80211_BAND_2GHZ: 2.4 GHz ISM band
@@ -6649,6 +6741,9 @@ enum nl80211_feature_flags {
* (signaling and payload protected) A-MSDUs and this shall be advertised
* in the RSNXE.
*
* @NL80211_EXT_FEATURE_BEACON_RATE_EHT: Driver supports beacon rate
* configuration (AP/mesh) with EHT rates.
*
* @NUM_NL80211_EXT_FEATURES: number of extended features.
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
*/
@@ -6724,6 +6819,7 @@ enum nl80211_ext_feature_index {
NL80211_EXT_FEATURE_OWE_OFFLOAD_AP,
NL80211_EXT_FEATURE_DFS_CONCURRENT,
NL80211_EXT_FEATURE_SPP_AMSDU_SUPPORT,
NL80211_EXT_FEATURE_BEACON_RATE_EHT,
/* add new features before the definition below */
NUM_NL80211_EXT_FEATURES,
@@ -7278,6 +7374,105 @@ enum nl80211_nan_match_attributes {
NL80211_NAN_MATCH_ATTR_MAX = NUM_NL80211_NAN_MATCH_ATTR - 1
};
/**
* enum nl80211_nan_band_conf_attributes - NAN band configuration attributes
* @__NL80211_NAN_BAND_CONF_INVALID: Invalid.
* @NL80211_NAN_BAND_CONF_BAND: Band for which the configuration is
* being set. The value is according to &enum nl80211_band (u8).
* @NL80211_NAN_BAND_CONF_FREQ: Discovery frequency. This attribute shall not
* be present on 2.4 GHZ band. On 5 GHz band its presence is optional.
* The allowed values are 5220 (channel 44) or 5745 (channel 149).
* If not present, channel 149 is used if allowed, otherwise channel 44
* will be selected. The value is in MHz (u16).
* @NL80211_NAN_BAND_CONF_RSSI_CLOSE: RSSI close threshold used for NAN state
* transition algorithm as described in chapters 3.3.6 and 3.3.7 "NAN
* Device Role and State Transition" of Wi-Fi Aware (TM) Specification
* v4.0. If not specified, default device value is used. The value should
* be greater than -60 dBm (s8).
* @NL80211_NAN_BAND_CONF_RSSI_MIDDLE: RSSI middle threshold used for NAN state
* transition algorithm as described in chapters 3.3.6 and 3.3.7 "NAN
* Device Role and State Transition" of Wi-Fi Aware (TM) Specification
* v4.0. If not present, default device value is used. The value should be
* greater than -75 dBm and less than %NL80211_NAN_BAND_CONF_RSSI_CLOSE
* (s8).
* @NL80211_NAN_BAND_CONF_WAKE_DW: Committed DW information (values 0-5).
* Value 0 means that the device will not wake up during the
* discovery window. Values 1-5 mean that the device will wake up
* during each 2^(n - 1) discovery window, where n is the value of
* this attribute. Setting this attribute to 0 is not allowed on
* 2.4 GHz band (u8). This is an optional parameter (default is 1).
* @NL80211_NAN_BAND_CONF_DISABLE_SCAN: Optional flag attribute to disable
* scanning (for cluster merge) on the band. If set, the device will not
* scan on this band anymore. Disabling scanning on 2.4 GHz band is not
* allowed.
* @NUM_NL80211_NAN_BAND_CONF_ATTR: Internal.
* @NL80211_NAN_BAND_CONF_ATTR_MAX: Highest NAN band configuration attribute.
*
* These attributes are used to configure NAN band-specific parameters. Note,
* that both RSSI attributes should be configured (or both left unset).
*/
enum nl80211_nan_band_conf_attributes {
__NL80211_NAN_BAND_CONF_INVALID,
NL80211_NAN_BAND_CONF_BAND,
NL80211_NAN_BAND_CONF_FREQ,
NL80211_NAN_BAND_CONF_RSSI_CLOSE,
NL80211_NAN_BAND_CONF_RSSI_MIDDLE,
NL80211_NAN_BAND_CONF_WAKE_DW,
NL80211_NAN_BAND_CONF_DISABLE_SCAN,
/* keep last */
NUM_NL80211_NAN_BAND_CONF_ATTR,
NL80211_NAN_BAND_CONF_ATTR_MAX = NUM_NL80211_NAN_BAND_CONF_ATTR - 1,
};
/**
* enum nl80211_nan_conf_attributes - NAN configuration attributes
* @__NL80211_NAN_CONF_INVALID: Invalid attribute, used for validation.
* @NL80211_NAN_CONF_CLUSTER_ID: ID for the NAN cluster. This is a MAC
* address that can take values from 50-6F-9A-01-00-00 to
* 50-6F-9A-01-FF-FF. This attribute is optional. If not present,
* a random Cluster ID will be chosen.
* @NL80211_NAN_CONF_EXTRA_ATTRS: Additional NAN attributes to be
* published in the beacons. This is an optional byte array.
* @NL80211_NAN_CONF_VENDOR_ELEMS: Vendor-specific elements that will
* be published in the beacons. This is an optional byte array.
* @NL80211_NAN_CONF_BAND_CONFIGS: This is a nested array attribute,
* containing multiple entries for each supported band. Each band
* configuration consists of &enum nl80211_nan_band_conf_attributes.
* @NL80211_NAN_CONF_SCAN_PERIOD: Scan period in seconds. If not configured,
* device default is used. Zero value will disable scanning.
* This is u16 (optional).
* @NL80211_NAN_CONF_SCAN_DWELL_TIME: Scan dwell time in TUs per channel.
* Only non-zero values are valid. If not configured the device default
* value is used. This is u16 (optional)
* @NL80211_NAN_CONF_DISCOVERY_BEACON_INTERVAL: Discovery beacon interval
* in TUs. Valid range is 50-200 TUs. If not configured the device default
* value is used. This is u8 (optional)
* @NL80211_NAN_CONF_NOTIFY_DW: If set, the driver will notify userspace about
* the upcoming discovery window with
* %NL80211_CMD_NAN_NEXT_DW_NOTIFICATION.
* This is a flag attribute.
* @NUM_NL80211_NAN_CONF_ATTR: Internal.
* @NL80211_NAN_CONF_ATTR_MAX: Highest NAN configuration attribute.
*
* These attributes are used to configure NAN-specific parameters.
*/
enum nl80211_nan_conf_attributes {
__NL80211_NAN_CONF_INVALID,
NL80211_NAN_CONF_CLUSTER_ID,
NL80211_NAN_CONF_EXTRA_ATTRS,
NL80211_NAN_CONF_VENDOR_ELEMS,
NL80211_NAN_CONF_BAND_CONFIGS,
NL80211_NAN_CONF_SCAN_PERIOD,
NL80211_NAN_CONF_SCAN_DWELL_TIME,
NL80211_NAN_CONF_DISCOVERY_BEACON_INTERVAL,
NL80211_NAN_CONF_NOTIFY_DW,
/* keep last */
NUM_NL80211_NAN_CONF_ATTR,
NL80211_NAN_CONF_ATTR_MAX = NUM_NL80211_NAN_CONF_ATTR - 1,
};
/**
* enum nl80211_external_auth_action - Action to perform with external
* authentication request. Used by NL80211_ATTR_EXTERNAL_AUTH_ACTION.
@@ -8187,4 +8382,54 @@ enum nl80211_s1g_short_beacon_attrs {
__NL80211_S1G_SHORT_BEACON_ATTR_LAST - 1
};
/**
* enum nl80211_nan_capabilities - NAN (Neighbor Aware Networking)
* capabilities.
*
* @__NL80211_NAN_CAPABILITIES_INVALID: Invalid.
* @NL80211_NAN_CAPA_CONFIGURABLE_SYNC: Flag attribute indicating that
* the device supports configurable synchronization. If set, the device
* should be able to handle %NL80211_ATTR_NAN_CONFIG
* attribute in the %NL80211_CMD_START_NAN (and change) command.
* @NL80211_NAN_CAPA_USERSPACE_DE: Flag attribute indicating that
* NAN Discovery Engine (DE) is not offloaded and the driver assumes
* user space DE implementation. When set, %NL80211_CMD_ADD_NAN_FUNCTION,
* %NL80211_CMD_DEL_NAN_FUNCTION and %NL80211_CMD_NAN_MATCH commands
* should not be used. In addition, the device/driver should support
* sending discovery window (DW) notifications using
* %NL80211_CMD_NAN_NEXT_DW_NOTIFICATION and handling transmission and
* reception of NAN SDF frames on NAN device interface during DW windows.
* (%NL80211_CMD_FRAME is used to transmit SDFs)
* @NL80211_NAN_CAPA_OP_MODE: u8 attribute indicating the supported operation
* modes as defined in Wi-Fi Aware (TM) specification Table 81 (Operation
* Mode field format).
* @NL80211_NAN_CAPA_NUM_ANTENNAS: u8 attribute indicating the number of
* TX and RX antennas supported by the device. Lower nibble indicates
* the number of TX antennas and upper nibble indicates the number of RX
* antennas. Value 0 indicates the information is not available.
* See table 79 of Wi-Fi Aware (TM) specification (Number of
* Antennas field).
* @NL80211_NAN_CAPA_MAX_CHANNEL_SWITCH_TIME: u16 attribute indicating the
* maximum time in microseconds that the device requires to switch
* channels.
* @NL80211_NAN_CAPA_CAPABILITIES: u8 attribute containing the
* capabilities of the device as defined in Wi-Fi Aware (TM)
* specification Table 79 (Capabilities field).
* @__NL80211_NAN_CAPABILITIES_LAST: Internal
* @NL80211_NAN_CAPABILITIES_MAX: Highest NAN capability attribute.
*/
enum nl80211_nan_capabilities {
__NL80211_NAN_CAPABILITIES_INVALID,
NL80211_NAN_CAPA_CONFIGURABLE_SYNC,
NL80211_NAN_CAPA_USERSPACE_DE,
NL80211_NAN_CAPA_OP_MODE,
NL80211_NAN_CAPA_NUM_ANTENNAS,
NL80211_NAN_CAPA_MAX_CHANNEL_SWITCH_TIME,
NL80211_NAN_CAPA_CAPABILITIES,
/* keep last */
__NL80211_NAN_CAPABILITIES_LAST,
NL80211_NAN_CAPABILITIES_MAX = __NL80211_NAN_CAPABILITIES_LAST - 1,
};
#endif /* __LINUX_NL80211_H */

View File

@@ -177,7 +177,17 @@ struct prctl_mm_map {
#define PR_GET_TID_ADDRESS 40
/*
* Flags for PR_SET_THP_DISABLE are only applicable when disabling. Bit 0
* is reserved, so PR_GET_THP_DISABLE can return "1 | flags", to effectively
* return "1" when no flags were specified for PR_SET_THP_DISABLE.
*/
#define PR_SET_THP_DISABLE 41
/*
* Don't disable THPs when explicitly advised (e.g., MADV_HUGEPAGE /
* VM_HUGEPAGE, MADV_COLLAPSE).
*/
# define PR_THP_DISABLE_EXCEPT_ADVISED (1 << 1)
#define PR_GET_THP_DISABLE 42
/*

View File

@@ -3,7 +3,6 @@
#define _LINUX_STDDEF_H
#ifndef __always_inline
#define __always_inline __inline__
#endif