Merge tag 'v5.1' into next
Sync up with mainline to bring in the latest APIs.
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
# UAPI Header export list
|
||||
|
||||
ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/a.out.h),)
|
||||
no-export-headers += a.out.h
|
||||
endif
|
||||
@@ -9,5 +7,7 @@ no-export-headers += kvm.h
|
||||
endif
|
||||
|
||||
ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm_para.h),)
|
||||
ifeq ($(wildcard $(objtree)/arch/$(SRCARCH)/include/generated/uapi/asm/kvm_para.h),)
|
||||
no-export-headers += kvm_para.h
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -50,6 +50,8 @@ enum {
|
||||
*
|
||||
* IOCB_FLAG_RESFD - Set if the "aio_resfd" member of the "struct iocb"
|
||||
* is valid.
|
||||
* IOCB_FLAG_IOPRIO - Set if the "aio_reqprio" member of the "struct iocb"
|
||||
* is valid.
|
||||
*/
|
||||
#define IOCB_FLAG_RESFD (1 << 0)
|
||||
#define IOCB_FLAG_IOPRIO (1 << 1)
|
||||
|
||||
@@ -41,6 +41,14 @@ enum {
|
||||
enum {
|
||||
FLAT_BINDER_FLAG_PRIORITY_MASK = 0xff,
|
||||
FLAT_BINDER_FLAG_ACCEPTS_FDS = 0x100,
|
||||
|
||||
/**
|
||||
* @FLAT_BINDER_FLAG_TXN_SECURITY_CTX: request security contexts
|
||||
*
|
||||
* Only when set, causes senders to include their security
|
||||
* context
|
||||
*/
|
||||
FLAT_BINDER_FLAG_TXN_SECURITY_CTX = 0x1000,
|
||||
};
|
||||
|
||||
#ifdef BINDER_IPC_32BIT
|
||||
@@ -218,6 +226,7 @@ struct binder_node_info_for_ref {
|
||||
#define BINDER_VERSION _IOWR('b', 9, struct binder_version)
|
||||
#define BINDER_GET_NODE_DEBUG_INFO _IOWR('b', 11, struct binder_node_debug_info)
|
||||
#define BINDER_GET_NODE_INFO_FOR_REF _IOWR('b', 12, struct binder_node_info_for_ref)
|
||||
#define BINDER_SET_CONTEXT_MGR_EXT _IOW('b', 13, struct flat_binder_object)
|
||||
|
||||
/*
|
||||
* NOTE: Two special error codes you should check for when calling
|
||||
@@ -276,6 +285,11 @@ struct binder_transaction_data {
|
||||
} data;
|
||||
};
|
||||
|
||||
struct binder_transaction_data_secctx {
|
||||
struct binder_transaction_data transaction_data;
|
||||
binder_uintptr_t secctx;
|
||||
};
|
||||
|
||||
struct binder_transaction_data_sg {
|
||||
struct binder_transaction_data transaction_data;
|
||||
binder_size_t buffers_size;
|
||||
@@ -311,6 +325,11 @@ enum binder_driver_return_protocol {
|
||||
BR_OK = _IO('r', 1),
|
||||
/* No parameters! */
|
||||
|
||||
BR_TRANSACTION_SEC_CTX = _IOR('r', 2,
|
||||
struct binder_transaction_data_secctx),
|
||||
/*
|
||||
* binder_transaction_data_secctx: the received command.
|
||||
*/
|
||||
BR_TRANSACTION = _IOR('r', 2, struct binder_transaction_data),
|
||||
BR_REPLY = _IOR('r', 3, struct binder_transaction_data),
|
||||
/*
|
||||
|
||||
35
include/uapi/linux/android/binderfs.h
Normal file
35
include/uapi/linux/android/binderfs.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* Copyright (C) 2018 Canonical Ltd.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_BINDERFS_H
|
||||
#define _UAPI_LINUX_BINDERFS_H
|
||||
|
||||
#include <linux/android/binder.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/ioctl.h>
|
||||
|
||||
#define BINDERFS_MAX_NAME 255
|
||||
|
||||
/**
|
||||
* struct binderfs_device - retrieve information about a new binder device
|
||||
* @name: the name to use for the new binderfs binder device
|
||||
* @major: major number allocated for binderfs binder devices
|
||||
* @minor: minor number allocated for the new binderfs binder device
|
||||
*
|
||||
*/
|
||||
struct binderfs_device {
|
||||
char name[BINDERFS_MAX_NAME + 1];
|
||||
__u32 major;
|
||||
__u32 minor;
|
||||
};
|
||||
|
||||
/**
|
||||
* Allocate a new binder device.
|
||||
*/
|
||||
#define BINDER_CTL_ADD _IOWR('b', 1, struct binderfs_device)
|
||||
|
||||
#endif /* _UAPI_LINUX_BINDERFS_H */
|
||||
|
||||
@@ -378,6 +378,7 @@ enum {
|
||||
#define AUDIT_ARCH_ARM (EM_ARM|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_ARMEB (EM_ARM)
|
||||
#define AUDIT_ARCH_CRIS (EM_CRIS|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_CSKY (EM_CSKY|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_FRV (EM_FRV)
|
||||
#define AUDIT_ARCH_I386 (EM_386|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_IA64 (EM_IA_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
|
||||
@@ -399,6 +400,8 @@ enum {
|
||||
/* do not define AUDIT_ARCH_PPCLE since it is not supported by audit */
|
||||
#define AUDIT_ARCH_PPC64 (EM_PPC64|__AUDIT_ARCH_64BIT)
|
||||
#define AUDIT_ARCH_PPC64LE (EM_PPC64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_RISCV32 (EM_RISCV|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_RISCV64 (EM_RISCV|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_S390 (EM_S390)
|
||||
#define AUDIT_ARCH_S390X (EM_S390|__AUDIT_ARCH_64BIT)
|
||||
#define AUDIT_ARCH_SH (EM_SH)
|
||||
@@ -411,6 +414,7 @@ enum {
|
||||
#define AUDIT_ARCH_TILEGX32 (EM_TILEGX|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_TILEPRO (EM_TILEPRO|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_XTENSA (EM_XTENSA)
|
||||
|
||||
#define AUDIT_PERM_EXEC 1
|
||||
#define AUDIT_PERM_WRITE 2
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#define AUTOFS_MIN_PROTO_VERSION 3
|
||||
#define AUTOFS_MAX_PROTO_VERSION 5
|
||||
|
||||
#define AUTOFS_PROTO_SUBVERSION 3
|
||||
#define AUTOFS_PROTO_SUBVERSION 5
|
||||
|
||||
/*
|
||||
* The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) */
|
||||
/* Copyright (C) 2007-2018 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2019 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
@@ -229,7 +229,7 @@ struct batadv_ogm_packet {
|
||||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @flags: reseved for routing relevant flags - currently always 0
|
||||
* @flags: reserved for routing relevant flags - currently always 0
|
||||
* @seqno: sequence number
|
||||
* @orig: originator mac address
|
||||
* @tvlv_len: length of the appended tvlv buffer (in bytes)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
/* Copyright (C) 2016-2018 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2016-2019 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Matthias Schiffer
|
||||
*
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#define BATADV_NL_NAME "batadv"
|
||||
|
||||
#define BATADV_NL_MCAST_GROUP_CONFIG "config"
|
||||
#define BATADV_NL_MCAST_GROUP_TPMETER "tpmeter"
|
||||
|
||||
/**
|
||||
@@ -138,6 +139,20 @@ enum batadv_mcast_flags_priv {
|
||||
BATADV_MCAST_FLAGS_QUERIER_IPV6_SHADOWING = (1 << 4),
|
||||
};
|
||||
|
||||
/**
|
||||
* enum batadv_gw_modes - gateway mode of node
|
||||
*/
|
||||
enum batadv_gw_modes {
|
||||
/** @BATADV_GW_MODE_OFF: gw mode disabled */
|
||||
BATADV_GW_MODE_OFF,
|
||||
|
||||
/** @BATADV_GW_MODE_CLIENT: send DHCP requests to gw servers */
|
||||
BATADV_GW_MODE_CLIENT,
|
||||
|
||||
/** @BATADV_GW_MODE_SERVER: announce itself as gatway server */
|
||||
BATADV_GW_MODE_SERVER,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum batadv_nl_attrs - batman-adv netlink attributes
|
||||
*/
|
||||
@@ -344,6 +359,138 @@ enum batadv_nl_attrs {
|
||||
*/
|
||||
BATADV_ATTR_MCAST_FLAGS_PRIV,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_VLANID: VLAN id on top of soft interface
|
||||
*/
|
||||
BATADV_ATTR_VLANID,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_AGGREGATED_OGMS_ENABLED: whether the batman protocol
|
||||
* messages of the mesh interface shall be aggregated or not.
|
||||
*/
|
||||
BATADV_ATTR_AGGREGATED_OGMS_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_AP_ISOLATION_ENABLED: whether the data traffic going
|
||||
* from a wireless client to another wireless client will be silently
|
||||
* dropped.
|
||||
*/
|
||||
BATADV_ATTR_AP_ISOLATION_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_ISOLATION_MARK: the isolation mark which is used to
|
||||
* classify clients as "isolated" by the Extended Isolation feature.
|
||||
*/
|
||||
BATADV_ATTR_ISOLATION_MARK,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_ISOLATION_MASK: the isolation (bit)mask which is used to
|
||||
* classify clients as "isolated" by the Extended Isolation feature.
|
||||
*/
|
||||
BATADV_ATTR_ISOLATION_MASK,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_BONDING_ENABLED: whether the data traffic going through
|
||||
* the mesh will be sent using multiple interfaces at the same time.
|
||||
*/
|
||||
BATADV_ATTR_BONDING_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED: whether the bridge loop
|
||||
* avoidance feature is enabled. This feature detects and avoids loops
|
||||
* between the mesh and devices bridged with the soft interface
|
||||
*/
|
||||
BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED: whether the distributed
|
||||
* arp table feature is enabled. This feature uses a distributed hash
|
||||
* table to answer ARP requests without flooding the request through
|
||||
* the whole mesh.
|
||||
*/
|
||||
BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_FRAGMENTATION_ENABLED: whether the data traffic going
|
||||
* through the mesh will be fragmented or silently discarded if the
|
||||
* packet size exceeds the outgoing interface MTU.
|
||||
*/
|
||||
BATADV_ATTR_FRAGMENTATION_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_GW_BANDWIDTH_DOWN: defines the download bandwidth which
|
||||
* is propagated by this node if %BATADV_ATTR_GW_BANDWIDTH_MODE was set
|
||||
* to 'server'.
|
||||
*/
|
||||
BATADV_ATTR_GW_BANDWIDTH_DOWN,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_GW_BANDWIDTH_UP: defines the upload bandwidth which
|
||||
* is propagated by this node if %BATADV_ATTR_GW_BANDWIDTH_MODE was set
|
||||
* to 'server'.
|
||||
*/
|
||||
BATADV_ATTR_GW_BANDWIDTH_UP,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_GW_MODE: defines the state of the gateway features.
|
||||
* Possible values are specified in enum batadv_gw_modes
|
||||
*/
|
||||
BATADV_ATTR_GW_MODE,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_GW_SEL_CLASS: defines the selection criteria this node
|
||||
* will use to choose a gateway if gw_mode was set to 'client'.
|
||||
*/
|
||||
BATADV_ATTR_GW_SEL_CLASS,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_HOP_PENALTY: defines the penalty which will be applied
|
||||
* to an originator message's tq-field on every hop.
|
||||
*/
|
||||
BATADV_ATTR_HOP_PENALTY,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_LOG_LEVEL: bitmask with to define which debug messages
|
||||
* should be send to the debug log/trace ring buffer
|
||||
*/
|
||||
BATADV_ATTR_LOG_LEVEL,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED: whether multicast
|
||||
* optimizations should be replaced by simple broadcast-like flooding
|
||||
* of multicast packets. If set to non-zero then all nodes in the mesh
|
||||
* are going to use classic flooding for any multicast packet with no
|
||||
* optimizations.
|
||||
*/
|
||||
BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_NETWORK_CODING_ENABLED: whether Network Coding (using
|
||||
* some magic to send fewer wifi packets but still the same content) is
|
||||
* enabled or not.
|
||||
*/
|
||||
BATADV_ATTR_NETWORK_CODING_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_ORIG_INTERVAL: defines the interval in milliseconds in
|
||||
* which batman sends its protocol messages.
|
||||
*/
|
||||
BATADV_ATTR_ORIG_INTERVAL,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_ELP_INTERVAL: defines the interval in milliseconds in
|
||||
* which batman emits probing packets for neighbor sensing (ELP).
|
||||
*/
|
||||
BATADV_ATTR_ELP_INTERVAL,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_THROUGHPUT_OVERRIDE: defines the throughput value to be
|
||||
* used by B.A.T.M.A.N. V when estimating the link throughput using
|
||||
* this interface. If the value is set to 0 then batman-adv will try to
|
||||
* estimate the throughput by itself.
|
||||
*/
|
||||
BATADV_ATTR_THROUGHPUT_OVERRIDE,
|
||||
|
||||
/* add attributes above here, update the policy in netlink.c */
|
||||
|
||||
/**
|
||||
@@ -372,10 +519,14 @@ enum batadv_nl_commands {
|
||||
BATADV_CMD_UNSPEC,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_MESH_INFO: Query basic information about batman-adv
|
||||
* device
|
||||
* @BATADV_CMD_GET_MESH: Get attributes from softif/mesh
|
||||
*/
|
||||
BATADV_CMD_GET_MESH_INFO,
|
||||
BATADV_CMD_GET_MESH,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_MESH_INFO: Alias for @BATADV_CMD_GET_MESH
|
||||
*/
|
||||
BATADV_CMD_GET_MESH_INFO = BATADV_CMD_GET_MESH,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_TP_METER: Start a tp meter session
|
||||
@@ -393,9 +544,15 @@ enum batadv_nl_commands {
|
||||
BATADV_CMD_GET_ROUTING_ALGOS,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_HARDIFS: Query list of hard interfaces
|
||||
* @BATADV_CMD_GET_HARDIF: Get attributes from a hardif of the
|
||||
* current softif
|
||||
*/
|
||||
BATADV_CMD_GET_HARDIFS,
|
||||
BATADV_CMD_GET_HARDIF,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_HARDIFS: Alias for @BATADV_CMD_GET_HARDIF
|
||||
*/
|
||||
BATADV_CMD_GET_HARDIFS = BATADV_CMD_GET_HARDIF,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_TRANSTABLE_LOCAL: Query list of local translations
|
||||
@@ -443,6 +600,29 @@ enum batadv_nl_commands {
|
||||
*/
|
||||
BATADV_CMD_GET_MCAST_FLAGS,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_SET_MESH: Set attributes for softif/mesh
|
||||
*/
|
||||
BATADV_CMD_SET_MESH,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_SET_HARDIF: Set attributes for hardif of the
|
||||
* current softif
|
||||
*/
|
||||
BATADV_CMD_SET_HARDIF,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_VLAN: Get attributes from a VLAN of the
|
||||
* current softif
|
||||
*/
|
||||
BATADV_CMD_GET_VLAN,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_SET_VLAN: Set attributes for VLAN of the
|
||||
* current softif
|
||||
*/
|
||||
BATADV_CMD_SET_VLAN,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* include/linux/bfs_fs.h - BFS data structures on disk.
|
||||
* Copyright (C) 1999 Tigran Aivazian <tigran@veritas.com>
|
||||
* Copyright (C) 1999-2018 Tigran Aivazian <aivazian.tigran@gmail.com>
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_BFS_FS_H
|
||||
|
||||
@@ -16,6 +16,6 @@ struct pt_regs;
|
||||
#define MAX_ARG_STRINGS 0x7FFFFFFF
|
||||
|
||||
/* sizeof(linux_binprm->buf) */
|
||||
#define BINPRM_BUF_SIZE 128
|
||||
#define BINPRM_BUF_SIZE 256
|
||||
|
||||
#endif /* _UAPI_LINUX_BINFMTS_H */
|
||||
|
||||
@@ -138,6 +138,7 @@ struct blk_zone_range {
|
||||
* @BLKRESETZONE: Reset the write pointer of the zones in the specified
|
||||
* sector range. The sector range must be zone aligned.
|
||||
* @BLKGETZONESZ: Get the device zone size in number of 512 B sectors.
|
||||
* @BLKGETNRZONES: Get the total number of zones of the device.
|
||||
*/
|
||||
#define BLKREPORTZONE _IOWR(0x12, 130, struct blk_zone_report)
|
||||
#define BLKRESETZONE _IOW(0x12, 131, struct blk_zone_range)
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
/* Extended instruction set based on top of classic BPF */
|
||||
|
||||
/* instruction classes */
|
||||
#define BPF_JMP32 0x06 /* jmp mode in word width */
|
||||
#define BPF_ALU64 0x07 /* alu mode in double word width */
|
||||
|
||||
/* ld/ldx fields */
|
||||
@@ -133,6 +134,14 @@ enum bpf_map_type {
|
||||
BPF_MAP_TYPE_STACK,
|
||||
};
|
||||
|
||||
/* Note that tracing related programs such as
|
||||
* BPF_PROG_TYPE_{KPROBE,TRACEPOINT,PERF_EVENT,RAW_TRACEPOINT}
|
||||
* are not subject to a stable API since kernel internal data
|
||||
* structures can change from release to release and may
|
||||
* therefore break existing tracing BPF programs. Tracing BPF
|
||||
* programs correspond to /a/ specific kernel which is to be
|
||||
* analyzed, and not /a/ specific kernel /and/ all future ones.
|
||||
*/
|
||||
enum bpf_prog_type {
|
||||
BPF_PROG_TYPE_UNSPEC,
|
||||
BPF_PROG_TYPE_SOCKET_FILTER,
|
||||
@@ -232,6 +241,20 @@ enum bpf_attach_type {
|
||||
*/
|
||||
#define BPF_F_STRICT_ALIGNMENT (1U << 0)
|
||||
|
||||
/* If BPF_F_ANY_ALIGNMENT is used in BPF_PROF_LOAD command, the
|
||||
* verifier will allow any alignment whatsoever. On platforms
|
||||
* with strict alignment requirements for loads ands stores (such
|
||||
* as sparc and mips) the verifier validates that all loads and
|
||||
* stores provably follow this requirement. This flag turns that
|
||||
* checking and enforcement off.
|
||||
*
|
||||
* It is mostly used for testing when we want to validate the
|
||||
* context and memory access aspects of the verifier, but because
|
||||
* of an unaligned access the alignment check would trigger before
|
||||
* the one we are interested in.
|
||||
*/
|
||||
#define BPF_F_ANY_ALIGNMENT (1U << 1)
|
||||
|
||||
/* when bpf_ldimm64->src_reg == BPF_PSEUDO_MAP_FD, bpf_ldimm64->imm == fd */
|
||||
#define BPF_PSEUDO_MAP_FD 1
|
||||
|
||||
@@ -244,6 +267,7 @@ enum bpf_attach_type {
|
||||
#define BPF_ANY 0 /* create new element or update existing */
|
||||
#define BPF_NOEXIST 1 /* create new element if it didn't exist */
|
||||
#define BPF_EXIST 2 /* update existing element */
|
||||
#define BPF_F_LOCK 4 /* spin_lock-ed map_lookup/map_update */
|
||||
|
||||
/* flags for BPF_MAP_CREATE command */
|
||||
#define BPF_F_NO_PREALLOC (1U << 0)
|
||||
@@ -257,9 +281,6 @@ enum bpf_attach_type {
|
||||
/* Specify numa node during map creation */
|
||||
#define BPF_F_NUMA_NODE (1U << 2)
|
||||
|
||||
/* flags for BPF_PROG_QUERY */
|
||||
#define BPF_F_QUERY_EFFECTIVE (1U << 0)
|
||||
|
||||
#define BPF_OBJ_NAME_LEN 16U
|
||||
|
||||
/* Flags for accessing BPF object */
|
||||
@@ -269,6 +290,12 @@ enum bpf_attach_type {
|
||||
/* Flag for stack_map, store build_id+offset instead of pointer */
|
||||
#define BPF_F_STACK_BUILD_ID (1U << 5)
|
||||
|
||||
/* Zero-initialize hash function seed. This should only be used for testing. */
|
||||
#define BPF_F_ZERO_SEED (1U << 6)
|
||||
|
||||
/* flags for BPF_PROG_QUERY */
|
||||
#define BPF_F_QUERY_EFFECTIVE (1U << 0)
|
||||
|
||||
enum bpf_stack_build_id_status {
|
||||
/* user space need an empty entry to identify end of a trace */
|
||||
BPF_STACK_BUILD_ID_EMPTY = 0,
|
||||
@@ -326,7 +353,7 @@ union bpf_attr {
|
||||
__u32 log_level; /* verbosity level of verifier */
|
||||
__u32 log_size; /* size of user buffer */
|
||||
__aligned_u64 log_buf; /* user supplied buffer */
|
||||
__u32 kern_version; /* checked when prog_type=kprobe */
|
||||
__u32 kern_version; /* not used */
|
||||
__u32 prog_flags;
|
||||
char prog_name[BPF_OBJ_NAME_LEN];
|
||||
__u32 prog_ifindex; /* ifindex of netdev to prep for */
|
||||
@@ -335,6 +362,13 @@ union bpf_attr {
|
||||
* (context accesses, allowed helpers, etc).
|
||||
*/
|
||||
__u32 expected_attach_type;
|
||||
__u32 prog_btf_fd; /* fd pointing to BTF type data */
|
||||
__u32 func_info_rec_size; /* userspace bpf_func_info size */
|
||||
__aligned_u64 func_info; /* func info */
|
||||
__u32 func_info_cnt; /* number of bpf_func_info records */
|
||||
__u32 line_info_rec_size; /* userspace bpf_line_info size */
|
||||
__aligned_u64 line_info; /* line info */
|
||||
__u32 line_info_cnt; /* number of bpf_line_info records */
|
||||
};
|
||||
|
||||
struct { /* anonymous struct used by BPF_OBJ_* commands */
|
||||
@@ -353,8 +387,11 @@ union bpf_attr {
|
||||
struct { /* anonymous struct used by BPF_PROG_TEST_RUN command */
|
||||
__u32 prog_fd;
|
||||
__u32 retval;
|
||||
__u32 data_size_in;
|
||||
__u32 data_size_out;
|
||||
__u32 data_size_in; /* input: len of data_in */
|
||||
__u32 data_size_out; /* input/output: len of data_out
|
||||
* returns ENOSPC if data_out
|
||||
* is too small.
|
||||
*/
|
||||
__aligned_u64 data_in;
|
||||
__aligned_u64 data_out;
|
||||
__u32 repeat;
|
||||
@@ -465,28 +502,6 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_map_push_elem(struct bpf_map *map, const void *value, u64 flags)
|
||||
* Description
|
||||
* Push an element *value* in *map*. *flags* is one of:
|
||||
*
|
||||
* **BPF_EXIST**
|
||||
* If the queue/stack is full, the oldest element is removed to
|
||||
* make room for this.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_map_pop_elem(struct bpf_map *map, void *value)
|
||||
* Description
|
||||
* Pop an element from *map*.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_map_peek_elem(struct bpf_map *map, void *value)
|
||||
* Description
|
||||
* Get an element from *map* without removing it.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_probe_read(void *dst, u32 size, const void *src)
|
||||
* Description
|
||||
* For tracing programs, safely attempt to read *size* bytes from
|
||||
@@ -1410,14 +1425,14 @@ union bpf_attr {
|
||||
* u64 bpf_get_socket_cookie(struct bpf_sock_addr *ctx)
|
||||
* Description
|
||||
* Equivalent to bpf_get_socket_cookie() helper that accepts
|
||||
* *skb*, but gets socket from **struct bpf_sock_addr** contex.
|
||||
* *skb*, but gets socket from **struct bpf_sock_addr** context.
|
||||
* Return
|
||||
* A 8-byte long non-decreasing number.
|
||||
*
|
||||
* u64 bpf_get_socket_cookie(struct bpf_sock_ops *ctx)
|
||||
* Description
|
||||
* Equivalent to bpf_get_socket_cookie() helper that accepts
|
||||
* *skb*, but gets socket from **struct bpf_sock_ops** contex.
|
||||
* *skb*, but gets socket from **struct bpf_sock_ops** context.
|
||||
* Return
|
||||
* A 8-byte long non-decreasing number.
|
||||
*
|
||||
@@ -1910,9 +1925,9 @@ union bpf_attr {
|
||||
* is set to metric from route (IPv4/IPv6 only), and ifindex
|
||||
* is set to the device index of the nexthop from the FIB lookup.
|
||||
*
|
||||
* *plen* argument is the size of the passed in struct.
|
||||
* *flags* argument can be a combination of one or more of the
|
||||
* following values:
|
||||
* *plen* argument is the size of the passed in struct.
|
||||
* *flags* argument can be a combination of one or more of the
|
||||
* following values:
|
||||
*
|
||||
* **BPF_FIB_LOOKUP_DIRECT**
|
||||
* Do a direct table lookup vs full lookup using FIB
|
||||
@@ -1921,9 +1936,9 @@ union bpf_attr {
|
||||
* Perform lookup from an egress perspective (default is
|
||||
* ingress).
|
||||
*
|
||||
* *ctx* is either **struct xdp_md** for XDP programs or
|
||||
* **struct sk_buff** tc cls_act programs.
|
||||
* Return
|
||||
* *ctx* is either **struct xdp_md** for XDP programs or
|
||||
* **struct sk_buff** tc cls_act programs.
|
||||
* Return
|
||||
* * < 0 if any input argument is invalid
|
||||
* * 0 on success (packet is forwarded, nexthop neighbor exists)
|
||||
* * > 0 one of **BPF_FIB_LKUP_RET_** codes explaining why the
|
||||
@@ -1991,6 +2006,19 @@ union bpf_attr {
|
||||
* Only works if *skb* contains an IPv6 packet. Insert a
|
||||
* Segment Routing Header (**struct ipv6_sr_hdr**) inside
|
||||
* the IPv6 header.
|
||||
* **BPF_LWT_ENCAP_IP**
|
||||
* IP encapsulation (GRE/GUE/IPIP/etc). The outer header
|
||||
* must be IPv4 or IPv6, followed by zero or more
|
||||
* additional headers, up to LWT_BPF_MAX_HEADROOM total
|
||||
* bytes in all prepended headers. Please note that
|
||||
* if skb_is_gso(skb) is true, no more than two headers
|
||||
* can be prepended, and the inner header, if present,
|
||||
* should be either GRE or UDP/GUE.
|
||||
*
|
||||
* BPF_LWT_ENCAP_SEG6*** types can be called by bpf programs of
|
||||
* type BPF_PROG_TYPE_LWT_IN; BPF_LWT_ENCAP_IP type can be called
|
||||
* by bpf programs of types BPF_PROG_TYPE_LWT_IN and
|
||||
* BPF_PROG_TYPE_LWT_XMIT.
|
||||
*
|
||||
* A call to this helper is susceptible to change the underlaying
|
||||
* packet buffer. Therefore, at load time, all checks on pointers
|
||||
@@ -2060,32 +2088,6 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_rc_keydown(void *ctx, u32 protocol, u64 scancode, u32 toggle)
|
||||
* Description
|
||||
* This helper is used in programs implementing IR decoding, to
|
||||
* report a successfully decoded key press with *scancode*,
|
||||
* *toggle* value in the given *protocol*. The scancode will be
|
||||
* translated to a keycode using the rc keymap, and reported as
|
||||
* an input key down event. After a period a key up event is
|
||||
* generated. This period can be extended by calling either
|
||||
* **bpf_rc_keydown** () again with the same values, or calling
|
||||
* **bpf_rc_repeat** ().
|
||||
*
|
||||
* Some protocols include a toggle bit, in case the button was
|
||||
* released and pressed again between consecutive scancodes.
|
||||
*
|
||||
* The *ctx* should point to the lirc sample as passed into
|
||||
* the program.
|
||||
*
|
||||
* The *protocol* is the decoded protocol number (see
|
||||
* **enum rc_proto** for some predefined values).
|
||||
*
|
||||
* This helper is only available is the kernel was compiled with
|
||||
* the **CONFIG_BPF_LIRC_MODE2** configuration option set to
|
||||
* "**y**".
|
||||
* Return
|
||||
* 0
|
||||
*
|
||||
* int bpf_rc_repeat(void *ctx)
|
||||
* Description
|
||||
* This helper is used in programs implementing IR decoding, to
|
||||
@@ -2105,7 +2107,33 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0
|
||||
*
|
||||
* uint64_t bpf_skb_cgroup_id(struct sk_buff *skb)
|
||||
* int bpf_rc_keydown(void *ctx, u32 protocol, u64 scancode, u32 toggle)
|
||||
* Description
|
||||
* This helper is used in programs implementing IR decoding, to
|
||||
* report a successfully decoded key press with *scancode*,
|
||||
* *toggle* value in the given *protocol*. The scancode will be
|
||||
* translated to a keycode using the rc keymap, and reported as
|
||||
* an input key down event. After a period a key up event is
|
||||
* generated. This period can be extended by calling either
|
||||
* **bpf_rc_keydown**\ () again with the same values, or calling
|
||||
* **bpf_rc_repeat**\ ().
|
||||
*
|
||||
* Some protocols include a toggle bit, in case the button was
|
||||
* released and pressed again between consecutive scancodes.
|
||||
*
|
||||
* The *ctx* should point to the lirc sample as passed into
|
||||
* the program.
|
||||
*
|
||||
* The *protocol* is the decoded protocol number (see
|
||||
* **enum rc_proto** for some predefined values).
|
||||
*
|
||||
* This helper is only available is the kernel was compiled with
|
||||
* the **CONFIG_BPF_LIRC_MODE2** configuration option set to
|
||||
* "**y**".
|
||||
* Return
|
||||
* 0
|
||||
*
|
||||
* u64 bpf_skb_cgroup_id(struct sk_buff *skb)
|
||||
* Description
|
||||
* Return the cgroup v2 id of the socket associated with the *skb*.
|
||||
* This is roughly similar to the **bpf_get_cgroup_classid**\ ()
|
||||
@@ -2121,6 +2149,38 @@ union bpf_attr {
|
||||
* Return
|
||||
* The id is returned or 0 in case the id could not be retrieved.
|
||||
*
|
||||
* u64 bpf_get_current_cgroup_id(void)
|
||||
* Return
|
||||
* A 64-bit integer containing the current cgroup id based
|
||||
* on the cgroup within which the current task is running.
|
||||
*
|
||||
* void *bpf_get_local_storage(void *map, u64 flags)
|
||||
* Description
|
||||
* Get the pointer to the local storage area.
|
||||
* The type and the size of the local storage is defined
|
||||
* by the *map* argument.
|
||||
* The *flags* meaning is specific for each map type,
|
||||
* and has to be 0 for cgroup local storage.
|
||||
*
|
||||
* Depending on the BPF program type, a local storage area
|
||||
* can be shared between multiple instances of the BPF program,
|
||||
* running simultaneously.
|
||||
*
|
||||
* A user should care about the synchronization by himself.
|
||||
* For example, by using the **BPF_STX_XADD** instruction to alter
|
||||
* the shared data.
|
||||
* Return
|
||||
* A pointer to the local storage area.
|
||||
*
|
||||
* int bpf_sk_select_reuseport(struct sk_reuseport_md *reuse, struct bpf_map *map, void *key, u64 flags)
|
||||
* Description
|
||||
* Select a **SO_REUSEPORT** socket from a
|
||||
* **BPF_MAP_TYPE_REUSEPORT_ARRAY** *map*.
|
||||
* It checks the selected socket is matching the incoming
|
||||
* request in the socket buffer.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* u64 bpf_skb_ancestor_cgroup_id(struct sk_buff *skb, int ancestor_level)
|
||||
* Description
|
||||
* Return id of cgroup v2 that is ancestor of cgroup associated
|
||||
@@ -2139,42 +2199,11 @@ union bpf_attr {
|
||||
* Return
|
||||
* The id is returned or 0 in case the id could not be retrieved.
|
||||
*
|
||||
* u64 bpf_get_current_cgroup_id(void)
|
||||
* Return
|
||||
* A 64-bit integer containing the current cgroup id based
|
||||
* on the cgroup within which the current task is running.
|
||||
*
|
||||
* void* get_local_storage(void *map, u64 flags)
|
||||
* Description
|
||||
* Get the pointer to the local storage area.
|
||||
* The type and the size of the local storage is defined
|
||||
* by the *map* argument.
|
||||
* The *flags* meaning is specific for each map type,
|
||||
* and has to be 0 for cgroup local storage.
|
||||
*
|
||||
* Depending on the bpf program type, a local storage area
|
||||
* can be shared between multiple instances of the bpf program,
|
||||
* running simultaneously.
|
||||
*
|
||||
* A user should care about the synchronization by himself.
|
||||
* For example, by using the BPF_STX_XADD instruction to alter
|
||||
* the shared data.
|
||||
* Return
|
||||
* Pointer to the local storage area.
|
||||
*
|
||||
* int bpf_sk_select_reuseport(struct sk_reuseport_md *reuse, struct bpf_map *map, void *key, u64 flags)
|
||||
* Description
|
||||
* Select a SO_REUSEPORT sk from a BPF_MAP_TYPE_REUSEPORT_ARRAY map
|
||||
* It checks the selected sk is matching the incoming
|
||||
* request in the skb.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* struct bpf_sock *bpf_sk_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags)
|
||||
* Description
|
||||
* Look for TCP socket matching *tuple*, optionally in a child
|
||||
* network namespace *netns*. The return value must be checked,
|
||||
* and if non-NULL, released via **bpf_sk_release**\ ().
|
||||
* and if non-**NULL**, released via **bpf_sk_release**\ ().
|
||||
*
|
||||
* The *ctx* should point to the context of the program, such as
|
||||
* the skb or socket (depending on the hook in use). This is used
|
||||
@@ -2202,15 +2231,15 @@ union bpf_attr {
|
||||
* This helper is available only if the kernel was compiled with
|
||||
* **CONFIG_NET** configuration option.
|
||||
* Return
|
||||
* Pointer to *struct bpf_sock*, or NULL in case of failure.
|
||||
* For sockets with reuseport option, the *struct bpf_sock*
|
||||
* result is from reuse->socks[] using the hash of the tuple.
|
||||
* Pointer to **struct bpf_sock**, or **NULL** in case of failure.
|
||||
* For sockets with reuseport option, the **struct bpf_sock**
|
||||
* result is from **reuse->socks**\ [] using the hash of the tuple.
|
||||
*
|
||||
* struct bpf_sock *bpf_sk_lookup_udp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags)
|
||||
* Description
|
||||
* Look for UDP socket matching *tuple*, optionally in a child
|
||||
* network namespace *netns*. The return value must be checked,
|
||||
* and if non-NULL, released via **bpf_sk_release**\ ().
|
||||
* and if non-**NULL**, released via **bpf_sk_release**\ ().
|
||||
*
|
||||
* The *ctx* should point to the context of the program, such as
|
||||
* the skb or socket (depending on the hook in use). This is used
|
||||
@@ -2238,33 +2267,170 @@ union bpf_attr {
|
||||
* This helper is available only if the kernel was compiled with
|
||||
* **CONFIG_NET** configuration option.
|
||||
* Return
|
||||
* Pointer to *struct bpf_sock*, or NULL in case of failure.
|
||||
* For sockets with reuseport option, the *struct bpf_sock*
|
||||
* result is from reuse->socks[] using the hash of the tuple.
|
||||
* Pointer to **struct bpf_sock**, or **NULL** in case of failure.
|
||||
* For sockets with reuseport option, the **struct bpf_sock**
|
||||
* result is from **reuse->socks**\ [] using the hash of the tuple.
|
||||
*
|
||||
* int bpf_sk_release(struct bpf_sock *sk)
|
||||
* int bpf_sk_release(struct bpf_sock *sock)
|
||||
* Description
|
||||
* Release the reference held by *sock*. *sock* must be a non-NULL
|
||||
* pointer that was returned from bpf_sk_lookup_xxx\ ().
|
||||
* Release the reference held by *sock*. *sock* must be a
|
||||
* non-**NULL** pointer that was returned from
|
||||
* **bpf_sk_lookup_xxx**\ ().
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_map_push_elem(struct bpf_map *map, const void *value, u64 flags)
|
||||
* Description
|
||||
* Push an element *value* in *map*. *flags* is one of:
|
||||
*
|
||||
* **BPF_EXIST**
|
||||
* If the queue/stack is full, the oldest element is
|
||||
* removed to make room for this.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_map_pop_elem(struct bpf_map *map, void *value)
|
||||
* Description
|
||||
* Pop an element from *map*.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_map_peek_elem(struct bpf_map *map, void *value)
|
||||
* Description
|
||||
* Get an element from *map* without removing it.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_msg_push_data(struct sk_buff *skb, u32 start, u32 len, u64 flags)
|
||||
* Description
|
||||
* For socket policies, insert *len* bytes into msg at offset
|
||||
* For socket policies, insert *len* bytes into *msg* at offset
|
||||
* *start*.
|
||||
*
|
||||
* If a program of type **BPF_PROG_TYPE_SK_MSG** is run on a
|
||||
* *msg* it may want to insert metadata or options into the msg.
|
||||
* *msg* it may want to insert metadata or options into the *msg*.
|
||||
* This can later be read and used by any of the lower layer BPF
|
||||
* hooks.
|
||||
*
|
||||
* This helper may fail if under memory pressure (a malloc
|
||||
* fails) in these cases BPF programs will get an appropriate
|
||||
* error and BPF programs will need to handle them.
|
||||
*
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_msg_pop_data(struct sk_msg_buff *msg, u32 start, u32 pop, u64 flags)
|
||||
* Description
|
||||
* Will remove *pop* bytes from a *msg* starting at byte *start*.
|
||||
* This may result in **ENOMEM** errors under certain situations if
|
||||
* an allocation and copy are required due to a full ring buffer.
|
||||
* However, the helper will try to avoid doing the allocation
|
||||
* if possible. Other errors can occur if input parameters are
|
||||
* invalid either due to *start* byte not being valid part of *msg*
|
||||
* payload and/or *pop* value being to large.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_rc_pointer_rel(void *ctx, s32 rel_x, s32 rel_y)
|
||||
* Description
|
||||
* This helper is used in programs implementing IR decoding, to
|
||||
* report a successfully decoded pointer movement.
|
||||
*
|
||||
* The *ctx* should point to the lirc sample as passed into
|
||||
* the program.
|
||||
*
|
||||
* This helper is only available is the kernel was compiled with
|
||||
* the **CONFIG_BPF_LIRC_MODE2** configuration option set to
|
||||
* "**y**".
|
||||
* Return
|
||||
* 0
|
||||
*
|
||||
* int bpf_spin_lock(struct bpf_spin_lock *lock)
|
||||
* Description
|
||||
* Acquire a spinlock represented by the pointer *lock*, which is
|
||||
* stored as part of a value of a map. Taking the lock allows to
|
||||
* safely update the rest of the fields in that value. The
|
||||
* spinlock can (and must) later be released with a call to
|
||||
* **bpf_spin_unlock**\ (\ *lock*\ ).
|
||||
*
|
||||
* Spinlocks in BPF programs come with a number of restrictions
|
||||
* and constraints:
|
||||
*
|
||||
* * **bpf_spin_lock** objects are only allowed inside maps of
|
||||
* types **BPF_MAP_TYPE_HASH** and **BPF_MAP_TYPE_ARRAY** (this
|
||||
* list could be extended in the future).
|
||||
* * BTF description of the map is mandatory.
|
||||
* * The BPF program can take ONE lock at a time, since taking two
|
||||
* or more could cause dead locks.
|
||||
* * Only one **struct bpf_spin_lock** is allowed per map element.
|
||||
* * When the lock is taken, calls (either BPF to BPF or helpers)
|
||||
* are not allowed.
|
||||
* * The **BPF_LD_ABS** and **BPF_LD_IND** instructions are not
|
||||
* allowed inside a spinlock-ed region.
|
||||
* * The BPF program MUST call **bpf_spin_unlock**\ () to release
|
||||
* the lock, on all execution paths, before it returns.
|
||||
* * The BPF program can access **struct bpf_spin_lock** only via
|
||||
* the **bpf_spin_lock**\ () and **bpf_spin_unlock**\ ()
|
||||
* helpers. Loading or storing data into the **struct
|
||||
* bpf_spin_lock** *lock*\ **;** field of a map is not allowed.
|
||||
* * To use the **bpf_spin_lock**\ () helper, the BTF description
|
||||
* of the map value must be a struct and have **struct
|
||||
* bpf_spin_lock** *anyname*\ **;** field at the top level.
|
||||
* Nested lock inside another struct is not allowed.
|
||||
* * The **struct bpf_spin_lock** *lock* field in a map value must
|
||||
* be aligned on a multiple of 4 bytes in that value.
|
||||
* * Syscall with command **BPF_MAP_LOOKUP_ELEM** does not copy
|
||||
* the **bpf_spin_lock** field to user space.
|
||||
* * Syscall with command **BPF_MAP_UPDATE_ELEM**, or update from
|
||||
* a BPF program, do not update the **bpf_spin_lock** field.
|
||||
* * **bpf_spin_lock** cannot be on the stack or inside a
|
||||
* networking packet (it can only be inside of a map values).
|
||||
* * **bpf_spin_lock** is available to root only.
|
||||
* * Tracing programs and socket filter programs cannot use
|
||||
* **bpf_spin_lock**\ () due to insufficient preemption checks
|
||||
* (but this may change in the future).
|
||||
* * **bpf_spin_lock** is not allowed in inner maps of map-in-map.
|
||||
* Return
|
||||
* 0
|
||||
*
|
||||
* int bpf_spin_unlock(struct bpf_spin_lock *lock)
|
||||
* Description
|
||||
* Release the *lock* previously locked by a call to
|
||||
* **bpf_spin_lock**\ (\ *lock*\ ).
|
||||
* Return
|
||||
* 0
|
||||
*
|
||||
* struct bpf_sock *bpf_sk_fullsock(struct bpf_sock *sk)
|
||||
* Description
|
||||
* This helper gets a **struct bpf_sock** pointer such
|
||||
* that all the fields in this **bpf_sock** can be accessed.
|
||||
* Return
|
||||
* A **struct bpf_sock** pointer on success, or **NULL** in
|
||||
* case of failure.
|
||||
*
|
||||
* struct bpf_tcp_sock *bpf_tcp_sock(struct bpf_sock *sk)
|
||||
* Description
|
||||
* This helper gets a **struct bpf_tcp_sock** pointer from a
|
||||
* **struct bpf_sock** pointer.
|
||||
* Return
|
||||
* A **struct bpf_tcp_sock** pointer on success, or **NULL** in
|
||||
* case of failure.
|
||||
*
|
||||
* int bpf_skb_ecn_set_ce(struct sk_buf *skb)
|
||||
* Description
|
||||
* Set ECN (Explicit Congestion Notification) field of IP header
|
||||
* to **CE** (Congestion Encountered) if current value is **ECT**
|
||||
* (ECN Capable Transport). Otherwise, do nothing. Works with IPv6
|
||||
* and IPv4.
|
||||
* Return
|
||||
* 1 if the **CE** flag is set (either by the current helper call
|
||||
* or because it was already present), 0 if it is not set.
|
||||
*
|
||||
* struct bpf_sock *bpf_get_listener_sock(struct bpf_sock *sk)
|
||||
* Description
|
||||
* Return a **struct bpf_sock** pointer in **TCP_LISTEN** state.
|
||||
* **bpf_sk_release**\ () is unnecessary and not allowed.
|
||||
* Return
|
||||
* A **struct bpf_sock** pointer on success, or **NULL** in
|
||||
* case of failure.
|
||||
*/
|
||||
#define __BPF_FUNC_MAPPER(FN) \
|
||||
FN(unspec), \
|
||||
@@ -2357,7 +2523,15 @@ union bpf_attr {
|
||||
FN(map_push_elem), \
|
||||
FN(map_pop_elem), \
|
||||
FN(map_peek_elem), \
|
||||
FN(msg_push_data),
|
||||
FN(msg_push_data), \
|
||||
FN(msg_pop_data), \
|
||||
FN(rc_pointer_rel), \
|
||||
FN(spin_lock), \
|
||||
FN(spin_unlock), \
|
||||
FN(sk_fullsock), \
|
||||
FN(tcp_sock), \
|
||||
FN(skb_ecn_set_ce), \
|
||||
FN(get_listener_sock),
|
||||
|
||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||
* function eBPF program intends to call
|
||||
@@ -2430,7 +2604,8 @@ enum bpf_hdr_start_off {
|
||||
/* Encapsulation type for BPF_FUNC_lwt_push_encap helper. */
|
||||
enum bpf_lwt_encap_mode {
|
||||
BPF_LWT_ENCAP_SEG6,
|
||||
BPF_LWT_ENCAP_SEG6_INLINE
|
||||
BPF_LWT_ENCAP_SEG6_INLINE,
|
||||
BPF_LWT_ENCAP_IP,
|
||||
};
|
||||
|
||||
#define __bpf_md_ptr(type, name) \
|
||||
@@ -2474,6 +2649,10 @@ struct __sk_buff {
|
||||
|
||||
__u32 data_meta;
|
||||
__bpf_md_ptr(struct bpf_flow_keys *, flow_keys);
|
||||
__u64 tstamp;
|
||||
__u32 wire_len;
|
||||
__u32 gso_segs;
|
||||
__bpf_md_ptr(struct bpf_sock *, sk);
|
||||
};
|
||||
|
||||
struct bpf_tunnel_key {
|
||||
@@ -2515,7 +2694,15 @@ enum bpf_ret_code {
|
||||
BPF_DROP = 2,
|
||||
/* 3-6 reserved */
|
||||
BPF_REDIRECT = 7,
|
||||
/* >127 are reserved for prog type specific return codes */
|
||||
/* >127 are reserved for prog type specific return codes.
|
||||
*
|
||||
* BPF_LWT_REROUTE: used by BPF_PROG_TYPE_LWT_IN and
|
||||
* BPF_PROG_TYPE_LWT_XMIT to indicate that skb had been
|
||||
* changed and should be routed based on its new L3 header.
|
||||
* (This is an L3 redirect, as opposed to L2 redirect
|
||||
* represented by BPF_REDIRECT above).
|
||||
*/
|
||||
BPF_LWT_REROUTE = 128,
|
||||
};
|
||||
|
||||
struct bpf_sock {
|
||||
@@ -2525,14 +2712,52 @@ struct bpf_sock {
|
||||
__u32 protocol;
|
||||
__u32 mark;
|
||||
__u32 priority;
|
||||
__u32 src_ip4; /* Allows 1,2,4-byte read.
|
||||
* Stored in network byte order.
|
||||
/* IP address also allows 1 and 2 bytes access */
|
||||
__u32 src_ip4;
|
||||
__u32 src_ip6[4];
|
||||
__u32 src_port; /* host byte order */
|
||||
__u32 dst_port; /* network byte order */
|
||||
__u32 dst_ip4;
|
||||
__u32 dst_ip6[4];
|
||||
__u32 state;
|
||||
};
|
||||
|
||||
struct bpf_tcp_sock {
|
||||
__u32 snd_cwnd; /* Sending congestion window */
|
||||
__u32 srtt_us; /* smoothed round trip time << 3 in usecs */
|
||||
__u32 rtt_min;
|
||||
__u32 snd_ssthresh; /* Slow start size threshold */
|
||||
__u32 rcv_nxt; /* What we want to receive next */
|
||||
__u32 snd_nxt; /* Next sequence we send */
|
||||
__u32 snd_una; /* First byte we want an ack for */
|
||||
__u32 mss_cache; /* Cached effective mss, not including SACKS */
|
||||
__u32 ecn_flags; /* ECN status bits. */
|
||||
__u32 rate_delivered; /* saved rate sample: packets delivered */
|
||||
__u32 rate_interval_us; /* saved rate sample: time elapsed */
|
||||
__u32 packets_out; /* Packets which are "in flight" */
|
||||
__u32 retrans_out; /* Retransmitted packets out */
|
||||
__u32 total_retrans; /* Total retransmits for entire connection */
|
||||
__u32 segs_in; /* RFC4898 tcpEStatsPerfSegsIn
|
||||
* total number of segments in.
|
||||
*/
|
||||
__u32 src_ip6[4]; /* Allows 1,2,4-byte read.
|
||||
* Stored in network byte order.
|
||||
__u32 data_segs_in; /* RFC4898 tcpEStatsPerfDataSegsIn
|
||||
* total number of data segments in.
|
||||
*/
|
||||
__u32 src_port; /* Allows 4-byte read.
|
||||
* Stored in host byte order
|
||||
__u32 segs_out; /* RFC4898 tcpEStatsPerfSegsOut
|
||||
* The total number of segments sent.
|
||||
*/
|
||||
__u32 data_segs_out; /* RFC4898 tcpEStatsPerfDataSegsOut
|
||||
* total number of data segments sent.
|
||||
*/
|
||||
__u32 lost_out; /* Lost packets */
|
||||
__u32 sacked_out; /* SACK'd packets */
|
||||
__u64 bytes_received; /* RFC4898 tcpEStatsAppHCThruOctetsReceived
|
||||
* sum(delta(rcv_nxt)), or how many bytes
|
||||
* were acked.
|
||||
*/
|
||||
__u64 bytes_acked; /* RFC4898 tcpEStatsAppHCThruOctetsAcked
|
||||
* sum(delta(snd_una)), or how many bytes
|
||||
* were acked.
|
||||
*/
|
||||
};
|
||||
|
||||
@@ -2599,6 +2824,7 @@ struct sk_msg_md {
|
||||
__u32 local_ip6[4]; /* Stored in network byte order */
|
||||
__u32 remote_port; /* Stored in network byte order */
|
||||
__u32 local_port; /* stored in host byte order */
|
||||
__u32 size; /* Total size of sk_msg */
|
||||
};
|
||||
|
||||
struct sk_reuseport_md {
|
||||
@@ -2649,6 +2875,20 @@ struct bpf_prog_info {
|
||||
__u32 nr_jited_func_lens;
|
||||
__aligned_u64 jited_ksyms;
|
||||
__aligned_u64 jited_func_lens;
|
||||
__u32 btf_id;
|
||||
__u32 func_info_rec_size;
|
||||
__aligned_u64 func_info;
|
||||
__u32 nr_func_info;
|
||||
__u32 nr_line_info;
|
||||
__aligned_u64 line_info;
|
||||
__aligned_u64 jited_line_info;
|
||||
__u32 nr_jited_line_info;
|
||||
__u32 line_info_rec_size;
|
||||
__u32 jited_line_info_rec_size;
|
||||
__u32 nr_prog_tags;
|
||||
__aligned_u64 prog_tags;
|
||||
__u64 run_time_ns;
|
||||
__u64 run_cnt;
|
||||
} __attribute__((aligned(8)));
|
||||
|
||||
struct bpf_map_info {
|
||||
@@ -2960,4 +3200,22 @@ struct bpf_flow_keys {
|
||||
};
|
||||
};
|
||||
|
||||
struct bpf_func_info {
|
||||
__u32 insn_off;
|
||||
__u32 type_id;
|
||||
};
|
||||
|
||||
#define BPF_LINE_INFO_LINE_NUM(line_col) ((line_col) >> 10)
|
||||
#define BPF_LINE_INFO_LINE_COL(line_col) ((line_col) & 0x3ff)
|
||||
|
||||
struct bpf_line_info {
|
||||
__u32 insn_off;
|
||||
__u32 file_name_off;
|
||||
__u32 line_off;
|
||||
__u32 line_col;
|
||||
};
|
||||
|
||||
struct bpf_spin_lock {
|
||||
__u32 val;
|
||||
};
|
||||
#endif /* _UAPI__LINUX_BPF_H__ */
|
||||
|
||||
@@ -34,13 +34,16 @@ struct btf_type {
|
||||
* bits 0-15: vlen (e.g. # of struct's members)
|
||||
* bits 16-23: unused
|
||||
* bits 24-27: kind (e.g. int, ptr, array...etc)
|
||||
* bits 28-31: unused
|
||||
* bits 28-30: unused
|
||||
* bit 31: kind_flag, currently used by
|
||||
* struct, union and fwd
|
||||
*/
|
||||
__u32 info;
|
||||
/* "size" is used by INT, ENUM, STRUCT and UNION.
|
||||
* "size" tells the size of the type it is describing.
|
||||
*
|
||||
* "type" is used by PTR, TYPEDEF, VOLATILE, CONST and RESTRICT.
|
||||
* "type" is used by PTR, TYPEDEF, VOLATILE, CONST, RESTRICT,
|
||||
* FUNC and FUNC_PROTO.
|
||||
* "type" is a type_id referring to another type.
|
||||
*/
|
||||
union {
|
||||
@@ -51,6 +54,7 @@ struct btf_type {
|
||||
|
||||
#define BTF_INFO_KIND(info) (((info) >> 24) & 0x0f)
|
||||
#define BTF_INFO_VLEN(info) ((info) & 0xffff)
|
||||
#define BTF_INFO_KFLAG(info) ((info) >> 31)
|
||||
|
||||
#define BTF_KIND_UNKN 0 /* Unknown */
|
||||
#define BTF_KIND_INT 1 /* Integer */
|
||||
@@ -64,8 +68,10 @@ struct btf_type {
|
||||
#define BTF_KIND_VOLATILE 9 /* Volatile */
|
||||
#define BTF_KIND_CONST 10 /* Const */
|
||||
#define BTF_KIND_RESTRICT 11 /* Restrict */
|
||||
#define BTF_KIND_MAX 11
|
||||
#define NR_BTF_KINDS 12
|
||||
#define BTF_KIND_FUNC 12 /* Function */
|
||||
#define BTF_KIND_FUNC_PROTO 13 /* Function Proto */
|
||||
#define BTF_KIND_MAX 13
|
||||
#define NR_BTF_KINDS 14
|
||||
|
||||
/* For some specific BTF_KIND, "struct btf_type" is immediately
|
||||
* followed by extra data.
|
||||
@@ -107,7 +113,29 @@ struct btf_array {
|
||||
struct btf_member {
|
||||
__u32 name_off;
|
||||
__u32 type;
|
||||
__u32 offset; /* offset in bits */
|
||||
/* If the type info kind_flag is set, the btf_member offset
|
||||
* contains both member bitfield size and bit offset. The
|
||||
* bitfield size is set for bitfield members. If the type
|
||||
* info kind_flag is not set, the offset contains only bit
|
||||
* offset.
|
||||
*/
|
||||
__u32 offset;
|
||||
};
|
||||
|
||||
/* If the struct/union type info kind_flag is set, the
|
||||
* following two macros are used to access bitfield_size
|
||||
* and bit_offset from btf_member.offset.
|
||||
*/
|
||||
#define BTF_MEMBER_BITFIELD_SIZE(val) ((val) >> 24)
|
||||
#define BTF_MEMBER_BIT_OFFSET(val) ((val) & 0xffffff)
|
||||
|
||||
/* BTF_KIND_FUNC_PROTO is followed by multiple "struct btf_param".
|
||||
* The exact number of btf_param is stored in the vlen (of the
|
||||
* info in "struct btf_type").
|
||||
*/
|
||||
struct btf_param {
|
||||
__u32 name_off;
|
||||
__u32 type;
|
||||
};
|
||||
|
||||
#endif /* _UAPI__LINUX_BTF_H__ */
|
||||
|
||||
@@ -269,6 +269,7 @@ struct btrfs_ioctl_fs_info_args {
|
||||
#define BTRFS_FEATURE_INCOMPAT_RAID56 (1ULL << 7)
|
||||
#define BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA (1ULL << 8)
|
||||
#define BTRFS_FEATURE_INCOMPAT_NO_HOLES (1ULL << 9)
|
||||
#define BTRFS_FEATURE_INCOMPAT_METADATA_UUID (1ULL << 10)
|
||||
|
||||
struct btrfs_ioctl_feature_flags {
|
||||
__u64 compat_flags;
|
||||
@@ -836,6 +837,8 @@ enum btrfs_err_code {
|
||||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_SCAN_DEV _IOW(BTRFS_IOCTL_MAGIC, 4, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_FORGET_DEV _IOW(BTRFS_IOCTL_MAGIC, 5, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
/* trans start and trans end are dangerous, and only for
|
||||
* use by applications that know how to avoid the
|
||||
* resulting deadlocks
|
||||
|
||||
@@ -458,6 +458,7 @@ struct btrfs_free_space_header {
|
||||
#define BTRFS_SUPER_FLAG_METADUMP (1ULL << 33)
|
||||
#define BTRFS_SUPER_FLAG_METADUMP_V2 (1ULL << 34)
|
||||
#define BTRFS_SUPER_FLAG_CHANGING_FSID (1ULL << 35)
|
||||
#define BTRFS_SUPER_FLAG_CHANGING_FSID_V2 (1ULL << 36)
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -76,45 +76,69 @@ struct crypto_user_alg {
|
||||
__u32 cru_flags;
|
||||
};
|
||||
|
||||
struct crypto_stat {
|
||||
struct crypto_stat_aead {
|
||||
char type[CRYPTO_MAX_NAME];
|
||||
__u64 stat_encrypt_cnt;
|
||||
__u64 stat_encrypt_tlen;
|
||||
__u64 stat_decrypt_cnt;
|
||||
__u64 stat_decrypt_tlen;
|
||||
__u64 stat_err_cnt;
|
||||
};
|
||||
|
||||
struct crypto_stat_akcipher {
|
||||
char type[CRYPTO_MAX_NAME];
|
||||
__u64 stat_encrypt_cnt;
|
||||
__u64 stat_encrypt_tlen;
|
||||
__u64 stat_decrypt_cnt;
|
||||
__u64 stat_decrypt_tlen;
|
||||
__u64 stat_verify_cnt;
|
||||
__u64 stat_sign_cnt;
|
||||
__u64 stat_err_cnt;
|
||||
};
|
||||
|
||||
struct crypto_stat_cipher {
|
||||
char type[CRYPTO_MAX_NAME];
|
||||
__u64 stat_encrypt_cnt;
|
||||
__u64 stat_encrypt_tlen;
|
||||
__u64 stat_decrypt_cnt;
|
||||
__u64 stat_decrypt_tlen;
|
||||
__u64 stat_err_cnt;
|
||||
};
|
||||
|
||||
struct crypto_stat_compress {
|
||||
char type[CRYPTO_MAX_NAME];
|
||||
__u64 stat_compress_cnt;
|
||||
__u64 stat_compress_tlen;
|
||||
__u64 stat_decompress_cnt;
|
||||
__u64 stat_decompress_tlen;
|
||||
__u64 stat_err_cnt;
|
||||
};
|
||||
|
||||
struct crypto_stat_hash {
|
||||
char type[CRYPTO_MAX_NAME];
|
||||
__u64 stat_hash_cnt;
|
||||
__u64 stat_hash_tlen;
|
||||
__u64 stat_err_cnt;
|
||||
};
|
||||
|
||||
struct crypto_stat_kpp {
|
||||
char type[CRYPTO_MAX_NAME];
|
||||
__u64 stat_setsecret_cnt;
|
||||
__u64 stat_generate_public_key_cnt;
|
||||
__u64 stat_compute_shared_secret_cnt;
|
||||
__u64 stat_err_cnt;
|
||||
};
|
||||
|
||||
struct crypto_stat_rng {
|
||||
char type[CRYPTO_MAX_NAME];
|
||||
__u64 stat_generate_cnt;
|
||||
__u64 stat_generate_tlen;
|
||||
__u64 stat_seed_cnt;
|
||||
__u64 stat_err_cnt;
|
||||
};
|
||||
|
||||
struct crypto_stat_larval {
|
||||
char type[CRYPTO_MAX_NAME];
|
||||
union {
|
||||
__u32 stat_encrypt_cnt;
|
||||
__u32 stat_compress_cnt;
|
||||
__u32 stat_generate_cnt;
|
||||
__u32 stat_hash_cnt;
|
||||
__u32 stat_setsecret_cnt;
|
||||
};
|
||||
union {
|
||||
__u64 stat_encrypt_tlen;
|
||||
__u64 stat_compress_tlen;
|
||||
__u64 stat_generate_tlen;
|
||||
__u64 stat_hash_tlen;
|
||||
};
|
||||
union {
|
||||
__u32 stat_akcipher_err_cnt;
|
||||
__u32 stat_cipher_err_cnt;
|
||||
__u32 stat_compress_err_cnt;
|
||||
__u32 stat_aead_err_cnt;
|
||||
__u32 stat_hash_err_cnt;
|
||||
__u32 stat_rng_err_cnt;
|
||||
__u32 stat_kpp_err_cnt;
|
||||
};
|
||||
union {
|
||||
__u32 stat_decrypt_cnt;
|
||||
__u32 stat_decompress_cnt;
|
||||
__u32 stat_seed_cnt;
|
||||
__u32 stat_generate_public_key_cnt;
|
||||
};
|
||||
union {
|
||||
__u64 stat_decrypt_tlen;
|
||||
__u64 stat_decompress_tlen;
|
||||
};
|
||||
union {
|
||||
__u32 stat_verify_cnt;
|
||||
__u32 stat_compute_shared_secret_cnt;
|
||||
};
|
||||
__u32 stat_sign_cnt;
|
||||
};
|
||||
|
||||
struct crypto_report_larval {
|
||||
|
||||
@@ -89,6 +89,22 @@ enum devlink_command {
|
||||
DEVLINK_CMD_REGION_DEL,
|
||||
DEVLINK_CMD_REGION_READ,
|
||||
|
||||
DEVLINK_CMD_PORT_PARAM_GET, /* can dump */
|
||||
DEVLINK_CMD_PORT_PARAM_SET,
|
||||
DEVLINK_CMD_PORT_PARAM_NEW,
|
||||
DEVLINK_CMD_PORT_PARAM_DEL,
|
||||
|
||||
DEVLINK_CMD_INFO_GET, /* can dump */
|
||||
|
||||
DEVLINK_CMD_HEALTH_REPORTER_GET,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_SET,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_RECOVER,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR,
|
||||
|
||||
DEVLINK_CMD_FLASH_UPDATE,
|
||||
|
||||
/* add new commands above here */
|
||||
__DEVLINK_CMD_MAX,
|
||||
DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
|
||||
@@ -163,6 +179,11 @@ enum devlink_param_cmode {
|
||||
DEVLINK_PARAM_CMODE_MAX = __DEVLINK_PARAM_CMODE_MAX - 1
|
||||
};
|
||||
|
||||
enum devlink_param_fw_load_policy_value {
|
||||
DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER,
|
||||
DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH,
|
||||
};
|
||||
|
||||
enum devlink_attr {
|
||||
/* don't change the order or add anything between, this is ABI! */
|
||||
DEVLINK_ATTR_UNSPEC,
|
||||
@@ -280,6 +301,37 @@ enum devlink_attr {
|
||||
DEVLINK_ATTR_REGION_CHUNK_ADDR, /* u64 */
|
||||
DEVLINK_ATTR_REGION_CHUNK_LEN, /* u64 */
|
||||
|
||||
DEVLINK_ATTR_INFO_DRIVER_NAME, /* string */
|
||||
DEVLINK_ATTR_INFO_SERIAL_NUMBER, /* string */
|
||||
DEVLINK_ATTR_INFO_VERSION_FIXED, /* nested */
|
||||
DEVLINK_ATTR_INFO_VERSION_RUNNING, /* nested */
|
||||
DEVLINK_ATTR_INFO_VERSION_STORED, /* nested */
|
||||
DEVLINK_ATTR_INFO_VERSION_NAME, /* string */
|
||||
DEVLINK_ATTR_INFO_VERSION_VALUE, /* string */
|
||||
|
||||
DEVLINK_ATTR_SB_POOL_CELL_SIZE, /* u32 */
|
||||
|
||||
DEVLINK_ATTR_FMSG, /* nested */
|
||||
DEVLINK_ATTR_FMSG_OBJ_NEST_START, /* flag */
|
||||
DEVLINK_ATTR_FMSG_PAIR_NEST_START, /* flag */
|
||||
DEVLINK_ATTR_FMSG_ARR_NEST_START, /* flag */
|
||||
DEVLINK_ATTR_FMSG_NEST_END, /* flag */
|
||||
DEVLINK_ATTR_FMSG_OBJ_NAME, /* string */
|
||||
DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE, /* u8 */
|
||||
DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA, /* dynamic */
|
||||
|
||||
DEVLINK_ATTR_HEALTH_REPORTER, /* nested */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_NAME, /* string */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_STATE, /* u8 */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT, /* u64 */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT, /* u64 */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS, /* u64 */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD, /* u64 */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER, /* u8 */
|
||||
|
||||
DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME, /* string */
|
||||
DEVLINK_ATTR_FLASH_UPDATE_COMPONENT, /* string */
|
||||
|
||||
/* add new attributes above here, update the policy in devlink.c */
|
||||
|
||||
__DEVLINK_ATTR_MAX,
|
||||
|
||||
@@ -270,9 +270,9 @@ enum {
|
||||
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
||||
|
||||
#define DM_VERSION_MAJOR 4
|
||||
#define DM_VERSION_MINOR 39
|
||||
#define DM_VERSION_MINOR 40
|
||||
#define DM_VERSION_PATCHLEVEL 0
|
||||
#define DM_VERSION_EXTRA "-ioctl (2018-04-03)"
|
||||
#define DM_VERSION_EXTRA "-ioctl (2019-01-18)"
|
||||
|
||||
/* Status bits */
|
||||
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#define EM_M32R 88 /* Renesas M32R */
|
||||
#define EM_MN10300 89 /* Panasonic/MEI MN10300, AM33 */
|
||||
#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
|
||||
#define EM_XTENSA 94 /* Tensilica Xtensa Architecture */
|
||||
#define EM_BLACKFIN 106 /* ADI Blackfin Processor */
|
||||
#define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */
|
||||
#define EM_TI_C6000 140 /* TI C6X DSPs */
|
||||
@@ -43,6 +44,7 @@
|
||||
#define EM_TILEGX 191 /* Tilera TILE-Gx */
|
||||
#define EM_RISCV 243 /* RISC-V */
|
||||
#define EM_BPF 247 /* Linux BPF - in-kernel virtual machine */
|
||||
#define EM_CSKY 252 /* C-SKY */
|
||||
#define EM_FRV 0x5441 /* Fujitsu FR-V */
|
||||
|
||||
/*
|
||||
|
||||
@@ -420,10 +420,14 @@ typedef struct elf64_shdr {
|
||||
#define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */
|
||||
#define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */
|
||||
#define NT_ARM_SVE 0x405 /* ARM Scalable Vector Extension registers */
|
||||
#define NT_ARM_PAC_MASK 0x406 /* ARM pointer authentication code masks */
|
||||
#define NT_ARM_PACA_KEYS 0x407 /* ARM pointer authentication address keys */
|
||||
#define NT_ARM_PACG_KEYS 0x408 /* ARM pointer authentication generic key */
|
||||
#define NT_ARC_V2 0x600 /* ARCv2 accumulator/extra registers */
|
||||
#define NT_VMCOREDD 0x700 /* Vmcore Device Dump Note */
|
||||
#define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers */
|
||||
#define NT_MIPS_FP_MODE 0x801 /* MIPS floating-point mode */
|
||||
#define NT_MIPS_MSA 0x802 /* MIPS SIMD registers */
|
||||
|
||||
/* Note header in a PT_NOTE section */
|
||||
typedef struct elf32_note {
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#define _UAPI_LINUX_ERRQUEUE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/time_types.h>
|
||||
|
||||
struct sock_extended_err {
|
||||
__u32 ee_errno;
|
||||
@@ -41,6 +42,10 @@ struct scm_timestamping {
|
||||
struct timespec ts[3];
|
||||
};
|
||||
|
||||
struct scm_timestamping64 {
|
||||
struct __kernel_timespec ts[3];
|
||||
};
|
||||
|
||||
/* The type of scm_timestamping, passed in sock_extended_err ee_info.
|
||||
* This defines the type of ts[0]. For SCM_TSTAMP_SND only, if ts[0]
|
||||
* is zero, then this is a hardware timestamp and recorded in ts[2].
|
||||
|
||||
@@ -882,7 +882,7 @@ struct ethtool_rx_flow_spec {
|
||||
__u32 location;
|
||||
};
|
||||
|
||||
/* How rings are layed out when accessing virtual functions or
|
||||
/* How rings are laid out when accessing virtual functions or
|
||||
* offloaded queues is device specific. To allow users to do flow
|
||||
* steering and specify these queues the ring cookie is partitioned
|
||||
* into a 32bit queue index with an 8 bit virtual function id.
|
||||
@@ -891,7 +891,7 @@ struct ethtool_rx_flow_spec {
|
||||
* devices start supporting PCIe w/ARI. However at the moment I
|
||||
* do not know of any devices that support this so I do not reserve
|
||||
* space for this at this time. If a future patch consumes the next
|
||||
* byte it should be aware of this possiblity.
|
||||
* byte it should be aware of this possibility.
|
||||
*/
|
||||
#define ETHTOOL_RX_FLOW_SPEC_RING 0x00000000FFFFFFFFLL
|
||||
#define ETHTOOL_RX_FLOW_SPEC_RING_VF 0x000000FF00000000LL
|
||||
@@ -1432,6 +1432,13 @@ enum ethtool_link_mode_bit_indices {
|
||||
ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 29,
|
||||
ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 30,
|
||||
ETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 31,
|
||||
|
||||
/* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
|
||||
* 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
|
||||
* macro for bits > 31. The only way to use indices > 31 is to
|
||||
* use the new ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API.
|
||||
*/
|
||||
|
||||
ETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 32,
|
||||
ETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 33,
|
||||
ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 34,
|
||||
@@ -1453,15 +1460,24 @@ enum ethtool_link_mode_bit_indices {
|
||||
ETHTOOL_LINK_MODE_FEC_NONE_BIT = 49,
|
||||
ETHTOOL_LINK_MODE_FEC_RS_BIT = 50,
|
||||
ETHTOOL_LINK_MODE_FEC_BASER_BIT = 51,
|
||||
ETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 52,
|
||||
ETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 53,
|
||||
ETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 54,
|
||||
ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 55,
|
||||
ETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 56,
|
||||
ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 57,
|
||||
ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 58,
|
||||
ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 59,
|
||||
ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60,
|
||||
ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 61,
|
||||
ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 62,
|
||||
ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 63,
|
||||
ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64,
|
||||
ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65,
|
||||
ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66,
|
||||
|
||||
/* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
|
||||
* 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
|
||||
* macro for bits > 31. The only way to use indices > 31 is to
|
||||
* use the new ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API.
|
||||
*/
|
||||
|
||||
__ETHTOOL_LINK_MODE_LAST
|
||||
= ETHTOOL_LINK_MODE_FEC_BASER_BIT,
|
||||
/* must be last entry */
|
||||
__ETHTOOL_LINK_MODE_MASK_NBITS
|
||||
};
|
||||
|
||||
#define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) \
|
||||
@@ -1569,12 +1585,13 @@ enum ethtool_link_mode_bit_indices {
|
||||
#define SPEED_50000 50000
|
||||
#define SPEED_56000 56000
|
||||
#define SPEED_100000 100000
|
||||
#define SPEED_200000 200000
|
||||
|
||||
#define SPEED_UNKNOWN -1
|
||||
|
||||
static inline int ethtool_validate_speed(__u32 speed)
|
||||
{
|
||||
return speed <= INT_MAX || speed == SPEED_UNKNOWN;
|
||||
return speed <= INT_MAX || speed == (__u32)SPEED_UNKNOWN;
|
||||
}
|
||||
|
||||
/* Duplex, half or full. */
|
||||
|
||||
@@ -7,14 +7,23 @@
|
||||
/* the following events that user-space can register for */
|
||||
#define FAN_ACCESS 0x00000001 /* File was accessed */
|
||||
#define FAN_MODIFY 0x00000002 /* File was modified */
|
||||
#define FAN_ATTRIB 0x00000004 /* Metadata changed */
|
||||
#define FAN_CLOSE_WRITE 0x00000008 /* Writtable file closed */
|
||||
#define FAN_CLOSE_NOWRITE 0x00000010 /* Unwrittable file closed */
|
||||
#define FAN_OPEN 0x00000020 /* File was opened */
|
||||
#define FAN_MOVED_FROM 0x00000040 /* File was moved from X */
|
||||
#define FAN_MOVED_TO 0x00000080 /* File was moved to Y */
|
||||
#define FAN_CREATE 0x00000100 /* Subfile was created */
|
||||
#define FAN_DELETE 0x00000200 /* Subfile was deleted */
|
||||
#define FAN_DELETE_SELF 0x00000400 /* Self was deleted */
|
||||
#define FAN_MOVE_SELF 0x00000800 /* Self was moved */
|
||||
#define FAN_OPEN_EXEC 0x00001000 /* File was opened for exec */
|
||||
|
||||
#define FAN_Q_OVERFLOW 0x00004000 /* Event queued overflowed */
|
||||
|
||||
#define FAN_OPEN_PERM 0x00010000 /* File open in perm check */
|
||||
#define FAN_ACCESS_PERM 0x00020000 /* File accessed in perm check */
|
||||
#define FAN_OPEN_EXEC_PERM 0x00040000 /* File open/exec in perm check */
|
||||
|
||||
#define FAN_ONDIR 0x40000000 /* event occurred against dir */
|
||||
|
||||
@@ -22,6 +31,7 @@
|
||||
|
||||
/* helper events */
|
||||
#define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) /* close */
|
||||
#define FAN_MOVE (FAN_MOVED_FROM | FAN_MOVED_TO) /* moves */
|
||||
|
||||
/* flags used for fanotify_init() */
|
||||
#define FAN_CLOEXEC 0x00000001
|
||||
@@ -42,6 +52,7 @@
|
||||
|
||||
/* Flags to determine fanotify event format */
|
||||
#define FAN_REPORT_TID 0x00000100 /* event->pid is thread id */
|
||||
#define FAN_REPORT_FID 0x00000200 /* Report unique file id */
|
||||
|
||||
/* Deprecated - do not use this in programs and do not add new flags here! */
|
||||
#define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | \
|
||||
@@ -104,6 +115,26 @@ struct fanotify_event_metadata {
|
||||
__s32 pid;
|
||||
};
|
||||
|
||||
#define FAN_EVENT_INFO_TYPE_FID 1
|
||||
|
||||
/* Variable length info record following event metadata */
|
||||
struct fanotify_event_info_header {
|
||||
__u8 info_type;
|
||||
__u8 pad;
|
||||
__u16 len;
|
||||
};
|
||||
|
||||
/* Unique file identifier info record */
|
||||
struct fanotify_event_info_fid {
|
||||
struct fanotify_event_info_header hdr;
|
||||
__kernel_fsid_t fsid;
|
||||
/*
|
||||
* Following is an opaque struct file_handle that can be passed as
|
||||
* an argument to open_by_handle_at(2).
|
||||
*/
|
||||
unsigned char handle[0];
|
||||
};
|
||||
|
||||
struct fanotify_response {
|
||||
__s32 fd;
|
||||
__u32 response;
|
||||
|
||||
@@ -393,11 +393,9 @@ struct fb_cursor {
|
||||
struct fb_image image; /* Cursor image */
|
||||
};
|
||||
|
||||
#ifdef CONFIG_FB_BACKLIGHT
|
||||
/* Settings for the generic backlight code */
|
||||
#define FB_BACKLIGHT_LEVELS 128
|
||||
#define FB_BACKLIGHT_MAX 0xFF
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_FB_H */
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */
|
||||
#define F_SEAL_GROW 0x0004 /* prevent file from growing */
|
||||
#define F_SEAL_WRITE 0x0008 /* prevent writes */
|
||||
#define F_SEAL_FUTURE_WRITE 0x0010 /* prevent future writes while mapped */
|
||||
/* (1U << 31) is reserved for signed error codes */
|
||||
|
||||
/*
|
||||
|
||||
@@ -14,6 +14,11 @@
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Use of MS_* flags within the kernel is restricted to core mount(2) code. */
|
||||
#if !defined(__KERNEL__)
|
||||
#include <linux/mount.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* It's silly to have NR_OPEN bigger than NR_FILE, but you can change
|
||||
* the file limit at runtime and only root can increase the per-process
|
||||
@@ -101,57 +106,6 @@ struct inodes_stat_t {
|
||||
|
||||
#define NR_FILE 8192 /* this can well be larger on a larger system */
|
||||
|
||||
|
||||
/*
|
||||
* These are the fs-independent mount-flags: up to 32 flags are supported
|
||||
*/
|
||||
#define MS_RDONLY 1 /* Mount read-only */
|
||||
#define MS_NOSUID 2 /* Ignore suid and sgid bits */
|
||||
#define MS_NODEV 4 /* Disallow access to device special files */
|
||||
#define MS_NOEXEC 8 /* Disallow program execution */
|
||||
#define MS_SYNCHRONOUS 16 /* Writes are synced at once */
|
||||
#define MS_REMOUNT 32 /* Alter flags of a mounted FS */
|
||||
#define MS_MANDLOCK 64 /* Allow mandatory locks on an FS */
|
||||
#define MS_DIRSYNC 128 /* Directory modifications are synchronous */
|
||||
#define MS_NOATIME 1024 /* Do not update access times. */
|
||||
#define MS_NODIRATIME 2048 /* Do not update directory access times */
|
||||
#define MS_BIND 4096
|
||||
#define MS_MOVE 8192
|
||||
#define MS_REC 16384
|
||||
#define MS_VERBOSE 32768 /* War is peace. Verbosity is silence.
|
||||
MS_VERBOSE is deprecated. */
|
||||
#define MS_SILENT 32768
|
||||
#define MS_POSIXACL (1<<16) /* VFS does not apply the umask */
|
||||
#define MS_UNBINDABLE (1<<17) /* change to unbindable */
|
||||
#define MS_PRIVATE (1<<18) /* change to private */
|
||||
#define MS_SLAVE (1<<19) /* change to slave */
|
||||
#define MS_SHARED (1<<20) /* change to shared */
|
||||
#define MS_RELATIME (1<<21) /* Update atime relative to mtime/ctime. */
|
||||
#define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */
|
||||
#define MS_I_VERSION (1<<23) /* Update inode I_version field */
|
||||
#define MS_STRICTATIME (1<<24) /* Always perform atime updates */
|
||||
#define MS_LAZYTIME (1<<25) /* Update the on-disk [acm]times lazily */
|
||||
|
||||
/* These sb flags are internal to the kernel */
|
||||
#define MS_SUBMOUNT (1<<26)
|
||||
#define MS_NOREMOTELOCK (1<<27)
|
||||
#define MS_NOSEC (1<<28)
|
||||
#define MS_BORN (1<<29)
|
||||
#define MS_ACTIVE (1<<30)
|
||||
#define MS_NOUSER (1<<31)
|
||||
|
||||
/*
|
||||
* Superblock flags that can be altered by MS_REMOUNT
|
||||
*/
|
||||
#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION|\
|
||||
MS_LAZYTIME)
|
||||
|
||||
/*
|
||||
* Old magic mount flag and mask
|
||||
*/
|
||||
#define MS_MGC_VAL 0xC0ED0000
|
||||
#define MS_MGC_MSK 0xffff0000
|
||||
|
||||
/*
|
||||
* Structure for FS_IOC_FSGETXATTR[A] and FS_IOC_FSSETXATTR.
|
||||
*/
|
||||
@@ -269,7 +223,8 @@ struct fsxattr {
|
||||
#define FS_POLICY_FLAGS_PAD_16 0x02
|
||||
#define FS_POLICY_FLAGS_PAD_32 0x03
|
||||
#define FS_POLICY_FLAGS_PAD_MASK 0x03
|
||||
#define FS_POLICY_FLAGS_VALID 0x03
|
||||
#define FS_POLICY_FLAG_DIRECT_KEY 0x04 /* use master key directly */
|
||||
#define FS_POLICY_FLAGS_VALID 0x07
|
||||
|
||||
/* Encryption algorithms */
|
||||
#define FS_ENCRYPTION_MODE_INVALID 0
|
||||
@@ -281,6 +236,7 @@ struct fsxattr {
|
||||
#define FS_ENCRYPTION_MODE_AES_128_CTS 6
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_XTS 7 /* Removed, do not use. */
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_CTS 8 /* Removed, do not use. */
|
||||
#define FS_ENCRYPTION_MODE_ADIANTUM 9
|
||||
|
||||
struct fscrypt_policy {
|
||||
__u8 version;
|
||||
|
||||
@@ -122,6 +122,9 @@
|
||||
* - add FOPEN_CACHE_DIR
|
||||
* - add FUSE_MAX_PAGES, add max_pages to init_out
|
||||
* - add FUSE_CACHE_SYMLINKS
|
||||
*
|
||||
* 7.29
|
||||
* - add FUSE_NO_OPENDIR_SUPPORT flag
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_FUSE_H
|
||||
@@ -157,7 +160,7 @@
|
||||
#define FUSE_KERNEL_VERSION 7
|
||||
|
||||
/** Minor version number of this interface */
|
||||
#define FUSE_KERNEL_MINOR_VERSION 28
|
||||
#define FUSE_KERNEL_MINOR_VERSION 29
|
||||
|
||||
/** The node ID of the root inode */
|
||||
#define FUSE_ROOT_ID 1
|
||||
@@ -259,6 +262,7 @@ struct fuse_file_lock {
|
||||
* FUSE_ABORT_ERROR: reading the device after abort returns ECONNABORTED
|
||||
* FUSE_MAX_PAGES: init_out.max_pages contains the max number of req pages
|
||||
* FUSE_CACHE_SYMLINKS: cache READLINK responses
|
||||
* FUSE_NO_OPENDIR_SUPPORT: kernel supports zero-message opendir
|
||||
*/
|
||||
#define FUSE_ASYNC_READ (1 << 0)
|
||||
#define FUSE_POSIX_LOCKS (1 << 1)
|
||||
@@ -284,6 +288,7 @@ struct fuse_file_lock {
|
||||
#define FUSE_ABORT_ERROR (1 << 21)
|
||||
#define FUSE_MAX_PAGES (1 << 22)
|
||||
#define FUSE_CACHE_SYMLINKS (1 << 23)
|
||||
#define FUSE_NO_OPENDIR_SUPPORT (1 << 24)
|
||||
|
||||
/**
|
||||
* CUSE INIT request/reply flags
|
||||
|
||||
@@ -33,6 +33,8 @@ enum hash_algo {
|
||||
HASH_ALGO_TGR_160,
|
||||
HASH_ALGO_TGR_192,
|
||||
HASH_ALGO_SM3_256,
|
||||
HASH_ALGO_STREEBOG_256,
|
||||
HASH_ALGO_STREEBOG_512,
|
||||
HASH_ALGO__LAST
|
||||
};
|
||||
|
||||
|
||||
@@ -108,6 +108,8 @@ struct icmp6hdr {
|
||||
#define ICMPV6_MOBILE_PREFIX_SOL 146
|
||||
#define ICMPV6_MOBILE_PREFIX_ADV 147
|
||||
|
||||
#define ICMPV6_MRDISC_ADV 151
|
||||
|
||||
/*
|
||||
* Codes for Destination Unreachable
|
||||
*/
|
||||
|
||||
@@ -117,6 +117,30 @@ struct ad_info {
|
||||
__u8 partner_system[ETH_ALEN];
|
||||
};
|
||||
|
||||
/* Embedded inside LINK_XSTATS_TYPE_BOND */
|
||||
enum {
|
||||
BOND_XSTATS_UNSPEC,
|
||||
BOND_XSTATS_3AD,
|
||||
__BOND_XSTATS_MAX
|
||||
};
|
||||
#define BOND_XSTATS_MAX (__BOND_XSTATS_MAX - 1)
|
||||
|
||||
/* Embedded inside BOND_XSTATS_3AD */
|
||||
enum {
|
||||
BOND_3AD_STAT_LACPDU_RX,
|
||||
BOND_3AD_STAT_LACPDU_TX,
|
||||
BOND_3AD_STAT_LACPDU_UNKNOWN_RX,
|
||||
BOND_3AD_STAT_LACPDU_ILLEGAL_RX,
|
||||
BOND_3AD_STAT_MARKER_RX,
|
||||
BOND_3AD_STAT_MARKER_TX,
|
||||
BOND_3AD_STAT_MARKER_RESP_RX,
|
||||
BOND_3AD_STAT_MARKER_RESP_TX,
|
||||
BOND_3AD_STAT_MARKER_UNKNOWN_RX,
|
||||
BOND_3AD_STAT_PAD,
|
||||
__BOND_3AD_STAT_MAX
|
||||
};
|
||||
#define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1)
|
||||
|
||||
#endif /* _LINUX_IF_BONDING_H */
|
||||
|
||||
/*
|
||||
|
||||
@@ -292,4 +292,25 @@ struct br_mcast_stats {
|
||||
__u64 mcast_bytes[BR_MCAST_DIR_SIZE];
|
||||
__u64 mcast_packets[BR_MCAST_DIR_SIZE];
|
||||
};
|
||||
|
||||
/* bridge boolean options
|
||||
* BR_BOOLOPT_NO_LL_LEARN - disable learning from link-local packets
|
||||
*
|
||||
* IMPORTANT: if adding a new option do not forget to handle
|
||||
* it in br_boolopt_toggle/get and bridge sysfs
|
||||
*/
|
||||
enum br_boolopt_id {
|
||||
BR_BOOLOPT_NO_LL_LEARN,
|
||||
BR_BOOLOPT_MAX
|
||||
};
|
||||
|
||||
/* struct br_boolopt_multi - change multiple bridge boolean options
|
||||
*
|
||||
* @optval: new option values (bit per option)
|
||||
* @optmask: options to change (bit per option)
|
||||
*/
|
||||
struct br_boolopt_multi {
|
||||
__u32 optval;
|
||||
__u32 optmask;
|
||||
};
|
||||
#endif /* _UAPI_LINUX_IF_BRIDGE_H */
|
||||
|
||||
@@ -288,6 +288,7 @@ enum {
|
||||
IFLA_BR_MCAST_IGMP_VERSION,
|
||||
IFLA_BR_MCAST_MLD_VERSION,
|
||||
IFLA_BR_VLAN_STATS_PER_PORT,
|
||||
IFLA_BR_MULTI_BOOLOPT,
|
||||
__IFLA_BR_MAX,
|
||||
};
|
||||
|
||||
@@ -533,6 +534,7 @@ enum {
|
||||
IFLA_VXLAN_LABEL,
|
||||
IFLA_VXLAN_GPE,
|
||||
IFLA_VXLAN_TTL_INHERIT,
|
||||
IFLA_VXLAN_DF,
|
||||
__IFLA_VXLAN_MAX
|
||||
};
|
||||
#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
|
||||
@@ -542,6 +544,14 @@ struct ifla_vxlan_port_range {
|
||||
__be16 high;
|
||||
};
|
||||
|
||||
enum ifla_vxlan_df {
|
||||
VXLAN_DF_UNSET = 0,
|
||||
VXLAN_DF_SET,
|
||||
VXLAN_DF_INHERIT,
|
||||
__VXLAN_DF_END,
|
||||
VXLAN_DF_MAX = __VXLAN_DF_END - 1,
|
||||
};
|
||||
|
||||
/* GENEVE section */
|
||||
enum {
|
||||
IFLA_GENEVE_UNSPEC,
|
||||
@@ -557,10 +567,19 @@ enum {
|
||||
IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
|
||||
IFLA_GENEVE_LABEL,
|
||||
IFLA_GENEVE_TTL_INHERIT,
|
||||
IFLA_GENEVE_DF,
|
||||
__IFLA_GENEVE_MAX
|
||||
};
|
||||
#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
|
||||
|
||||
enum ifla_geneve_df {
|
||||
GENEVE_DF_UNSET = 0,
|
||||
GENEVE_DF_SET,
|
||||
GENEVE_DF_INHERIT,
|
||||
__GENEVE_DF_END,
|
||||
GENEVE_DF_MAX = __GENEVE_DF_END - 1,
|
||||
};
|
||||
|
||||
/* PPP section */
|
||||
enum {
|
||||
IFLA_PPP_UNSPEC,
|
||||
@@ -906,6 +925,7 @@ enum {
|
||||
enum {
|
||||
LINK_XSTATS_TYPE_UNSPEC,
|
||||
LINK_XSTATS_TYPE_BRIDGE,
|
||||
LINK_XSTATS_TYPE_BOND,
|
||||
__LINK_XSTATS_TYPE_MAX
|
||||
};
|
||||
#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
#define TUNGETVNETBE _IOR('T', 223, int)
|
||||
#define TUNSETSTEERINGEBPF _IOR('T', 224, int)
|
||||
#define TUNSETFILTEREBPF _IOR('T', 225, int)
|
||||
#define TUNSETCARRIER _IOW('T', 226, int)
|
||||
|
||||
/* TUNSETIFF ifr flags */
|
||||
#define IFF_TUN 0x0001
|
||||
|
||||
@@ -93,6 +93,7 @@ struct igmpv3_query {
|
||||
#define IGMP_MTRACE_RESP 0x1e
|
||||
#define IGMP_MTRACE 0x1f
|
||||
|
||||
#define IGMP_MRDISC_ADV 0x30 /* From RFC4286 */
|
||||
|
||||
/*
|
||||
* Use the BSD names for these for compatibility
|
||||
|
||||
@@ -46,6 +46,7 @@ enum iio_chan_type {
|
||||
IIO_GRAVITY,
|
||||
IIO_POSITIONRELATIVE,
|
||||
IIO_PHASE,
|
||||
IIO_MASSCONCENTRATION,
|
||||
};
|
||||
|
||||
enum iio_modifier {
|
||||
@@ -87,6 +88,12 @@ enum iio_modifier {
|
||||
IIO_MOD_VOC,
|
||||
IIO_MOD_LIGHT_UV,
|
||||
IIO_MOD_LIGHT_DUV,
|
||||
IIO_MOD_PM1,
|
||||
IIO_MOD_PM2P5,
|
||||
IIO_MOD_PM4,
|
||||
IIO_MOD_PM10,
|
||||
IIO_MOD_ETHANOL,
|
||||
IIO_MOD_H2,
|
||||
};
|
||||
|
||||
enum iio_event_type {
|
||||
|
||||
@@ -268,7 +268,7 @@ struct sockaddr_in {
|
||||
#define IN_MULTICAST(a) IN_CLASSD(a)
|
||||
#define IN_MULTICAST_NET 0xe0000000
|
||||
|
||||
#define IN_BADCLASS(a) ((((long int) (a) ) == 0xffffffff)
|
||||
#define IN_BADCLASS(a) (((long int) (a) ) == (long int)0xffffffff)
|
||||
#define IN_EXPERIMENTAL(a) IN_BADCLASS((a))
|
||||
|
||||
#define IN_CLASSE(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000)
|
||||
@@ -292,10 +292,11 @@ struct sockaddr_in {
|
||||
#define IN_LOOPBACK(a) ((((long int) (a)) & 0xff000000) == 0x7f000000)
|
||||
|
||||
/* Defines for Multicast INADDR */
|
||||
#define INADDR_UNSPEC_GROUP 0xe0000000U /* 224.0.0.0 */
|
||||
#define INADDR_ALLHOSTS_GROUP 0xe0000001U /* 224.0.0.1 */
|
||||
#define INADDR_ALLRTRS_GROUP 0xe0000002U /* 224.0.0.2 */
|
||||
#define INADDR_MAX_LOCAL_GROUP 0xe00000ffU /* 224.0.0.255 */
|
||||
#define INADDR_UNSPEC_GROUP 0xe0000000U /* 224.0.0.0 */
|
||||
#define INADDR_ALLHOSTS_GROUP 0xe0000001U /* 224.0.0.1 */
|
||||
#define INADDR_ALLRTRS_GROUP 0xe0000002U /* 224.0.0.2 */
|
||||
#define INADDR_ALLSNOOPERS_GROUP 0xe000006aU /* 224.0.0.106 */
|
||||
#define INADDR_MAX_LOCAL_GROUP 0xe00000ffU /* 224.0.0.255 */
|
||||
#endif
|
||||
|
||||
/* <asm/byteorder.h> contains the htonl type stuff.. */
|
||||
|
||||
@@ -178,6 +178,7 @@ struct in6_flowlabel_req {
|
||||
#define IPV6_JOIN_ANYCAST 27
|
||||
#define IPV6_LEAVE_ANYCAST 28
|
||||
#define IPV6_MULTICAST_ALL 29
|
||||
#define IPV6_ROUTER_ALERT_ISOLATE 30
|
||||
|
||||
/* IPV6_MTU_DISCOVER values */
|
||||
#define IPV6_PMTUDISC_DONT 0
|
||||
|
||||
@@ -137,15 +137,21 @@ enum {
|
||||
INET_DIAG_TCLASS,
|
||||
INET_DIAG_SKMEMINFO,
|
||||
INET_DIAG_SHUTDOWN,
|
||||
INET_DIAG_DCTCPINFO,
|
||||
INET_DIAG_PROTOCOL, /* response attribute only */
|
||||
|
||||
/*
|
||||
* Next extenstions cannot be requested in struct inet_diag_req_v2:
|
||||
* its field idiag_ext has only 8 bits.
|
||||
*/
|
||||
|
||||
INET_DIAG_DCTCPINFO, /* request as INET_DIAG_VEGASINFO */
|
||||
INET_DIAG_PROTOCOL, /* response attribute only */
|
||||
INET_DIAG_SKV6ONLY,
|
||||
INET_DIAG_LOCALS,
|
||||
INET_DIAG_PEERS,
|
||||
INET_DIAG_PAD,
|
||||
INET_DIAG_MARK,
|
||||
INET_DIAG_BBRINFO,
|
||||
INET_DIAG_CLASS_ID,
|
||||
INET_DIAG_MARK, /* only with CAP_NET_ADMIN */
|
||||
INET_DIAG_BBRINFO, /* request as INET_DIAG_VEGASINFO */
|
||||
INET_DIAG_CLASS_ID, /* request as INET_DIAG_TCLASS */
|
||||
INET_DIAG_MD5SIG,
|
||||
__INET_DIAG_MAX,
|
||||
};
|
||||
|
||||
@@ -439,10 +439,12 @@
|
||||
#define KEY_TITLE 0x171
|
||||
#define KEY_SUBTITLE 0x172
|
||||
#define KEY_ANGLE 0x173
|
||||
#define KEY_ZOOM 0x174
|
||||
#define KEY_FULL_SCREEN 0x174 /* AC View Toggle */
|
||||
#define KEY_ZOOM KEY_FULL_SCREEN
|
||||
#define KEY_MODE 0x175
|
||||
#define KEY_KEYBOARD 0x176
|
||||
#define KEY_SCREEN 0x177
|
||||
#define KEY_ASPECT_RATIO 0x177 /* HUTRR37: Aspect */
|
||||
#define KEY_SCREEN KEY_ASPECT_RATIO
|
||||
#define KEY_PC 0x178 /* Media Select Computer */
|
||||
#define KEY_TV 0x179 /* Media Select TV */
|
||||
#define KEY_TV2 0x17a /* Media Select Cable */
|
||||
@@ -717,6 +719,8 @@
|
||||
* the situation described above.
|
||||
*/
|
||||
#define REL_RESERVED 0x0a
|
||||
#define REL_WHEEL_HI_RES 0x0b
|
||||
#define REL_HWHEEL_HI_RES 0x0c
|
||||
#define REL_MAX 0x0f
|
||||
#define REL_CNT (REL_MAX+1)
|
||||
|
||||
|
||||
@@ -26,13 +26,17 @@
|
||||
*/
|
||||
|
||||
struct input_event {
|
||||
#if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) && !defined(__KERNEL)
|
||||
#if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) && !defined(__KERNEL__)
|
||||
struct timeval time;
|
||||
#define input_event_sec time.tv_sec
|
||||
#define input_event_usec time.tv_usec
|
||||
#else
|
||||
__kernel_ulong_t __sec;
|
||||
#if defined(__sparc__) && defined(__arch64__)
|
||||
unsigned int __usec;
|
||||
#else
|
||||
__kernel_ulong_t __usec;
|
||||
#endif
|
||||
#define input_event_sec __sec
|
||||
#define input_event_usec __usec
|
||||
#endif
|
||||
|
||||
137
include/uapi/linux/io_uring.h
Normal file
137
include/uapi/linux/io_uring.h
Normal file
@@ -0,0 +1,137 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* Header file for the io_uring interface.
|
||||
*
|
||||
* Copyright (C) 2019 Jens Axboe
|
||||
* Copyright (C) 2019 Christoph Hellwig
|
||||
*/
|
||||
#ifndef LINUX_IO_URING_H
|
||||
#define LINUX_IO_URING_H
|
||||
|
||||
#include <linux/fs.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* IO submission data structure (Submission Queue Entry)
|
||||
*/
|
||||
struct io_uring_sqe {
|
||||
__u8 opcode; /* type of operation for this sqe */
|
||||
__u8 flags; /* IOSQE_ flags */
|
||||
__u16 ioprio; /* ioprio for the request */
|
||||
__s32 fd; /* file descriptor to do IO on */
|
||||
__u64 off; /* offset into file */
|
||||
__u64 addr; /* pointer to buffer or iovecs */
|
||||
__u32 len; /* buffer size or number of iovecs */
|
||||
union {
|
||||
__kernel_rwf_t rw_flags;
|
||||
__u32 fsync_flags;
|
||||
__u16 poll_events;
|
||||
};
|
||||
__u64 user_data; /* data to be passed back at completion time */
|
||||
union {
|
||||
__u16 buf_index; /* index into fixed buffers, if used */
|
||||
__u64 __pad2[3];
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* sqe->flags
|
||||
*/
|
||||
#define IOSQE_FIXED_FILE (1U << 0) /* use fixed fileset */
|
||||
|
||||
/*
|
||||
* io_uring_setup() flags
|
||||
*/
|
||||
#define IORING_SETUP_IOPOLL (1U << 0) /* io_context is polled */
|
||||
#define IORING_SETUP_SQPOLL (1U << 1) /* SQ poll thread */
|
||||
#define IORING_SETUP_SQ_AFF (1U << 2) /* sq_thread_cpu is valid */
|
||||
|
||||
#define IORING_OP_NOP 0
|
||||
#define IORING_OP_READV 1
|
||||
#define IORING_OP_WRITEV 2
|
||||
#define IORING_OP_FSYNC 3
|
||||
#define IORING_OP_READ_FIXED 4
|
||||
#define IORING_OP_WRITE_FIXED 5
|
||||
#define IORING_OP_POLL_ADD 6
|
||||
#define IORING_OP_POLL_REMOVE 7
|
||||
|
||||
/*
|
||||
* sqe->fsync_flags
|
||||
*/
|
||||
#define IORING_FSYNC_DATASYNC (1U << 0)
|
||||
|
||||
/*
|
||||
* IO completion data structure (Completion Queue Entry)
|
||||
*/
|
||||
struct io_uring_cqe {
|
||||
__u64 user_data; /* sqe->data submission passed back */
|
||||
__s32 res; /* result code for this event */
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
/*
|
||||
* Magic offsets for the application to mmap the data it needs
|
||||
*/
|
||||
#define IORING_OFF_SQ_RING 0ULL
|
||||
#define IORING_OFF_CQ_RING 0x8000000ULL
|
||||
#define IORING_OFF_SQES 0x10000000ULL
|
||||
|
||||
/*
|
||||
* Filled with the offset for mmap(2)
|
||||
*/
|
||||
struct io_sqring_offsets {
|
||||
__u32 head;
|
||||
__u32 tail;
|
||||
__u32 ring_mask;
|
||||
__u32 ring_entries;
|
||||
__u32 flags;
|
||||
__u32 dropped;
|
||||
__u32 array;
|
||||
__u32 resv1;
|
||||
__u64 resv2;
|
||||
};
|
||||
|
||||
/*
|
||||
* sq_ring->flags
|
||||
*/
|
||||
#define IORING_SQ_NEED_WAKEUP (1U << 0) /* needs io_uring_enter wakeup */
|
||||
|
||||
struct io_cqring_offsets {
|
||||
__u32 head;
|
||||
__u32 tail;
|
||||
__u32 ring_mask;
|
||||
__u32 ring_entries;
|
||||
__u32 overflow;
|
||||
__u32 cqes;
|
||||
__u64 resv[2];
|
||||
};
|
||||
|
||||
/*
|
||||
* io_uring_enter(2) flags
|
||||
*/
|
||||
#define IORING_ENTER_GETEVENTS (1U << 0)
|
||||
#define IORING_ENTER_SQ_WAKEUP (1U << 1)
|
||||
|
||||
/*
|
||||
* Passed in for io_uring_setup(2). Copied back with updated info on success
|
||||
*/
|
||||
struct io_uring_params {
|
||||
__u32 sq_entries;
|
||||
__u32 cq_entries;
|
||||
__u32 flags;
|
||||
__u32 sq_thread_cpu;
|
||||
__u32 sq_thread_idle;
|
||||
__u32 resv[5];
|
||||
struct io_sqring_offsets sq_off;
|
||||
struct io_cqring_offsets cq_off;
|
||||
};
|
||||
|
||||
/*
|
||||
* io_uring_register(2) opcodes and arguments
|
||||
*/
|
||||
#define IORING_REGISTER_BUFFERS 0
|
||||
#define IORING_UNREGISTER_BUFFERS 1
|
||||
#define IORING_REGISTER_FILES 2
|
||||
#define IORING_UNREGISTER_FILES 3
|
||||
|
||||
#endif
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
#define KPF_KSM 21
|
||||
#define KPF_THP 22
|
||||
#define KPF_BALLOON 23
|
||||
#define KPF_OFFLINE 23
|
||||
#define KPF_ZERO_PAGE 24
|
||||
#define KPF_IDLE 25
|
||||
#define KPF_PGTABLE 26
|
||||
|
||||
@@ -398,6 +398,24 @@ struct kfd_ioctl_unmap_memory_from_gpu_args {
|
||||
__u32 n_success; /* to/from KFD */
|
||||
};
|
||||
|
||||
struct kfd_ioctl_get_dmabuf_info_args {
|
||||
__u64 size; /* from KFD */
|
||||
__u64 metadata_ptr; /* to KFD */
|
||||
__u32 metadata_size; /* to KFD (space allocated by user)
|
||||
* from KFD (actual metadata size)
|
||||
*/
|
||||
__u32 gpu_id; /* from KFD */
|
||||
__u32 flags; /* from KFD (KFD_IOC_ALLOC_MEM_FLAGS) */
|
||||
__u32 dmabuf_fd; /* to KFD */
|
||||
};
|
||||
|
||||
struct kfd_ioctl_import_dmabuf_args {
|
||||
__u64 va_addr; /* to KFD */
|
||||
__u64 handle; /* from KFD */
|
||||
__u32 gpu_id; /* to KFD */
|
||||
__u32 dmabuf_fd; /* to KFD */
|
||||
};
|
||||
|
||||
#define AMDKFD_IOCTL_BASE 'K'
|
||||
#define AMDKFD_IO(nr) _IO(AMDKFD_IOCTL_BASE, nr)
|
||||
#define AMDKFD_IOR(nr, type) _IOR(AMDKFD_IOCTL_BASE, nr, type)
|
||||
@@ -486,7 +504,13 @@ struct kfd_ioctl_unmap_memory_from_gpu_args {
|
||||
#define AMDKFD_IOC_GET_QUEUE_WAVE_STATE \
|
||||
AMDKFD_IOWR(0x1B, struct kfd_ioctl_get_queue_wave_state_args)
|
||||
|
||||
#define AMDKFD_IOC_GET_DMABUF_INFO \
|
||||
AMDKFD_IOWR(0x1C, struct kfd_ioctl_get_dmabuf_info_args)
|
||||
|
||||
#define AMDKFD_IOC_IMPORT_DMABUF \
|
||||
AMDKFD_IOWR(0x1D, struct kfd_ioctl_import_dmabuf_args)
|
||||
|
||||
#define AMDKFD_COMMAND_START 0x01
|
||||
#define AMDKFD_COMMAND_END 0x1C
|
||||
#define AMDKFD_COMMAND_END 0x1E
|
||||
|
||||
#endif
|
||||
|
||||
@@ -492,6 +492,17 @@ struct kvm_dirty_log {
|
||||
};
|
||||
};
|
||||
|
||||
/* for KVM_CLEAR_DIRTY_LOG */
|
||||
struct kvm_clear_dirty_log {
|
||||
__u32 slot;
|
||||
__u32 num_pages;
|
||||
__u64 first_page;
|
||||
union {
|
||||
void __user *dirty_bitmap; /* one bit per page */
|
||||
__u64 padding2;
|
||||
};
|
||||
};
|
||||
|
||||
/* for KVM_SET_SIGNAL_MASK */
|
||||
struct kvm_signal_mask {
|
||||
__u32 len;
|
||||
@@ -975,6 +986,8 @@ struct kvm_ppc_resize_hpt {
|
||||
#define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
|
||||
#define KVM_CAP_EXCEPTION_PAYLOAD 164
|
||||
#define KVM_CAP_ARM_VM_IPA_SIZE 165
|
||||
#define KVM_CAP_MANUAL_DIRTY_LOG_PROTECT 166
|
||||
#define KVM_CAP_HYPERV_CPUID 167
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
@@ -1421,6 +1434,12 @@ struct kvm_enc_region {
|
||||
#define KVM_GET_NESTED_STATE _IOWR(KVMIO, 0xbe, struct kvm_nested_state)
|
||||
#define KVM_SET_NESTED_STATE _IOW(KVMIO, 0xbf, struct kvm_nested_state)
|
||||
|
||||
/* Available with KVM_CAP_MANUAL_DIRTY_LOG_PROTECT */
|
||||
#define KVM_CLEAR_DIRTY_LOG _IOWR(KVMIO, 0xc0, struct kvm_clear_dirty_log)
|
||||
|
||||
/* Available with KVM_CAP_HYPERV_CPUID */
|
||||
#define KVM_GET_SUPPORTED_HV_CPUID _IOWR(KVMIO, 0xc1, struct kvm_cpuid2)
|
||||
|
||||
/* Secure Encrypted Virtualization command */
|
||||
enum sev_cmd_id {
|
||||
/* Guest initialization commands */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _LINUX_LIMITS_H
|
||||
#define _LINUX_LIMITS_H
|
||||
#ifndef _UAPI_LINUX_LIMITS_H
|
||||
#define _UAPI_LINUX_LIMITS_H
|
||||
|
||||
#define NR_OPEN 1024
|
||||
|
||||
|
||||
@@ -192,6 +192,9 @@ struct lirc_scancode {
|
||||
* @RC_PROTO_XMP: XMP protocol
|
||||
* @RC_PROTO_CEC: CEC protocol
|
||||
* @RC_PROTO_IMON: iMon Pad protocol
|
||||
* @RC_PROTO_RCMM12: RC-MM protocol 12 bits
|
||||
* @RC_PROTO_RCMM24: RC-MM protocol 24 bits
|
||||
* @RC_PROTO_RCMM32: RC-MM protocol 32 bits
|
||||
*/
|
||||
enum rc_proto {
|
||||
RC_PROTO_UNKNOWN = 0,
|
||||
@@ -218,6 +221,9 @@ enum rc_proto {
|
||||
RC_PROTO_XMP = 21,
|
||||
RC_PROTO_CEC = 22,
|
||||
RC_PROTO_IMON = 23,
|
||||
RC_PROTO_RCMM12 = 24,
|
||||
RC_PROTO_RCMM24 = 25,
|
||||
RC_PROTO_RCMM32 = 26,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -73,6 +73,7 @@
|
||||
#define DAXFS_MAGIC 0x64646178
|
||||
#define BINFMTFS_MAGIC 0x42494e4d
|
||||
#define DEVPTS_SUPER_MAGIC 0x1cd1
|
||||
#define BINDERFS_SUPER_MAGIC 0x6c6f6f70
|
||||
#define FUTEXFS_SUPER_MAGIC 0xBAD1DEA
|
||||
#define PIPEFS_MAGIC 0x50495045
|
||||
#define PROC_SUPER_MAGIC 0x9fa0
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MDIO_AN_ADVERTISE 16 /* AN advertising (base page) */
|
||||
#define MDIO_AN_LPA 19 /* AN LP abilities (base page) */
|
||||
#define MDIO_PCS_EEE_ABLE 20 /* EEE Capability register */
|
||||
#define MDIO_PMA_NG_EXTABLE 21 /* 2.5G/5G PMA/PMD extended ability */
|
||||
#define MDIO_PCS_EEE_WK_ERR 22 /* EEE wake error counter */
|
||||
#define MDIO_PHYXS_LNSTAT 24 /* PHY XGXS lane state */
|
||||
#define MDIO_AN_EEE_ADV 60 /* EEE advertisement */
|
||||
@@ -92,6 +93,10 @@
|
||||
#define MDIO_CTRL1_SPEED10G (MDIO_CTRL1_SPEEDSELEXT | 0x00)
|
||||
/* 10PASS-TS/2BASE-TL */
|
||||
#define MDIO_CTRL1_SPEED10P2B (MDIO_CTRL1_SPEEDSELEXT | 0x04)
|
||||
/* 2.5 Gb/s */
|
||||
#define MDIO_CTRL1_SPEED2_5G (MDIO_CTRL1_SPEEDSELEXT | 0x18)
|
||||
/* 5 Gb/s */
|
||||
#define MDIO_CTRL1_SPEED5G (MDIO_CTRL1_SPEEDSELEXT | 0x1c)
|
||||
|
||||
/* Status register 1. */
|
||||
#define MDIO_STAT1_LPOWERABLE 0x0002 /* Low-power ability */
|
||||
@@ -115,6 +120,7 @@
|
||||
|
||||
/* Device present registers. */
|
||||
#define MDIO_DEVS_PRESENT(devad) (1 << (devad))
|
||||
#define MDIO_DEVS_C22PRESENT MDIO_DEVS_PRESENT(0)
|
||||
#define MDIO_DEVS_PMAPMD MDIO_DEVS_PRESENT(MDIO_MMD_PMAPMD)
|
||||
#define MDIO_DEVS_WIS MDIO_DEVS_PRESENT(MDIO_MMD_WIS)
|
||||
#define MDIO_DEVS_PCS MDIO_DEVS_PRESENT(MDIO_MMD_PCS)
|
||||
@@ -123,6 +129,8 @@
|
||||
#define MDIO_DEVS_TC MDIO_DEVS_PRESENT(MDIO_MMD_TC)
|
||||
#define MDIO_DEVS_AN MDIO_DEVS_PRESENT(MDIO_MMD_AN)
|
||||
#define MDIO_DEVS_C22EXT MDIO_DEVS_PRESENT(MDIO_MMD_C22EXT)
|
||||
#define MDIO_DEVS_VEND1 MDIO_DEVS_PRESENT(MDIO_MMD_VEND1)
|
||||
#define MDIO_DEVS_VEND2 MDIO_DEVS_PRESENT(MDIO_MMD_VEND2)
|
||||
|
||||
/* Control register 2. */
|
||||
#define MDIO_PMA_CTRL2_TYPE 0x000f /* PMA/PMD type selection */
|
||||
@@ -142,6 +150,8 @@
|
||||
#define MDIO_PMA_CTRL2_1000BKX 0x000d /* 1000BASE-KX type */
|
||||
#define MDIO_PMA_CTRL2_100BTX 0x000e /* 100BASE-TX type */
|
||||
#define MDIO_PMA_CTRL2_10BT 0x000f /* 10BASE-T type */
|
||||
#define MDIO_PMA_CTRL2_2_5GBT 0x0030 /* 2.5GBaseT type */
|
||||
#define MDIO_PMA_CTRL2_5GBT 0x0031 /* 5GBaseT type */
|
||||
#define MDIO_PCS_CTRL2_TYPE 0x0003 /* PCS type selection */
|
||||
#define MDIO_PCS_CTRL2_10GBR 0x0000 /* 10GBASE-R type */
|
||||
#define MDIO_PCS_CTRL2_10GBX 0x0001 /* 10GBASE-X type */
|
||||
@@ -195,6 +205,7 @@
|
||||
#define MDIO_PMA_EXTABLE_1000BKX 0x0040 /* 1000BASE-KX ability */
|
||||
#define MDIO_PMA_EXTABLE_100BTX 0x0080 /* 100BASE-TX ability */
|
||||
#define MDIO_PMA_EXTABLE_10BT 0x0100 /* 10BASE-T ability */
|
||||
#define MDIO_PMA_EXTABLE_NBT 0x4000 /* 2.5/5GBASE-T ability */
|
||||
|
||||
/* PHY XGXS lane state register. */
|
||||
#define MDIO_PHYXS_LNSTAT_SYNC0 0x0001
|
||||
@@ -231,9 +242,13 @@
|
||||
#define MDIO_PCS_10GBRT_STAT2_BER 0x3f00
|
||||
|
||||
/* AN 10GBASE-T control register. */
|
||||
#define MDIO_AN_10GBT_CTRL_ADV2_5G 0x0080 /* Advertise 2.5GBASE-T */
|
||||
#define MDIO_AN_10GBT_CTRL_ADV5G 0x0100 /* Advertise 5GBASE-T */
|
||||
#define MDIO_AN_10GBT_CTRL_ADV10G 0x1000 /* Advertise 10GBASE-T */
|
||||
|
||||
/* AN 10GBASE-T status register. */
|
||||
#define MDIO_AN_10GBT_STAT_LP2_5G 0x0020 /* LP is 2.5GBT capable */
|
||||
#define MDIO_AN_10GBT_STAT_LP5G 0x0040 /* LP is 5GBT capable */
|
||||
#define MDIO_AN_10GBT_STAT_LPTRR 0x0200 /* LP training reset req. */
|
||||
#define MDIO_AN_10GBT_STAT_LPLTABLE 0x0400 /* LP loop timing ability */
|
||||
#define MDIO_AN_10GBT_STAT_LP10G 0x0800 /* LP is 10GBT capable */
|
||||
@@ -262,6 +277,10 @@
|
||||
#define MDIO_EEE_10GKX4 0x0020 /* 10G KX4 EEE cap */
|
||||
#define MDIO_EEE_10GKR 0x0040 /* 10G KR EEE cap */
|
||||
|
||||
/* 2.5G/5G Extended abilities register. */
|
||||
#define MDIO_PMA_NG_EXTABLE_2_5GBT 0x0001 /* 2.5GBASET ability */
|
||||
#define MDIO_PMA_NG_EXTABLE_5GBT 0x0002 /* 5GBASET ability */
|
||||
|
||||
/* LASI RX_ALARM control/status registers. */
|
||||
#define MDIO_PMA_LASI_RX_PHYXSLFLT 0x0001 /* PHY XS RX local fault */
|
||||
#define MDIO_PMA_LASI_RX_PCSLFLT 0x0008 /* PCS RX local fault */
|
||||
|
||||
@@ -12,6 +12,10 @@
|
||||
#define OVERCOMMIT_ALWAYS 1
|
||||
#define OVERCOMMIT_NEVER 2
|
||||
|
||||
#define MAP_SHARED 0x01 /* Share changes */
|
||||
#define MAP_PRIVATE 0x02 /* Changes are private */
|
||||
#define MAP_SHARED_VALIDATE 0x03 /* share + validate extension flags */
|
||||
|
||||
/*
|
||||
* Huge page size encoding when MAP_HUGETLB is specified, and a huge page
|
||||
* size other than the default is desired. See hugetlb_encode.h.
|
||||
|
||||
@@ -5,7 +5,10 @@
|
||||
#include <linux/types.h>
|
||||
|
||||
struct mmc_ioc_cmd {
|
||||
/* Implies direction of data. true = write, false = read */
|
||||
/*
|
||||
* Direction of data: nonzero = write, zero = read.
|
||||
* Bit 31 selects 'Reliable Write' for RPMB.
|
||||
*/
|
||||
int write_flag;
|
||||
|
||||
/* Application-specific command. true = precede with CMD55 */
|
||||
|
||||
58
include/uapi/linux/mount.h
Normal file
58
include/uapi/linux/mount.h
Normal file
@@ -0,0 +1,58 @@
|
||||
#ifndef _UAPI_LINUX_MOUNT_H
|
||||
#define _UAPI_LINUX_MOUNT_H
|
||||
|
||||
/*
|
||||
* These are the fs-independent mount-flags: up to 32 flags are supported
|
||||
*
|
||||
* Usage of these is restricted within the kernel to core mount(2) code and
|
||||
* callers of sys_mount() only. Filesystems should be using the SB_*
|
||||
* equivalent instead.
|
||||
*/
|
||||
#define MS_RDONLY 1 /* Mount read-only */
|
||||
#define MS_NOSUID 2 /* Ignore suid and sgid bits */
|
||||
#define MS_NODEV 4 /* Disallow access to device special files */
|
||||
#define MS_NOEXEC 8 /* Disallow program execution */
|
||||
#define MS_SYNCHRONOUS 16 /* Writes are synced at once */
|
||||
#define MS_REMOUNT 32 /* Alter flags of a mounted FS */
|
||||
#define MS_MANDLOCK 64 /* Allow mandatory locks on an FS */
|
||||
#define MS_DIRSYNC 128 /* Directory modifications are synchronous */
|
||||
#define MS_NOATIME 1024 /* Do not update access times. */
|
||||
#define MS_NODIRATIME 2048 /* Do not update directory access times */
|
||||
#define MS_BIND 4096
|
||||
#define MS_MOVE 8192
|
||||
#define MS_REC 16384
|
||||
#define MS_VERBOSE 32768 /* War is peace. Verbosity is silence.
|
||||
MS_VERBOSE is deprecated. */
|
||||
#define MS_SILENT 32768
|
||||
#define MS_POSIXACL (1<<16) /* VFS does not apply the umask */
|
||||
#define MS_UNBINDABLE (1<<17) /* change to unbindable */
|
||||
#define MS_PRIVATE (1<<18) /* change to private */
|
||||
#define MS_SLAVE (1<<19) /* change to slave */
|
||||
#define MS_SHARED (1<<20) /* change to shared */
|
||||
#define MS_RELATIME (1<<21) /* Update atime relative to mtime/ctime. */
|
||||
#define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */
|
||||
#define MS_I_VERSION (1<<23) /* Update inode I_version field */
|
||||
#define MS_STRICTATIME (1<<24) /* Always perform atime updates */
|
||||
#define MS_LAZYTIME (1<<25) /* Update the on-disk [acm]times lazily */
|
||||
|
||||
/* These sb flags are internal to the kernel */
|
||||
#define MS_SUBMOUNT (1<<26)
|
||||
#define MS_NOREMOTELOCK (1<<27)
|
||||
#define MS_NOSEC (1<<28)
|
||||
#define MS_BORN (1<<29)
|
||||
#define MS_ACTIVE (1<<30)
|
||||
#define MS_NOUSER (1<<31)
|
||||
|
||||
/*
|
||||
* Superblock flags that can be altered by MS_REMOUNT
|
||||
*/
|
||||
#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION|\
|
||||
MS_LAZYTIME)
|
||||
|
||||
/*
|
||||
* Old magic mount flag and mask
|
||||
*/
|
||||
#define MS_MGC_VAL 0xC0ED0000
|
||||
#define MS_MGC_MSK 0xffff0000
|
||||
|
||||
#endif /* _UAPI_LINUX_MOUNT_H */
|
||||
@@ -28,12 +28,19 @@
|
||||
#define MRT_TABLE (MRT_BASE+9) /* Specify mroute table ID */
|
||||
#define MRT_ADD_MFC_PROXY (MRT_BASE+10) /* Add a (*,*|G) mfc entry */
|
||||
#define MRT_DEL_MFC_PROXY (MRT_BASE+11) /* Del a (*,*|G) mfc entry */
|
||||
#define MRT_MAX (MRT_BASE+11)
|
||||
#define MRT_FLUSH (MRT_BASE+12) /* Flush all mfc entries and/or vifs */
|
||||
#define MRT_MAX (MRT_BASE+12)
|
||||
|
||||
#define SIOCGETVIFCNT SIOCPROTOPRIVATE /* IP protocol privates */
|
||||
#define SIOCGETSGCNT (SIOCPROTOPRIVATE+1)
|
||||
#define SIOCGETRPF (SIOCPROTOPRIVATE+2)
|
||||
|
||||
/* MRT_FLUSH optional flags */
|
||||
#define MRT_FLUSH_MFC 1 /* Flush multicast entries */
|
||||
#define MRT_FLUSH_MFC_STATIC 2 /* Flush static multicast entries */
|
||||
#define MRT_FLUSH_VIFS 4 /* Flush multicast vifs */
|
||||
#define MRT_FLUSH_VIFS_STATIC 8 /* Flush static multicast vifs */
|
||||
|
||||
#define MAXVIFS 32
|
||||
typedef unsigned long vifbitmap_t; /* User mode code depends on this lot */
|
||||
typedef unsigned short vifi_t;
|
||||
|
||||
@@ -31,12 +31,19 @@
|
||||
#define MRT6_TABLE (MRT6_BASE+9) /* Specify mroute table ID */
|
||||
#define MRT6_ADD_MFC_PROXY (MRT6_BASE+10) /* Add a (*,*|G) mfc entry */
|
||||
#define MRT6_DEL_MFC_PROXY (MRT6_BASE+11) /* Del a (*,*|G) mfc entry */
|
||||
#define MRT6_MAX (MRT6_BASE+11)
|
||||
#define MRT6_FLUSH (MRT6_BASE+12) /* Flush all mfc entries and/or vifs */
|
||||
#define MRT6_MAX (MRT6_BASE+12)
|
||||
|
||||
#define SIOCGETMIFCNT_IN6 SIOCPROTOPRIVATE /* IP protocol privates */
|
||||
#define SIOCGETSGCNT_IN6 (SIOCPROTOPRIVATE+1)
|
||||
#define SIOCGETRPF (SIOCPROTOPRIVATE+2)
|
||||
|
||||
/* MRT6_FLUSH optional flags */
|
||||
#define MRT6_FLUSH_MFC 1 /* Flush multicast entries */
|
||||
#define MRT6_FLUSH_MFC_STATIC 2 /* Flush static multicast entries */
|
||||
#define MRT6_FLUSH_MIFS 4 /* Flushing multicast vifs */
|
||||
#define MRT6_FLUSH_MIFS_STATIC 8 /* Flush static multicast vifs */
|
||||
|
||||
#define MAXMIFS 32
|
||||
typedef unsigned long mifbitmap_t; /* User mode code depends on this lot */
|
||||
typedef unsigned short mifi_t;
|
||||
|
||||
@@ -58,9 +58,6 @@
|
||||
#define MSDOS_DOT ". " /* ".", padded to MSDOS_NAME chars */
|
||||
#define MSDOS_DOTDOT ".. " /* "..", padded to MSDOS_NAME chars */
|
||||
|
||||
#define FAT_FIRST_ENT(s, x) ((MSDOS_SB(s)->fat_bits == 32 ? 0x0FFFFF00 : \
|
||||
MSDOS_SB(s)->fat_bits == 16 ? 0xFF00 : 0xF00) | (x))
|
||||
|
||||
/* start of data cluster's entry (number of reserved clusters) */
|
||||
#define FAT_START_ENT 2
|
||||
|
||||
@@ -68,8 +65,6 @@
|
||||
#define MAX_FAT12 0xFF4
|
||||
#define MAX_FAT16 0xFFF4
|
||||
#define MAX_FAT32 0x0FFFFFF6
|
||||
#define MAX_FAT(s) (MSDOS_SB(s)->fat_bits == 32 ? MAX_FAT32 : \
|
||||
MSDOS_SB(s)->fat_bits == 16 ? MAX_FAT16 : MAX_FAT12)
|
||||
|
||||
/* bad cluster mark */
|
||||
#define BAD_FAT12 0xFF7
|
||||
@@ -135,7 +130,7 @@ struct fat_boot_sector {
|
||||
for mount state. */
|
||||
__u8 signature; /* extended boot signature */
|
||||
__u8 vol_id[4]; /* volume ID */
|
||||
__u8 vol_label[11]; /* volume label */
|
||||
__u8 vol_label[MSDOS_NAME]; /* volume label */
|
||||
__u8 fs_type[8]; /* file system type */
|
||||
/* other fields are not added here */
|
||||
} fat16;
|
||||
@@ -158,7 +153,7 @@ struct fat_boot_sector {
|
||||
for mount state. */
|
||||
__u8 signature; /* extended boot signature */
|
||||
__u8 vol_id[4]; /* volume ID */
|
||||
__u8 vol_label[11]; /* volume label */
|
||||
__u8 vol_label[MSDOS_NAME]; /* volume label */
|
||||
__u8 fs_type[8]; /* file system type */
|
||||
/* other fields are not added here */
|
||||
} fat32;
|
||||
|
||||
@@ -26,6 +26,12 @@
|
||||
* @NCSI_CMD_SEND_CMD: send NC-SI command to network card.
|
||||
* Requires NCSI_ATTR_IFINDEX, NCSI_ATTR_PACKAGE_ID
|
||||
* and NCSI_ATTR_CHANNEL_ID.
|
||||
* @NCSI_CMD_SET_PACKAGE_MASK: set a whitelist of allowed packages.
|
||||
* Requires NCSI_ATTR_IFINDEX and NCSI_ATTR_PACKAGE_MASK.
|
||||
* @NCSI_CMD_SET_CHANNEL_MASK: set a whitelist of allowed channels.
|
||||
* Requires NCSI_ATTR_IFINDEX, NCSI_ATTR_PACKAGE_ID, and
|
||||
* NCSI_ATTR_CHANNEL_MASK. If NCSI_ATTR_CHANNEL_ID is present it sets
|
||||
* the primary channel.
|
||||
* @NCSI_CMD_MAX: highest command number
|
||||
*/
|
||||
enum ncsi_nl_commands {
|
||||
@@ -34,6 +40,8 @@ enum ncsi_nl_commands {
|
||||
NCSI_CMD_SET_INTERFACE,
|
||||
NCSI_CMD_CLEAR_INTERFACE,
|
||||
NCSI_CMD_SEND_CMD,
|
||||
NCSI_CMD_SET_PACKAGE_MASK,
|
||||
NCSI_CMD_SET_CHANNEL_MASK,
|
||||
|
||||
__NCSI_CMD_AFTER_LAST,
|
||||
NCSI_CMD_MAX = __NCSI_CMD_AFTER_LAST - 1
|
||||
@@ -48,6 +56,10 @@ enum ncsi_nl_commands {
|
||||
* @NCSI_ATTR_PACKAGE_ID: package ID
|
||||
* @NCSI_ATTR_CHANNEL_ID: channel ID
|
||||
* @NCSI_ATTR_DATA: command payload
|
||||
* @NCSI_ATTR_MULTI_FLAG: flag to signal that multi-mode should be enabled with
|
||||
* NCSI_CMD_SET_PACKAGE_MASK or NCSI_CMD_SET_CHANNEL_MASK.
|
||||
* @NCSI_ATTR_PACKAGE_MASK: 32-bit mask of allowed packages.
|
||||
* @NCSI_ATTR_CHANNEL_MASK: 32-bit mask of allowed channels.
|
||||
* @NCSI_ATTR_MAX: highest attribute number
|
||||
*/
|
||||
enum ncsi_nl_attrs {
|
||||
@@ -57,6 +69,9 @@ enum ncsi_nl_attrs {
|
||||
NCSI_ATTR_PACKAGE_ID,
|
||||
NCSI_ATTR_CHANNEL_ID,
|
||||
NCSI_ATTR_DATA,
|
||||
NCSI_ATTR_MULTI_FLAG,
|
||||
NCSI_ATTR_PACKAGE_MASK,
|
||||
NCSI_ATTR_CHANNEL_MASK,
|
||||
|
||||
__NCSI_ATTR_AFTER_LAST,
|
||||
NCSI_ATTR_MAX = __NCSI_ATTR_AFTER_LAST - 1
|
||||
|
||||
@@ -243,6 +243,7 @@ struct nd_cmd_pkg {
|
||||
#define NVDIMM_FAMILY_HPE1 1
|
||||
#define NVDIMM_FAMILY_HPE2 2
|
||||
#define NVDIMM_FAMILY_MSFT 3
|
||||
#define NVDIMM_FAMILY_HYPERV 4
|
||||
|
||||
#define ND_IOCTL_CALL _IOWR(ND_IOCTL, ND_CMD_CALL,\
|
||||
struct nd_cmd_pkg)
|
||||
|
||||
@@ -28,6 +28,7 @@ enum {
|
||||
NDA_MASTER,
|
||||
NDA_LINK_NETNSID,
|
||||
NDA_SRC_VNI,
|
||||
NDA_PROTOCOL, /* Originator of entry */
|
||||
__NDA_MAX
|
||||
};
|
||||
|
||||
|
||||
@@ -16,6 +16,8 @@ enum {
|
||||
NETNSA_NSID,
|
||||
NETNSA_PID,
|
||||
NETNSA_FD,
|
||||
NETNSA_TARGET_NSID,
|
||||
NETNSA_CURRENT_NSID,
|
||||
__NETNSA_MAX,
|
||||
};
|
||||
|
||||
|
||||
@@ -34,10 +34,6 @@
|
||||
|
||||
/* only for userspace compatibility */
|
||||
#ifndef __KERNEL__
|
||||
/* Generic cache responses from hook functions.
|
||||
<= 0x2000 is used for protocol-flags. */
|
||||
#define NFC_UNKNOWN 0x4000
|
||||
#define NFC_ALTERED 0x8000
|
||||
|
||||
/* NF_VERDICT_BITS should be 8 now, but userspace might break if this changes */
|
||||
#define NF_VERDICT_BITS 16
|
||||
|
||||
@@ -13,8 +13,9 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* The protocol version */
|
||||
#define IPSET_PROTOCOL 6
|
||||
/* The protocol versions */
|
||||
#define IPSET_PROTOCOL 7
|
||||
#define IPSET_PROTOCOL_MIN 6
|
||||
|
||||
/* The max length of strings including NUL: set and type identifiers */
|
||||
#define IPSET_MAXNAMELEN 32
|
||||
@@ -38,17 +39,19 @@ enum ipset_cmd {
|
||||
IPSET_CMD_TEST, /* 11: Test an element in a set */
|
||||
IPSET_CMD_HEADER, /* 12: Get set header data only */
|
||||
IPSET_CMD_TYPE, /* 13: Get set type */
|
||||
IPSET_CMD_GET_BYNAME, /* 14: Get set index by name */
|
||||
IPSET_CMD_GET_BYINDEX, /* 15: Get set name by index */
|
||||
IPSET_MSG_MAX, /* Netlink message commands */
|
||||
|
||||
/* Commands in userspace: */
|
||||
IPSET_CMD_RESTORE = IPSET_MSG_MAX, /* 14: Enter restore mode */
|
||||
IPSET_CMD_HELP, /* 15: Get help */
|
||||
IPSET_CMD_VERSION, /* 16: Get program version */
|
||||
IPSET_CMD_QUIT, /* 17: Quit from interactive mode */
|
||||
IPSET_CMD_RESTORE = IPSET_MSG_MAX, /* 16: Enter restore mode */
|
||||
IPSET_CMD_HELP, /* 17: Get help */
|
||||
IPSET_CMD_VERSION, /* 18: Get program version */
|
||||
IPSET_CMD_QUIT, /* 19: Quit from interactive mode */
|
||||
|
||||
IPSET_CMD_MAX,
|
||||
|
||||
IPSET_CMD_COMMIT = IPSET_CMD_MAX, /* 18: Commit buffered commands */
|
||||
IPSET_CMD_COMMIT = IPSET_CMD_MAX, /* 20: Commit buffered commands */
|
||||
};
|
||||
|
||||
/* Attributes at command level */
|
||||
@@ -66,6 +69,7 @@ enum {
|
||||
IPSET_ATTR_LINENO, /* 9: Restore lineno */
|
||||
IPSET_ATTR_PROTOCOL_MIN, /* 10: Minimal supported version number */
|
||||
IPSET_ATTR_REVISION_MIN = IPSET_ATTR_PROTOCOL_MIN, /* type rev min */
|
||||
IPSET_ATTR_INDEX, /* 11: Kernel index of set */
|
||||
__IPSET_ATTR_CMD_MAX,
|
||||
};
|
||||
#define IPSET_ATTR_CMD_MAX (__IPSET_ATTR_CMD_MAX - 1)
|
||||
@@ -223,6 +227,7 @@ enum ipset_adt {
|
||||
|
||||
/* Sets are identified by an index in kernel space. Tweak with ip_set_id_t
|
||||
* and IPSET_INVALID_ID if you want to increase the max number of sets.
|
||||
* Also, IPSET_ATTR_INDEX must be changed.
|
||||
*/
|
||||
typedef __u16 ip_set_id_t;
|
||||
|
||||
|
||||
@@ -219,6 +219,7 @@ enum nft_chain_attributes {
|
||||
* @NFTA_RULE_POSITION: numeric handle of the previous rule (NLA_U64)
|
||||
* @NFTA_RULE_USERDATA: user data (NLA_BINARY, NFT_USERDATA_MAXLEN)
|
||||
* @NFTA_RULE_ID: uniquely identifies a rule in a transaction (NLA_U32)
|
||||
* @NFTA_RULE_POSITION_ID: transaction unique identifier of the previous rule (NLA_U32)
|
||||
*/
|
||||
enum nft_rule_attributes {
|
||||
NFTA_RULE_UNSPEC,
|
||||
@@ -231,6 +232,7 @@ enum nft_rule_attributes {
|
||||
NFTA_RULE_USERDATA,
|
||||
NFTA_RULE_PAD,
|
||||
NFTA_RULE_ID,
|
||||
NFTA_RULE_POSITION_ID,
|
||||
__NFTA_RULE_MAX
|
||||
};
|
||||
#define NFTA_RULE_MAX (__NFTA_RULE_MAX - 1)
|
||||
@@ -789,6 +791,8 @@ enum nft_exthdr_attributes {
|
||||
* @NFT_META_CGROUP: socket control group (skb->sk->sk_classid)
|
||||
* @NFT_META_PRANDOM: a 32bit pseudo-random number
|
||||
* @NFT_META_SECPATH: boolean, secpath_exists (!!skb->sp)
|
||||
* @NFT_META_IIFKIND: packet input interface kind name (dev->rtnl_link_ops->kind)
|
||||
* @NFT_META_OIFKIND: packet output interface kind name (dev->rtnl_link_ops->kind)
|
||||
*/
|
||||
enum nft_meta_keys {
|
||||
NFT_META_LEN,
|
||||
@@ -817,6 +821,8 @@ enum nft_meta_keys {
|
||||
NFT_META_CGROUP,
|
||||
NFT_META_PRANDOM,
|
||||
NFT_META_SECPATH,
|
||||
NFT_META_IIFKIND,
|
||||
NFT_META_OIFKIND,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -871,8 +877,8 @@ enum nft_hash_attributes {
|
||||
NFTA_HASH_SEED,
|
||||
NFTA_HASH_OFFSET,
|
||||
NFTA_HASH_TYPE,
|
||||
NFTA_HASH_SET_NAME,
|
||||
NFTA_HASH_SET_ID,
|
||||
NFTA_HASH_SET_NAME, /* deprecated */
|
||||
NFTA_HASH_SET_ID, /* deprecated */
|
||||
__NFTA_HASH_MAX,
|
||||
};
|
||||
#define NFTA_HASH_MAX (__NFTA_HASH_MAX - 1)
|
||||
@@ -1721,10 +1727,19 @@ enum nft_tunnel_keys {
|
||||
};
|
||||
#define NFT_TUNNEL_MAX (__NFT_TUNNEL_MAX - 1)
|
||||
|
||||
enum nft_tunnel_mode {
|
||||
NFT_TUNNEL_MODE_NONE,
|
||||
NFT_TUNNEL_MODE_RX,
|
||||
NFT_TUNNEL_MODE_TX,
|
||||
__NFT_TUNNEL_MODE_MAX
|
||||
};
|
||||
#define NFT_TUNNEL_MODE_MAX (__NFT_TUNNEL_MODE_MAX - 1)
|
||||
|
||||
enum nft_tunnel_attributes {
|
||||
NFTA_TUNNEL_UNSPEC,
|
||||
NFTA_TUNNEL_KEY,
|
||||
NFTA_TUNNEL_DREG,
|
||||
NFTA_TUNNEL_MODE,
|
||||
__NFTA_TUNNEL_MAX
|
||||
};
|
||||
#define NFTA_TUNNEL_MAX (__NFTA_TUNNEL_MAX - 1)
|
||||
|
||||
@@ -15,16 +15,6 @@
|
||||
|
||||
#include <limits.h> /* for INT_MIN, INT_MAX */
|
||||
|
||||
/* IP Cache bits. */
|
||||
/* Src IP address. */
|
||||
#define NFC_DN_SRC 0x0001
|
||||
/* Dest IP address. */
|
||||
#define NFC_DN_DST 0x0002
|
||||
/* Input device. */
|
||||
#define NFC_DN_IF_IN 0x0004
|
||||
/* Output device. */
|
||||
#define NFC_DN_IF_OUT 0x0008
|
||||
|
||||
/* kernel define is in netfilter_defs.h */
|
||||
#define NF_DN_NUMHOOKS 7
|
||||
#endif /* ! __KERNEL__ */
|
||||
|
||||
@@ -13,34 +13,6 @@
|
||||
|
||||
#include <limits.h> /* for INT_MIN, INT_MAX */
|
||||
|
||||
/* IP Cache bits. */
|
||||
/* Src IP address. */
|
||||
#define NFC_IP_SRC 0x0001
|
||||
/* Dest IP address. */
|
||||
#define NFC_IP_DST 0x0002
|
||||
/* Input device. */
|
||||
#define NFC_IP_IF_IN 0x0004
|
||||
/* Output device. */
|
||||
#define NFC_IP_IF_OUT 0x0008
|
||||
/* TOS. */
|
||||
#define NFC_IP_TOS 0x0010
|
||||
/* Protocol. */
|
||||
#define NFC_IP_PROTO 0x0020
|
||||
/* IP options. */
|
||||
#define NFC_IP_OPTIONS 0x0040
|
||||
/* Frag & flags. */
|
||||
#define NFC_IP_FRAG 0x0080
|
||||
|
||||
/* Per-protocol information: only matters if proto match. */
|
||||
/* TCP flags. */
|
||||
#define NFC_IP_TCPFLAGS 0x0100
|
||||
/* Source port. */
|
||||
#define NFC_IP_SRC_PT 0x0200
|
||||
/* Dest port. */
|
||||
#define NFC_IP_DST_PT 0x0400
|
||||
/* Something else about the proto */
|
||||
#define NFC_IP_PROTO_UNKNOWN 0x2000
|
||||
|
||||
/* IP Hooks */
|
||||
/* After promisc drops, checksum checks. */
|
||||
#define NF_IP_PRE_ROUTING 0
|
||||
|
||||
@@ -16,35 +16,6 @@
|
||||
|
||||
#include <limits.h> /* for INT_MIN, INT_MAX */
|
||||
|
||||
/* IP Cache bits. */
|
||||
/* Src IP address. */
|
||||
#define NFC_IP6_SRC 0x0001
|
||||
/* Dest IP address. */
|
||||
#define NFC_IP6_DST 0x0002
|
||||
/* Input device. */
|
||||
#define NFC_IP6_IF_IN 0x0004
|
||||
/* Output device. */
|
||||
#define NFC_IP6_IF_OUT 0x0008
|
||||
/* TOS. */
|
||||
#define NFC_IP6_TOS 0x0010
|
||||
/* Protocol. */
|
||||
#define NFC_IP6_PROTO 0x0020
|
||||
/* IP options. */
|
||||
#define NFC_IP6_OPTIONS 0x0040
|
||||
/* Frag & flags. */
|
||||
#define NFC_IP6_FRAG 0x0080
|
||||
|
||||
|
||||
/* Per-protocol information: only matters if proto match. */
|
||||
/* TCP flags. */
|
||||
#define NFC_IP6_TCPFLAGS 0x0100
|
||||
/* Source port. */
|
||||
#define NFC_IP6_SRC_PT 0x0200
|
||||
/* Dest port. */
|
||||
#define NFC_IP6_DST_PT 0x0400
|
||||
/* Something else about the proto */
|
||||
#define NFC_IP6_PROTO_UNKNOWN 0x2000
|
||||
|
||||
/* IP6 Hooks */
|
||||
/* After promisc drops, checksum checks. */
|
||||
#define NF_IP6_PRE_ROUTING 0
|
||||
|
||||
@@ -1036,6 +1036,35 @@
|
||||
* @NL80211_CMD_GET_FTM_RESPONDER_STATS: Retrieve FTM responder statistics, in
|
||||
* the %NL80211_ATTR_FTM_RESPONDER_STATS attribute.
|
||||
*
|
||||
* @NL80211_CMD_PEER_MEASUREMENT_START: start a (set of) peer measurement(s)
|
||||
* with the given parameters, which are encapsulated in the nested
|
||||
* %NL80211_ATTR_PEER_MEASUREMENTS attribute. Optionally, MAC address
|
||||
* randomization may be enabled and configured by specifying the
|
||||
* %NL80211_ATTR_MAC and %NL80211_ATTR_MAC_MASK attributes.
|
||||
* If a timeout is requested, use the %NL80211_ATTR_TIMEOUT attribute.
|
||||
* A u64 cookie for further %NL80211_ATTR_COOKIE use is is returned in
|
||||
* the netlink extended ack message.
|
||||
*
|
||||
* To cancel a measurement, close the socket that requested it.
|
||||
*
|
||||
* Measurement results are reported to the socket that requested the
|
||||
* measurement using @NL80211_CMD_PEER_MEASUREMENT_RESULT when they
|
||||
* become available, so applications must ensure a large enough socket
|
||||
* buffer size.
|
||||
*
|
||||
* Depending on driver support it may or may not be possible to start
|
||||
* multiple concurrent measurements.
|
||||
* @NL80211_CMD_PEER_MEASUREMENT_RESULT: This command number is used for the
|
||||
* result notification from the driver to the requesting socket.
|
||||
* @NL80211_CMD_PEER_MEASUREMENT_COMPLETE: Notification only, indicating that
|
||||
* the measurement completed, using the measurement cookie
|
||||
* (%NL80211_ATTR_COOKIE).
|
||||
*
|
||||
* @NL80211_CMD_NOTIFY_RADAR: Notify the kernel that a radar signal was
|
||||
* detected and reported by a neighboring device on the channel
|
||||
* indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes
|
||||
* determining the width and type.
|
||||
*
|
||||
* @NL80211_CMD_MAX: highest used command number
|
||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||
*/
|
||||
@@ -1250,6 +1279,12 @@ enum nl80211_commands {
|
||||
|
||||
NL80211_CMD_GET_FTM_RESPONDER_STATS,
|
||||
|
||||
NL80211_CMD_PEER_MEASUREMENT_START,
|
||||
NL80211_CMD_PEER_MEASUREMENT_RESULT,
|
||||
NL80211_CMD_PEER_MEASUREMENT_COMPLETE,
|
||||
|
||||
NL80211_CMD_NOTIFY_RADAR,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
/* used to define NL80211_CMD_MAX below */
|
||||
@@ -1530,6 +1565,12 @@ enum nl80211_commands {
|
||||
* (a u32 with flags from &enum nl80211_wpa_versions).
|
||||
* @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
|
||||
* indicate which key management algorithm(s) to use (an array of u32).
|
||||
* This attribute is also sent in response to @NL80211_CMD_GET_WIPHY,
|
||||
* indicating the supported AKM suites, intended for specific drivers which
|
||||
* implement SME and have constraints on which AKMs are supported and also
|
||||
* the cases where an AKM support is offloaded to the driver/firmware.
|
||||
* If there is no such notification from the driver, user space should
|
||||
* assume the driver supports all the AKM suites.
|
||||
*
|
||||
* @NL80211_ATTR_REQ_IE: (Re)association request information elements as
|
||||
* sent out by the card, for ROAM and successful CONNECT events.
|
||||
@@ -1706,7 +1747,7 @@ enum nl80211_commands {
|
||||
* the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID
|
||||
* is included in the probe request, but the match attributes
|
||||
* will never let it go through), -EINVAL may be returned.
|
||||
* If ommited, no filtering is done.
|
||||
* If omitted, no filtering is done.
|
||||
*
|
||||
* @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported
|
||||
* interface combinations. In each nested item, it contains attributes
|
||||
@@ -1811,7 +1852,7 @@ enum nl80211_commands {
|
||||
*
|
||||
* @NL80211_ATTR_INACTIVITY_TIMEOUT: timeout value in seconds, this can be
|
||||
* used by the drivers which has MLME in firmware and does not have support
|
||||
* to report per station tx/rx activity to free up the staion entry from
|
||||
* to report per station tx/rx activity to free up the station entry from
|
||||
* the list. This needs to be used when the driver advertises the
|
||||
* capability to timeout the stations.
|
||||
*
|
||||
@@ -2172,7 +2213,7 @@ enum nl80211_commands {
|
||||
*
|
||||
* @NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST: When present the RSSI level for BSSs in
|
||||
* the specified band is to be adjusted before doing
|
||||
* %NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparision to figure out
|
||||
* %NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparison to figure out
|
||||
* better BSSs. The attribute value is a packed structure
|
||||
* value as specified by &struct nl80211_bss_select_rssi_adjust.
|
||||
*
|
||||
@@ -2225,10 +2266,10 @@ enum nl80211_commands {
|
||||
* &enum nl80211_external_auth_action value). This is used with the
|
||||
* %NL80211_CMD_EXTERNAL_AUTH request event.
|
||||
* @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: Flag attribute indicating that the user
|
||||
* space supports external authentication. This attribute shall be used
|
||||
* only with %NL80211_CMD_CONNECT request. The driver may offload
|
||||
* authentication processing to user space if this capability is indicated
|
||||
* in NL80211_CMD_CONNECT requests from the user space.
|
||||
* space supports external authentication. This attribute shall be used
|
||||
* with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver
|
||||
* may offload authentication processing to user space if this capability
|
||||
* is indicated in the respective requests from the user space.
|
||||
*
|
||||
* @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this
|
||||
* u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED.
|
||||
@@ -2254,6 +2295,19 @@ enum nl80211_commands {
|
||||
* @NL80211_ATTR_FTM_RESPONDER_STATS: Nested attribute with FTM responder
|
||||
* statistics, see &enum nl80211_ftm_responder_stats.
|
||||
*
|
||||
* @NL80211_ATTR_TIMEOUT: Timeout for the given operation in milliseconds (u32),
|
||||
* if the attribute is not given no timeout is requested. Note that 0 is an
|
||||
* invalid value.
|
||||
*
|
||||
* @NL80211_ATTR_PEER_MEASUREMENTS: peer measurements request (and result)
|
||||
* data, uses nested attributes specified in
|
||||
* &enum nl80211_peer_measurement_attrs.
|
||||
* This is also used for capability advertisement in the wiphy information,
|
||||
* with the appropriate sub-attributes.
|
||||
*
|
||||
* @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime
|
||||
* scheduler.
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
@@ -2699,6 +2753,12 @@ enum nl80211_attrs {
|
||||
|
||||
NL80211_ATTR_FTM_RESPONDER_STATS,
|
||||
|
||||
NL80211_ATTR_TIMEOUT,
|
||||
|
||||
NL80211_ATTR_PEER_MEASUREMENTS,
|
||||
|
||||
NL80211_ATTR_AIRTIME_WEIGHT,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
@@ -3074,6 +3134,11 @@ enum nl80211_sta_bss_param {
|
||||
* with an FCS error (u32, from this station). This count may not include
|
||||
* some packets with an FCS error due to TA corruption. Hence this counter
|
||||
* might not be fully accurate.
|
||||
* @NL80211_STA_INFO_CONNECTED_TO_GATE: set to true if STA has a path to a
|
||||
* mesh gate (u8, 0 or 1)
|
||||
* @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames
|
||||
* sent to the station (u64, usec)
|
||||
* @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
|
||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||
*/
|
||||
@@ -3116,6 +3181,9 @@ enum nl80211_sta_info {
|
||||
NL80211_STA_INFO_ACK_SIGNAL_AVG,
|
||||
NL80211_STA_INFO_RX_MPDUS,
|
||||
NL80211_STA_INFO_FCS_ERROR_COUNT,
|
||||
NL80211_STA_INFO_CONNECTED_TO_GATE,
|
||||
NL80211_STA_INFO_TX_DURATION,
|
||||
NL80211_STA_INFO_AIRTIME_WEIGHT,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_INFO_AFTER_LAST,
|
||||
@@ -3225,8 +3293,10 @@ enum nl80211_mpath_flags {
|
||||
* &enum nl80211_mpath_flags;
|
||||
* @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec
|
||||
* @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries
|
||||
* @NL80211_MPATH_INFO_HOP_COUNT: hop count to destination
|
||||
* @NL80211_MPATH_INFO_PATH_CHANGE: total number of path changes to destination
|
||||
* @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number
|
||||
* currently defind
|
||||
* currently defined
|
||||
* @__NL80211_MPATH_INFO_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_mpath_info {
|
||||
@@ -3238,6 +3308,8 @@ enum nl80211_mpath_info {
|
||||
NL80211_MPATH_INFO_FLAGS,
|
||||
NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
|
||||
NL80211_MPATH_INFO_DISCOVERY_RETRIES,
|
||||
NL80211_MPATH_INFO_HOP_COUNT,
|
||||
NL80211_MPATH_INFO_PATH_CHANGE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_MPATH_INFO_AFTER_LAST,
|
||||
@@ -3895,6 +3967,11 @@ enum nl80211_mesh_power_mode {
|
||||
* remove it from the STA's list of peers. You may set this to 0 to disable
|
||||
* the removal of the STA. Default is 30 minutes.
|
||||
*
|
||||
* @NL80211_MESHCONF_CONNECTED_TO_GATE: If set to true then this mesh STA
|
||||
* will advertise that it is connected to a gate in the mesh formation
|
||||
* field. If left unset then the mesh formation field will only
|
||||
* advertise such if there is an active root mesh path.
|
||||
*
|
||||
* @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_meshconf_params {
|
||||
@@ -3927,6 +4004,7 @@ enum nl80211_meshconf_params {
|
||||
NL80211_MESHCONF_POWER_MODE,
|
||||
NL80211_MESHCONF_AWAKE_WINDOW,
|
||||
NL80211_MESHCONF_PLINK_TIMEOUT,
|
||||
NL80211_MESHCONF_CONNECTED_TO_GATE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_MESHCONF_ATTR_AFTER_LAST,
|
||||
@@ -4859,7 +4937,7 @@ enum nl80211_iface_limit_attrs {
|
||||
* numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4
|
||||
* => allows a STA plus three P2P interfaces
|
||||
*
|
||||
* The list of these four possiblities could completely be contained
|
||||
* The list of these four possibilities could completely be contained
|
||||
* within the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute to indicate
|
||||
* that any of these groups must match.
|
||||
*
|
||||
@@ -4889,7 +4967,7 @@ enum nl80211_if_combination_attrs {
|
||||
* enum nl80211_plink_state - state of a mesh peer link finite state machine
|
||||
*
|
||||
* @NL80211_PLINK_LISTEN: initial state, considered the implicit
|
||||
* state of non existant mesh peer links
|
||||
* state of non existent mesh peer links
|
||||
* @NL80211_PLINK_OPN_SNT: mesh plink open frame has been sent to
|
||||
* this mesh peer
|
||||
* @NL80211_PLINK_OPN_RCVD: mesh plink open frame has been received
|
||||
@@ -5258,6 +5336,13 @@ enum nl80211_feature_flags {
|
||||
* if this flag is not set. Ignoring this can leak clear text packets and/or
|
||||
* freeze the connection.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime
|
||||
* fairness for transmitted packets and has enabled airtime fairness
|
||||
* scheduling.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching
|
||||
* (set/del PMKSA operations) in AP mode.
|
||||
*
|
||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||
*/
|
||||
@@ -5297,6 +5382,8 @@ enum nl80211_ext_feature_index {
|
||||
NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT,
|
||||
NL80211_EXT_FEATURE_CAN_REPLACE_PTK0,
|
||||
NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER,
|
||||
NL80211_EXT_FEATURE_AIRTIME_FAIRNESS,
|
||||
NL80211_EXT_FEATURE_AP_PMKSA_CACHING,
|
||||
|
||||
/* add new features before the definition below */
|
||||
NUM_NL80211_EXT_FEATURES,
|
||||
@@ -5381,7 +5468,7 @@ enum nl80211_timeout_reason {
|
||||
* request parameters IE in the probe request
|
||||
* @NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP: accept broadcast probe responses
|
||||
* @NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE: send probe request frames at
|
||||
* rate of at least 5.5M. In case non OCE AP is dicovered in the channel,
|
||||
* rate of at least 5.5M. In case non OCE AP is discovered in the channel,
|
||||
* only the first probe req in the channel will be sent in high rate.
|
||||
* @NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: allow probe request
|
||||
* tx deferral (dot11FILSProbeDelay shall be set to 15ms)
|
||||
@@ -5548,9 +5635,14 @@ enum nl80211_crit_proto_id {
|
||||
* Used by cfg80211_rx_mgmt()
|
||||
*
|
||||
* @NL80211_RXMGMT_FLAG_ANSWERED: frame was answered by device/driver.
|
||||
* @NL80211_RXMGMT_FLAG_EXTERNAL_AUTH: Host driver intends to offload
|
||||
* the authentication. Exclusively defined for host drivers that
|
||||
* advertises the SME functionality but would like the userspace
|
||||
* to handle certain authentication algorithms (e.g. SAE).
|
||||
*/
|
||||
enum nl80211_rxmgmt_flags {
|
||||
NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0,
|
||||
NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 1 << 1,
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -5842,9 +5934,11 @@ enum nl80211_external_auth_action {
|
||||
* @__NL80211_FTM_RESP_ATTR_INVALID: Invalid
|
||||
* @NL80211_FTM_RESP_ATTR_ENABLED: FTM responder is enabled
|
||||
* @NL80211_FTM_RESP_ATTR_LCI: The content of Measurement Report Element
|
||||
* (9.4.2.22 in 802.11-2016) with type 8 - LCI (9.4.2.22.10)
|
||||
* (9.4.2.22 in 802.11-2016) with type 8 - LCI (9.4.2.22.10),
|
||||
* i.e. starting with the measurement token
|
||||
* @NL80211_FTM_RESP_ATTR_CIVIC: The content of Measurement Report Element
|
||||
* (9.4.2.22 in 802.11-2016) with type 11 - Civic (Section 9.4.2.22.13)
|
||||
* (9.4.2.22 in 802.11-2016) with type 11 - Civic (Section 9.4.2.22.13),
|
||||
* i.e. starting with the measurement token
|
||||
* @__NL80211_FTM_RESP_ATTR_LAST: Internal
|
||||
* @NL80211_FTM_RESP_ATTR_MAX: highest FTM responder attribute.
|
||||
*/
|
||||
@@ -5906,4 +6000,386 @@ enum nl80211_ftm_responder_stats {
|
||||
NL80211_FTM_STATS_MAX = __NL80211_FTM_STATS_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_preamble - frame preamble types
|
||||
* @NL80211_PREAMBLE_LEGACY: legacy (HR/DSSS, OFDM, ERP PHY) preamble
|
||||
* @NL80211_PREAMBLE_HT: HT preamble
|
||||
* @NL80211_PREAMBLE_VHT: VHT preamble
|
||||
* @NL80211_PREAMBLE_DMG: DMG preamble
|
||||
*/
|
||||
enum nl80211_preamble {
|
||||
NL80211_PREAMBLE_LEGACY,
|
||||
NL80211_PREAMBLE_HT,
|
||||
NL80211_PREAMBLE_VHT,
|
||||
NL80211_PREAMBLE_DMG,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_peer_measurement_type - peer measurement types
|
||||
* @NL80211_PMSR_TYPE_INVALID: invalid/unused, needed as we use
|
||||
* these numbers also for attributes
|
||||
*
|
||||
* @NL80211_PMSR_TYPE_FTM: flight time measurement
|
||||
*
|
||||
* @NUM_NL80211_PMSR_TYPES: internal
|
||||
* @NL80211_PMSR_TYPE_MAX: highest type number
|
||||
*/
|
||||
enum nl80211_peer_measurement_type {
|
||||
NL80211_PMSR_TYPE_INVALID,
|
||||
|
||||
NL80211_PMSR_TYPE_FTM,
|
||||
|
||||
NUM_NL80211_PMSR_TYPES,
|
||||
NL80211_PMSR_TYPE_MAX = NUM_NL80211_PMSR_TYPES - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_peer_measurement_status - peer measurement status
|
||||
* @NL80211_PMSR_STATUS_SUCCESS: measurement completed successfully
|
||||
* @NL80211_PMSR_STATUS_REFUSED: measurement was locally refused
|
||||
* @NL80211_PMSR_STATUS_TIMEOUT: measurement timed out
|
||||
* @NL80211_PMSR_STATUS_FAILURE: measurement failed, a type-dependent
|
||||
* reason may be available in the response data
|
||||
*/
|
||||
enum nl80211_peer_measurement_status {
|
||||
NL80211_PMSR_STATUS_SUCCESS,
|
||||
NL80211_PMSR_STATUS_REFUSED,
|
||||
NL80211_PMSR_STATUS_TIMEOUT,
|
||||
NL80211_PMSR_STATUS_FAILURE,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_peer_measurement_req - peer measurement request attributes
|
||||
* @__NL80211_PMSR_REQ_ATTR_INVALID: invalid
|
||||
*
|
||||
* @NL80211_PMSR_REQ_ATTR_DATA: This is a nested attribute with measurement
|
||||
* type-specific request data inside. The attributes used are from the
|
||||
* enums named nl80211_peer_measurement_<type>_req.
|
||||
* @NL80211_PMSR_REQ_ATTR_GET_AP_TSF: include AP TSF timestamp, if supported
|
||||
* (flag attribute)
|
||||
*
|
||||
* @NUM_NL80211_PMSR_REQ_ATTRS: internal
|
||||
* @NL80211_PMSR_REQ_ATTR_MAX: highest attribute number
|
||||
*/
|
||||
enum nl80211_peer_measurement_req {
|
||||
__NL80211_PMSR_REQ_ATTR_INVALID,
|
||||
|
||||
NL80211_PMSR_REQ_ATTR_DATA,
|
||||
NL80211_PMSR_REQ_ATTR_GET_AP_TSF,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_PMSR_REQ_ATTRS,
|
||||
NL80211_PMSR_REQ_ATTR_MAX = NUM_NL80211_PMSR_REQ_ATTRS - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_peer_measurement_resp - peer measurement response attributes
|
||||
* @__NL80211_PMSR_RESP_ATTR_INVALID: invalid
|
||||
*
|
||||
* @NL80211_PMSR_RESP_ATTR_DATA: This is a nested attribute with measurement
|
||||
* type-specific results inside. The attributes used are from the enums
|
||||
* named nl80211_peer_measurement_<type>_resp.
|
||||
* @NL80211_PMSR_RESP_ATTR_STATUS: u32 value with the measurement status
|
||||
* (using values from &enum nl80211_peer_measurement_status.)
|
||||
* @NL80211_PMSR_RESP_ATTR_HOST_TIME: host time (%CLOCK_BOOTTIME) when the
|
||||
* result was measured; this value is not expected to be accurate to
|
||||
* more than 20ms. (u64, nanoseconds)
|
||||
* @NL80211_PMSR_RESP_ATTR_AP_TSF: TSF of the AP that the interface
|
||||
* doing the measurement is connected to when the result was measured.
|
||||
* This shall be accurately reported if supported and requested
|
||||
* (u64, usec)
|
||||
* @NL80211_PMSR_RESP_ATTR_FINAL: If results are sent to the host partially
|
||||
* (*e.g. with FTM per-burst data) this flag will be cleared on all but
|
||||
* the last result; if all results are combined it's set on the single
|
||||
* result.
|
||||
* @NL80211_PMSR_RESP_ATTR_PAD: padding for 64-bit attributes, ignore
|
||||
*
|
||||
* @NUM_NL80211_PMSR_RESP_ATTRS: internal
|
||||
* @NL80211_PMSR_RESP_ATTR_MAX: highest attribute number
|
||||
*/
|
||||
enum nl80211_peer_measurement_resp {
|
||||
__NL80211_PMSR_RESP_ATTR_INVALID,
|
||||
|
||||
NL80211_PMSR_RESP_ATTR_DATA,
|
||||
NL80211_PMSR_RESP_ATTR_STATUS,
|
||||
NL80211_PMSR_RESP_ATTR_HOST_TIME,
|
||||
NL80211_PMSR_RESP_ATTR_AP_TSF,
|
||||
NL80211_PMSR_RESP_ATTR_FINAL,
|
||||
NL80211_PMSR_RESP_ATTR_PAD,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_PMSR_RESP_ATTRS,
|
||||
NL80211_PMSR_RESP_ATTR_MAX = NUM_NL80211_PMSR_RESP_ATTRS - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_peer_measurement_peer_attrs - peer attributes for measurement
|
||||
* @__NL80211_PMSR_PEER_ATTR_INVALID: invalid
|
||||
*
|
||||
* @NL80211_PMSR_PEER_ATTR_ADDR: peer's MAC address
|
||||
* @NL80211_PMSR_PEER_ATTR_CHAN: channel definition, nested, using top-level
|
||||
* attributes like %NL80211_ATTR_WIPHY_FREQ etc.
|
||||
* @NL80211_PMSR_PEER_ATTR_REQ: This is a nested attribute indexed by
|
||||
* measurement type, with attributes from the
|
||||
* &enum nl80211_peer_measurement_req inside.
|
||||
* @NL80211_PMSR_PEER_ATTR_RESP: This is a nested attribute indexed by
|
||||
* measurement type, with attributes from the
|
||||
* &enum nl80211_peer_measurement_resp inside.
|
||||
*
|
||||
* @NUM_NL80211_PMSR_PEER_ATTRS: internal
|
||||
* @NL80211_PMSR_PEER_ATTR_MAX: highest attribute number
|
||||
*/
|
||||
enum nl80211_peer_measurement_peer_attrs {
|
||||
__NL80211_PMSR_PEER_ATTR_INVALID,
|
||||
|
||||
NL80211_PMSR_PEER_ATTR_ADDR,
|
||||
NL80211_PMSR_PEER_ATTR_CHAN,
|
||||
NL80211_PMSR_PEER_ATTR_REQ,
|
||||
NL80211_PMSR_PEER_ATTR_RESP,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_PMSR_PEER_ATTRS,
|
||||
NL80211_PMSR_PEER_ATTR_MAX = NUM_NL80211_PMSR_PEER_ATTRS - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_peer_measurement_attrs - peer measurement attributes
|
||||
* @__NL80211_PMSR_ATTR_INVALID: invalid
|
||||
*
|
||||
* @NL80211_PMSR_ATTR_MAX_PEERS: u32 attribute used for capability
|
||||
* advertisement only, indicates the maximum number of peers
|
||||
* measurements can be done with in a single request
|
||||
* @NL80211_PMSR_ATTR_REPORT_AP_TSF: flag attribute in capability
|
||||
* indicating that the connected AP's TSF can be reported in
|
||||
* measurement results
|
||||
* @NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR: flag attribute in capability
|
||||
* indicating that MAC address randomization is supported.
|
||||
* @NL80211_PMSR_ATTR_TYPE_CAPA: capabilities reported by the device,
|
||||
* this contains a nesting indexed by measurement type, and
|
||||
* type-specific capabilities inside, which are from the enums
|
||||
* named nl80211_peer_measurement_<type>_capa.
|
||||
* @NL80211_PMSR_ATTR_PEERS: nested attribute, the nesting index is
|
||||
* meaningless, just a list of peers to measure with, with the
|
||||
* sub-attributes taken from
|
||||
* &enum nl80211_peer_measurement_peer_attrs.
|
||||
*
|
||||
* @NUM_NL80211_PMSR_ATTR: internal
|
||||
* @NL80211_PMSR_ATTR_MAX: highest attribute number
|
||||
*/
|
||||
enum nl80211_peer_measurement_attrs {
|
||||
__NL80211_PMSR_ATTR_INVALID,
|
||||
|
||||
NL80211_PMSR_ATTR_MAX_PEERS,
|
||||
NL80211_PMSR_ATTR_REPORT_AP_TSF,
|
||||
NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR,
|
||||
NL80211_PMSR_ATTR_TYPE_CAPA,
|
||||
NL80211_PMSR_ATTR_PEERS,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_PMSR_ATTR,
|
||||
NL80211_PMSR_ATTR_MAX = NUM_NL80211_PMSR_ATTR - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_peer_measurement_ftm_capa - FTM capabilities
|
||||
* @__NL80211_PMSR_FTM_CAPA_ATTR_INVALID: invalid
|
||||
*
|
||||
* @NL80211_PMSR_FTM_CAPA_ATTR_ASAP: flag attribute indicating ASAP mode
|
||||
* is supported
|
||||
* @NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP: flag attribute indicating non-ASAP
|
||||
* mode is supported
|
||||
* @NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI: flag attribute indicating if LCI
|
||||
* data can be requested during the measurement
|
||||
* @NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC: flag attribute indicating if civic
|
||||
* location data can be requested during the measurement
|
||||
* @NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES: u32 bitmap attribute of bits
|
||||
* from &enum nl80211_preamble.
|
||||
* @NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS: bitmap of values from
|
||||
* &enum nl80211_chan_width indicating the supported channel
|
||||
* bandwidths for FTM. Note that a higher channel bandwidth may be
|
||||
* configured to allow for other measurements types with different
|
||||
* bandwidth requirement in the same measurement.
|
||||
* @NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT: u32 attribute indicating
|
||||
* the maximum bursts exponent that can be used (if not present anything
|
||||
* is valid)
|
||||
* @NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST: u32 attribute indicating
|
||||
* the maximum FTMs per burst (if not present anything is valid)
|
||||
*
|
||||
* @NUM_NL80211_PMSR_FTM_CAPA_ATTR: internal
|
||||
* @NL80211_PMSR_FTM_CAPA_ATTR_MAX: highest attribute number
|
||||
*/
|
||||
enum nl80211_peer_measurement_ftm_capa {
|
||||
__NL80211_PMSR_FTM_CAPA_ATTR_INVALID,
|
||||
|
||||
NL80211_PMSR_FTM_CAPA_ATTR_ASAP,
|
||||
NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP,
|
||||
NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI,
|
||||
NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC,
|
||||
NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES,
|
||||
NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS,
|
||||
NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT,
|
||||
NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_PMSR_FTM_CAPA_ATTR,
|
||||
NL80211_PMSR_FTM_CAPA_ATTR_MAX = NUM_NL80211_PMSR_FTM_CAPA_ATTR - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_peer_measurement_ftm_req - FTM request attributes
|
||||
* @__NL80211_PMSR_FTM_REQ_ATTR_INVALID: invalid
|
||||
*
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_ASAP: ASAP mode requested (flag)
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE: preamble type (see
|
||||
* &enum nl80211_preamble), optional for DMG (u32)
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP: number of bursts exponent as in
|
||||
* 802.11-2016 9.4.2.168 "Fine Timing Measurement Parameters element"
|
||||
* (u8, 0-15, optional with default 15 i.e. "no preference")
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD: interval between bursts in units
|
||||
* of 100ms (u16, optional with default 0)
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION: burst duration, as in 802.11-2016
|
||||
* Table 9-257 "Burst Duration field encoding" (u8, 0-15, optional with
|
||||
* default 15 i.e. "no preference")
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST: number of successful FTM frames
|
||||
* requested per burst
|
||||
* (u8, 0-31, optional with default 0 i.e. "no preference")
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES: number of FTMR frame retries
|
||||
* (u8, default 3)
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI: request LCI data (flag)
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC: request civic location data
|
||||
* (flag)
|
||||
*
|
||||
* @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number
|
||||
*/
|
||||
enum nl80211_peer_measurement_ftm_req {
|
||||
__NL80211_PMSR_FTM_REQ_ATTR_INVALID,
|
||||
|
||||
NL80211_PMSR_FTM_REQ_ATTR_ASAP,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_PMSR_FTM_REQ_ATTR,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_MAX = NUM_NL80211_PMSR_FTM_REQ_ATTR - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_peer_measurement_ftm_failure_reasons - FTM failure reasons
|
||||
* @NL80211_PMSR_FTM_FAILURE_UNSPECIFIED: unspecified failure, not used
|
||||
* @NL80211_PMSR_FTM_FAILURE_NO_RESPONSE: no response from the FTM responder
|
||||
* @NL80211_PMSR_FTM_FAILURE_REJECTED: FTM responder rejected measurement
|
||||
* @NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL: we already know the peer is
|
||||
* on a different channel, so can't measure (if we didn't know, we'd
|
||||
* try and get no response)
|
||||
* @NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE: peer can't actually do FTM
|
||||
* @NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP: invalid T1/T4 timestamps
|
||||
* received
|
||||
* @NL80211_PMSR_FTM_FAILURE_PEER_BUSY: peer reports busy, you may retry
|
||||
* later (see %NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME)
|
||||
* @NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS: parameters were changed
|
||||
* by the peer and are no longer supported
|
||||
*/
|
||||
enum nl80211_peer_measurement_ftm_failure_reasons {
|
||||
NL80211_PMSR_FTM_FAILURE_UNSPECIFIED,
|
||||
NL80211_PMSR_FTM_FAILURE_NO_RESPONSE,
|
||||
NL80211_PMSR_FTM_FAILURE_REJECTED,
|
||||
NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL,
|
||||
NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE,
|
||||
NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP,
|
||||
NL80211_PMSR_FTM_FAILURE_PEER_BUSY,
|
||||
NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_peer_measurement_ftm_resp - FTM response attributes
|
||||
* @__NL80211_PMSR_FTM_RESP_ATTR_INVALID: invalid
|
||||
*
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON: FTM-specific failure reason
|
||||
* (u32, optional)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX: optional, if bursts are reported
|
||||
* as separate results then it will be the burst index 0...(N-1) and
|
||||
* the top level will indicate partial results (u32)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS: number of FTM Request frames
|
||||
* transmitted (u32, optional)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES: number of FTM Request frames
|
||||
* that were acknowleged (u32, optional)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME: retry time received from the
|
||||
* busy peer (u32, seconds)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP: actual number of bursts exponent
|
||||
* used by the responder (similar to request, u8)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION: actual burst duration used by
|
||||
* the responder (similar to request, u8)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST: actual FTMs per burst used
|
||||
* by the responder (similar to request, u8)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG: average RSSI across all FTM action
|
||||
* frames (optional, s32, 1/2 dBm)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD: RSSI spread across all FTM action
|
||||
* frames (optional, s32, 1/2 dBm)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_TX_RATE: bitrate we used for the response to the
|
||||
* FTM action frame (optional, nested, using &enum nl80211_rate_info
|
||||
* attributes)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_RX_RATE: bitrate the responder used for the FTM
|
||||
* action frame (optional, nested, using &enum nl80211_rate_info attrs)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG: average RTT (s64, picoseconds, optional
|
||||
* but one of RTT/DIST must be present)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE: RTT variance (u64, ps^2, note that
|
||||
* standard deviation is the square root of variance, optional)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD: RTT spread (u64, picoseconds,
|
||||
* optional)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG: average distance (s64, mm, optional
|
||||
* but one of RTT/DIST must be present)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE: distance variance (u64, mm^2, note
|
||||
* that standard deviation is the square root of variance, optional)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD: distance spread (u64, mm, optional)
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_LCI: LCI data from peer (binary, optional);
|
||||
* this is the contents of the Measurement Report Element (802.11-2016
|
||||
* 9.4.2.22.1) starting with the Measurement Token, with Measurement
|
||||
* Type 8.
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC: civic location data from peer
|
||||
* (binary, optional);
|
||||
* this is the contents of the Measurement Report Element (802.11-2016
|
||||
* 9.4.2.22.1) starting with the Measurement Token, with Measurement
|
||||
* Type 11.
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_PAD: ignore, for u64/s64 padding only
|
||||
*
|
||||
* @NUM_NL80211_PMSR_FTM_RESP_ATTR: internal
|
||||
* @NL80211_PMSR_FTM_RESP_ATTR_MAX: highest attribute number
|
||||
*/
|
||||
enum nl80211_peer_measurement_ftm_resp {
|
||||
__NL80211_PMSR_FTM_RESP_ATTR_INVALID,
|
||||
|
||||
NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_TX_RATE,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_RX_RATE,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_LCI,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_PAD,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_PMSR_FTM_RESP_ATTR,
|
||||
NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 1
|
||||
};
|
||||
|
||||
#endif /* __LINUX_NL80211_H */
|
||||
|
||||
@@ -2,15 +2,6 @@
|
||||
/*
|
||||
* Definitions for the NVM Express ioctl interface
|
||||
* Copyright (c) 2011-2014, Intel Corporation.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_NVME_IOCTL_H
|
||||
|
||||
@@ -866,6 +866,7 @@
|
||||
#define PCI_ATS_CAP 0x04 /* ATS Capability Register */
|
||||
#define PCI_ATS_CAP_QDEP(x) ((x) & 0x1f) /* Invalidate Queue Depth */
|
||||
#define PCI_ATS_MAX_QDEP 32 /* Max Invalidate Queue Depth */
|
||||
#define PCI_ATS_CAP_PAGE_ALIGNED 0x0020 /* Page Aligned Request */
|
||||
#define PCI_ATS_CTRL 0x06 /* ATS Control Register */
|
||||
#define PCI_ATS_CTRL_ENABLE 0x8000 /* ATS Enable */
|
||||
#define PCI_ATS_CTRL_STU(x) ((x) & 0x1f) /* Smallest Translation Unit */
|
||||
@@ -880,6 +881,7 @@
|
||||
#define PCI_PRI_STATUS_RF 0x001 /* Response Failure */
|
||||
#define PCI_PRI_STATUS_UPRGI 0x002 /* Unexpected PRG index */
|
||||
#define PCI_PRI_STATUS_STOPPED 0x100 /* PRI Stopped */
|
||||
#define PCI_PRI_STATUS_PASID 0x8000 /* PRG Response PASID Required */
|
||||
#define PCI_PRI_MAX_REQ 0x08 /* PRI max reqs supported */
|
||||
#define PCI_PRI_ALLOC_REQ 0x0c /* PRI max reqs allowed */
|
||||
#define PCI_EXT_CAP_PRI_SIZEOF 16
|
||||
|
||||
@@ -372,7 +372,9 @@ struct perf_event_attr {
|
||||
context_switch : 1, /* context switch data */
|
||||
write_backward : 1, /* Write ring buffer from end to beginning */
|
||||
namespaces : 1, /* include namespaces data */
|
||||
__reserved_1 : 35;
|
||||
ksymbol : 1, /* include ksymbol events */
|
||||
bpf_event : 1, /* include bpf events */
|
||||
__reserved_1 : 33;
|
||||
|
||||
union {
|
||||
__u32 wakeup_events; /* wakeup every n events */
|
||||
@@ -445,8 +447,6 @@ struct perf_event_query_bpf {
|
||||
__u32 ids[0];
|
||||
};
|
||||
|
||||
#define perf_flags(attr) (*(&(attr)->read_format + 1))
|
||||
|
||||
/*
|
||||
* Ioctls that can be done on a perf event fd:
|
||||
*/
|
||||
@@ -965,9 +965,58 @@ enum perf_event_type {
|
||||
*/
|
||||
PERF_RECORD_NAMESPACES = 16,
|
||||
|
||||
/*
|
||||
* Record ksymbol register/unregister events:
|
||||
*
|
||||
* struct {
|
||||
* struct perf_event_header header;
|
||||
* u64 addr;
|
||||
* u32 len;
|
||||
* u16 ksym_type;
|
||||
* u16 flags;
|
||||
* char name[];
|
||||
* struct sample_id sample_id;
|
||||
* };
|
||||
*/
|
||||
PERF_RECORD_KSYMBOL = 17,
|
||||
|
||||
/*
|
||||
* Record bpf events:
|
||||
* enum perf_bpf_event_type {
|
||||
* PERF_BPF_EVENT_UNKNOWN = 0,
|
||||
* PERF_BPF_EVENT_PROG_LOAD = 1,
|
||||
* PERF_BPF_EVENT_PROG_UNLOAD = 2,
|
||||
* };
|
||||
*
|
||||
* struct {
|
||||
* struct perf_event_header header;
|
||||
* u16 type;
|
||||
* u16 flags;
|
||||
* u32 id;
|
||||
* u8 tag[BPF_TAG_SIZE];
|
||||
* struct sample_id sample_id;
|
||||
* };
|
||||
*/
|
||||
PERF_RECORD_BPF_EVENT = 18,
|
||||
|
||||
PERF_RECORD_MAX, /* non-ABI */
|
||||
};
|
||||
|
||||
enum perf_record_ksymbol_type {
|
||||
PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0,
|
||||
PERF_RECORD_KSYMBOL_TYPE_BPF = 1,
|
||||
PERF_RECORD_KSYMBOL_TYPE_MAX /* non-ABI */
|
||||
};
|
||||
|
||||
#define PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER (1 << 0)
|
||||
|
||||
enum perf_bpf_event_type {
|
||||
PERF_BPF_EVENT_UNKNOWN = 0,
|
||||
PERF_BPF_EVENT_PROG_LOAD = 1,
|
||||
PERF_BPF_EVENT_PROG_UNLOAD = 2,
|
||||
PERF_BPF_EVENT_MAX, /* non-ABI */
|
||||
};
|
||||
|
||||
#define PERF_MAX_STACK_DEPTH 127
|
||||
#define PERF_MAX_CONTEXTS_PER_STACK 8
|
||||
|
||||
|
||||
@@ -63,12 +63,49 @@ enum {
|
||||
#define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2)
|
||||
#define TC_ACT_EXT_OPCODE_MAX TC_ACT_GOTO_CHAIN
|
||||
|
||||
/* These macros are put here for binary compatibility with userspace apps that
|
||||
* make use of them. For kernel code and new userspace apps, use the TCA_ID_*
|
||||
* versions.
|
||||
*/
|
||||
#define TCA_ACT_GACT 5
|
||||
#define TCA_ACT_IPT 6
|
||||
#define TCA_ACT_PEDIT 7
|
||||
#define TCA_ACT_MIRRED 8
|
||||
#define TCA_ACT_NAT 9
|
||||
#define TCA_ACT_XT 10
|
||||
#define TCA_ACT_SKBEDIT 11
|
||||
#define TCA_ACT_VLAN 12
|
||||
#define TCA_ACT_BPF 13
|
||||
#define TCA_ACT_CONNMARK 14
|
||||
#define TCA_ACT_SKBMOD 15
|
||||
#define TCA_ACT_CSUM 16
|
||||
#define TCA_ACT_TUNNEL_KEY 17
|
||||
#define TCA_ACT_SIMP 22
|
||||
#define TCA_ACT_IFE 25
|
||||
#define TCA_ACT_SAMPLE 26
|
||||
|
||||
/* Action type identifiers*/
|
||||
enum {
|
||||
TCA_ID_UNSPEC=0,
|
||||
TCA_ID_POLICE=1,
|
||||
enum tca_id {
|
||||
TCA_ID_UNSPEC = 0,
|
||||
TCA_ID_POLICE = 1,
|
||||
TCA_ID_GACT = TCA_ACT_GACT,
|
||||
TCA_ID_IPT = TCA_ACT_IPT,
|
||||
TCA_ID_PEDIT = TCA_ACT_PEDIT,
|
||||
TCA_ID_MIRRED = TCA_ACT_MIRRED,
|
||||
TCA_ID_NAT = TCA_ACT_NAT,
|
||||
TCA_ID_XT = TCA_ACT_XT,
|
||||
TCA_ID_SKBEDIT = TCA_ACT_SKBEDIT,
|
||||
TCA_ID_VLAN = TCA_ACT_VLAN,
|
||||
TCA_ID_BPF = TCA_ACT_BPF,
|
||||
TCA_ID_CONNMARK = TCA_ACT_CONNMARK,
|
||||
TCA_ID_SKBMOD = TCA_ACT_SKBMOD,
|
||||
TCA_ID_CSUM = TCA_ACT_CSUM,
|
||||
TCA_ID_TUNNEL_KEY = TCA_ACT_TUNNEL_KEY,
|
||||
TCA_ID_SIMP = TCA_ACT_SIMP,
|
||||
TCA_ID_IFE = TCA_ACT_IFE,
|
||||
TCA_ID_SAMPLE = TCA_ACT_SAMPLE,
|
||||
/* other actions go here */
|
||||
__TCA_ID_MAX=255
|
||||
__TCA_ID_MAX = 255
|
||||
};
|
||||
|
||||
#define TCA_ID_MAX __TCA_ID_MAX
|
||||
@@ -333,12 +370,19 @@ enum {
|
||||
|
||||
/* Basic filter */
|
||||
|
||||
struct tc_basic_pcnt {
|
||||
__u64 rcnt;
|
||||
__u64 rhit;
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_BASIC_UNSPEC,
|
||||
TCA_BASIC_CLASSID,
|
||||
TCA_BASIC_EMATCHES,
|
||||
TCA_BASIC_ACT,
|
||||
TCA_BASIC_POLICE,
|
||||
TCA_BASIC_PCNT,
|
||||
TCA_BASIC_PAD,
|
||||
__TCA_BASIC_MAX
|
||||
};
|
||||
|
||||
@@ -485,6 +529,11 @@ enum {
|
||||
|
||||
TCA_FLOWER_IN_HW_COUNT,
|
||||
|
||||
TCA_FLOWER_KEY_PORT_SRC_MIN, /* be16 */
|
||||
TCA_FLOWER_KEY_PORT_SRC_MAX, /* be16 */
|
||||
TCA_FLOWER_KEY_PORT_DST_MIN, /* be16 */
|
||||
TCA_FLOWER_KEY_PORT_DST_MAX, /* be16 */
|
||||
|
||||
__TCA_FLOWER_MAX,
|
||||
};
|
||||
|
||||
@@ -518,13 +567,21 @@ enum {
|
||||
TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = (1 << 1),
|
||||
};
|
||||
|
||||
#define TCA_FLOWER_MASK_FLAGS_RANGE (1 << 0) /* Range-based match */
|
||||
|
||||
/* Match-all classifier */
|
||||
|
||||
struct tc_matchall_pcnt {
|
||||
__u64 rhit;
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_MATCHALL_UNSPEC,
|
||||
TCA_MATCHALL_CLASSID,
|
||||
TCA_MATCHALL_ACT,
|
||||
TCA_MATCHALL_FLAGS,
|
||||
TCA_MATCHALL_PCNT,
|
||||
TCA_MATCHALL_PAD,
|
||||
__TCA_MATCHALL_MAX,
|
||||
};
|
||||
|
||||
|
||||
@@ -291,11 +291,38 @@ enum {
|
||||
TCA_GRED_DPS,
|
||||
TCA_GRED_MAX_P,
|
||||
TCA_GRED_LIMIT,
|
||||
TCA_GRED_VQ_LIST, /* nested TCA_GRED_VQ_ENTRY */
|
||||
__TCA_GRED_MAX,
|
||||
};
|
||||
|
||||
#define TCA_GRED_MAX (__TCA_GRED_MAX - 1)
|
||||
|
||||
enum {
|
||||
TCA_GRED_VQ_ENTRY_UNSPEC,
|
||||
TCA_GRED_VQ_ENTRY, /* nested TCA_GRED_VQ_* */
|
||||
__TCA_GRED_VQ_ENTRY_MAX,
|
||||
};
|
||||
#define TCA_GRED_VQ_ENTRY_MAX (__TCA_GRED_VQ_ENTRY_MAX - 1)
|
||||
|
||||
enum {
|
||||
TCA_GRED_VQ_UNSPEC,
|
||||
TCA_GRED_VQ_PAD,
|
||||
TCA_GRED_VQ_DP, /* u32 */
|
||||
TCA_GRED_VQ_STAT_BYTES, /* u64 */
|
||||
TCA_GRED_VQ_STAT_PACKETS, /* u32 */
|
||||
TCA_GRED_VQ_STAT_BACKLOG, /* u32 */
|
||||
TCA_GRED_VQ_STAT_PROB_DROP, /* u32 */
|
||||
TCA_GRED_VQ_STAT_PROB_MARK, /* u32 */
|
||||
TCA_GRED_VQ_STAT_FORCED_DROP, /* u32 */
|
||||
TCA_GRED_VQ_STAT_FORCED_MARK, /* u32 */
|
||||
TCA_GRED_VQ_STAT_PDROP, /* u32 */
|
||||
TCA_GRED_VQ_STAT_OTHER, /* u32 */
|
||||
TCA_GRED_VQ_FLAGS, /* u32 */
|
||||
__TCA_GRED_VQ_MAX
|
||||
};
|
||||
|
||||
#define TCA_GRED_VQ_MAX (__TCA_GRED_VQ_MAX - 1)
|
||||
|
||||
struct tc_gred_qopt {
|
||||
__u32 limit; /* HARD maximal queue length (bytes) */
|
||||
__u32 qth_min; /* Min average length threshold (bytes) */
|
||||
@@ -864,6 +891,8 @@ enum {
|
||||
|
||||
TCA_FQ_LOW_RATE_THRESHOLD, /* per packet delay under this rate */
|
||||
|
||||
TCA_FQ_CE_THRESHOLD, /* DCTCP-like CE-marking threshold */
|
||||
|
||||
__TCA_FQ_MAX
|
||||
};
|
||||
|
||||
@@ -882,6 +911,7 @@ struct tc_fq_qd_stats {
|
||||
__u32 inactive_flows;
|
||||
__u32 throttled_flows;
|
||||
__u32 unthrottle_latency_ns;
|
||||
__u64 ce_mark; /* packets above ce_threshold */
|
||||
};
|
||||
|
||||
/* Heavy-Hitter Filter */
|
||||
@@ -924,7 +954,7 @@ enum {
|
||||
#define TCA_PIE_MAX (__TCA_PIE_MAX - 1)
|
||||
|
||||
struct tc_pie_xstats {
|
||||
__u32 prob; /* current probability */
|
||||
__u64 prob; /* current probability */
|
||||
__u32 delay; /* current delay in ms */
|
||||
__u32 avg_dq_rate; /* current average dq_rate in bits/pie_time */
|
||||
__u32 packets_in; /* total number of packets enqueued */
|
||||
@@ -991,6 +1021,7 @@ enum {
|
||||
TCA_CAKE_INGRESS,
|
||||
TCA_CAKE_ACK_FILTER,
|
||||
TCA_CAKE_SPLIT_GSO,
|
||||
TCA_CAKE_FWMARK,
|
||||
__TCA_CAKE_MAX
|
||||
};
|
||||
#define TCA_CAKE_MAX (__TCA_CAKE_MAX - 1)
|
||||
|
||||
@@ -19,7 +19,9 @@
|
||||
#define PMU_POWER_CTRL 0x11 /* control power of some devices */
|
||||
#define PMU_ADB_CMD 0x20 /* send ADB packet */
|
||||
#define PMU_ADB_POLL_OFF 0x21 /* disable ADB auto-poll */
|
||||
#define PMU_WRITE_XPRAM 0x32 /* write eXtended Parameter RAM */
|
||||
#define PMU_WRITE_NVRAM 0x33 /* write non-volatile RAM */
|
||||
#define PMU_READ_XPRAM 0x3a /* read eXtended Parameter RAM */
|
||||
#define PMU_READ_NVRAM 0x3b /* read non-volatile RAM */
|
||||
#define PMU_SET_RTC 0x30 /* set real-time clock */
|
||||
#define PMU_READ_RTC 0x38 /* read real-time clock */
|
||||
|
||||
@@ -219,5 +219,14 @@ struct prctl_mm_map {
|
||||
# define PR_SPEC_ENABLE (1UL << 1)
|
||||
# define PR_SPEC_DISABLE (1UL << 2)
|
||||
# define PR_SPEC_FORCE_DISABLE (1UL << 3)
|
||||
# define PR_SPEC_DISABLE_NOEXEC (1UL << 4)
|
||||
|
||||
/* Reset arm64 pointer authentication keys */
|
||||
#define PR_PAC_RESET_KEYS 54
|
||||
# define PR_PAC_APIAKEY (1UL << 0)
|
||||
# define PR_PAC_APIBKEY (1UL << 1)
|
||||
# define PR_PAC_APDAKEY (1UL << 2)
|
||||
# define PR_PAC_APDBKEY (1UL << 3)
|
||||
# define PR_PAC_APGAKEY (1UL << 4)
|
||||
|
||||
#endif /* _LINUX_PRCTL_H */
|
||||
|
||||
@@ -84,6 +84,16 @@ struct ptp_sys_offset {
|
||||
struct ptp_clock_time ts[2 * PTP_MAX_SAMPLES + 1];
|
||||
};
|
||||
|
||||
struct ptp_sys_offset_extended {
|
||||
unsigned int n_samples; /* Desired number of measurements. */
|
||||
unsigned int rsv[3]; /* Reserved for future use. */
|
||||
/*
|
||||
* Array of [system, phc, system] time stamps. The kernel will provide
|
||||
* 3*n_samples time stamps.
|
||||
*/
|
||||
struct ptp_clock_time ts[PTP_MAX_SAMPLES][3];
|
||||
};
|
||||
|
||||
struct ptp_sys_offset_precise {
|
||||
struct ptp_clock_time device;
|
||||
struct ptp_clock_time sys_realtime;
|
||||
@@ -136,6 +146,8 @@ struct ptp_pin_desc {
|
||||
#define PTP_PIN_SETFUNC _IOW(PTP_CLK_MAGIC, 7, struct ptp_pin_desc)
|
||||
#define PTP_SYS_OFFSET_PRECISE \
|
||||
_IOWR(PTP_CLK_MAGIC, 8, struct ptp_sys_offset_precise)
|
||||
#define PTP_SYS_OFFSET_EXTENDED \
|
||||
_IOWR(PTP_CLK_MAGIC, 9, struct ptp_sys_offset_extended)
|
||||
|
||||
struct ptp_extts_event {
|
||||
struct ptp_clock_time t; /* Time event occured. */
|
||||
|
||||
@@ -69,6 +69,12 @@
|
||||
#define RDS_TRANS_COUNT 3
|
||||
#define RDS_TRANS_NONE (~0)
|
||||
|
||||
/* IOCTLS commands for SOL_RDS */
|
||||
#define SIOCRDSSETTOS (SIOCPROTOPRIVATE)
|
||||
#define SIOCRDSGETTOS (SIOCPROTOPRIVATE + 1)
|
||||
|
||||
typedef __u8 rds_tos_t;
|
||||
|
||||
/*
|
||||
* Control message types for SOL_RDS.
|
||||
*
|
||||
@@ -149,6 +155,7 @@ struct rds_info_connection {
|
||||
__be32 faddr;
|
||||
__u8 transport[TRANSNAMSIZ]; /* null term ascii */
|
||||
__u8 flags;
|
||||
__u8 tos;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds6_info_connection {
|
||||
@@ -171,6 +178,7 @@ struct rds_info_message {
|
||||
__be16 lport;
|
||||
__be16 fport;
|
||||
__u8 flags;
|
||||
__u8 tos;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds6_info_message {
|
||||
@@ -214,6 +222,7 @@ struct rds_info_tcp_socket {
|
||||
__u32 last_sent_nxt;
|
||||
__u32 last_expected_una;
|
||||
__u32 last_seen_una;
|
||||
__u8 tos;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds6_info_tcp_socket {
|
||||
@@ -240,6 +249,7 @@ struct rds_info_rdma_connection {
|
||||
__u32 max_send_sge;
|
||||
__u32 rdma_mr_max;
|
||||
__u32 rdma_mr_size;
|
||||
__u8 tos;
|
||||
};
|
||||
|
||||
struct rds6_info_rdma_connection {
|
||||
@@ -253,6 +263,7 @@ struct rds6_info_rdma_connection {
|
||||
__u32 max_send_sge;
|
||||
__u32 rdma_mr_max;
|
||||
__u32 rdma_mr_size;
|
||||
__u8 tos;
|
||||
};
|
||||
|
||||
/* RDS message Receive Path Latency points */
|
||||
|
||||
@@ -59,6 +59,10 @@
|
||||
|
||||
typedef __s32 sctp_assoc_t;
|
||||
|
||||
#define SCTP_FUTURE_ASSOC 0
|
||||
#define SCTP_CURRENT_ASSOC 1
|
||||
#define SCTP_ALL_ASSOC 2
|
||||
|
||||
/* The following symbols come from the Sockets API Extensions for
|
||||
* SCTP <draft-ietf-tsvwg-sctpsocket-07.txt>.
|
||||
*/
|
||||
@@ -129,6 +133,7 @@ typedef __s32 sctp_assoc_t;
|
||||
#define SCTP_STREAM_SCHEDULER_VALUE 124
|
||||
#define SCTP_INTERLEAVING_SUPPORTED 125
|
||||
#define SCTP_SENDMSG_CONNECT 126
|
||||
#define SCTP_EVENT 127
|
||||
|
||||
/* PR-SCTP policies */
|
||||
#define SCTP_PR_SCTP_NONE 0x0000
|
||||
@@ -632,7 +637,9 @@ union sctp_notification {
|
||||
*/
|
||||
|
||||
enum sctp_sn_type {
|
||||
SCTP_SN_TYPE_BASE = (1<<15),
|
||||
SCTP_SN_TYPE_BASE = (1<<15),
|
||||
SCTP_DATA_IO_EVENT = SCTP_SN_TYPE_BASE,
|
||||
#define SCTP_DATA_IO_EVENT SCTP_DATA_IO_EVENT
|
||||
SCTP_ASSOC_CHANGE,
|
||||
#define SCTP_ASSOC_CHANGE SCTP_ASSOC_CHANGE
|
||||
SCTP_PEER_ADDR_CHANGE,
|
||||
@@ -657,6 +664,8 @@ enum sctp_sn_type {
|
||||
#define SCTP_ASSOC_RESET_EVENT SCTP_ASSOC_RESET_EVENT
|
||||
SCTP_STREAM_CHANGE_EVENT,
|
||||
#define SCTP_STREAM_CHANGE_EVENT SCTP_STREAM_CHANGE_EVENT
|
||||
SCTP_SN_TYPE_MAX = SCTP_STREAM_CHANGE_EVENT,
|
||||
#define SCTP_SN_TYPE_MAX SCTP_SN_TYPE_MAX
|
||||
};
|
||||
|
||||
/* Notification error codes used to fill up the error fields in some
|
||||
@@ -1150,6 +1159,12 @@ struct sctp_add_streams {
|
||||
uint16_t sas_outstrms;
|
||||
};
|
||||
|
||||
struct sctp_event {
|
||||
sctp_assoc_t se_assoc_id;
|
||||
uint16_t se_type;
|
||||
uint8_t se_on;
|
||||
};
|
||||
|
||||
/* SCTP Stream schedulers */
|
||||
enum sctp_sched_type {
|
||||
SCTP_SS_FCFS,
|
||||
|
||||
@@ -15,11 +15,13 @@
|
||||
#define SECCOMP_SET_MODE_STRICT 0
|
||||
#define SECCOMP_SET_MODE_FILTER 1
|
||||
#define SECCOMP_GET_ACTION_AVAIL 2
|
||||
#define SECCOMP_GET_NOTIF_SIZES 3
|
||||
|
||||
/* Valid flags for SECCOMP_SET_MODE_FILTER */
|
||||
#define SECCOMP_FILTER_FLAG_TSYNC (1UL << 0)
|
||||
#define SECCOMP_FILTER_FLAG_LOG (1UL << 1)
|
||||
#define SECCOMP_FILTER_FLAG_SPEC_ALLOW (1UL << 2)
|
||||
#define SECCOMP_FILTER_FLAG_TSYNC (1UL << 0)
|
||||
#define SECCOMP_FILTER_FLAG_LOG (1UL << 1)
|
||||
#define SECCOMP_FILTER_FLAG_SPEC_ALLOW (1UL << 2)
|
||||
#define SECCOMP_FILTER_FLAG_NEW_LISTENER (1UL << 3)
|
||||
|
||||
/*
|
||||
* All BPF programs must return a 32-bit value.
|
||||
@@ -35,6 +37,7 @@
|
||||
#define SECCOMP_RET_KILL SECCOMP_RET_KILL_THREAD
|
||||
#define SECCOMP_RET_TRAP 0x00030000U /* disallow and force a SIGSYS */
|
||||
#define SECCOMP_RET_ERRNO 0x00050000U /* returns an errno */
|
||||
#define SECCOMP_RET_USER_NOTIF 0x7fc00000U /* notifies userspace */
|
||||
#define SECCOMP_RET_TRACE 0x7ff00000U /* pass to a tracer or disallow */
|
||||
#define SECCOMP_RET_LOG 0x7ffc0000U /* allow after logging */
|
||||
#define SECCOMP_RET_ALLOW 0x7fff0000U /* allow */
|
||||
@@ -60,4 +63,35 @@ struct seccomp_data {
|
||||
__u64 args[6];
|
||||
};
|
||||
|
||||
struct seccomp_notif_sizes {
|
||||
__u16 seccomp_notif;
|
||||
__u16 seccomp_notif_resp;
|
||||
__u16 seccomp_data;
|
||||
};
|
||||
|
||||
struct seccomp_notif {
|
||||
__u64 id;
|
||||
__u32 pid;
|
||||
__u32 flags;
|
||||
struct seccomp_data data;
|
||||
};
|
||||
|
||||
struct seccomp_notif_resp {
|
||||
__u64 id;
|
||||
__s64 val;
|
||||
__s32 error;
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
#define SECCOMP_IOC_MAGIC '!'
|
||||
#define SECCOMP_IO(nr) _IO(SECCOMP_IOC_MAGIC, nr)
|
||||
#define SECCOMP_IOR(nr, type) _IOR(SECCOMP_IOC_MAGIC, nr, type)
|
||||
#define SECCOMP_IOW(nr, type) _IOW(SECCOMP_IOC_MAGIC, nr, type)
|
||||
#define SECCOMP_IOWR(nr, type) _IOWR(SECCOMP_IOC_MAGIC, nr, type)
|
||||
|
||||
/* Flags for seccomp notification fd ioctl. */
|
||||
#define SECCOMP_IOCTL_NOTIF_RECV SECCOMP_IOWR(0, struct seccomp_notif)
|
||||
#define SECCOMP_IOCTL_NOTIF_SEND SECCOMP_IOWR(1, \
|
||||
struct seccomp_notif_resp)
|
||||
#define SECCOMP_IOCTL_NOTIF_ID_VALID SECCOMP_IOR(2, __u64)
|
||||
#endif /* _UAPI_LINUX_SECCOMP_H */
|
||||
|
||||
@@ -79,6 +79,9 @@
|
||||
/* Nuvoton UART */
|
||||
#define PORT_NPCM 40
|
||||
|
||||
/* NVIDIA Tegra Combined UART */
|
||||
#define PORT_TEGRA_TCU 41
|
||||
|
||||
/* Intel EG20 */
|
||||
#define PORT_PCH_8LINE 44
|
||||
#define PORT_PCH_2LINE 45
|
||||
@@ -281,4 +284,7 @@
|
||||
/* MediaTek BTIF */
|
||||
#define PORT_MTK_BTIF 117
|
||||
|
||||
/* RDA UART */
|
||||
#define PORT_RDA 118
|
||||
|
||||
#endif /* _UAPILINUX_SERIAL_CORE_H */
|
||||
|
||||
@@ -243,6 +243,7 @@ enum
|
||||
LINUX_MIB_TCPREQQFULLDROP, /* TCPReqQFullDrop */
|
||||
LINUX_MIB_TCPRETRANSFAIL, /* TCPRetransFail */
|
||||
LINUX_MIB_TCPRCVCOALESCE, /* TCPRcvCoalesce */
|
||||
LINUX_MIB_TCPBACKLOGCOALESCE, /* TCPBacklogCoalesce */
|
||||
LINUX_MIB_TCPOFOQUEUE, /* TCPOFOQueue */
|
||||
LINUX_MIB_TCPOFODROP, /* TCPOFODrop */
|
||||
LINUX_MIB_TCPOFOMERGE, /* TCPOFOMerge */
|
||||
|
||||
@@ -153,6 +153,7 @@ enum
|
||||
KERN_NMI_WATCHDOG=75, /* int: enable/disable nmi watchdog */
|
||||
KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */
|
||||
KERN_PANIC_ON_WARN=77, /* int: call panic() in WARN() functions */
|
||||
KERN_PANIC_PRINT=78, /* ulong: bitmask to print system info on panic */
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_BPF 13
|
||||
|
||||
struct tc_act_bpf {
|
||||
tc_gen;
|
||||
};
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_CONNMARK 14
|
||||
|
||||
struct tc_connmark {
|
||||
tc_gen;
|
||||
__u16 zone;
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_CSUM 16
|
||||
|
||||
enum {
|
||||
TCA_CSUM_UNSPEC,
|
||||
TCA_CSUM_PARMS,
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_GACT 5
|
||||
struct tc_gact {
|
||||
tc_gen;
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
#include <linux/pkt_cls.h>
|
||||
#include <linux/ife.h>
|
||||
|
||||
#define TCA_ACT_IFE 25
|
||||
/* Flag bits for now just encoding/decoding; mutually exclusive */
|
||||
#define IFE_ENCODE 1
|
||||
#define IFE_DECODE 0
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_IPT 6
|
||||
#define TCA_ACT_XT 10
|
||||
|
||||
enum {
|
||||
TCA_IPT_UNSPEC,
|
||||
TCA_IPT_TABLE,
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_MIRRED 8
|
||||
#define TCA_EGRESS_REDIR 1 /* packet redirect to EGRESS*/
|
||||
#define TCA_EGRESS_MIRROR 2 /* mirror packet to EGRESS */
|
||||
#define TCA_INGRESS_REDIR 3 /* packet redirect to INGRESS*/
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
#include <linux/pkt_cls.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#define TCA_ACT_NAT 9
|
||||
|
||||
enum {
|
||||
TCA_NAT_UNSPEC,
|
||||
TCA_NAT_PARMS,
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_PEDIT 7
|
||||
|
||||
enum {
|
||||
TCA_PEDIT_UNSPEC,
|
||||
TCA_PEDIT_TM,
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
#include <linux/pkt_cls.h>
|
||||
#include <linux/if_ether.h>
|
||||
|
||||
#define TCA_ACT_SAMPLE 26
|
||||
|
||||
struct tc_sample {
|
||||
tc_gen;
|
||||
};
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_SKBEDIT 11
|
||||
|
||||
#define SKBEDIT_F_PRIORITY 0x1
|
||||
#define SKBEDIT_F_QUEUE_MAPPING 0x2
|
||||
#define SKBEDIT_F_MARK 0x4
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_SKBMOD 15
|
||||
|
||||
#define SKBMOD_F_DMAC 0x1
|
||||
#define SKBMOD_F_SMAC 0x2
|
||||
#define SKBMOD_F_ETYPE 0x4
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_TUNNEL_KEY 17
|
||||
|
||||
#define TCA_TUNNEL_KEY_ACT_SET 1
|
||||
#define TCA_TUNNEL_KEY_ACT_RELEASE 2
|
||||
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_VLAN 12
|
||||
|
||||
#define TCA_VLAN_ACT_POP 1
|
||||
#define TCA_VLAN_ACT_PUSH 2
|
||||
#define TCA_VLAN_ACT_MODIFY 3
|
||||
|
||||
@@ -266,6 +266,7 @@ enum {
|
||||
TCP_NLA_BYTES_RETRANS, /* Data bytes retransmitted */
|
||||
TCP_NLA_DSACK_DUPS, /* DSACK blocks received */
|
||||
TCP_NLA_REORD_SEEN, /* reordering events seen */
|
||||
TCP_NLA_SRTT, /* smoothed RTT in usecs */
|
||||
};
|
||||
|
||||
/* for TCP_MD5SIG socket option */
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#define _UAPI_LINUX_TIME_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#include <linux/time_types.h>
|
||||
|
||||
#ifndef _STRUCT_TIMESPEC
|
||||
#define _STRUCT_TIMESPEC
|
||||
@@ -23,7 +23,6 @@ struct timezone {
|
||||
int tz_dsttime; /* type of dst correction */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Names of the interval timers, and structure
|
||||
* defining a timer setting:
|
||||
@@ -42,32 +41,6 @@ struct itimerval {
|
||||
struct timeval it_value; /* current value */
|
||||
};
|
||||
|
||||
#ifndef __kernel_timespec
|
||||
struct __kernel_timespec {
|
||||
__kernel_time64_t tv_sec; /* seconds */
|
||||
long long tv_nsec; /* nanoseconds */
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __kernel_itimerspec
|
||||
struct __kernel_itimerspec {
|
||||
struct __kernel_timespec it_interval; /* timer period */
|
||||
struct __kernel_timespec it_value; /* timer expiration */
|
||||
};
|
||||
#endif
|
||||
|
||||
/*
|
||||
* legacy timeval structure, only embedded in structures that
|
||||
* traditionally used 'timeval' to pass time intervals (not absolute
|
||||
* times). Do not add new users. If user space fails to compile
|
||||
* here, this is probably because it is not y2038 safe and needs to
|
||||
* be changed to use another interface.
|
||||
*/
|
||||
struct __kernel_old_timeval {
|
||||
__kernel_long_t tv_sec;
|
||||
__kernel_long_t tv_usec;
|
||||
};
|
||||
|
||||
/*
|
||||
* The IDs of the various system clocks (for POSIX.1b interval timers):
|
||||
*/
|
||||
|
||||
36
include/uapi/linux/time_types.h
Normal file
36
include/uapi/linux/time_types.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _UAPI_LINUX_TIME_TYPES_H
|
||||
#define _UAPI_LINUX_TIME_TYPES_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct __kernel_timespec {
|
||||
__kernel_time64_t tv_sec; /* seconds */
|
||||
long long tv_nsec; /* nanoseconds */
|
||||
};
|
||||
|
||||
struct __kernel_itimerspec {
|
||||
struct __kernel_timespec it_interval; /* timer period */
|
||||
struct __kernel_timespec it_value; /* timer expiration */
|
||||
};
|
||||
|
||||
/*
|
||||
* legacy timeval structure, only embedded in structures that
|
||||
* traditionally used 'timeval' to pass time intervals (not absolute
|
||||
* times). Do not add new users. If user space fails to compile
|
||||
* here, this is probably because it is not y2038 safe and needs to
|
||||
* be changed to use another interface.
|
||||
*/
|
||||
#ifndef __kernel_old_timeval
|
||||
struct __kernel_old_timeval {
|
||||
__kernel_long_t tv_sec;
|
||||
__kernel_long_t tv_usec;
|
||||
};
|
||||
#endif
|
||||
|
||||
struct __kernel_sock_timeval {
|
||||
__s64 tv_sec;
|
||||
__s64 tv_usec;
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_TIME_TYPES_H */
|
||||
@@ -92,6 +92,45 @@ struct timex {
|
||||
int :32; int :32; int :32;
|
||||
};
|
||||
|
||||
struct __kernel_timex_timeval {
|
||||
__kernel_time64_t tv_sec;
|
||||
long long tv_usec;
|
||||
};
|
||||
|
||||
struct __kernel_timex {
|
||||
unsigned int modes; /* mode selector */
|
||||
int :32; /* pad */
|
||||
long long offset; /* time offset (usec) */
|
||||
long long freq; /* frequency offset (scaled ppm) */
|
||||
long long maxerror;/* maximum error (usec) */
|
||||
long long esterror;/* estimated error (usec) */
|
||||
int status; /* clock command/status */
|
||||
int :32; /* pad */
|
||||
long long constant;/* pll time constant */
|
||||
long long precision;/* clock precision (usec) (read only) */
|
||||
long long tolerance;/* clock frequency tolerance (ppm)
|
||||
* (read only)
|
||||
*/
|
||||
struct __kernel_timex_timeval time; /* (read only, except for ADJ_SETOFFSET) */
|
||||
long long tick; /* (modified) usecs between clock ticks */
|
||||
|
||||
long long ppsfreq;/* pps frequency (scaled ppm) (ro) */
|
||||
long long jitter; /* pps jitter (us) (ro) */
|
||||
int shift; /* interval duration (s) (shift) (ro) */
|
||||
int :32; /* pad */
|
||||
long long stabil; /* pps stability (scaled ppm) (ro) */
|
||||
long long jitcnt; /* jitter limit exceeded (ro) */
|
||||
long long calcnt; /* calibration intervals (ro) */
|
||||
long long errcnt; /* calibration errors (ro) */
|
||||
long long stbcnt; /* stability limit exceeded (ro) */
|
||||
|
||||
int tai; /* TAI offset (ro) */
|
||||
|
||||
int :32; int :32; int :32; int :32;
|
||||
int :32; int :32; int :32; int :32;
|
||||
int :32; int :32; int :32;
|
||||
};
|
||||
|
||||
/*
|
||||
* Mode codes (timex.mode)
|
||||
*/
|
||||
|
||||
@@ -51,6 +51,10 @@
|
||||
#define TLS_1_2_VERSION_MINOR 0x3
|
||||
#define TLS_1_2_VERSION TLS_VERSION_NUMBER(TLS_1_2)
|
||||
|
||||
#define TLS_1_3_VERSION_MAJOR 0x3
|
||||
#define TLS_1_3_VERSION_MINOR 0x4
|
||||
#define TLS_1_3_VERSION TLS_VERSION_NUMBER(TLS_1_3)
|
||||
|
||||
/* Supported ciphers */
|
||||
#define TLS_CIPHER_AES_GCM_128 51
|
||||
#define TLS_CIPHER_AES_GCM_128_IV_SIZE 8
|
||||
@@ -59,6 +63,13 @@
|
||||
#define TLS_CIPHER_AES_GCM_128_TAG_SIZE 16
|
||||
#define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE 8
|
||||
|
||||
#define TLS_CIPHER_AES_GCM_256 52
|
||||
#define TLS_CIPHER_AES_GCM_256_IV_SIZE 8
|
||||
#define TLS_CIPHER_AES_GCM_256_KEY_SIZE 32
|
||||
#define TLS_CIPHER_AES_GCM_256_SALT_SIZE 4
|
||||
#define TLS_CIPHER_AES_GCM_256_TAG_SIZE 16
|
||||
#define TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE 8
|
||||
|
||||
#define TLS_SET_RECORD_TYPE 1
|
||||
#define TLS_GET_RECORD_TYPE 2
|
||||
|
||||
@@ -75,4 +86,12 @@ struct tls12_crypto_info_aes_gcm_128 {
|
||||
unsigned char rec_seq[TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE];
|
||||
};
|
||||
|
||||
struct tls12_crypto_info_aes_gcm_256 {
|
||||
struct tls_crypto_info info;
|
||||
unsigned char iv[TLS_CIPHER_AES_GCM_256_IV_SIZE];
|
||||
unsigned char key[TLS_CIPHER_AES_GCM_256_KEY_SIZE];
|
||||
unsigned char salt[TLS_CIPHER_AES_GCM_256_SALT_SIZE];
|
||||
unsigned char rec_seq[TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE];
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_TLS_H */
|
||||
|
||||
@@ -33,6 +33,7 @@ struct udphdr {
|
||||
#define UDP_NO_CHECK6_TX 101 /* Disable sending checksum for UDP6X */
|
||||
#define UDP_NO_CHECK6_RX 102 /* Disable accpeting checksum for UDP6 */
|
||||
#define UDP_SEGMENT 103 /* Set GSO segmentation size */
|
||||
#define UDP_GRO 104 /* This socket can receive UDP GRO packets */
|
||||
|
||||
/* UDP encapsulation types */
|
||||
#define UDP_ENCAP_ESPINUDP_NON_IKE 1 /* draft-ietf-ipsec-nat-t-ike-00/01 */
|
||||
|
||||
@@ -79,24 +79,11 @@
|
||||
/* Current composing area plus all padding pixels */
|
||||
#define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103
|
||||
|
||||
/* Backward compatibility target definitions --- to be removed. */
|
||||
#define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP
|
||||
#define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE
|
||||
#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL V4L2_SEL_TGT_CROP
|
||||
#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL V4L2_SEL_TGT_COMPOSE
|
||||
#define V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS V4L2_SEL_TGT_CROP_BOUNDS
|
||||
#define V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS V4L2_SEL_TGT_COMPOSE_BOUNDS
|
||||
|
||||
/* Selection flags */
|
||||
#define V4L2_SEL_FLAG_GE (1 << 0)
|
||||
#define V4L2_SEL_FLAG_LE (1 << 1)
|
||||
#define V4L2_SEL_FLAG_KEEP_CONFIG (1 << 2)
|
||||
|
||||
/* Backward compatibility flag definitions --- to be removed. */
|
||||
#define V4L2_SUBDEV_SEL_FLAG_SIZE_GE V4L2_SEL_FLAG_GE
|
||||
#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE
|
||||
#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG
|
||||
|
||||
struct v4l2_edid {
|
||||
__u32 pad;
|
||||
__u32 start_block;
|
||||
@@ -105,4 +92,19 @@ struct v4l2_edid {
|
||||
__u8 *edid;
|
||||
};
|
||||
|
||||
#ifndef __KERNEL__
|
||||
/* Backward compatibility target definitions --- to be removed. */
|
||||
#define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP
|
||||
#define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE
|
||||
#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL V4L2_SEL_TGT_CROP
|
||||
#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL V4L2_SEL_TGT_COMPOSE
|
||||
#define V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS V4L2_SEL_TGT_CROP_BOUNDS
|
||||
#define V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS V4L2_SEL_TGT_COMPOSE_BOUNDS
|
||||
|
||||
/* Backward compatibility flag definitions --- to be removed. */
|
||||
#define V4L2_SUBDEV_SEL_FLAG_SIZE_GE V4L2_SEL_FLAG_GE
|
||||
#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE
|
||||
#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG
|
||||
#endif
|
||||
|
||||
#endif /* __V4L2_COMMON__ */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user