Merge tag 'topic/drm-misc-2016-02-12' into drm-intel-next-queued
Backmerge to get at the new encoder_mask support in atomic helpers. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
This commit is contained in:
@@ -41,6 +41,7 @@
|
||||
#define MADV_DONTNEED 4 /* don't need these pages */
|
||||
|
||||
/* common parameters: try to keep these consistent across architectures */
|
||||
#define MADV_FREE 8 /* free pages only if memory pressure */
|
||||
#define MADV_REMOVE 9 /* remove these pages & resources */
|
||||
#define MADV_DONTFORK 10 /* don't inherit across fork */
|
||||
#define MADV_DOFORK 11 /* do inherit across fork */
|
||||
|
||||
@@ -87,4 +87,7 @@
|
||||
#define SO_ATTACH_BPF 50
|
||||
#define SO_DETACH_BPF SO_DETACH_FILTER
|
||||
|
||||
#define SO_ATTACH_REUSEPORT_CBPF 51
|
||||
#define SO_ATTACH_REUSEPORT_EBPF 52
|
||||
|
||||
#endif /* __ASM_GENERIC_SOCKET_H */
|
||||
|
||||
@@ -715,9 +715,11 @@ __SYSCALL(__NR_userfaultfd, sys_userfaultfd)
|
||||
__SYSCALL(__NR_membarrier, sys_membarrier)
|
||||
#define __NR_mlock2 284
|
||||
__SYSCALL(__NR_mlock2, sys_mlock2)
|
||||
#define __NR_copy_file_range 285
|
||||
__SYSCALL(__NR_copy_file_range, sys_copy_file_range)
|
||||
|
||||
#undef __NR_syscalls
|
||||
#define __NR_syscalls 285
|
||||
#define __NR_syscalls 286
|
||||
|
||||
/*
|
||||
* All syscalls below here should go away really,
|
||||
|
||||
@@ -669,6 +669,7 @@ struct drm_set_client_cap {
|
||||
__u64 value;
|
||||
};
|
||||
|
||||
#define DRM_RDWR O_RDWR
|
||||
#define DRM_CLOEXEC O_CLOEXEC
|
||||
struct drm_prime_handle {
|
||||
__u32 handle;
|
||||
|
||||
@@ -225,7 +225,7 @@
|
||||
* - multiple of 128 pixels for the width
|
||||
* - multiple of 32 pixels for the height
|
||||
*
|
||||
* For more information: see http://linuxtv.org/downloads/v4l-dvb-apis/re32.html
|
||||
* For more information: see https://linuxtv.org/downloads/v4l-dvb-apis/re32.html
|
||||
*/
|
||||
#define DRM_FORMAT_MOD_SAMSUNG_64_32_TILE fourcc_mod_code(SAMSUNG, 1)
|
||||
|
||||
|
||||
@@ -48,6 +48,8 @@ struct drm_etnaviv_timespec {
|
||||
#define ETNAVIV_PARAM_GPU_FEATURES_2 0x05
|
||||
#define ETNAVIV_PARAM_GPU_FEATURES_3 0x06
|
||||
#define ETNAVIV_PARAM_GPU_FEATURES_4 0x07
|
||||
#define ETNAVIV_PARAM_GPU_FEATURES_5 0x08
|
||||
#define ETNAVIV_PARAM_GPU_FEATURES_6 0x09
|
||||
|
||||
#define ETNAVIV_PARAM_GPU_STREAM_COUNT 0x10
|
||||
#define ETNAVIV_PARAM_GPU_REGISTER_MAX 0x11
|
||||
@@ -59,6 +61,7 @@ struct drm_etnaviv_timespec {
|
||||
#define ETNAVIV_PARAM_GPU_BUFFER_SIZE 0x17
|
||||
#define ETNAVIV_PARAM_GPU_INSTRUCTION_COUNT 0x18
|
||||
#define ETNAVIV_PARAM_GPU_NUM_CONSTANTS 0x19
|
||||
#define ETNAVIV_PARAM_GPU_NUM_VARYINGS 0x1a
|
||||
|
||||
#define ETNA_MAX_PIPES 4
|
||||
|
||||
|
||||
@@ -307,7 +307,7 @@ header-y += nfs_mount.h
|
||||
header-y += nl80211.h
|
||||
header-y += n_r3964.h
|
||||
header-y += nubus.h
|
||||
header-y += nvme.h
|
||||
header-y += nvme_ioctl.h
|
||||
header-y += nvram.h
|
||||
header-y += omap3isp.h
|
||||
header-y += omapfb.h
|
||||
|
||||
@@ -269,9 +269,29 @@ enum bpf_func_id {
|
||||
* Return: 0 on success
|
||||
*/
|
||||
BPF_FUNC_perf_event_output,
|
||||
BPF_FUNC_skb_load_bytes,
|
||||
__BPF_FUNC_MAX_ID,
|
||||
};
|
||||
|
||||
/* All flags used by eBPF helper functions, placed here. */
|
||||
|
||||
/* BPF_FUNC_skb_store_bytes flags. */
|
||||
#define BPF_F_RECOMPUTE_CSUM (1ULL << 0)
|
||||
|
||||
/* BPF_FUNC_l3_csum_replace and BPF_FUNC_l4_csum_replace flags.
|
||||
* First 4 bits are for passing the header field size.
|
||||
*/
|
||||
#define BPF_F_HDR_FIELD_MASK 0xfULL
|
||||
|
||||
/* BPF_FUNC_l4_csum_replace flags. */
|
||||
#define BPF_F_PSEUDO_HDR (1ULL << 4)
|
||||
|
||||
/* BPF_FUNC_clone_redirect and BPF_FUNC_redirect flags. */
|
||||
#define BPF_F_INGRESS (1ULL << 0)
|
||||
|
||||
/* BPF_FUNC_skb_set_tunnel_key and BPF_FUNC_skb_get_tunnel_key flags. */
|
||||
#define BPF_F_TUNINFO_IPV6 (1ULL << 0)
|
||||
|
||||
/* user accessible mirror of in-kernel sk_buff.
|
||||
* new fields can only be added to the end of this structure
|
||||
*/
|
||||
@@ -295,7 +315,12 @@ struct __sk_buff {
|
||||
|
||||
struct bpf_tunnel_key {
|
||||
__u32 tunnel_id;
|
||||
__u32 remote_ipv4;
|
||||
union {
|
||||
__u32 remote_ipv4;
|
||||
__u32 remote_ipv6[4];
|
||||
};
|
||||
__u8 tunnel_tos;
|
||||
__u8 tunnel_ttl;
|
||||
};
|
||||
|
||||
#endif /* _UAPI__LINUX_BPF_H__ */
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#ifndef __KERNEL__
|
||||
#include <stdint.h>
|
||||
#include <time.h>
|
||||
#endif
|
||||
|
||||
|
||||
@@ -542,6 +542,7 @@ struct ethtool_pauseparam {
|
||||
* now deprecated
|
||||
* @ETH_SS_FEATURES: Device feature names
|
||||
* @ETH_SS_RSS_HASH_FUNCS: RSS hush function names
|
||||
* @ETH_SS_PHY_STATS: Statistic names, for use with %ETHTOOL_GPHYSTATS
|
||||
*/
|
||||
enum ethtool_stringset {
|
||||
ETH_SS_TEST = 0,
|
||||
@@ -551,6 +552,7 @@ enum ethtool_stringset {
|
||||
ETH_SS_FEATURES,
|
||||
ETH_SS_RSS_HASH_FUNCS,
|
||||
ETH_SS_TUNABLES,
|
||||
ETH_SS_PHY_STATS,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1225,6 +1227,7 @@ enum ethtool_sfeatures_retval_bits {
|
||||
#define ETHTOOL_SRSSH 0x00000047 /* Set RX flow hash configuration */
|
||||
#define ETHTOOL_GTUNABLE 0x00000048 /* Get tunable configuration */
|
||||
#define ETHTOOL_STUNABLE 0x00000049 /* Set tunable configuration */
|
||||
#define ETHTOOL_GPHYSTATS 0x0000004a /* get PHY-specific statistics */
|
||||
|
||||
/* compatibility with older code */
|
||||
#define SPARC_ETH_GSET ETHTOOL_GSET
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
#define EPOLL_CTL_DEL 2
|
||||
#define EPOLL_CTL_MOD 3
|
||||
|
||||
/* Set exclusive wakeup mode for the target file descriptor */
|
||||
#define EPOLLEXCLUSIVE (1 << 28)
|
||||
|
||||
/*
|
||||
* Request the handling of system wakeup events so as to prevent system suspends
|
||||
* from happening while those events are being processed.
|
||||
|
||||
+100
-4
@@ -2,8 +2,11 @@
|
||||
#define _UAPI_LINUX_FS_H
|
||||
|
||||
/*
|
||||
* This file has definitions for some important file table
|
||||
* structures etc.
|
||||
* This file has definitions for some important file table structures
|
||||
* and constants and structures used by various generic file system
|
||||
* ioctl's. Please do not make any changes in this file before
|
||||
* sending patches for review to linux-fsdevel@vger.kernel.org and
|
||||
* linux-api@vger.kernel.org.
|
||||
*/
|
||||
|
||||
#include <linux/limits.h>
|
||||
@@ -39,12 +42,48 @@
|
||||
#define RENAME_EXCHANGE (1 << 1) /* Exchange source and dest */
|
||||
#define RENAME_WHITEOUT (1 << 2) /* Whiteout source */
|
||||
|
||||
struct file_clone_range {
|
||||
__s64 src_fd;
|
||||
__u64 src_offset;
|
||||
__u64 src_length;
|
||||
__u64 dest_offset;
|
||||
};
|
||||
|
||||
struct fstrim_range {
|
||||
__u64 start;
|
||||
__u64 len;
|
||||
__u64 minlen;
|
||||
};
|
||||
|
||||
/* extent-same (dedupe) ioctls; these MUST match the btrfs ioctl definitions */
|
||||
#define FILE_DEDUPE_RANGE_SAME 0
|
||||
#define FILE_DEDUPE_RANGE_DIFFERS 1
|
||||
|
||||
/* from struct btrfs_ioctl_file_extent_same_info */
|
||||
struct file_dedupe_range_info {
|
||||
__s64 dest_fd; /* in - destination file */
|
||||
__u64 dest_offset; /* in - start of extent in destination */
|
||||
__u64 bytes_deduped; /* out - total # of bytes we were able
|
||||
* to dedupe from this file. */
|
||||
/* status of this dedupe operation:
|
||||
* < 0 for error
|
||||
* == FILE_DEDUPE_RANGE_SAME if dedupe succeeds
|
||||
* == FILE_DEDUPE_RANGE_DIFFERS if data differs
|
||||
*/
|
||||
__s32 status; /* out - see above description */
|
||||
__u32 reserved; /* must be zero */
|
||||
};
|
||||
|
||||
/* from struct btrfs_ioctl_file_extent_same_args */
|
||||
struct file_dedupe_range {
|
||||
__u64 src_offset; /* in - start of extent in source */
|
||||
__u64 src_length; /* in - length of extent */
|
||||
__u16 dest_count; /* in - total elements in info array */
|
||||
__u16 reserved1; /* must be zero */
|
||||
__u32 reserved2; /* must be zero */
|
||||
struct file_dedupe_range_info info[0];
|
||||
};
|
||||
|
||||
/* And dynamically-tunable limits and defaults: */
|
||||
struct files_stat_struct {
|
||||
unsigned long nr_files; /* read only */
|
||||
@@ -110,6 +149,37 @@ struct inodes_stat_t {
|
||||
#define MS_MGC_VAL 0xC0ED0000
|
||||
#define MS_MGC_MSK 0xffff0000
|
||||
|
||||
/*
|
||||
* Structure for FS_IOC_FSGETXATTR[A] and FS_IOC_FSSETXATTR.
|
||||
*/
|
||||
struct fsxattr {
|
||||
__u32 fsx_xflags; /* xflags field value (get/set) */
|
||||
__u32 fsx_extsize; /* extsize field value (get/set)*/
|
||||
__u32 fsx_nextents; /* nextents field value (get) */
|
||||
__u32 fsx_projid; /* project identifier (get/set) */
|
||||
unsigned char fsx_pad[12];
|
||||
};
|
||||
|
||||
/*
|
||||
* Flags for the fsx_xflags field
|
||||
*/
|
||||
#define FS_XFLAG_REALTIME 0x00000001 /* data in realtime volume */
|
||||
#define FS_XFLAG_PREALLOC 0x00000002 /* preallocated file extents */
|
||||
#define FS_XFLAG_IMMUTABLE 0x00000008 /* file cannot be modified */
|
||||
#define FS_XFLAG_APPEND 0x00000010 /* all writes append */
|
||||
#define FS_XFLAG_SYNC 0x00000020 /* all writes synchronous */
|
||||
#define FS_XFLAG_NOATIME 0x00000040 /* do not update access time */
|
||||
#define FS_XFLAG_NODUMP 0x00000080 /* do not include in backups */
|
||||
#define FS_XFLAG_RTINHERIT 0x00000100 /* create with rt bit set */
|
||||
#define FS_XFLAG_PROJINHERIT 0x00000200 /* create with parents projid */
|
||||
#define FS_XFLAG_NOSYMLINKS 0x00000400 /* disallow symlink creation */
|
||||
#define FS_XFLAG_EXTSIZE 0x00000800 /* extent size allocator hint */
|
||||
#define FS_XFLAG_EXTSZINHERIT 0x00001000 /* inherit inode extent size */
|
||||
#define FS_XFLAG_NODEFRAG 0x00002000 /* do not defragment */
|
||||
#define FS_XFLAG_FILESTREAM 0x00004000 /* use filestream allocator */
|
||||
#define FS_XFLAG_DAX 0x00008000 /* use DAX for IO */
|
||||
#define FS_XFLAG_HASATTR 0x80000000 /* no DIFLAG for this */
|
||||
|
||||
/* the read-only stuff doesn't really belong here, but any other place is
|
||||
probably as bad and I don't want to create yet another include file. */
|
||||
|
||||
@@ -152,6 +222,7 @@ struct inodes_stat_t {
|
||||
#define BLKSECDISCARD _IO(0x12,125)
|
||||
#define BLKROTATIONAL _IO(0x12,126)
|
||||
#define BLKZEROOUT _IO(0x12,127)
|
||||
#define BLKDAXGET _IO(0x12,129)
|
||||
|
||||
#define BMAP_IOCTL 1 /* obsolete - kept for compatibility */
|
||||
#define FIBMAP _IO(0x00,1) /* bmap access */
|
||||
@@ -159,6 +230,9 @@ struct inodes_stat_t {
|
||||
#define FIFREEZE _IOWR('X', 119, int) /* Freeze */
|
||||
#define FITHAW _IOWR('X', 120, int) /* Thaw */
|
||||
#define FITRIM _IOWR('X', 121, struct fstrim_range) /* Trim */
|
||||
#define FICLONE _IOW(0x94, 9, int)
|
||||
#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range)
|
||||
#define FIDEDUPERANGE _IOWR(0x94, 54, struct file_dedupe_range)
|
||||
|
||||
#define FS_IOC_GETFLAGS _IOR('f', 1, long)
|
||||
#define FS_IOC_SETFLAGS _IOW('f', 2, long)
|
||||
@@ -169,9 +243,28 @@ struct inodes_stat_t {
|
||||
#define FS_IOC32_SETFLAGS _IOW('f', 2, int)
|
||||
#define FS_IOC32_GETVERSION _IOR('v', 1, int)
|
||||
#define FS_IOC32_SETVERSION _IOW('v', 2, int)
|
||||
#define FS_IOC_FSGETXATTR _IOR ('X', 31, struct fsxattr)
|
||||
#define FS_IOC_FSSETXATTR _IOW ('X', 32, struct fsxattr)
|
||||
|
||||
/*
|
||||
* Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS)
|
||||
*
|
||||
* Note: for historical reasons, these flags were originally used and
|
||||
* defined for use by ext2/ext3, and then other file systems started
|
||||
* using these flags so they wouldn't need to write their own version
|
||||
* of chattr/lsattr (which was shipped as part of e2fsprogs). You
|
||||
* should think twice before trying to use these flags in new
|
||||
* contexts, or trying to assign these flags, since they are used both
|
||||
* as the UAPI and the on-disk encoding for ext2/3/4. Also, we are
|
||||
* almost out of 32-bit flags. :-)
|
||||
*
|
||||
* We have recently hoisted FS_IOC_FSGETXATTR / FS_IOC_FSSETXATTR from
|
||||
* XFS to the generic FS level interface. This uses a structure that
|
||||
* has padding and hence has more room to grow, so it may be more
|
||||
* appropriate for many new use cases.
|
||||
*
|
||||
* Please do not change these flags or interfaces before checking with
|
||||
* linux-fsdevel@vger.kernel.org and linux-api@vger.kernel.org.
|
||||
*/
|
||||
#define FS_SECRM_FL 0x00000001 /* Secure deletion */
|
||||
#define FS_UNRM_FL 0x00000002 /* Undelete */
|
||||
@@ -185,8 +278,8 @@ struct inodes_stat_t {
|
||||
#define FS_DIRTY_FL 0x00000100
|
||||
#define FS_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */
|
||||
#define FS_NOCOMP_FL 0x00000400 /* Don't compress */
|
||||
#define FS_ECOMPR_FL 0x00000800 /* Compression error */
|
||||
/* End compression flags --- maybe not all used */
|
||||
#define FS_ENCRYPT_FL 0x00000800 /* Encrypted file */
|
||||
#define FS_BTREE_FL 0x00001000 /* btree format dir */
|
||||
#define FS_INDEX_FL 0x00001000 /* hash-indexed directory */
|
||||
#define FS_IMAGIC_FL 0x00002000 /* AFS directory */
|
||||
@@ -194,9 +287,12 @@ struct inodes_stat_t {
|
||||
#define FS_NOTAIL_FL 0x00008000 /* file tail should not be merged */
|
||||
#define FS_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */
|
||||
#define FS_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
|
||||
#define FS_HUGE_FILE_FL 0x00040000 /* Reserved for ext4 */
|
||||
#define FS_EXTENT_FL 0x00080000 /* Extents */
|
||||
#define FS_DIRECTIO_FL 0x00100000 /* Use direct i/o */
|
||||
#define FS_EA_INODE_FL 0x00200000 /* Inode used for large EA */
|
||||
#define FS_EOFBLOCKS_FL 0x00400000 /* Reserved for ext4 */
|
||||
#define FS_NOCOW_FL 0x00800000 /* Do not cow file */
|
||||
#define FS_INLINE_DATA_FL 0x10000000 /* Reserved for ext4 */
|
||||
#define FS_PROJINHERIT_FL 0x20000000 /* Create with parents projid */
|
||||
#define FS_RESERVED_FL 0x80000000 /* reserved for ext2 lib */
|
||||
|
||||
|
||||
@@ -102,6 +102,9 @@
|
||||
* - add ctime and ctimensec to fuse_setattr_in
|
||||
* - add FUSE_RENAME2 request
|
||||
* - add FUSE_NO_OPEN_SUPPORT flag
|
||||
*
|
||||
* 7.24
|
||||
* - add FUSE_LSEEK for SEEK_HOLE and SEEK_DATA support
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_FUSE_H
|
||||
@@ -137,7 +140,7 @@
|
||||
#define FUSE_KERNEL_VERSION 7
|
||||
|
||||
/** Minor version number of this interface */
|
||||
#define FUSE_KERNEL_MINOR_VERSION 23
|
||||
#define FUSE_KERNEL_MINOR_VERSION 24
|
||||
|
||||
/** The node ID of the root inode */
|
||||
#define FUSE_ROOT_ID 1
|
||||
@@ -358,6 +361,7 @@ enum fuse_opcode {
|
||||
FUSE_FALLOCATE = 43,
|
||||
FUSE_READDIRPLUS = 44,
|
||||
FUSE_RENAME2 = 45,
|
||||
FUSE_LSEEK = 46,
|
||||
|
||||
/* CUSE specific operations */
|
||||
CUSE_INIT = 4096,
|
||||
@@ -758,4 +762,15 @@ struct fuse_notify_retrieve_in {
|
||||
/* Device ioctls: */
|
||||
#define FUSE_DEV_IOC_CLONE _IOR(229, 0, uint32_t)
|
||||
|
||||
struct fuse_lseek_in {
|
||||
uint64_t fh;
|
||||
uint64_t offset;
|
||||
uint32_t whence;
|
||||
uint32_t padding;
|
||||
};
|
||||
|
||||
struct fuse_lseek_out {
|
||||
uint64_t offset;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_FUSE_H */
|
||||
|
||||
@@ -297,6 +297,8 @@ struct gfs2_dinode {
|
||||
|
||||
#define GFS2_FNAMESIZE 255
|
||||
#define GFS2_DIRENT_SIZE(name_len) ((sizeof(struct gfs2_dirent) + (name_len) + 7) & ~7)
|
||||
#define GFS2_MIN_DIRENT_SIZE (GFS2_DIRENT_SIZE(1))
|
||||
|
||||
|
||||
struct gfs2_dirent {
|
||||
struct gfs2_inum de_inum;
|
||||
@@ -304,11 +306,12 @@ struct gfs2_dirent {
|
||||
__be16 de_rec_len;
|
||||
__be16 de_name_len;
|
||||
__be16 de_type;
|
||||
__be16 de_rahead;
|
||||
union {
|
||||
__u8 __pad[14];
|
||||
__u8 __pad[12];
|
||||
struct {
|
||||
__be16 de_rahead;
|
||||
__u8 pad2[12];
|
||||
__u32 de_cookie; /* ondisk value not used */
|
||||
__u8 pad3[8];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -31,6 +31,7 @@ enum hash_algo {
|
||||
HASH_ALGO_TGR_128,
|
||||
HASH_ALGO_TGR_160,
|
||||
HASH_ALGO_TGR_192,
|
||||
HASH_ALGO_SM3_256,
|
||||
HASH_ALGO__LAST
|
||||
};
|
||||
|
||||
|
||||
@@ -313,6 +313,7 @@ enum hv_kvp_exchg_pool {
|
||||
#define HV_INVALIDARG 0x80070057
|
||||
#define HV_GUID_NOTFOUND 0x80041002
|
||||
#define HV_ERROR_ALREADY_EXISTS 0x80070050
|
||||
#define HV_ERROR_DISK_FULL 0x80070070
|
||||
|
||||
#define ADDR_FAMILY_NONE 0x00
|
||||
#define ADDR_FAMILY_IPV4 0x01
|
||||
|
||||
@@ -218,6 +218,7 @@ enum in6_addr_gen_mode {
|
||||
IN6_ADDR_GEN_MODE_EUI64,
|
||||
IN6_ADDR_GEN_MODE_NONE,
|
||||
IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
|
||||
IN6_ADDR_GEN_MODE_RANDOM,
|
||||
};
|
||||
|
||||
/* Bridge section */
|
||||
@@ -462,6 +463,9 @@ enum {
|
||||
IFLA_GENEVE_PORT, /* destination port */
|
||||
IFLA_GENEVE_COLLECT_METADATA,
|
||||
IFLA_GENEVE_REMOTE6,
|
||||
IFLA_GENEVE_UDP_CSUM,
|
||||
IFLA_GENEVE_UDP_ZERO_CSUM6_TX,
|
||||
IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
|
||||
__IFLA_GENEVE_MAX
|
||||
};
|
||||
#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
|
||||
|
||||
@@ -3,13 +3,35 @@
|
||||
#ifndef _UAPI_LINUX_ILA_H
|
||||
#define _UAPI_LINUX_ILA_H
|
||||
|
||||
/* NETLINK_GENERIC related info */
|
||||
#define ILA_GENL_NAME "ila"
|
||||
#define ILA_GENL_VERSION 0x1
|
||||
|
||||
enum {
|
||||
ILA_ATTR_UNSPEC,
|
||||
ILA_ATTR_LOCATOR, /* u64 */
|
||||
ILA_ATTR_IDENTIFIER, /* u64 */
|
||||
ILA_ATTR_LOCATOR_MATCH, /* u64 */
|
||||
ILA_ATTR_IFINDEX, /* s32 */
|
||||
ILA_ATTR_DIR, /* u32 */
|
||||
|
||||
__ILA_ATTR_MAX,
|
||||
};
|
||||
|
||||
#define ILA_ATTR_MAX (__ILA_ATTR_MAX - 1)
|
||||
|
||||
enum {
|
||||
ILA_CMD_UNSPEC,
|
||||
ILA_CMD_ADD,
|
||||
ILA_CMD_DEL,
|
||||
ILA_CMD_GET,
|
||||
|
||||
__ILA_CMD_MAX,
|
||||
};
|
||||
|
||||
#define ILA_CMD_MAX (__ILA_CMD_MAX - 1)
|
||||
|
||||
#define ILA_DIR_IN (1 << 0)
|
||||
#define ILA_DIR_OUT (1 << 1)
|
||||
|
||||
#endif /* _UAPI_LINUX_ILA_H */
|
||||
|
||||
@@ -196,6 +196,7 @@ struct in6_flowlabel_req {
|
||||
|
||||
#define IPV6_IPSEC_POLICY 34
|
||||
#define IPV6_XFRM_POLICY 35
|
||||
#define IPV6_HDRINCL 36
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
||||
@@ -154,6 +154,20 @@ struct kvm_s390_skeys {
|
||||
__u32 flags;
|
||||
__u32 reserved[9];
|
||||
};
|
||||
|
||||
struct kvm_hyperv_exit {
|
||||
#define KVM_EXIT_HYPERV_SYNIC 1
|
||||
__u32 type;
|
||||
union {
|
||||
struct {
|
||||
__u32 msr;
|
||||
__u64 control;
|
||||
__u64 evt_page;
|
||||
__u64 msg_page;
|
||||
} synic;
|
||||
} u;
|
||||
};
|
||||
|
||||
#define KVM_S390_GET_SKEYS_NONE 1
|
||||
#define KVM_S390_SKEYS_MAX 1048576
|
||||
|
||||
@@ -184,6 +198,7 @@ struct kvm_s390_skeys {
|
||||
#define KVM_EXIT_SYSTEM_EVENT 24
|
||||
#define KVM_EXIT_S390_STSI 25
|
||||
#define KVM_EXIT_IOAPIC_EOI 26
|
||||
#define KVM_EXIT_HYPERV 27
|
||||
|
||||
/* For KVM_EXIT_INTERNAL_ERROR */
|
||||
/* Emulate instruction failed. */
|
||||
@@ -338,6 +353,8 @@ struct kvm_run {
|
||||
struct {
|
||||
__u8 vector;
|
||||
} eoi;
|
||||
/* KVM_EXIT_HYPERV */
|
||||
struct kvm_hyperv_exit hyperv;
|
||||
/* Fix the size of the union. */
|
||||
char padding[256];
|
||||
};
|
||||
@@ -831,6 +848,8 @@ struct kvm_ppc_smmu_info {
|
||||
#define KVM_CAP_GUEST_DEBUG_HW_WPS 120
|
||||
#define KVM_CAP_SPLIT_IRQCHIP 121
|
||||
#define KVM_CAP_IOEVENTFD_ANY_LENGTH 122
|
||||
#define KVM_CAP_HYPERV_SYNIC 123
|
||||
#define KVM_CAP_S390_RI 124
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
@@ -854,10 +873,16 @@ struct kvm_irq_routing_s390_adapter {
|
||||
__u32 adapter_id;
|
||||
};
|
||||
|
||||
struct kvm_irq_routing_hv_sint {
|
||||
__u32 vcpu;
|
||||
__u32 sint;
|
||||
};
|
||||
|
||||
/* gsi routing entry types */
|
||||
#define KVM_IRQ_ROUTING_IRQCHIP 1
|
||||
#define KVM_IRQ_ROUTING_MSI 2
|
||||
#define KVM_IRQ_ROUTING_S390_ADAPTER 3
|
||||
#define KVM_IRQ_ROUTING_HV_SINT 4
|
||||
|
||||
struct kvm_irq_routing_entry {
|
||||
__u32 gsi;
|
||||
@@ -868,6 +893,7 @@ struct kvm_irq_routing_entry {
|
||||
struct kvm_irq_routing_irqchip irqchip;
|
||||
struct kvm_irq_routing_msi msi;
|
||||
struct kvm_irq_routing_s390_adapter adapter;
|
||||
struct kvm_irq_routing_hv_sint hv_sint;
|
||||
__u32 pad[8];
|
||||
} u;
|
||||
};
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
|
||||
#define NVM_TTYPE_NAME_MAX 48
|
||||
#define NVM_TTYPE_MAX 63
|
||||
#define NVM_MMTYPE_LEN 8
|
||||
|
||||
#define NVM_CTRL_FILE "/dev/lightnvm/control"
|
||||
|
||||
@@ -100,6 +101,26 @@ struct nvm_ioctl_remove {
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
struct nvm_ioctl_dev_init {
|
||||
char dev[DISK_NAME_LEN]; /* open-channel SSD device */
|
||||
char mmtype[NVM_MMTYPE_LEN]; /* register to media manager */
|
||||
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
enum {
|
||||
NVM_FACTORY_ERASE_ONLY_USER = 1 << 0, /* erase only blocks used as
|
||||
* host blks or grown blks */
|
||||
NVM_FACTORY_RESET_HOST_BLKS = 1 << 1, /* remove host blk marks */
|
||||
NVM_FACTORY_RESET_GRWN_BBLKS = 1 << 2, /* remove grown blk marks */
|
||||
NVM_FACTORY_NR_BITS = 1 << 3, /* stops here */
|
||||
};
|
||||
|
||||
struct nvm_ioctl_dev_factory {
|
||||
char dev[DISK_NAME_LEN];
|
||||
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
/* The ioctl type, 'L', 0x20 - 0x2F documented in ioctl-number.txt */
|
||||
enum {
|
||||
@@ -110,6 +131,12 @@ enum {
|
||||
/* device level cmds */
|
||||
NVM_DEV_CREATE_CMD,
|
||||
NVM_DEV_REMOVE_CMD,
|
||||
|
||||
/* Init a device to support LightNVM media managers */
|
||||
NVM_DEV_INIT_CMD,
|
||||
|
||||
/* Factory reset device */
|
||||
NVM_DEV_FACTORY_CMD,
|
||||
};
|
||||
|
||||
#define NVM_IOCTL 'L' /* 0x4c */
|
||||
@@ -122,6 +149,10 @@ enum {
|
||||
struct nvm_ioctl_create)
|
||||
#define NVM_DEV_REMOVE _IOW(NVM_IOCTL, NVM_DEV_REMOVE_CMD, \
|
||||
struct nvm_ioctl_remove)
|
||||
#define NVM_DEV_INIT _IOW(NVM_IOCTL, NVM_DEV_INIT_CMD, \
|
||||
struct nvm_ioctl_dev_init)
|
||||
#define NVM_DEV_FACTORY _IOW(NVM_IOCTL, NVM_DEV_FACTORY_CMD, \
|
||||
struct nvm_ioctl_dev_factory)
|
||||
|
||||
#define NVM_VERSION_MAJOR 1
|
||||
#define NVM_VERSION_MINOR 0
|
||||
|
||||
@@ -0,0 +1,168 @@
|
||||
/*
|
||||
* lirc.h - linux infrared remote control header file
|
||||
* last modified 2010/07/13 by Jarod Wilson
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_LIRC_H
|
||||
#define _LINUX_LIRC_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/ioctl.h>
|
||||
|
||||
#define PULSE_BIT 0x01000000
|
||||
#define PULSE_MASK 0x00FFFFFF
|
||||
|
||||
#define LIRC_MODE2_SPACE 0x00000000
|
||||
#define LIRC_MODE2_PULSE 0x01000000
|
||||
#define LIRC_MODE2_FREQUENCY 0x02000000
|
||||
#define LIRC_MODE2_TIMEOUT 0x03000000
|
||||
|
||||
#define LIRC_VALUE_MASK 0x00FFFFFF
|
||||
#define LIRC_MODE2_MASK 0xFF000000
|
||||
|
||||
#define LIRC_SPACE(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_SPACE)
|
||||
#define LIRC_PULSE(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_PULSE)
|
||||
#define LIRC_FREQUENCY(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_FREQUENCY)
|
||||
#define LIRC_TIMEOUT(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_TIMEOUT)
|
||||
|
||||
#define LIRC_VALUE(val) ((val)&LIRC_VALUE_MASK)
|
||||
#define LIRC_MODE2(val) ((val)&LIRC_MODE2_MASK)
|
||||
|
||||
#define LIRC_IS_SPACE(val) (LIRC_MODE2(val) == LIRC_MODE2_SPACE)
|
||||
#define LIRC_IS_PULSE(val) (LIRC_MODE2(val) == LIRC_MODE2_PULSE)
|
||||
#define LIRC_IS_FREQUENCY(val) (LIRC_MODE2(val) == LIRC_MODE2_FREQUENCY)
|
||||
#define LIRC_IS_TIMEOUT(val) (LIRC_MODE2(val) == LIRC_MODE2_TIMEOUT)
|
||||
|
||||
/* used heavily by lirc userspace */
|
||||
#define lirc_t int
|
||||
|
||||
/*** lirc compatible hardware features ***/
|
||||
|
||||
#define LIRC_MODE2SEND(x) (x)
|
||||
#define LIRC_SEND2MODE(x) (x)
|
||||
#define LIRC_MODE2REC(x) ((x) << 16)
|
||||
#define LIRC_REC2MODE(x) ((x) >> 16)
|
||||
|
||||
#define LIRC_MODE_RAW 0x00000001
|
||||
#define LIRC_MODE_PULSE 0x00000002
|
||||
#define LIRC_MODE_MODE2 0x00000004
|
||||
#define LIRC_MODE_LIRCCODE 0x00000010
|
||||
|
||||
|
||||
#define LIRC_CAN_SEND_RAW LIRC_MODE2SEND(LIRC_MODE_RAW)
|
||||
#define LIRC_CAN_SEND_PULSE LIRC_MODE2SEND(LIRC_MODE_PULSE)
|
||||
#define LIRC_CAN_SEND_MODE2 LIRC_MODE2SEND(LIRC_MODE_MODE2)
|
||||
#define LIRC_CAN_SEND_LIRCCODE LIRC_MODE2SEND(LIRC_MODE_LIRCCODE)
|
||||
|
||||
#define LIRC_CAN_SEND_MASK 0x0000003f
|
||||
|
||||
#define LIRC_CAN_SET_SEND_CARRIER 0x00000100
|
||||
#define LIRC_CAN_SET_SEND_DUTY_CYCLE 0x00000200
|
||||
#define LIRC_CAN_SET_TRANSMITTER_MASK 0x00000400
|
||||
|
||||
#define LIRC_CAN_REC_RAW LIRC_MODE2REC(LIRC_MODE_RAW)
|
||||
#define LIRC_CAN_REC_PULSE LIRC_MODE2REC(LIRC_MODE_PULSE)
|
||||
#define LIRC_CAN_REC_MODE2 LIRC_MODE2REC(LIRC_MODE_MODE2)
|
||||
#define LIRC_CAN_REC_LIRCCODE LIRC_MODE2REC(LIRC_MODE_LIRCCODE)
|
||||
|
||||
#define LIRC_CAN_REC_MASK LIRC_MODE2REC(LIRC_CAN_SEND_MASK)
|
||||
|
||||
#define LIRC_CAN_SET_REC_CARRIER (LIRC_CAN_SET_SEND_CARRIER << 16)
|
||||
#define LIRC_CAN_SET_REC_DUTY_CYCLE (LIRC_CAN_SET_SEND_DUTY_CYCLE << 16)
|
||||
|
||||
#define LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE 0x40000000
|
||||
#define LIRC_CAN_SET_REC_CARRIER_RANGE 0x80000000
|
||||
#define LIRC_CAN_GET_REC_RESOLUTION 0x20000000
|
||||
#define LIRC_CAN_SET_REC_TIMEOUT 0x10000000
|
||||
#define LIRC_CAN_SET_REC_FILTER 0x08000000
|
||||
|
||||
#define LIRC_CAN_MEASURE_CARRIER 0x02000000
|
||||
#define LIRC_CAN_USE_WIDEBAND_RECEIVER 0x04000000
|
||||
|
||||
#define LIRC_CAN_SEND(x) ((x)&LIRC_CAN_SEND_MASK)
|
||||
#define LIRC_CAN_REC(x) ((x)&LIRC_CAN_REC_MASK)
|
||||
|
||||
#define LIRC_CAN_NOTIFY_DECODE 0x01000000
|
||||
|
||||
/*** IOCTL commands for lirc driver ***/
|
||||
|
||||
#define LIRC_GET_FEATURES _IOR('i', 0x00000000, __u32)
|
||||
|
||||
#define LIRC_GET_SEND_MODE _IOR('i', 0x00000001, __u32)
|
||||
#define LIRC_GET_REC_MODE _IOR('i', 0x00000002, __u32)
|
||||
#define LIRC_GET_SEND_CARRIER _IOR('i', 0x00000003, __u32)
|
||||
#define LIRC_GET_REC_CARRIER _IOR('i', 0x00000004, __u32)
|
||||
#define LIRC_GET_SEND_DUTY_CYCLE _IOR('i', 0x00000005, __u32)
|
||||
#define LIRC_GET_REC_DUTY_CYCLE _IOR('i', 0x00000006, __u32)
|
||||
#define LIRC_GET_REC_RESOLUTION _IOR('i', 0x00000007, __u32)
|
||||
|
||||
#define LIRC_GET_MIN_TIMEOUT _IOR('i', 0x00000008, __u32)
|
||||
#define LIRC_GET_MAX_TIMEOUT _IOR('i', 0x00000009, __u32)
|
||||
|
||||
#define LIRC_GET_MIN_FILTER_PULSE _IOR('i', 0x0000000a, __u32)
|
||||
#define LIRC_GET_MAX_FILTER_PULSE _IOR('i', 0x0000000b, __u32)
|
||||
#define LIRC_GET_MIN_FILTER_SPACE _IOR('i', 0x0000000c, __u32)
|
||||
#define LIRC_GET_MAX_FILTER_SPACE _IOR('i', 0x0000000d, __u32)
|
||||
|
||||
/* code length in bits, currently only for LIRC_MODE_LIRCCODE */
|
||||
#define LIRC_GET_LENGTH _IOR('i', 0x0000000f, __u32)
|
||||
|
||||
#define LIRC_SET_SEND_MODE _IOW('i', 0x00000011, __u32)
|
||||
#define LIRC_SET_REC_MODE _IOW('i', 0x00000012, __u32)
|
||||
/* Note: these can reset the according pulse_width */
|
||||
#define LIRC_SET_SEND_CARRIER _IOW('i', 0x00000013, __u32)
|
||||
#define LIRC_SET_REC_CARRIER _IOW('i', 0x00000014, __u32)
|
||||
#define LIRC_SET_SEND_DUTY_CYCLE _IOW('i', 0x00000015, __u32)
|
||||
#define LIRC_SET_REC_DUTY_CYCLE _IOW('i', 0x00000016, __u32)
|
||||
#define LIRC_SET_TRANSMITTER_MASK _IOW('i', 0x00000017, __u32)
|
||||
|
||||
/*
|
||||
* when a timeout != 0 is set the driver will send a
|
||||
* LIRC_MODE2_TIMEOUT data packet, otherwise LIRC_MODE2_TIMEOUT is
|
||||
* never sent, timeout is disabled by default
|
||||
*/
|
||||
#define LIRC_SET_REC_TIMEOUT _IOW('i', 0x00000018, __u32)
|
||||
|
||||
/* 1 enables, 0 disables timeout reports in MODE2 */
|
||||
#define LIRC_SET_REC_TIMEOUT_REPORTS _IOW('i', 0x00000019, __u32)
|
||||
|
||||
/*
|
||||
* pulses shorter than this are filtered out by hardware (software
|
||||
* emulation in lirc_dev?)
|
||||
*/
|
||||
#define LIRC_SET_REC_FILTER_PULSE _IOW('i', 0x0000001a, __u32)
|
||||
/*
|
||||
* spaces shorter than this are filtered out by hardware (software
|
||||
* emulation in lirc_dev?)
|
||||
*/
|
||||
#define LIRC_SET_REC_FILTER_SPACE _IOW('i', 0x0000001b, __u32)
|
||||
/*
|
||||
* if filter cannot be set independently for pulse/space, this should
|
||||
* be used
|
||||
*/
|
||||
#define LIRC_SET_REC_FILTER _IOW('i', 0x0000001c, __u32)
|
||||
|
||||
/*
|
||||
* if enabled from the next key press on the driver will send
|
||||
* LIRC_MODE2_FREQUENCY packets
|
||||
*/
|
||||
#define LIRC_SET_MEASURE_CARRIER_MODE _IOW('i', 0x0000001d, __u32)
|
||||
|
||||
/*
|
||||
* to set a range use
|
||||
* LIRC_SET_REC_DUTY_CYCLE_RANGE/LIRC_SET_REC_CARRIER_RANGE with the
|
||||
* lower bound first and later
|
||||
* LIRC_SET_REC_DUTY_CYCLE/LIRC_SET_REC_CARRIER with the upper bound
|
||||
*/
|
||||
|
||||
#define LIRC_SET_REC_DUTY_CYCLE_RANGE _IOW('i', 0x0000001e, __u32)
|
||||
#define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, __u32)
|
||||
|
||||
#define LIRC_NOTIFY_DECODE _IO('i', 0x00000020)
|
||||
|
||||
#define LIRC_SETUP_START _IO('i', 0x00000021)
|
||||
#define LIRC_SETUP_END _IO('i', 0x00000022)
|
||||
|
||||
#define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32)
|
||||
|
||||
#endif
|
||||
@@ -31,6 +31,7 @@
|
||||
#define PSTOREFS_MAGIC 0x6165676C
|
||||
#define EFIVARFS_MAGIC 0xde5e81e4
|
||||
#define HOSTFS_SUPER_MAGIC 0x00c0ffee
|
||||
#define OVERLAYFS_SUPER_MAGIC 0x794c7630
|
||||
|
||||
#define MINIX_SUPER_MAGIC 0x137F /* minix v1 fs, 14 char names */
|
||||
#define MINIX_SUPER_MAGIC2 0x138F /* minix v1 fs, 30 char names */
|
||||
@@ -54,6 +55,7 @@
|
||||
|
||||
#define SMB_SUPER_MAGIC 0x517B
|
||||
#define CGROUP_SUPER_MAGIC 0x27e0eb
|
||||
#define CGROUP2_SUPER_MAGIC 0x63677270
|
||||
|
||||
|
||||
#define STACK_END_MAGIC 0x57AC6E9D
|
||||
|
||||
+210
-18
@@ -23,6 +23,9 @@
|
||||
#ifndef __LINUX_MEDIA_H
|
||||
#define __LINUX_MEDIA_H
|
||||
|
||||
#ifndef __KERNEL__
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/version.h>
|
||||
@@ -42,33 +45,107 @@ struct media_device_info {
|
||||
|
||||
#define MEDIA_ENT_ID_FLAG_NEXT (1 << 31)
|
||||
|
||||
/*
|
||||
* Initial value to be used when a new entity is created
|
||||
* Drivers should change it to something useful
|
||||
*/
|
||||
#define MEDIA_ENT_F_UNKNOWN 0x00000000
|
||||
|
||||
/*
|
||||
* Base number ranges for entity functions
|
||||
*
|
||||
* NOTE: those ranges and entity function number are phased just to
|
||||
* make it easier to maintain this file. Userspace should not rely on
|
||||
* the ranges to identify a group of function types, as newer
|
||||
* functions can be added with any name within the full u32 range.
|
||||
*/
|
||||
#define MEDIA_ENT_F_BASE 0x00000000
|
||||
#define MEDIA_ENT_F_OLD_BASE 0x00010000
|
||||
#define MEDIA_ENT_F_OLD_SUBDEV_BASE 0x00020000
|
||||
|
||||
/*
|
||||
* DVB entities
|
||||
*/
|
||||
#define MEDIA_ENT_F_DTV_DEMOD (MEDIA_ENT_F_BASE + 1)
|
||||
#define MEDIA_ENT_F_TS_DEMUX (MEDIA_ENT_F_BASE + 2)
|
||||
#define MEDIA_ENT_F_DTV_CA (MEDIA_ENT_F_BASE + 3)
|
||||
#define MEDIA_ENT_F_DTV_NET_DECAP (MEDIA_ENT_F_BASE + 4)
|
||||
|
||||
/*
|
||||
* Connectors
|
||||
*/
|
||||
/* It is a responsibility of the entity drivers to add connectors and links */
|
||||
#define MEDIA_ENT_F_CONN_RF (MEDIA_ENT_F_BASE + 21)
|
||||
#define MEDIA_ENT_F_CONN_SVIDEO (MEDIA_ENT_F_BASE + 22)
|
||||
#define MEDIA_ENT_F_CONN_COMPOSITE (MEDIA_ENT_F_BASE + 23)
|
||||
/* For internal test signal generators and other debug connectors */
|
||||
#define MEDIA_ENT_F_CONN_TEST (MEDIA_ENT_F_BASE + 24)
|
||||
|
||||
/*
|
||||
* I/O entities
|
||||
*/
|
||||
#define MEDIA_ENT_F_IO_DTV (MEDIA_ENT_F_BASE + 31)
|
||||
#define MEDIA_ENT_F_IO_VBI (MEDIA_ENT_F_BASE + 32)
|
||||
#define MEDIA_ENT_F_IO_SWRADIO (MEDIA_ENT_F_BASE + 33)
|
||||
|
||||
/*
|
||||
* Don't touch on those. The ranges MEDIA_ENT_F_OLD_BASE and
|
||||
* MEDIA_ENT_F_OLD_SUBDEV_BASE are kept to keep backward compatibility
|
||||
* with the legacy v1 API.The number range is out of range by purpose:
|
||||
* several previously reserved numbers got excluded from this range.
|
||||
*
|
||||
* Subdevs are initialized with MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN,
|
||||
* in order to preserve backward compatibility.
|
||||
* Drivers must change to the proper subdev type before
|
||||
* registering the entity.
|
||||
*/
|
||||
|
||||
#define MEDIA_ENT_F_IO_V4L (MEDIA_ENT_F_OLD_BASE + 1)
|
||||
|
||||
#define MEDIA_ENT_F_CAM_SENSOR (MEDIA_ENT_F_OLD_SUBDEV_BASE + 1)
|
||||
#define MEDIA_ENT_F_FLASH (MEDIA_ENT_F_OLD_SUBDEV_BASE + 2)
|
||||
#define MEDIA_ENT_F_LENS (MEDIA_ENT_F_OLD_SUBDEV_BASE + 3)
|
||||
#define MEDIA_ENT_F_ATV_DECODER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 4)
|
||||
/*
|
||||
* It is a responsibility of the entity drivers to add connectors and links
|
||||
* for the tuner entities.
|
||||
*/
|
||||
#define MEDIA_ENT_F_TUNER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 5)
|
||||
|
||||
#define MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN MEDIA_ENT_F_OLD_SUBDEV_BASE
|
||||
|
||||
#ifndef __KERNEL__
|
||||
|
||||
/*
|
||||
* Legacy symbols used to avoid userspace compilation breakages
|
||||
*
|
||||
* Those symbols map the entity function into types and should be
|
||||
* used only on legacy programs for legacy hardware. Don't rely
|
||||
* on those for MEDIA_IOC_G_TOPOLOGY.
|
||||
*/
|
||||
#define MEDIA_ENT_TYPE_SHIFT 16
|
||||
#define MEDIA_ENT_TYPE_MASK 0x00ff0000
|
||||
#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff
|
||||
|
||||
#define MEDIA_ENT_T_DEVNODE (1 << MEDIA_ENT_TYPE_SHIFT)
|
||||
#define MEDIA_ENT_T_DEVNODE_V4L (MEDIA_ENT_T_DEVNODE + 1)
|
||||
#define MEDIA_ENT_T_DEVNODE MEDIA_ENT_F_OLD_BASE
|
||||
#define MEDIA_ENT_T_DEVNODE_V4L MEDIA_ENT_F_IO_V4L
|
||||
#define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2)
|
||||
#define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3)
|
||||
#define MEDIA_ENT_T_DEVNODE_DVB_FE (MEDIA_ENT_T_DEVNODE + 4)
|
||||
#define MEDIA_ENT_T_DEVNODE_DVB_DEMUX (MEDIA_ENT_T_DEVNODE + 5)
|
||||
#define MEDIA_ENT_T_DEVNODE_DVB_DVR (MEDIA_ENT_T_DEVNODE + 6)
|
||||
#define MEDIA_ENT_T_DEVNODE_DVB_CA (MEDIA_ENT_T_DEVNODE + 7)
|
||||
#define MEDIA_ENT_T_DEVNODE_DVB_NET (MEDIA_ENT_T_DEVNODE + 8)
|
||||
#define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_T_DEVNODE + 4)
|
||||
|
||||
/* Legacy symbol. Use it to avoid userspace compilation breakages */
|
||||
#define MEDIA_ENT_T_DEVNODE_DVB MEDIA_ENT_T_DEVNODE_DVB_FE
|
||||
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV (2 << MEDIA_ENT_TYPE_SHIFT)
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV + 1)
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH (MEDIA_ENT_T_V4L2_SUBDEV + 2)
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV_LENS (MEDIA_ENT_T_V4L2_SUBDEV + 3)
|
||||
/* A converter of analogue video to its digital representation. */
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER (MEDIA_ENT_T_V4L2_SUBDEV + 4)
|
||||
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV_TUNER (MEDIA_ENT_T_V4L2_SUBDEV + 5)
|
||||
#define MEDIA_ENT_T_UNKNOWN MEDIA_ENT_F_UNKNOWN
|
||||
#define MEDIA_ENT_T_V4L2_VIDEO MEDIA_ENT_F_IO_V4L
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR MEDIA_ENT_F_CAM_SENSOR
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH MEDIA_ENT_F_FLASH
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV_LENS MEDIA_ENT_F_LENS
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER MEDIA_ENT_F_ATV_DECODER
|
||||
#define MEDIA_ENT_T_V4L2_SUBDEV_TUNER MEDIA_ENT_F_TUNER
|
||||
#endif
|
||||
|
||||
/* Entity flags */
|
||||
#define MEDIA_ENT_FL_DEFAULT (1 << 0)
|
||||
#define MEDIA_ENT_FL_CONNECTOR (1 << 1)
|
||||
|
||||
struct media_entity_desc {
|
||||
__u32 id;
|
||||
@@ -151,6 +228,10 @@ struct media_pad_desc {
|
||||
#define MEDIA_LNK_FL_IMMUTABLE (1 << 1)
|
||||
#define MEDIA_LNK_FL_DYNAMIC (1 << 2)
|
||||
|
||||
#define MEDIA_LNK_FL_LINK_TYPE (0xf << 28)
|
||||
# define MEDIA_LNK_FL_DATA_LINK (0 << 28)
|
||||
# define MEDIA_LNK_FL_INTERFACE_LINK (1 << 28)
|
||||
|
||||
struct media_link_desc {
|
||||
struct media_pad_desc source;
|
||||
struct media_pad_desc sink;
|
||||
@@ -167,9 +248,120 @@ struct media_links_enum {
|
||||
__u32 reserved[4];
|
||||
};
|
||||
|
||||
/* Interface type ranges */
|
||||
|
||||
#define MEDIA_INTF_T_DVB_BASE 0x00000100
|
||||
#define MEDIA_INTF_T_V4L_BASE 0x00000200
|
||||
|
||||
/* Interface types */
|
||||
|
||||
#define MEDIA_INTF_T_DVB_FE (MEDIA_INTF_T_DVB_BASE)
|
||||
#define MEDIA_INTF_T_DVB_DEMUX (MEDIA_INTF_T_DVB_BASE + 1)
|
||||
#define MEDIA_INTF_T_DVB_DVR (MEDIA_INTF_T_DVB_BASE + 2)
|
||||
#define MEDIA_INTF_T_DVB_CA (MEDIA_INTF_T_DVB_BASE + 3)
|
||||
#define MEDIA_INTF_T_DVB_NET (MEDIA_INTF_T_DVB_BASE + 4)
|
||||
|
||||
#define MEDIA_INTF_T_V4L_VIDEO (MEDIA_INTF_T_V4L_BASE)
|
||||
#define MEDIA_INTF_T_V4L_VBI (MEDIA_INTF_T_V4L_BASE + 1)
|
||||
#define MEDIA_INTF_T_V4L_RADIO (MEDIA_INTF_T_V4L_BASE + 2)
|
||||
#define MEDIA_INTF_T_V4L_SUBDEV (MEDIA_INTF_T_V4L_BASE + 3)
|
||||
#define MEDIA_INTF_T_V4L_SWRADIO (MEDIA_INTF_T_V4L_BASE + 4)
|
||||
|
||||
/*
|
||||
* MC next gen API definitions
|
||||
*
|
||||
* NOTE: The declarations below are close to the MC RFC for the Media
|
||||
* Controller, the next generation. Yet, there are a few adjustments
|
||||
* to do, as we want to be able to have a functional API before
|
||||
* the MC properties change. Those will be properly marked below.
|
||||
* Please also notice that I removed "num_pads", "num_links",
|
||||
* from the proposal, as a proper userspace application will likely
|
||||
* use lists for pads/links, just as we intend to do in Kernelspace.
|
||||
* The API definition should be freed from fields that are bound to
|
||||
* some specific data structure.
|
||||
*
|
||||
* FIXME: Currently, I opted to name the new types as "media_v2", as this
|
||||
* won't cause any conflict with the Kernelspace namespace, nor with
|
||||
* the previous kAPI media_*_desc namespace. This can be changed
|
||||
* later, before the adding this API upstream.
|
||||
*/
|
||||
|
||||
#if 0 /* Let's postpone it to Kernel 4.6 */
|
||||
struct media_v2_entity {
|
||||
__u32 id;
|
||||
char name[64]; /* FIXME: move to a property? (RFC says so) */
|
||||
__u32 function; /* Main function of the entity */
|
||||
__u16 reserved[12];
|
||||
};
|
||||
|
||||
/* Should match the specific fields at media_intf_devnode */
|
||||
struct media_v2_intf_devnode {
|
||||
__u32 major;
|
||||
__u32 minor;
|
||||
};
|
||||
|
||||
struct media_v2_interface {
|
||||
__u32 id;
|
||||
__u32 intf_type;
|
||||
__u32 flags;
|
||||
__u32 reserved[9];
|
||||
|
||||
union {
|
||||
struct media_v2_intf_devnode devnode;
|
||||
__u32 raw[16];
|
||||
};
|
||||
};
|
||||
|
||||
struct media_v2_pad {
|
||||
__u32 id;
|
||||
__u32 entity_id;
|
||||
__u32 flags;
|
||||
__u16 reserved[9];
|
||||
};
|
||||
|
||||
struct media_v2_link {
|
||||
__u32 id;
|
||||
__u32 source_id;
|
||||
__u32 sink_id;
|
||||
__u32 flags;
|
||||
__u32 reserved[5];
|
||||
};
|
||||
|
||||
struct media_v2_topology {
|
||||
__u64 topology_version;
|
||||
|
||||
__u32 num_entities;
|
||||
__u32 reserved1;
|
||||
__u64 ptr_entities;
|
||||
|
||||
__u32 num_interfaces;
|
||||
__u32 reserved2;
|
||||
__u64 ptr_interfaces;
|
||||
|
||||
__u32 num_pads;
|
||||
__u32 reserved3;
|
||||
__u64 ptr_pads;
|
||||
|
||||
__u32 num_links;
|
||||
__u32 reserved4;
|
||||
__u64 ptr_links;
|
||||
};
|
||||
|
||||
static inline void __user *media_get_uptr(__u64 arg)
|
||||
{
|
||||
return (void __user *)(uintptr_t)arg;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ioctls */
|
||||
|
||||
#define MEDIA_IOC_DEVICE_INFO _IOWR('|', 0x00, struct media_device_info)
|
||||
#define MEDIA_IOC_ENUM_ENTITIES _IOWR('|', 0x01, struct media_entity_desc)
|
||||
#define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum)
|
||||
#define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc)
|
||||
|
||||
#if 0 /* Let's postpone it to Kernel 4.6 */
|
||||
#define MEDIA_IOC_G_TOPOLOGY _IOWR('|', 0x04, struct media_v2_topology)
|
||||
#endif
|
||||
|
||||
#endif /* __LINUX_MEDIA_H */
|
||||
|
||||
+17
-42
@@ -4,15 +4,13 @@
|
||||
#include <linux/sockios.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* Based on the MROUTING 3.5 defines primarily to keep
|
||||
* source compatibility with BSD.
|
||||
/* Based on the MROUTING 3.5 defines primarily to keep
|
||||
* source compatibility with BSD.
|
||||
*
|
||||
* See the mrouted code for the original history.
|
||||
*
|
||||
* Protocol Independent Multicast (PIM) data structures included
|
||||
* Carlos Picoto (cap@di.fc.ul.pt)
|
||||
* See the mrouted code for the original history.
|
||||
*
|
||||
* Protocol Independent Multicast (PIM) data structures included
|
||||
* Carlos Picoto (cap@di.fc.ul.pt)
|
||||
*/
|
||||
|
||||
#define MRT_BASE 200
|
||||
@@ -34,15 +32,13 @@
|
||||
#define SIOCGETSGCNT (SIOCPROTOPRIVATE+1)
|
||||
#define SIOCGETRPF (SIOCPROTOPRIVATE+2)
|
||||
|
||||
#define MAXVIFS 32
|
||||
#define MAXVIFS 32
|
||||
typedef unsigned long vifbitmap_t; /* User mode code depends on this lot */
|
||||
typedef unsigned short vifi_t;
|
||||
#define ALL_VIFS ((vifi_t)(-1))
|
||||
|
||||
/*
|
||||
* Same idea as select
|
||||
*/
|
||||
|
||||
/* Same idea as select */
|
||||
|
||||
#define VIFM_SET(n,m) ((m)|=(1<<(n)))
|
||||
#define VIFM_CLR(n,m) ((m)&=~(1<<(n)))
|
||||
#define VIFM_ISSET(n,m) ((m)&(1<<(n)))
|
||||
@@ -50,11 +46,9 @@ typedef unsigned short vifi_t;
|
||||
#define VIFM_COPY(mfrom,mto) ((mto)=(mfrom))
|
||||
#define VIFM_SAME(m1,m2) ((m1)==(m2))
|
||||
|
||||
/*
|
||||
* Passed by mrouted for an MRT_ADD_VIF - again we use the
|
||||
* mrouted 3.6 structures for compatibility
|
||||
/* Passed by mrouted for an MRT_ADD_VIF - again we use the
|
||||
* mrouted 3.6 structures for compatibility
|
||||
*/
|
||||
|
||||
struct vifctl {
|
||||
vifi_t vifc_vifi; /* Index of VIF */
|
||||
unsigned char vifc_flags; /* VIFF_ flags */
|
||||
@@ -73,10 +67,7 @@ struct vifctl {
|
||||
#define VIFF_USE_IFINDEX 0x8 /* use vifc_lcl_ifindex instead of
|
||||
vifc_lcl_addr to find an interface */
|
||||
|
||||
/*
|
||||
* Cache manipulation structures for mrouted and PIMd
|
||||
*/
|
||||
|
||||
/* Cache manipulation structures for mrouted and PIMd */
|
||||
struct mfcctl {
|
||||
struct in_addr mfcc_origin; /* Origin of mcast */
|
||||
struct in_addr mfcc_mcastgrp; /* Group in question */
|
||||
@@ -88,10 +79,7 @@ struct mfcctl {
|
||||
int mfcc_expire;
|
||||
};
|
||||
|
||||
/*
|
||||
* Group count retrieval for mrouted
|
||||
*/
|
||||
|
||||
/* Group count retrieval for mrouted */
|
||||
struct sioc_sg_req {
|
||||
struct in_addr src;
|
||||
struct in_addr grp;
|
||||
@@ -100,10 +88,7 @@ struct sioc_sg_req {
|
||||
unsigned long wrong_if;
|
||||
};
|
||||
|
||||
/*
|
||||
* To get vif packet counts
|
||||
*/
|
||||
|
||||
/* To get vif packet counts */
|
||||
struct sioc_vif_req {
|
||||
vifi_t vifi; /* Which iface */
|
||||
unsigned long icount; /* In packets */
|
||||
@@ -112,11 +97,9 @@ struct sioc_vif_req {
|
||||
unsigned long obytes; /* Out bytes */
|
||||
};
|
||||
|
||||
/*
|
||||
* This is the format the mroute daemon expects to see IGMP control
|
||||
* data. Magically happens to be like an IP packet as per the original
|
||||
/* This is the format the mroute daemon expects to see IGMP control
|
||||
* data. Magically happens to be like an IP packet as per the original
|
||||
*/
|
||||
|
||||
struct igmpmsg {
|
||||
__u32 unused1,unused2;
|
||||
unsigned char im_msgtype; /* What is this */
|
||||
@@ -126,21 +109,13 @@ struct igmpmsg {
|
||||
struct in_addr im_src,im_dst;
|
||||
};
|
||||
|
||||
/*
|
||||
* That's all usermode folks
|
||||
*/
|
||||
|
||||
|
||||
/* That's all usermode folks */
|
||||
|
||||
#define MFC_ASSERT_THRESH (3*HZ) /* Maximal freq. of asserts */
|
||||
|
||||
/*
|
||||
* Pseudo messages used by mrouted
|
||||
*/
|
||||
|
||||
/* Pseudo messages used by mrouted */
|
||||
#define IGMPMSG_NOCACHE 1 /* Kern cache fill request to mrouted */
|
||||
#define IGMPMSG_WRONGVIF 2 /* For PIM assert processing (unused) */
|
||||
#define IGMPMSG_WHOLEPKT 3 /* For PIM Register processing */
|
||||
|
||||
|
||||
#endif /* _UAPI__LINUX_MROUTE_H */
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef _UAPI__IP_SET_BITMAP_H
|
||||
#define _UAPI__IP_SET_BITMAP_H
|
||||
|
||||
#include <linux/netfilter/ipset/ip_set.h>
|
||||
|
||||
/* Bitmap type specific error codes */
|
||||
enum {
|
||||
/* The element is out of the range of the set */
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef _UAPI__IP_SET_HASH_H
|
||||
#define _UAPI__IP_SET_HASH_H
|
||||
|
||||
#include <linux/netfilter/ipset/ip_set.h>
|
||||
|
||||
/* Hash type specific error codes */
|
||||
enum {
|
||||
/* Hash is full */
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef _UAPI__IP_SET_LIST_H
|
||||
#define _UAPI__IP_SET_LIST_H
|
||||
|
||||
#include <linux/netfilter/ipset/ip_set.h>
|
||||
|
||||
/* List type specific error codes */
|
||||
enum {
|
||||
/* Set name to be added/deleted/tested does not exist. */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef _NF_CONNTRACK_SCTP_H
|
||||
#define _NF_CONNTRACK_SCTP_H
|
||||
#ifndef _UAPI_NF_CONNTRACK_SCTP_H
|
||||
#define _UAPI_NF_CONNTRACK_SCTP_H
|
||||
/* SCTP tracking. */
|
||||
|
||||
#include <linux/netfilter/nf_conntrack_tuple_common.h>
|
||||
@@ -18,10 +18,4 @@ enum sctp_conntrack {
|
||||
SCTP_CONNTRACK_MAX
|
||||
};
|
||||
|
||||
struct ip_ct_sctp {
|
||||
enum sctp_conntrack state;
|
||||
|
||||
__be32 vtag[IP_CT_DIR_MAX];
|
||||
};
|
||||
|
||||
#endif /* _NF_CONNTRACK_SCTP_H */
|
||||
#endif /* _UAPI_NF_CONNTRACK_SCTP_H */
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#ifndef _NF_CONNTRACK_TUPLE_COMMON_H
|
||||
#define _NF_CONNTRACK_TUPLE_COMMON_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netfilter.h>
|
||||
|
||||
enum ip_conntrack_dir {
|
||||
IP_CT_DIR_ORIGINAL,
|
||||
IP_CT_DIR_REPLY,
|
||||
|
||||
@@ -83,6 +83,7 @@ enum nft_verdicts {
|
||||
* @NFT_MSG_DELSETELEM: delete a set element (enum nft_set_elem_attributes)
|
||||
* @NFT_MSG_NEWGEN: announce a new generation, only for events (enum nft_gen_attributes)
|
||||
* @NFT_MSG_GETGEN: get the rule-set generation (enum nft_gen_attributes)
|
||||
* @NFT_MSG_TRACE: trace event (enum nft_trace_attributes)
|
||||
*/
|
||||
enum nf_tables_msg_types {
|
||||
NFT_MSG_NEWTABLE,
|
||||
@@ -102,6 +103,7 @@ enum nf_tables_msg_types {
|
||||
NFT_MSG_DELSETELEM,
|
||||
NFT_MSG_NEWGEN,
|
||||
NFT_MSG_GETGEN,
|
||||
NFT_MSG_TRACE,
|
||||
NFT_MSG_MAX,
|
||||
};
|
||||
|
||||
@@ -289,6 +291,7 @@ enum nft_set_desc_attributes {
|
||||
* @NFTA_SET_ID: uniquely identifies a set in a transaction (NLA_U32)
|
||||
* @NFTA_SET_TIMEOUT: default timeout value (NLA_U64)
|
||||
* @NFTA_SET_GC_INTERVAL: garbage collection interval (NLA_U32)
|
||||
* @NFTA_SET_USERDATA: user data (NLA_BINARY)
|
||||
*/
|
||||
enum nft_set_attributes {
|
||||
NFTA_SET_UNSPEC,
|
||||
@@ -304,6 +307,7 @@ enum nft_set_attributes {
|
||||
NFTA_SET_ID,
|
||||
NFTA_SET_TIMEOUT,
|
||||
NFTA_SET_GC_INTERVAL,
|
||||
NFTA_SET_USERDATA,
|
||||
__NFTA_SET_MAX
|
||||
};
|
||||
#define NFTA_SET_MAX (__NFTA_SET_MAX - 1)
|
||||
@@ -597,6 +601,17 @@ enum nft_payload_bases {
|
||||
NFT_PAYLOAD_TRANSPORT_HEADER,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nft_payload_csum_types - nf_tables payload expression checksum types
|
||||
*
|
||||
* @NFT_PAYLOAD_CSUM_NONE: no checksumming
|
||||
* @NFT_PAYLOAD_CSUM_INET: internet checksum (RFC 791)
|
||||
*/
|
||||
enum nft_payload_csum_types {
|
||||
NFT_PAYLOAD_CSUM_NONE,
|
||||
NFT_PAYLOAD_CSUM_INET,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nft_payload_attributes - nf_tables payload expression netlink attributes
|
||||
*
|
||||
@@ -604,6 +619,9 @@ enum nft_payload_bases {
|
||||
* @NFTA_PAYLOAD_BASE: payload base (NLA_U32: nft_payload_bases)
|
||||
* @NFTA_PAYLOAD_OFFSET: payload offset relative to base (NLA_U32)
|
||||
* @NFTA_PAYLOAD_LEN: payload length (NLA_U32)
|
||||
* @NFTA_PAYLOAD_SREG: source register to load data from (NLA_U32: nft_registers)
|
||||
* @NFTA_PAYLOAD_CSUM_TYPE: checksum type (NLA_U32)
|
||||
* @NFTA_PAYLOAD_CSUM_OFFSET: checksum offset relative to base (NLA_U32)
|
||||
*/
|
||||
enum nft_payload_attributes {
|
||||
NFTA_PAYLOAD_UNSPEC,
|
||||
@@ -611,6 +629,9 @@ enum nft_payload_attributes {
|
||||
NFTA_PAYLOAD_BASE,
|
||||
NFTA_PAYLOAD_OFFSET,
|
||||
NFTA_PAYLOAD_LEN,
|
||||
NFTA_PAYLOAD_SREG,
|
||||
NFTA_PAYLOAD_CSUM_TYPE,
|
||||
NFTA_PAYLOAD_CSUM_OFFSET,
|
||||
__NFTA_PAYLOAD_MAX
|
||||
};
|
||||
#define NFTA_PAYLOAD_MAX (__NFTA_PAYLOAD_MAX - 1)
|
||||
@@ -736,6 +757,8 @@ enum nft_ct_keys {
|
||||
NFT_CT_PROTO_SRC,
|
||||
NFT_CT_PROTO_DST,
|
||||
NFT_CT_LABELS,
|
||||
NFT_CT_PKTS,
|
||||
NFT_CT_BYTES,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -761,6 +784,10 @@ enum nft_limit_type {
|
||||
NFT_LIMIT_PKT_BYTES
|
||||
};
|
||||
|
||||
enum nft_limit_flags {
|
||||
NFT_LIMIT_F_INV = (1 << 0),
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nft_limit_attributes - nf_tables limit expression netlink attributes
|
||||
*
|
||||
@@ -768,6 +795,7 @@ enum nft_limit_type {
|
||||
* @NFTA_LIMIT_UNIT: refill unit (NLA_U64)
|
||||
* @NFTA_LIMIT_BURST: burst (NLA_U32)
|
||||
* @NFTA_LIMIT_TYPE: type of limit (NLA_U32: enum nft_limit_type)
|
||||
* @NFTA_LIMIT_FLAGS: flags (NLA_U32: enum nft_limit_flags)
|
||||
*/
|
||||
enum nft_limit_attributes {
|
||||
NFTA_LIMIT_UNSPEC,
|
||||
@@ -775,6 +803,7 @@ enum nft_limit_attributes {
|
||||
NFTA_LIMIT_UNIT,
|
||||
NFTA_LIMIT_BURST,
|
||||
NFTA_LIMIT_TYPE,
|
||||
NFTA_LIMIT_FLAGS,
|
||||
__NFTA_LIMIT_MAX
|
||||
};
|
||||
#define NFTA_LIMIT_MAX (__NFTA_LIMIT_MAX - 1)
|
||||
@@ -958,6 +987,18 @@ enum nft_dup_attributes {
|
||||
};
|
||||
#define NFTA_DUP_MAX (__NFTA_DUP_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_fwd_attributes - nf_tables fwd expression netlink attributes
|
||||
*
|
||||
* @NFTA_FWD_SREG_DEV: source register of output interface (NLA_U32: nft_register)
|
||||
*/
|
||||
enum nft_fwd_attributes {
|
||||
NFTA_FWD_UNSPEC,
|
||||
NFTA_FWD_SREG_DEV,
|
||||
__NFTA_FWD_MAX
|
||||
};
|
||||
#define NFTA_FWD_MAX (__NFTA_FWD_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_gen_attributes - nf_tables ruleset generation attributes
|
||||
*
|
||||
@@ -970,4 +1011,54 @@ enum nft_gen_attributes {
|
||||
};
|
||||
#define NFTA_GEN_MAX (__NFTA_GEN_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_trace_attributes - nf_tables trace netlink attributes
|
||||
*
|
||||
* @NFTA_TRACE_TABLE: name of the table (NLA_STRING)
|
||||
* @NFTA_TRACE_CHAIN: name of the chain (NLA_STRING)
|
||||
* @NFTA_TRACE_RULE_HANDLE: numeric handle of the rule (NLA_U64)
|
||||
* @NFTA_TRACE_TYPE: type of the event (NLA_U32: nft_trace_types)
|
||||
* @NFTA_TRACE_VERDICT: verdict returned by hook (NLA_NESTED: nft_verdicts)
|
||||
* @NFTA_TRACE_ID: pseudo-id, same for each skb traced (NLA_U32)
|
||||
* @NFTA_TRACE_LL_HEADER: linklayer header (NLA_BINARY)
|
||||
* @NFTA_TRACE_NETWORK_HEADER: network header (NLA_BINARY)
|
||||
* @NFTA_TRACE_TRANSPORT_HEADER: transport header (NLA_BINARY)
|
||||
* @NFTA_TRACE_IIF: indev ifindex (NLA_U32)
|
||||
* @NFTA_TRACE_IIFTYPE: netdev->type of indev (NLA_U16)
|
||||
* @NFTA_TRACE_OIF: outdev ifindex (NLA_U32)
|
||||
* @NFTA_TRACE_OIFTYPE: netdev->type of outdev (NLA_U16)
|
||||
* @NFTA_TRACE_MARK: nfmark (NLA_U32)
|
||||
* @NFTA_TRACE_NFPROTO: nf protocol processed (NLA_U32)
|
||||
* @NFTA_TRACE_POLICY: policy that decided fate of packet (NLA_U32)
|
||||
*/
|
||||
enum nft_trace_attibutes {
|
||||
NFTA_TRACE_UNSPEC,
|
||||
NFTA_TRACE_TABLE,
|
||||
NFTA_TRACE_CHAIN,
|
||||
NFTA_TRACE_RULE_HANDLE,
|
||||
NFTA_TRACE_TYPE,
|
||||
NFTA_TRACE_VERDICT,
|
||||
NFTA_TRACE_ID,
|
||||
NFTA_TRACE_LL_HEADER,
|
||||
NFTA_TRACE_NETWORK_HEADER,
|
||||
NFTA_TRACE_TRANSPORT_HEADER,
|
||||
NFTA_TRACE_IIF,
|
||||
NFTA_TRACE_IIFTYPE,
|
||||
NFTA_TRACE_OIF,
|
||||
NFTA_TRACE_OIFTYPE,
|
||||
NFTA_TRACE_MARK,
|
||||
NFTA_TRACE_NFPROTO,
|
||||
NFTA_TRACE_POLICY,
|
||||
__NFTA_TRACE_MAX
|
||||
};
|
||||
#define NFTA_TRACE_MAX (__NFTA_TRACE_MAX - 1)
|
||||
|
||||
enum nft_trace_types {
|
||||
NFT_TRACETYPE_UNSPEC,
|
||||
NFT_TRACETYPE_POLICY,
|
||||
NFT_TRACETYPE_RETURN,
|
||||
NFT_TRACETYPE_RULE,
|
||||
__NFT_TRACETYPE_MAX
|
||||
};
|
||||
#define NFT_TRACETYPE_MAX (__NFT_TRACETYPE_MAX - 1)
|
||||
#endif /* _LINUX_NF_TABLES_H */
|
||||
|
||||
@@ -22,6 +22,8 @@ enum nfnetlink_groups {
|
||||
#define NFNLGRP_NFTABLES NFNLGRP_NFTABLES
|
||||
NFNLGRP_ACCT_QUOTA,
|
||||
#define NFNLGRP_ACCT_QUOTA NFNLGRP_ACCT_QUOTA
|
||||
NFNLGRP_NFTRACE,
|
||||
#define NFNLGRP_NFTRACE NFNLGRP_NFTRACE
|
||||
__NFNLGRP_MAX,
|
||||
};
|
||||
#define NFNLGRP_MAX (__NFNLGRP_MAX - 1)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define XT_HMARK_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netfilter.h>
|
||||
|
||||
enum {
|
||||
XT_HMARK_SADDR_MASK,
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define _XT_RATEEST_TARGET_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/if.h>
|
||||
|
||||
struct xt_rateest_target_info {
|
||||
char name[IFNAMSIZ];
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef _XT_TEE_TARGET_H
|
||||
#define _XT_TEE_TARGET_H
|
||||
|
||||
#include <linux/netfilter.h>
|
||||
|
||||
struct xt_tee_tginfo {
|
||||
union nf_inet_addr gw;
|
||||
char oif[16];
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define _XT_TPROXY_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netfilter.h>
|
||||
|
||||
/* TPROXY target is capable of marking the packet to perform
|
||||
* redirection. We can get rid of that whenever we get support for
|
||||
|
||||
@@ -2,10 +2,23 @@
|
||||
#define _UAPI_XT_CGROUP_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/limits.h>
|
||||
|
||||
struct xt_cgroup_info {
|
||||
struct xt_cgroup_info_v0 {
|
||||
__u32 id;
|
||||
__u32 invert;
|
||||
};
|
||||
|
||||
struct xt_cgroup_info_v1 {
|
||||
__u8 has_path;
|
||||
__u8 has_classid;
|
||||
__u8 invert_path;
|
||||
__u8 invert_classid;
|
||||
char path[PATH_MAX];
|
||||
__u32 classid;
|
||||
|
||||
/* kernel internal data */
|
||||
void *priv __attribute__((aligned(8)));
|
||||
};
|
||||
|
||||
#endif /* _UAPI_XT_CGROUP_H */
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define _UAPI_XT_HASHLIMIT_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/if.h>
|
||||
|
||||
/* timings are in milliseconds. */
|
||||
#define XT_HASHLIMIT_SCALE 10000
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define _XT_IPVS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netfilter.h>
|
||||
|
||||
enum {
|
||||
XT_IPVS_IPVS_PROPERTY = 1 << 0, /* all other options imply this one */
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef _XT_MAC_H
|
||||
#define _XT_MAC_H
|
||||
|
||||
#include <linux/if_ether.h>
|
||||
|
||||
struct xt_mac_info {
|
||||
unsigned char srcaddr[ETH_ALEN];
|
||||
int invert;
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
#define _XT_OSF_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/ip.h>
|
||||
#include <linux/tcp.h>
|
||||
|
||||
#define MAXGENRELEN 32
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define _UAPI_XT_PHYSDEV_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#include <linux/if.h>
|
||||
|
||||
#define XT_PHYSDEV_OP_IN 0x01
|
||||
#define XT_PHYSDEV_OP_OUT 0x02
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#define _XT_POLICY_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/in.h>
|
||||
#include <linux/in6.h>
|
||||
|
||||
#define XT_POLICY_MAX_ELEM 4
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define _XT_RATEEST_MATCH_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/if.h>
|
||||
|
||||
enum xt_rateest_match_flags {
|
||||
XT_RATEEST_MATCH_INVERT = 1<<0,
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define _LINUX_NETFILTER_XT_RECENT_H 1
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netfilter.h>
|
||||
|
||||
enum {
|
||||
XT_RECENT_CHECK = 1 << 0,
|
||||
|
||||
@@ -66,26 +66,26 @@ struct xt_sctp_info {
|
||||
|
||||
#define SCTP_CHUNKMAP_IS_CLEAR(chunkmap) \
|
||||
__sctp_chunkmap_is_clear((chunkmap), ARRAY_SIZE(chunkmap))
|
||||
static inline bool
|
||||
static inline _Bool
|
||||
__sctp_chunkmap_is_clear(const __u32 *chunkmap, unsigned int n)
|
||||
{
|
||||
unsigned int i;
|
||||
for (i = 0; i < n; ++i)
|
||||
if (chunkmap[i])
|
||||
return false;
|
||||
return true;
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
#define SCTP_CHUNKMAP_IS_ALL_SET(chunkmap) \
|
||||
__sctp_chunkmap_is_all_set((chunkmap), ARRAY_SIZE(chunkmap))
|
||||
static inline bool
|
||||
static inline _Bool
|
||||
__sctp_chunkmap_is_all_set(const __u32 *chunkmap, unsigned int n)
|
||||
{
|
||||
unsigned int i;
|
||||
for (i = 0; i < n; ++i)
|
||||
if (chunkmap[i] != ~0U)
|
||||
return false;
|
||||
return true;
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif /* _XT_SCTP_H_ */
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/if.h>
|
||||
#include <linux/netfilter_arp.h>
|
||||
|
||||
#include <linux/netfilter/x_tables.h>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
/* bridge-specific defines for netfilter.
|
||||
*/
|
||||
|
||||
#include <linux/in.h>
|
||||
#include <linux/netfilter.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/if_vlan.h>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define __LINUX_BRIDGE_EBT_ARP_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/if_ether.h>
|
||||
|
||||
#define EBT_ARP_OPCODE 0x01
|
||||
#define EBT_ARP_HTYPE 0x02
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef __LINUX_BRIDGE_EBT_ARPREPLY_H
|
||||
#define __LINUX_BRIDGE_EBT_ARPREPLY_H
|
||||
|
||||
#include <linux/if_ether.h>
|
||||
|
||||
struct ebt_arpreply_info {
|
||||
unsigned char mac[ETH_ALEN];
|
||||
int target;
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#define __LINUX_BRIDGE_EBT_IP6_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/in6.h>
|
||||
|
||||
#define EBT_IP6_SOURCE 0x01
|
||||
#define EBT_IP6_DEST 0x02
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef __LINUX_BRIDGE_EBT_NAT_H
|
||||
#define __LINUX_BRIDGE_EBT_NAT_H
|
||||
|
||||
#include <linux/if_ether.h>
|
||||
|
||||
#define NAT_ARP_BIT (0x00000010)
|
||||
struct ebt_nat_info {
|
||||
unsigned char mac[ETH_ALEN];
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
|
||||
#ifndef _UAPI__LINUX_BRIDGE_EFF_H
|
||||
#define _UAPI__LINUX_BRIDGE_EFF_H
|
||||
#include <linux/types.h>
|
||||
#include <linux/if.h>
|
||||
#include <linux/netfilter_bridge.h>
|
||||
|
||||
#define EBT_TABLE_MAXNAMELEN 32
|
||||
@@ -33,8 +35,8 @@ struct xt_match;
|
||||
struct xt_target;
|
||||
|
||||
struct ebt_counter {
|
||||
uint64_t pcnt;
|
||||
uint64_t bcnt;
|
||||
__u64 pcnt;
|
||||
__u64 bcnt;
|
||||
};
|
||||
|
||||
struct ebt_replace {
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/if.h>
|
||||
#include <linux/netfilter_ipv4.h>
|
||||
|
||||
#include <linux/netfilter/x_tables.h>
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/if.h>
|
||||
#include <linux/netfilter_ipv6.h>
|
||||
|
||||
#include <linux/netfilter/x_tables.h>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define _IP6T_RT_H
|
||||
|
||||
#include <linux/types.h>
|
||||
/*#include <linux/in6.h>*/
|
||||
#include <linux/in6.h>
|
||||
|
||||
#define IP6T_RT_HOPS 16
|
||||
|
||||
|
||||
@@ -820,6 +820,10 @@
|
||||
* as an event to indicate changes for devices with wiphy-specific regdom
|
||||
* management.
|
||||
*
|
||||
* @NL80211_CMD_ABORT_SCAN: Stop an ongoing scan. Returns -ENOENT if a scan is
|
||||
* not running. The driver indicates the status of the scan through
|
||||
* cfg80211_scan_done().
|
||||
*
|
||||
* @NL80211_CMD_MAX: highest used command number
|
||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||
*/
|
||||
@@ -1006,6 +1010,8 @@ enum nl80211_commands {
|
||||
|
||||
NL80211_CMD_WIPHY_REG_CHANGE,
|
||||
|
||||
NL80211_CMD_ABORT_SCAN,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
/* used to define NL80211_CMD_MAX below */
|
||||
@@ -1764,8 +1770,9 @@ enum nl80211_commands {
|
||||
* over all channels.
|
||||
*
|
||||
* @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a
|
||||
* scheduled scan (or a WoWLAN net-detect scan) is started, u32
|
||||
* in seconds.
|
||||
* scheduled scan is started. Or the delay before a WoWLAN
|
||||
* net-detect scan is started, counting from the moment the
|
||||
* system is suspended. This value is a u32, in seconds.
|
||||
|
||||
* @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device
|
||||
* is operating in an indoor environment.
|
||||
|
||||
@@ -171,6 +171,9 @@ enum perf_branch_sample_type_shift {
|
||||
PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 12, /* indirect jumps */
|
||||
PERF_SAMPLE_BRANCH_CALL_SHIFT = 13, /* direct call */
|
||||
|
||||
PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 14, /* no flags */
|
||||
PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15, /* no cycles */
|
||||
|
||||
PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */
|
||||
};
|
||||
|
||||
@@ -192,6 +195,9 @@ enum perf_branch_sample_type {
|
||||
PERF_SAMPLE_BRANCH_IND_JUMP = 1U << PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT,
|
||||
PERF_SAMPLE_BRANCH_CALL = 1U << PERF_SAMPLE_BRANCH_CALL_SHIFT,
|
||||
|
||||
PERF_SAMPLE_BRANCH_NO_FLAGS = 1U << PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT,
|
||||
PERF_SAMPLE_BRANCH_NO_CYCLES = 1U << PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT,
|
||||
|
||||
PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT,
|
||||
};
|
||||
|
||||
|
||||
@@ -72,6 +72,10 @@ struct tc_estimator {
|
||||
#define TC_H_UNSPEC (0U)
|
||||
#define TC_H_ROOT (0xFFFFFFFFU)
|
||||
#define TC_H_INGRESS (0xFFFFFFF1U)
|
||||
#define TC_H_CLSACT TC_H_INGRESS
|
||||
|
||||
#define TC_H_MIN_INGRESS 0xFFF2U
|
||||
#define TC_H_MIN_EGRESS 0xFFF3U
|
||||
|
||||
/* Need to corrospond to iproute2 tc/tc_core.h "enum link_layer" */
|
||||
enum tc_link_layer {
|
||||
|
||||
@@ -80,7 +80,7 @@ typedef struct mdu_array_info_s {
|
||||
int major_version;
|
||||
int minor_version;
|
||||
int patch_version;
|
||||
int ctime;
|
||||
unsigned int ctime;
|
||||
int level;
|
||||
int size;
|
||||
int nr_disks;
|
||||
@@ -91,7 +91,7 @@ typedef struct mdu_array_info_s {
|
||||
/*
|
||||
* Generic state information
|
||||
*/
|
||||
int utime; /* 0 Superblock update time */
|
||||
unsigned int utime; /* 0 Superblock update time */
|
||||
int state; /* 1 State bits (clean, ...) */
|
||||
int active_disks; /* 2 Number of currently active disks */
|
||||
int working_disks; /* 3 Number of working disks */
|
||||
|
||||
@@ -311,6 +311,7 @@ enum rtattr_type_t {
|
||||
RTA_PREF,
|
||||
RTA_ENCAP_TYPE,
|
||||
RTA_ENCAP,
|
||||
RTA_EXPIRES,
|
||||
__RTA_MAX
|
||||
};
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ struct serial_struct {
|
||||
#define SERIAL_IO_AU 4
|
||||
#define SERIAL_IO_TSI 5
|
||||
#define SERIAL_IO_MEM32BE 6
|
||||
#define SERIAL_IO_MEM16 7
|
||||
|
||||
#define UART_CLEAR_FIFO 0x01
|
||||
#define UART_USE_FIFO 0x02
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
|
||||
#define PORT_S3C6400 84
|
||||
|
||||
/* NWPSERIAL */
|
||||
/* NWPSERIAL, now removed */
|
||||
#define PORT_NWPSERIAL 85
|
||||
|
||||
/* MAX3100 */
|
||||
|
||||
@@ -77,5 +77,6 @@
|
||||
#define SERIO_PS2MULT 0x3c
|
||||
#define SERIO_TSC40 0x3d
|
||||
#define SERIO_WACOM_IV 0x3e
|
||||
#define SERIO_EGALAX 0x3f
|
||||
|
||||
#endif /* _UAPI_SERIO_H */
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <linux/types.h>
|
||||
|
||||
#define SOCK_DIAG_BY_FAMILY 20
|
||||
#define SOCK_DESTROY 21
|
||||
|
||||
struct sock_diag_req {
|
||||
__u8 sdiag_family;
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/* Routing table calls. */
|
||||
#define SIOCADDRT 0x890B /* add routing table entry */
|
||||
#define SIOCDELRT 0x890C /* delete routing table entry */
|
||||
#define SIOCRTMSG 0x890D /* call to routing system */
|
||||
#define SIOCRTMSG 0x890D /* unused */
|
||||
|
||||
/* Socket configuration controls. */
|
||||
#define SIOCGIFNAME 0x8910 /* get iface name */
|
||||
|
||||
@@ -20,6 +20,11 @@
|
||||
* Author: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
|
||||
*
|
||||
* Changes/Revisions:
|
||||
* 0.5 08/13/2015 (David Herrmann <dh.herrmann@gmail.com> &
|
||||
* Benjamin Tissoires <benjamin.tissoires@redhat.com>)
|
||||
* - add UI_DEV_SETUP ioctl
|
||||
* - add UI_ABS_SETUP ioctl
|
||||
* - add UI_GET_VERSION ioctl
|
||||
* 0.4 01/09/2014 (Benjamin Tissoires <benjamin.tissoires@redhat.com>)
|
||||
* - add UI_GET_SYSNAME ioctl
|
||||
* 0.3 24/05/2006 (Anssi Hannula <anssi.hannulagmail.com>)
|
||||
@@ -37,8 +42,8 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/input.h>
|
||||
|
||||
#define UINPUT_VERSION 4
|
||||
|
||||
#define UINPUT_VERSION 5
|
||||
#define UINPUT_MAX_NAME_SIZE 80
|
||||
|
||||
struct uinput_ff_upload {
|
||||
__u32 request_id;
|
||||
@@ -58,6 +63,76 @@ struct uinput_ff_erase {
|
||||
#define UI_DEV_CREATE _IO(UINPUT_IOCTL_BASE, 1)
|
||||
#define UI_DEV_DESTROY _IO(UINPUT_IOCTL_BASE, 2)
|
||||
|
||||
struct uinput_setup {
|
||||
struct input_id id;
|
||||
char name[UINPUT_MAX_NAME_SIZE];
|
||||
__u32 ff_effects_max;
|
||||
};
|
||||
|
||||
/**
|
||||
* UI_DEV_SETUP - Set device parameters for setup
|
||||
*
|
||||
* This ioctl sets parameters for the input device to be created. It
|
||||
* supersedes the old "struct uinput_user_dev" method, which wrote this data
|
||||
* via write(). To actually set the absolute axes UI_ABS_SETUP should be
|
||||
* used.
|
||||
*
|
||||
* The ioctl takes a "struct uinput_setup" object as argument. The fields of
|
||||
* this object are as follows:
|
||||
* id: See the description of "struct input_id". This field is
|
||||
* copied unchanged into the new device.
|
||||
* name: This is used unchanged as name for the new device.
|
||||
* ff_effects_max: This limits the maximum numbers of force-feedback effects.
|
||||
* See below for a description of FF with uinput.
|
||||
*
|
||||
* This ioctl can be called multiple times and will overwrite previous values.
|
||||
* If this ioctl fails with -EINVAL, it is recommended to use the old
|
||||
* "uinput_user_dev" method via write() as a fallback, in case you run on an
|
||||
* old kernel that does not support this ioctl.
|
||||
*
|
||||
* This ioctl may fail with -EINVAL if it is not supported or if you passed
|
||||
* incorrect values, -ENOMEM if the kernel runs out of memory or -EFAULT if the
|
||||
* passed uinput_setup object cannot be read/written.
|
||||
* If this call fails, partial data may have already been applied to the
|
||||
* internal device.
|
||||
*/
|
||||
#define UI_DEV_SETUP _IOW(UINPUT_IOCTL_BASE, 3, struct uinput_setup)
|
||||
|
||||
struct uinput_abs_setup {
|
||||
__u16 code; /* axis code */
|
||||
/* __u16 filler; */
|
||||
struct input_absinfo absinfo;
|
||||
};
|
||||
|
||||
/**
|
||||
* UI_ABS_SETUP - Set absolute axis information for the device to setup
|
||||
*
|
||||
* This ioctl sets one absolute axis information for the input device to be
|
||||
* created. It supersedes the old "struct uinput_user_dev" method, which wrote
|
||||
* part of this data and the content of UI_DEV_SETUP via write().
|
||||
*
|
||||
* The ioctl takes a "struct uinput_abs_setup" object as argument. The fields
|
||||
* of this object are as follows:
|
||||
* code: The corresponding input code associated with this axis
|
||||
* (ABS_X, ABS_Y, etc...)
|
||||
* absinfo: See "struct input_absinfo" for a description of this field.
|
||||
* This field is copied unchanged into the kernel for the
|
||||
* specified axis. If the axis is not enabled via
|
||||
* UI_SET_ABSBIT, this ioctl will enable it.
|
||||
*
|
||||
* This ioctl can be called multiple times and will overwrite previous values.
|
||||
* If this ioctl fails with -EINVAL, it is recommended to use the old
|
||||
* "uinput_user_dev" method via write() as a fallback, in case you run on an
|
||||
* old kernel that does not support this ioctl.
|
||||
*
|
||||
* This ioctl may fail with -EINVAL if it is not supported or if you passed
|
||||
* incorrect values, -ENOMEM if the kernel runs out of memory or -EFAULT if the
|
||||
* passed uinput_setup object cannot be read/written.
|
||||
* If this call fails, partial data may have already been applied to the
|
||||
* internal device.
|
||||
*/
|
||||
#define UI_ABS_SETUP _IOW(UINPUT_IOCTL_BASE, 4, struct uinput_abs_setup)
|
||||
|
||||
#define UI_SET_EVBIT _IOW(UINPUT_IOCTL_BASE, 100, int)
|
||||
#define UI_SET_KEYBIT _IOW(UINPUT_IOCTL_BASE, 101, int)
|
||||
#define UI_SET_RELBIT _IOW(UINPUT_IOCTL_BASE, 102, int)
|
||||
@@ -144,7 +219,6 @@ struct uinput_ff_erase {
|
||||
#define UI_FF_UPLOAD 1
|
||||
#define UI_FF_ERASE 2
|
||||
|
||||
#define UINPUT_MAX_NAME_SIZE 80
|
||||
struct uinput_user_dev {
|
||||
char name[UINPUT_MAX_NAME_SIZE];
|
||||
struct input_id id;
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
/* A.3. Video Interface Protocol Codes */
|
||||
#define UVC_PC_PROTOCOL_UNDEFINED 0x00
|
||||
#define UVC_PC_PROTOCOL_15 0x01
|
||||
|
||||
/* A.5. Video Class-Specific VC Interface Descriptor Subtypes */
|
||||
#define UVC_VC_DESCRIPTOR_UNDEFINED 0x00
|
||||
|
||||
@@ -158,8 +158,10 @@ enum v4l2_colorfx {
|
||||
* We reserve 16 controls for this driver. */
|
||||
#define V4L2_CID_USER_S2255_BASE (V4L2_CID_USER_BASE + 0x1030)
|
||||
|
||||
/* The base for the si476x driver controls. See include/media/si476x.h for the list
|
||||
* of controls. Total of 16 controls is reserved for this driver */
|
||||
/*
|
||||
* The base for the si476x driver controls. See include/media/drv-intf/si476x.h
|
||||
* for the list of controls. Total of 16 controls is reserved for this driver
|
||||
*/
|
||||
#define V4L2_CID_USER_SI476X_BASE (V4L2_CID_USER_BASE + 0x1040)
|
||||
|
||||
/* The base for the TI VPE driver controls. Total of 16 controls is reserved for
|
||||
|
||||
@@ -38,6 +38,13 @@
|
||||
|
||||
#define VFIO_SPAPR_TCE_v2_IOMMU 7
|
||||
|
||||
/*
|
||||
* The No-IOMMU IOMMU offers no translation or isolation for devices and
|
||||
* supports no ioctls outside of VFIO_CHECK_EXTENSION. Use of VFIO's No-IOMMU
|
||||
* code will taint the host kernel and should be used with extreme caution.
|
||||
*/
|
||||
#define VFIO_NOIOMMU_IOMMU 8
|
||||
|
||||
/*
|
||||
* The IOCTL interface is designed for extensibility by embedding the
|
||||
* structure length (argsz) and flags into structures passed between
|
||||
@@ -568,8 +575,10 @@ struct vfio_iommu_spapr_tce_create {
|
||||
__u32 flags;
|
||||
/* in */
|
||||
__u32 page_shift;
|
||||
__u32 __resv1;
|
||||
__u64 window_size;
|
||||
__u32 levels;
|
||||
__u32 __resv2;
|
||||
/* out */
|
||||
__u64 start_addr;
|
||||
};
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
* All kernel-specific stuff were moved to media/v4l2-dev.h, so
|
||||
* no #if __KERNEL tests are allowed here
|
||||
*
|
||||
* See http://linuxtv.org for more info
|
||||
* See https://linuxtv.org for more info
|
||||
*
|
||||
* Author: Bill Dirks <bill@thedirks.org>
|
||||
* Justin Schoeman
|
||||
@@ -1476,7 +1476,12 @@ struct v4l2_ext_control {
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct v4l2_ext_controls {
|
||||
__u32 ctrl_class;
|
||||
union {
|
||||
#ifndef __KERNEL__
|
||||
__u32 ctrl_class;
|
||||
#endif
|
||||
__u32 which;
|
||||
};
|
||||
__u32 count;
|
||||
__u32 error_idx;
|
||||
__u32 reserved[2];
|
||||
@@ -1484,9 +1489,14 @@ struct v4l2_ext_controls {
|
||||
};
|
||||
|
||||
#define V4L2_CTRL_ID_MASK (0x0fffffff)
|
||||
#ifndef __KERNEL__
|
||||
#define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL)
|
||||
#endif
|
||||
#define V4L2_CTRL_ID2WHICH(id) ((id) & 0x0fff0000UL)
|
||||
#define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000)
|
||||
#define V4L2_CTRL_MAX_DIMS (4)
|
||||
#define V4L2_CTRL_WHICH_CUR_VAL 0
|
||||
#define V4L2_CTRL_WHICH_DEF_VAL 0x0f000000
|
||||
|
||||
enum v4l2_ctrl_type {
|
||||
V4L2_CTRL_TYPE_INTEGER = 1,
|
||||
|
||||
@@ -127,35 +127,33 @@
|
||||
#define HFI1_CMD_TID_UPDATE 4 /* update expected TID entries */
|
||||
#define HFI1_CMD_TID_FREE 5 /* free expected TID entries */
|
||||
#define HFI1_CMD_CREDIT_UPD 6 /* force an update of PIO credit */
|
||||
#define HFI1_CMD_SDMA_STATUS_UPD 7 /* force update of SDMA status ring */
|
||||
#define HFI1_CMD_SDMA_STATUS_UPD 7 /* force update of SDMA status ring */
|
||||
|
||||
#define HFI1_CMD_RECV_CTRL 8 /* control receipt of packets */
|
||||
#define HFI1_CMD_POLL_TYPE 9 /* set the kind of polling we want */
|
||||
#define HFI1_CMD_ACK_EVENT 10 /* ack & clear user status bits */
|
||||
#define HFI1_CMD_SET_PKEY 11 /* set context's pkey */
|
||||
#define HFI1_CMD_CTXT_RESET 12 /* reset context's HW send context */
|
||||
#define HFI1_CMD_SET_PKEY 11 /* set context's pkey */
|
||||
#define HFI1_CMD_CTXT_RESET 12 /* reset context's HW send context */
|
||||
/* separate EPROM commands from normal PSM commands */
|
||||
#define HFI1_CMD_EP_INFO 64 /* read EPROM device ID */
|
||||
#define HFI1_CMD_EP_ERASE_CHIP 65 /* erase whole EPROM */
|
||||
#define HFI1_CMD_EP_ERASE_P0 66 /* erase EPROM partition 0 */
|
||||
#define HFI1_CMD_EP_ERASE_P1 67 /* erase EPROM partition 1 */
|
||||
#define HFI1_CMD_EP_READ_P0 68 /* read EPROM partition 0 */
|
||||
#define HFI1_CMD_EP_READ_P1 69 /* read EPROM partition 1 */
|
||||
#define HFI1_CMD_EP_WRITE_P0 70 /* write EPROM partition 0 */
|
||||
#define HFI1_CMD_EP_WRITE_P1 71 /* write EPROM partition 1 */
|
||||
/* range 66-74 no longer used */
|
||||
#define HFI1_CMD_EP_ERASE_RANGE 75 /* erase EPROM range */
|
||||
#define HFI1_CMD_EP_READ_RANGE 76 /* read EPROM range */
|
||||
#define HFI1_CMD_EP_WRITE_RANGE 77 /* write EPROM range */
|
||||
|
||||
#define _HFI1_EVENT_FROZEN_BIT 0
|
||||
#define _HFI1_EVENT_LINKDOWN_BIT 1
|
||||
#define _HFI1_EVENT_LID_CHANGE_BIT 2
|
||||
#define _HFI1_EVENT_LMC_CHANGE_BIT 3
|
||||
#define _HFI1_EVENT_SL2VL_CHANGE_BIT 4
|
||||
#define _HFI1_EVENT_FROZEN_BIT 0
|
||||
#define _HFI1_EVENT_LINKDOWN_BIT 1
|
||||
#define _HFI1_EVENT_LID_CHANGE_BIT 2
|
||||
#define _HFI1_EVENT_LMC_CHANGE_BIT 3
|
||||
#define _HFI1_EVENT_SL2VL_CHANGE_BIT 4
|
||||
#define _HFI1_MAX_EVENT_BIT _HFI1_EVENT_SL2VL_CHANGE_BIT
|
||||
|
||||
#define HFI1_EVENT_FROZEN (1UL << _HFI1_EVENT_FROZEN_BIT)
|
||||
#define HFI1_EVENT_LINKDOWN_BIT (1UL << _HFI1_EVENT_LINKDOWN_BIT)
|
||||
#define HFI1_EVENT_LID_CHANGE_BIT (1UL << _HFI1_EVENT_LID_CHANGE_BIT)
|
||||
#define HFI1_EVENT_LMC_CHANGE_BIT (1UL << _HFI1_EVENT_LMC_CHANGE_BIT)
|
||||
#define HFI1_EVENT_SL2VL_CHANGE_BIT (1UL << _HFI1_EVENT_SL2VL_CHANGE_BIT)
|
||||
#define HFI1_EVENT_FROZEN (1UL << _HFI1_EVENT_FROZEN_BIT)
|
||||
#define HFI1_EVENT_LINKDOWN (1UL << _HFI1_EVENT_LINKDOWN_BIT)
|
||||
#define HFI1_EVENT_LID_CHANGE (1UL << _HFI1_EVENT_LID_CHANGE_BIT)
|
||||
#define HFI1_EVENT_LMC_CHANGE (1UL << _HFI1_EVENT_LMC_CHANGE_BIT)
|
||||
#define HFI1_EVENT_SL2VL_CHANGE (1UL << _HFI1_EVENT_SL2VL_CHANGE_BIT)
|
||||
|
||||
/*
|
||||
* These are the status bits readable (in ASCII form, 64bit value)
|
||||
|
||||
@@ -30,6 +30,16 @@ struct dk_cxlflash_hdr {
|
||||
__u64 return_flags; /* Returned flags */
|
||||
};
|
||||
|
||||
/*
|
||||
* Return flag definitions available to all ioctls
|
||||
*
|
||||
* Similar to the input flags, these are grown from the bottom-up with the
|
||||
* intention that ioctl-specific return flag definitions would grow from the
|
||||
* top-down, allowing the two sets to co-exist. While not required/enforced
|
||||
* at this time, this provides future flexibility.
|
||||
*/
|
||||
#define DK_CXLFLASH_ALL_PORTS_ACTIVE 0x0000000000000001ULL
|
||||
|
||||
/*
|
||||
* Notes:
|
||||
* -----
|
||||
|
||||
@@ -243,7 +243,7 @@ struct snd_soc_tplg_manifest {
|
||||
__le32 control_elems; /* number of control elements */
|
||||
__le32 widget_elems; /* number of widget elements */
|
||||
__le32 graph_elems; /* number of graph elements */
|
||||
__le32 dai_elems; /* number of DAI elements */
|
||||
__le32 pcm_elems; /* number of PCM elements */
|
||||
__le32 dai_link_elems; /* number of DAI link elements */
|
||||
struct snd_soc_tplg_private priv;
|
||||
} __attribute__((packed));
|
||||
|
||||
@@ -73,7 +73,8 @@
|
||||
#define SND_AUDIOCODEC_IEC61937 ((__u32) 0x0000000B)
|
||||
#define SND_AUDIOCODEC_G723_1 ((__u32) 0x0000000C)
|
||||
#define SND_AUDIOCODEC_G729 ((__u32) 0x0000000D)
|
||||
#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_G729
|
||||
#define SND_AUDIOCODEC_BESPOKE ((__u32) 0x0000000E)
|
||||
#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_BESPOKE
|
||||
|
||||
/*
|
||||
* Profile and modes are listed with bit masks. This allows for a
|
||||
@@ -312,7 +313,7 @@ struct snd_enc_flac {
|
||||
|
||||
struct snd_enc_generic {
|
||||
__u32 bw; /* encoder bandwidth */
|
||||
__s32 reserved[15];
|
||||
__s32 reserved[15]; /* Can be used for SND_AUDIOCODEC_BESPOKE */
|
||||
} __attribute__((packed, aligned(4)));
|
||||
|
||||
union snd_codec_options {
|
||||
|
||||
@@ -144,6 +144,56 @@ struct ioctl_gntdev_unmap_notify {
|
||||
__u32 event_channel_port;
|
||||
};
|
||||
|
||||
struct gntdev_grant_copy_segment {
|
||||
union {
|
||||
void __user *virt;
|
||||
struct {
|
||||
grant_ref_t ref;
|
||||
__u16 offset;
|
||||
domid_t domid;
|
||||
} foreign;
|
||||
} source, dest;
|
||||
__u16 len;
|
||||
|
||||
__u16 flags; /* GNTCOPY_* */
|
||||
__s16 status; /* GNTST_* */
|
||||
};
|
||||
|
||||
/*
|
||||
* Copy between grant references and local buffers.
|
||||
*
|
||||
* The copy is split into @count @segments, each of which can copy
|
||||
* to/from one grant reference.
|
||||
*
|
||||
* Each segment is similar to struct gnttab_copy in the hypervisor ABI
|
||||
* except the local buffer is specified using a virtual address
|
||||
* (instead of a GFN and offset).
|
||||
*
|
||||
* The local buffer may cross a Xen page boundary -- the driver will
|
||||
* split segments into multiple ops if required.
|
||||
*
|
||||
* Returns 0 if all segments have been processed and @status in each
|
||||
* segment is valid. Note that one or more segments may have failed
|
||||
* (status != GNTST_okay).
|
||||
*
|
||||
* If the driver had to split a segment into two or more ops, @status
|
||||
* includes the status of the first failed op for that segment (or
|
||||
* GNTST_okay if all ops were successful).
|
||||
*
|
||||
* If -1 is returned, the status of all segments is undefined.
|
||||
*
|
||||
* EINVAL: A segment has local buffers for both source and
|
||||
* destination.
|
||||
* EINVAL: A segment crosses the boundary of a foreign page.
|
||||
* EFAULT: A segment's local buffer is not accessible.
|
||||
*/
|
||||
#define IOCTL_GNTDEV_GRANT_COPY \
|
||||
_IOC(_IOC_NONE, 'G', 8, sizeof(struct ioctl_gntdev_grant_copy))
|
||||
struct ioctl_gntdev_grant_copy {
|
||||
unsigned int count;
|
||||
struct gntdev_grant_copy_segment __user *segments;
|
||||
};
|
||||
|
||||
/* Clear (set to zero) the byte specified by index */
|
||||
#define UNMAP_NOTIFY_CLEAR_BYTE 0x1
|
||||
/* Send an interrupt on the indicated event channel */
|
||||
|
||||
Reference in New Issue
Block a user