Linux 3.9-rc3
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iQEcBAABAgAGBQJRRkrbAAoJEHm+PkMAQRiGy3oH/jrbHinYs0auurANgx4TdtWT /WNajstKBqLOJJ6cnTR7sOqwOVlptt65EbbTs+qGyZ2Z2W/Lg0BMenHvNHo4ER8C e7UbMdBCSLKBjAMKh1XCoZscGv4Exm8WRH3Vc5yP0Hafj3EzSAVLY1dta9WKKoQi bh7D1ErUlbU1zczA1w5YbPF0LqFKRvyZOwebMCCAKAxv5wWAxmbcPNxVR4sufkjg k6TkQ2ysgWivZAfy3tJYOcxiEu7ahpZVEuYdlZEJQXHRQUfoNljQlOp4BqKsYUai 5A0kaf2VpKay/7pkhvTfBBcF/jFJ68pYP6gQ2ThNdr0b5kOiAfMWj030Xyngnhg= =iO9t -----END PGP SIGNATURE----- Merge tag 'v3.9-rc3' into next Merge with mainline to bring in module_platform_driver_probe() and devm_ioremap_resource().
This commit is contained in:
commit
688d794c4c
17348 changed files with 1083156 additions and 593704 deletions
|
|
@ -68,6 +68,7 @@ header-y += blkpg.h
|
|||
header-y += blktrace_api.h
|
||||
header-y += bpqether.h
|
||||
header-y += bsg.h
|
||||
header-y += btrfs.h
|
||||
header-y += can.h
|
||||
header-y += capability.h
|
||||
header-y += capi.h
|
||||
|
|
@ -258,6 +259,7 @@ header-y += neighbour.h
|
|||
header-y += net.h
|
||||
header-y += net_dropmon.h
|
||||
header-y += net_tstamp.h
|
||||
header-y += netconf.h
|
||||
header-y += netdevice.h
|
||||
header-y += netfilter.h
|
||||
header-y += netfilter_arp.h
|
||||
|
|
@ -415,3 +417,4 @@ header-y += wireless.h
|
|||
header-y += x25.h
|
||||
header-y += xattr.h
|
||||
header-y += xfrm.h
|
||||
header-y += hw_breakpoint.h
|
||||
|
|
|
|||
|
|
@ -107,10 +107,12 @@ struct acct_v3
|
|||
#define ACORE 0x08 /* ... dumped core */
|
||||
#define AXSIG 0x10 /* ... was killed by a signal */
|
||||
|
||||
#ifdef __BIG_ENDIAN
|
||||
#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
|
||||
#define ACCT_BYTEORDER 0x80 /* accounting file is big endian */
|
||||
#else
|
||||
#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
|
||||
#define ACCT_BYTEORDER 0x00 /* accounting file is little endian */
|
||||
#else
|
||||
#error unspecified endianness
|
||||
#endif
|
||||
|
||||
#ifndef __KERNEL__
|
||||
|
|
|
|||
|
|
@ -62,9 +62,9 @@ struct io_event {
|
|||
__s64 res2; /* secondary result */
|
||||
};
|
||||
|
||||
#if defined(__LITTLE_ENDIAN)
|
||||
#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
|
||||
#define PADDED(x,y) x, y
|
||||
#elif defined(__BIG_ENDIAN)
|
||||
#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
|
||||
#define PADDED(x,y) y, x
|
||||
#else
|
||||
#error edit for your odd byteorder.
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@
|
|||
|
||||
#include <linux/types.h>
|
||||
#include <linux/elf-em.h>
|
||||
#include <linux/ptrace.h>
|
||||
|
||||
/* The netlink messages for the audit system is divided into blocks:
|
||||
* 1000 - 1099 are for commanding the audit system
|
||||
|
|
@ -106,6 +105,7 @@
|
|||
#define AUDIT_MMAP 1323 /* Record showing descriptor and flags in mmap */
|
||||
#define AUDIT_NETFILTER_PKT 1324 /* Packets traversing netfilter chains */
|
||||
#define AUDIT_NETFILTER_CFG 1325 /* Netfilter chain modifications */
|
||||
#define AUDIT_SECCOMP 1326 /* Secure Computing event */
|
||||
|
||||
#define AUDIT_AVC 1400 /* SE Linux avc denial or grant */
|
||||
#define AUDIT_SELINUX_ERR 1401 /* Internal SE Linux Errors */
|
||||
|
|
|
|||
|
|
@ -28,25 +28,16 @@
|
|||
#define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION
|
||||
|
||||
/*
|
||||
* Architectures where both 32- and 64-bit binaries can be executed
|
||||
* on 64-bit kernels need this. This keeps the structure format
|
||||
* uniform, and makes sure the wait_queue_token isn't too big to be
|
||||
* passed back down to the kernel.
|
||||
*
|
||||
* This assumes that on these architectures:
|
||||
* mode 32 bit 64 bit
|
||||
* -------------------------
|
||||
* int 32 bit 32 bit
|
||||
* long 32 bit 64 bit
|
||||
*
|
||||
* If so, 32-bit user-space code should be backwards compatible.
|
||||
* The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
|
||||
* back to the kernel via ioctl from userspace. On architectures where 32- and
|
||||
* 64-bit userspace binaries can be executed it's important that the size of
|
||||
* autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we
|
||||
* do not break the binary ABI interface by changing the structure size.
|
||||
*/
|
||||
|
||||
#if defined(__sparc__) || defined(__mips__) || defined(__x86_64__) \
|
||||
|| defined(__powerpc__) || defined(__s390__)
|
||||
typedef unsigned int autofs_wqt_t;
|
||||
#else
|
||||
#if defined(__ia64__) || defined(__alpha__) /* pure 64bit architectures */
|
||||
typedef unsigned long autofs_wqt_t;
|
||||
#else
|
||||
typedef unsigned int autofs_wqt_t;
|
||||
#endif
|
||||
|
||||
/* Packet types */
|
||||
|
|
|
|||
514
include/uapi/linux/btrfs.h
Normal file
514
include/uapi/linux/btrfs.h
Normal file
|
|
@ -0,0 +1,514 @@
|
|||
/*
|
||||
* Copyright (C) 2007 Oracle. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
* License v2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 021110-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_BTRFS_H
|
||||
#define _UAPI_LINUX_BTRFS_H
|
||||
#include <linux/types.h>
|
||||
#include <linux/ioctl.h>
|
||||
|
||||
#define BTRFS_IOCTL_MAGIC 0x94
|
||||
#define BTRFS_VOL_NAME_MAX 255
|
||||
|
||||
/* this should be 4k */
|
||||
#define BTRFS_PATH_NAME_MAX 4087
|
||||
struct btrfs_ioctl_vol_args {
|
||||
__s64 fd;
|
||||
char name[BTRFS_PATH_NAME_MAX + 1];
|
||||
};
|
||||
|
||||
#define BTRFS_DEVICE_PATH_NAME_MAX 1024
|
||||
|
||||
#define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)
|
||||
#define BTRFS_SUBVOL_RDONLY (1ULL << 1)
|
||||
#define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)
|
||||
#define BTRFS_FSID_SIZE 16
|
||||
#define BTRFS_UUID_SIZE 16
|
||||
|
||||
#define BTRFS_QGROUP_INHERIT_SET_LIMITS (1ULL << 0)
|
||||
|
||||
struct btrfs_qgroup_limit {
|
||||
__u64 flags;
|
||||
__u64 max_rfer;
|
||||
__u64 max_excl;
|
||||
__u64 rsv_rfer;
|
||||
__u64 rsv_excl;
|
||||
};
|
||||
|
||||
struct btrfs_qgroup_inherit {
|
||||
__u64 flags;
|
||||
__u64 num_qgroups;
|
||||
__u64 num_ref_copies;
|
||||
__u64 num_excl_copies;
|
||||
struct btrfs_qgroup_limit lim;
|
||||
__u64 qgroups[0];
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_qgroup_limit_args {
|
||||
__u64 qgroupid;
|
||||
struct btrfs_qgroup_limit lim;
|
||||
};
|
||||
|
||||
#define BTRFS_SUBVOL_NAME_MAX 4039
|
||||
struct btrfs_ioctl_vol_args_v2 {
|
||||
__s64 fd;
|
||||
__u64 transid;
|
||||
__u64 flags;
|
||||
union {
|
||||
struct {
|
||||
__u64 size;
|
||||
struct btrfs_qgroup_inherit __user *qgroup_inherit;
|
||||
};
|
||||
__u64 unused[4];
|
||||
};
|
||||
char name[BTRFS_SUBVOL_NAME_MAX + 1];
|
||||
};
|
||||
|
||||
/*
|
||||
* structure to report errors and progress to userspace, either as a
|
||||
* result of a finished scrub, a canceled scrub or a progress inquiry
|
||||
*/
|
||||
struct btrfs_scrub_progress {
|
||||
__u64 data_extents_scrubbed; /* # of data extents scrubbed */
|
||||
__u64 tree_extents_scrubbed; /* # of tree extents scrubbed */
|
||||
__u64 data_bytes_scrubbed; /* # of data bytes scrubbed */
|
||||
__u64 tree_bytes_scrubbed; /* # of tree bytes scrubbed */
|
||||
__u64 read_errors; /* # of read errors encountered (EIO) */
|
||||
__u64 csum_errors; /* # of failed csum checks */
|
||||
__u64 verify_errors; /* # of occurences, where the metadata
|
||||
* of a tree block did not match the
|
||||
* expected values, like generation or
|
||||
* logical */
|
||||
__u64 no_csum; /* # of 4k data block for which no csum
|
||||
* is present, probably the result of
|
||||
* data written with nodatasum */
|
||||
__u64 csum_discards; /* # of csum for which no data was found
|
||||
* in the extent tree. */
|
||||
__u64 super_errors; /* # of bad super blocks encountered */
|
||||
__u64 malloc_errors; /* # of internal kmalloc errors. These
|
||||
* will likely cause an incomplete
|
||||
* scrub */
|
||||
__u64 uncorrectable_errors; /* # of errors where either no intact
|
||||
* copy was found or the writeback
|
||||
* failed */
|
||||
__u64 corrected_errors; /* # of errors corrected */
|
||||
__u64 last_physical; /* last physical address scrubbed. In
|
||||
* case a scrub was aborted, this can
|
||||
* be used to restart the scrub */
|
||||
__u64 unverified_errors; /* # of occurences where a read for a
|
||||
* full (64k) bio failed, but the re-
|
||||
* check succeeded for each 4k piece.
|
||||
* Intermittent error. */
|
||||
};
|
||||
|
||||
#define BTRFS_SCRUB_READONLY 1
|
||||
struct btrfs_ioctl_scrub_args {
|
||||
__u64 devid; /* in */
|
||||
__u64 start; /* in */
|
||||
__u64 end; /* in */
|
||||
__u64 flags; /* in */
|
||||
struct btrfs_scrub_progress progress; /* out */
|
||||
/* pad to 1k */
|
||||
__u64 unused[(1024-32-sizeof(struct btrfs_scrub_progress))/8];
|
||||
};
|
||||
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID 1
|
||||
struct btrfs_ioctl_dev_replace_start_params {
|
||||
__u64 srcdevid; /* in, if 0, use srcdev_name instead */
|
||||
__u64 cont_reading_from_srcdev_mode; /* in, see #define
|
||||
* above */
|
||||
__u8 srcdev_name[BTRFS_DEVICE_PATH_NAME_MAX + 1]; /* in */
|
||||
__u8 tgtdev_name[BTRFS_DEVICE_PATH_NAME_MAX + 1]; /* in */
|
||||
};
|
||||
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED 0
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED 1
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED 2
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED 3
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED 4
|
||||
struct btrfs_ioctl_dev_replace_status_params {
|
||||
__u64 replace_state; /* out, see #define above */
|
||||
__u64 progress_1000; /* out, 0 <= x <= 1000 */
|
||||
__u64 time_started; /* out, seconds since 1-Jan-1970 */
|
||||
__u64 time_stopped; /* out, seconds since 1-Jan-1970 */
|
||||
__u64 num_write_errors; /* out */
|
||||
__u64 num_uncorrectable_read_errors; /* out */
|
||||
};
|
||||
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_CMD_START 0
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS 1
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL 2
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR 0
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED 1
|
||||
#define BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED 2
|
||||
struct btrfs_ioctl_dev_replace_args {
|
||||
__u64 cmd; /* in */
|
||||
__u64 result; /* out */
|
||||
|
||||
union {
|
||||
struct btrfs_ioctl_dev_replace_start_params start;
|
||||
struct btrfs_ioctl_dev_replace_status_params status;
|
||||
}; /* in/out */
|
||||
|
||||
__u64 spare[64];
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_dev_info_args {
|
||||
__u64 devid; /* in/out */
|
||||
__u8 uuid[BTRFS_UUID_SIZE]; /* in/out */
|
||||
__u64 bytes_used; /* out */
|
||||
__u64 total_bytes; /* out */
|
||||
__u64 unused[379]; /* pad to 4k */
|
||||
__u8 path[BTRFS_DEVICE_PATH_NAME_MAX]; /* out */
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_fs_info_args {
|
||||
__u64 max_id; /* out */
|
||||
__u64 num_devices; /* out */
|
||||
__u8 fsid[BTRFS_FSID_SIZE]; /* out */
|
||||
__u64 reserved[124]; /* pad to 1k */
|
||||
};
|
||||
|
||||
/* balance control ioctl modes */
|
||||
#define BTRFS_BALANCE_CTL_PAUSE 1
|
||||
#define BTRFS_BALANCE_CTL_CANCEL 2
|
||||
|
||||
/*
|
||||
* this is packed, because it should be exactly the same as its disk
|
||||
* byte order counterpart (struct btrfs_disk_balance_args)
|
||||
*/
|
||||
struct btrfs_balance_args {
|
||||
__u64 profiles;
|
||||
__u64 usage;
|
||||
__u64 devid;
|
||||
__u64 pstart;
|
||||
__u64 pend;
|
||||
__u64 vstart;
|
||||
__u64 vend;
|
||||
|
||||
__u64 target;
|
||||
|
||||
__u64 flags;
|
||||
|
||||
__u64 unused[8];
|
||||
} __attribute__ ((__packed__));
|
||||
|
||||
/* report balance progress to userspace */
|
||||
struct btrfs_balance_progress {
|
||||
__u64 expected; /* estimated # of chunks that will be
|
||||
* relocated to fulfill the request */
|
||||
__u64 considered; /* # of chunks we have considered so far */
|
||||
__u64 completed; /* # of chunks relocated so far */
|
||||
};
|
||||
|
||||
#define BTRFS_BALANCE_STATE_RUNNING (1ULL << 0)
|
||||
#define BTRFS_BALANCE_STATE_PAUSE_REQ (1ULL << 1)
|
||||
#define BTRFS_BALANCE_STATE_CANCEL_REQ (1ULL << 2)
|
||||
|
||||
struct btrfs_ioctl_balance_args {
|
||||
__u64 flags; /* in/out */
|
||||
__u64 state; /* out */
|
||||
|
||||
struct btrfs_balance_args data; /* in/out */
|
||||
struct btrfs_balance_args meta; /* in/out */
|
||||
struct btrfs_balance_args sys; /* in/out */
|
||||
|
||||
struct btrfs_balance_progress stat; /* out */
|
||||
|
||||
__u64 unused[72]; /* pad to 1k */
|
||||
};
|
||||
|
||||
#define BTRFS_INO_LOOKUP_PATH_MAX 4080
|
||||
struct btrfs_ioctl_ino_lookup_args {
|
||||
__u64 treeid;
|
||||
__u64 objectid;
|
||||
char name[BTRFS_INO_LOOKUP_PATH_MAX];
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_search_key {
|
||||
/* which root are we searching. 0 is the tree of tree roots */
|
||||
__u64 tree_id;
|
||||
|
||||
/* keys returned will be >= min and <= max */
|
||||
__u64 min_objectid;
|
||||
__u64 max_objectid;
|
||||
|
||||
/* keys returned will be >= min and <= max */
|
||||
__u64 min_offset;
|
||||
__u64 max_offset;
|
||||
|
||||
/* max and min transids to search for */
|
||||
__u64 min_transid;
|
||||
__u64 max_transid;
|
||||
|
||||
/* keys returned will be >= min and <= max */
|
||||
__u32 min_type;
|
||||
__u32 max_type;
|
||||
|
||||
/*
|
||||
* how many items did userland ask for, and how many are we
|
||||
* returning
|
||||
*/
|
||||
__u32 nr_items;
|
||||
|
||||
/* align to 64 bits */
|
||||
__u32 unused;
|
||||
|
||||
/* some extra for later */
|
||||
__u64 unused1;
|
||||
__u64 unused2;
|
||||
__u64 unused3;
|
||||
__u64 unused4;
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_search_header {
|
||||
__u64 transid;
|
||||
__u64 objectid;
|
||||
__u64 offset;
|
||||
__u32 type;
|
||||
__u32 len;
|
||||
};
|
||||
|
||||
#define BTRFS_SEARCH_ARGS_BUFSIZE (4096 - sizeof(struct btrfs_ioctl_search_key))
|
||||
/*
|
||||
* the buf is an array of search headers where
|
||||
* each header is followed by the actual item
|
||||
* the type field is expanded to 32 bits for alignment
|
||||
*/
|
||||
struct btrfs_ioctl_search_args {
|
||||
struct btrfs_ioctl_search_key key;
|
||||
char buf[BTRFS_SEARCH_ARGS_BUFSIZE];
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_clone_range_args {
|
||||
__s64 src_fd;
|
||||
__u64 src_offset, src_length;
|
||||
__u64 dest_offset;
|
||||
};
|
||||
|
||||
/* flags for the defrag range ioctl */
|
||||
#define BTRFS_DEFRAG_RANGE_COMPRESS 1
|
||||
#define BTRFS_DEFRAG_RANGE_START_IO 2
|
||||
|
||||
struct btrfs_ioctl_space_info {
|
||||
__u64 flags;
|
||||
__u64 total_bytes;
|
||||
__u64 used_bytes;
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_space_args {
|
||||
__u64 space_slots;
|
||||
__u64 total_spaces;
|
||||
struct btrfs_ioctl_space_info spaces[0];
|
||||
};
|
||||
|
||||
struct btrfs_data_container {
|
||||
__u32 bytes_left; /* out -- bytes not needed to deliver output */
|
||||
__u32 bytes_missing; /* out -- additional bytes needed for result */
|
||||
__u32 elem_cnt; /* out */
|
||||
__u32 elem_missed; /* out */
|
||||
__u64 val[0]; /* out */
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_ino_path_args {
|
||||
__u64 inum; /* in */
|
||||
__u64 size; /* in */
|
||||
__u64 reserved[4];
|
||||
/* struct btrfs_data_container *fspath; out */
|
||||
__u64 fspath; /* out */
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_logical_ino_args {
|
||||
__u64 logical; /* in */
|
||||
__u64 size; /* in */
|
||||
__u64 reserved[4];
|
||||
/* struct btrfs_data_container *inodes; out */
|
||||
__u64 inodes;
|
||||
};
|
||||
|
||||
enum btrfs_dev_stat_values {
|
||||
/* disk I/O failure stats */
|
||||
BTRFS_DEV_STAT_WRITE_ERRS, /* EIO or EREMOTEIO from lower layers */
|
||||
BTRFS_DEV_STAT_READ_ERRS, /* EIO or EREMOTEIO from lower layers */
|
||||
BTRFS_DEV_STAT_FLUSH_ERRS, /* EIO or EREMOTEIO from lower layers */
|
||||
|
||||
/* stats for indirect indications for I/O failures */
|
||||
BTRFS_DEV_STAT_CORRUPTION_ERRS, /* checksum error, bytenr error or
|
||||
* contents is illegal: this is an
|
||||
* indication that the block was damaged
|
||||
* during read or write, or written to
|
||||
* wrong location or read from wrong
|
||||
* location */
|
||||
BTRFS_DEV_STAT_GENERATION_ERRS, /* an indication that blocks have not
|
||||
* been written */
|
||||
|
||||
BTRFS_DEV_STAT_VALUES_MAX
|
||||
};
|
||||
|
||||
/* Reset statistics after reading; needs SYS_ADMIN capability */
|
||||
#define BTRFS_DEV_STATS_RESET (1ULL << 0)
|
||||
|
||||
struct btrfs_ioctl_get_dev_stats {
|
||||
__u64 devid; /* in */
|
||||
__u64 nr_items; /* in/out */
|
||||
__u64 flags; /* in/out */
|
||||
|
||||
/* out values: */
|
||||
__u64 values[BTRFS_DEV_STAT_VALUES_MAX];
|
||||
|
||||
__u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX]; /* pad to 1k */
|
||||
};
|
||||
|
||||
#define BTRFS_QUOTA_CTL_ENABLE 1
|
||||
#define BTRFS_QUOTA_CTL_DISABLE 2
|
||||
#define BTRFS_QUOTA_CTL_RESCAN 3
|
||||
struct btrfs_ioctl_quota_ctl_args {
|
||||
__u64 cmd;
|
||||
__u64 status;
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_qgroup_assign_args {
|
||||
__u64 assign;
|
||||
__u64 src;
|
||||
__u64 dst;
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_qgroup_create_args {
|
||||
__u64 create;
|
||||
__u64 qgroupid;
|
||||
};
|
||||
struct btrfs_ioctl_timespec {
|
||||
__u64 sec;
|
||||
__u32 nsec;
|
||||
};
|
||||
|
||||
struct btrfs_ioctl_received_subvol_args {
|
||||
char uuid[BTRFS_UUID_SIZE]; /* in */
|
||||
__u64 stransid; /* in */
|
||||
__u64 rtransid; /* out */
|
||||
struct btrfs_ioctl_timespec stime; /* in */
|
||||
struct btrfs_ioctl_timespec rtime; /* out */
|
||||
__u64 flags; /* in */
|
||||
__u64 reserved[16]; /* in */
|
||||
};
|
||||
|
||||
/*
|
||||
* Caller doesn't want file data in the send stream, even if the
|
||||
* search of clone sources doesn't find an extent. UPDATE_EXTENT
|
||||
* commands will be sent instead of WRITE commands.
|
||||
*/
|
||||
#define BTRFS_SEND_FLAG_NO_FILE_DATA 0x1
|
||||
|
||||
struct btrfs_ioctl_send_args {
|
||||
__s64 send_fd; /* in */
|
||||
__u64 clone_sources_count; /* in */
|
||||
__u64 __user *clone_sources; /* in */
|
||||
__u64 parent_root; /* in */
|
||||
__u64 flags; /* in */
|
||||
__u64 reserved[4]; /* in */
|
||||
};
|
||||
|
||||
#define BTRFS_IOC_SNAP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 1, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_DEFRAG _IOW(BTRFS_IOCTL_MAGIC, 2, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_RESIZE _IOW(BTRFS_IOCTL_MAGIC, 3, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_SCAN_DEV _IOW(BTRFS_IOCTL_MAGIC, 4, \
|
||||
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
|
||||
*/
|
||||
#define BTRFS_IOC_TRANS_START _IO(BTRFS_IOCTL_MAGIC, 6)
|
||||
#define BTRFS_IOC_TRANS_END _IO(BTRFS_IOCTL_MAGIC, 7)
|
||||
#define BTRFS_IOC_SYNC _IO(BTRFS_IOCTL_MAGIC, 8)
|
||||
|
||||
#define BTRFS_IOC_CLONE _IOW(BTRFS_IOCTL_MAGIC, 9, int)
|
||||
#define BTRFS_IOC_ADD_DEV _IOW(BTRFS_IOCTL_MAGIC, 10, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_RM_DEV _IOW(BTRFS_IOCTL_MAGIC, 11, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_BALANCE _IOW(BTRFS_IOCTL_MAGIC, 12, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
|
||||
#define BTRFS_IOC_CLONE_RANGE _IOW(BTRFS_IOCTL_MAGIC, 13, \
|
||||
struct btrfs_ioctl_clone_range_args)
|
||||
|
||||
#define BTRFS_IOC_SUBVOL_CREATE _IOW(BTRFS_IOCTL_MAGIC, 14, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_SNAP_DESTROY _IOW(BTRFS_IOCTL_MAGIC, 15, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_DEFRAG_RANGE _IOW(BTRFS_IOCTL_MAGIC, 16, \
|
||||
struct btrfs_ioctl_defrag_range_args)
|
||||
#define BTRFS_IOC_TREE_SEARCH _IOWR(BTRFS_IOCTL_MAGIC, 17, \
|
||||
struct btrfs_ioctl_search_args)
|
||||
#define BTRFS_IOC_INO_LOOKUP _IOWR(BTRFS_IOCTL_MAGIC, 18, \
|
||||
struct btrfs_ioctl_ino_lookup_args)
|
||||
#define BTRFS_IOC_DEFAULT_SUBVOL _IOW(BTRFS_IOCTL_MAGIC, 19, u64)
|
||||
#define BTRFS_IOC_SPACE_INFO _IOWR(BTRFS_IOCTL_MAGIC, 20, \
|
||||
struct btrfs_ioctl_space_args)
|
||||
#define BTRFS_IOC_START_SYNC _IOR(BTRFS_IOCTL_MAGIC, 24, __u64)
|
||||
#define BTRFS_IOC_WAIT_SYNC _IOW(BTRFS_IOCTL_MAGIC, 22, __u64)
|
||||
#define BTRFS_IOC_SNAP_CREATE_V2 _IOW(BTRFS_IOCTL_MAGIC, 23, \
|
||||
struct btrfs_ioctl_vol_args_v2)
|
||||
#define BTRFS_IOC_SUBVOL_CREATE_V2 _IOW(BTRFS_IOCTL_MAGIC, 24, \
|
||||
struct btrfs_ioctl_vol_args_v2)
|
||||
#define BTRFS_IOC_SUBVOL_GETFLAGS _IOR(BTRFS_IOCTL_MAGIC, 25, __u64)
|
||||
#define BTRFS_IOC_SUBVOL_SETFLAGS _IOW(BTRFS_IOCTL_MAGIC, 26, __u64)
|
||||
#define BTRFS_IOC_SCRUB _IOWR(BTRFS_IOCTL_MAGIC, 27, \
|
||||
struct btrfs_ioctl_scrub_args)
|
||||
#define BTRFS_IOC_SCRUB_CANCEL _IO(BTRFS_IOCTL_MAGIC, 28)
|
||||
#define BTRFS_IOC_SCRUB_PROGRESS _IOWR(BTRFS_IOCTL_MAGIC, 29, \
|
||||
struct btrfs_ioctl_scrub_args)
|
||||
#define BTRFS_IOC_DEV_INFO _IOWR(BTRFS_IOCTL_MAGIC, 30, \
|
||||
struct btrfs_ioctl_dev_info_args)
|
||||
#define BTRFS_IOC_FS_INFO _IOR(BTRFS_IOCTL_MAGIC, 31, \
|
||||
struct btrfs_ioctl_fs_info_args)
|
||||
#define BTRFS_IOC_BALANCE_V2 _IOWR(BTRFS_IOCTL_MAGIC, 32, \
|
||||
struct btrfs_ioctl_balance_args)
|
||||
#define BTRFS_IOC_BALANCE_CTL _IOW(BTRFS_IOCTL_MAGIC, 33, int)
|
||||
#define BTRFS_IOC_BALANCE_PROGRESS _IOR(BTRFS_IOCTL_MAGIC, 34, \
|
||||
struct btrfs_ioctl_balance_args)
|
||||
#define BTRFS_IOC_INO_PATHS _IOWR(BTRFS_IOCTL_MAGIC, 35, \
|
||||
struct btrfs_ioctl_ino_path_args)
|
||||
#define BTRFS_IOC_LOGICAL_INO _IOWR(BTRFS_IOCTL_MAGIC, 36, \
|
||||
struct btrfs_ioctl_ino_path_args)
|
||||
#define BTRFS_IOC_SET_RECEIVED_SUBVOL _IOWR(BTRFS_IOCTL_MAGIC, 37, \
|
||||
struct btrfs_ioctl_received_subvol_args)
|
||||
#define BTRFS_IOC_SEND _IOW(BTRFS_IOCTL_MAGIC, 38, struct btrfs_ioctl_send_args)
|
||||
#define BTRFS_IOC_DEVICES_READY _IOR(BTRFS_IOCTL_MAGIC, 39, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_QUOTA_CTL _IOWR(BTRFS_IOCTL_MAGIC, 40, \
|
||||
struct btrfs_ioctl_quota_ctl_args)
|
||||
#define BTRFS_IOC_QGROUP_ASSIGN _IOW(BTRFS_IOCTL_MAGIC, 41, \
|
||||
struct btrfs_ioctl_qgroup_assign_args)
|
||||
#define BTRFS_IOC_QGROUP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 42, \
|
||||
struct btrfs_ioctl_qgroup_create_args)
|
||||
#define BTRFS_IOC_QGROUP_LIMIT _IOR(BTRFS_IOCTL_MAGIC, 43, \
|
||||
struct btrfs_ioctl_qgroup_limit_args)
|
||||
#define BTRFS_IOC_GET_FSLABEL _IOR(BTRFS_IOCTL_MAGIC, 49, \
|
||||
char[BTRFS_LABEL_SIZE])
|
||||
#define BTRFS_IOC_SET_FSLABEL _IOW(BTRFS_IOCTL_MAGIC, 50, \
|
||||
char[BTRFS_LABEL_SIZE])
|
||||
#define BTRFS_IOC_GET_DEV_STATS _IOWR(BTRFS_IOCTL_MAGIC, 52, \
|
||||
struct btrfs_ioctl_get_dev_stats)
|
||||
#define BTRFS_IOC_DEV_REPLACE _IOWR(BTRFS_IOCTL_MAGIC, 53, \
|
||||
struct btrfs_ioctl_dev_replace_args)
|
||||
|
||||
#endif /* _UAPI_LINUX_BTRFS_H */
|
||||
|
|
@ -44,6 +44,7 @@ enum {
|
|||
CGW_SRC_IF, /* ifindex of source network interface */
|
||||
CGW_DST_IF, /* ifindex of destination network interface */
|
||||
CGW_FILTER, /* specify struct can_filter on source CAN device */
|
||||
CGW_DELETED, /* number of deleted CAN frames (see max_hops param) */
|
||||
__CGW_MAX
|
||||
};
|
||||
|
||||
|
|
@ -51,6 +52,7 @@ enum {
|
|||
|
||||
#define CGW_FLAGS_CAN_ECHO 0x01
|
||||
#define CGW_FLAGS_CAN_SRC_TSTAMP 0x02
|
||||
#define CGW_FLAGS_CAN_IIF_TX_OK 0x04
|
||||
|
||||
#define CGW_MOD_FUNCS 4 /* AND OR XOR SET */
|
||||
|
||||
|
|
|
|||
|
|
@ -908,5 +908,39 @@ struct mode_page_header {
|
|||
__be16 desc_length;
|
||||
};
|
||||
|
||||
/* removable medium feature descriptor */
|
||||
struct rm_feature_desc {
|
||||
__be16 feature_code;
|
||||
#if defined(__BIG_ENDIAN_BITFIELD)
|
||||
__u8 reserved1:2;
|
||||
__u8 feature_version:4;
|
||||
__u8 persistent:1;
|
||||
__u8 curr:1;
|
||||
#elif defined(__LITTLE_ENDIAN_BITFIELD)
|
||||
__u8 curr:1;
|
||||
__u8 persistent:1;
|
||||
__u8 feature_version:4;
|
||||
__u8 reserved1:2;
|
||||
#endif
|
||||
__u8 add_len;
|
||||
#if defined(__BIG_ENDIAN_BITFIELD)
|
||||
__u8 mech_type:3;
|
||||
__u8 load:1;
|
||||
__u8 eject:1;
|
||||
__u8 pvnt_jmpr:1;
|
||||
__u8 dbml:1;
|
||||
__u8 lock:1;
|
||||
#elif defined(__LITTLE_ENDIAN_BITFIELD)
|
||||
__u8 lock:1;
|
||||
__u8 dbml:1;
|
||||
__u8 pvnt_jmpr:1;
|
||||
__u8 eject:1;
|
||||
__u8 load:1;
|
||||
__u8 mech_type:3;
|
||||
#endif
|
||||
__u8 reserved2;
|
||||
__u8 reserved3;
|
||||
__u8 reserved4;
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_CDROM_H */
|
||||
|
|
|
|||
|
|
@ -267,9 +267,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 23
|
||||
#define DM_VERSION_MINOR 24
|
||||
#define DM_VERSION_PATCHLEVEL 0
|
||||
#define DM_VERSION_EXTRA "-ioctl (2012-07-25)"
|
||||
#define DM_VERSION_EXTRA "-ioctl (2013-01-15)"
|
||||
|
||||
/* Status bits */
|
||||
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
||||
|
|
@ -336,4 +336,9 @@ enum {
|
|||
*/
|
||||
#define DM_SECURE_DATA_FLAG (1 << 15) /* In */
|
||||
|
||||
/*
|
||||
* If set, a message generated output data.
|
||||
*/
|
||||
#define DM_DATA_OUT_FLAG (1 << 16) /* Out */
|
||||
|
||||
#endif /* _LINUX_DM_IOCTL_H */
|
||||
|
|
|
|||
|
|
@ -365,7 +365,17 @@ struct dvb_frontend_event {
|
|||
#define DTV_INTERLEAVING 60
|
||||
#define DTV_LNA 61
|
||||
|
||||
#define DTV_MAX_COMMAND DTV_LNA
|
||||
/* Quality parameters */
|
||||
#define DTV_STAT_SIGNAL_STRENGTH 62
|
||||
#define DTV_STAT_CNR 63
|
||||
#define DTV_STAT_PRE_ERROR_BIT_COUNT 64
|
||||
#define DTV_STAT_PRE_TOTAL_BIT_COUNT 65
|
||||
#define DTV_STAT_POST_ERROR_BIT_COUNT 66
|
||||
#define DTV_STAT_POST_TOTAL_BIT_COUNT 67
|
||||
#define DTV_STAT_ERROR_BLOCK_COUNT 68
|
||||
#define DTV_STAT_TOTAL_BLOCK_COUNT 69
|
||||
|
||||
#define DTV_MAX_COMMAND DTV_STAT_TOTAL_BLOCK_COUNT
|
||||
|
||||
typedef enum fe_pilot {
|
||||
PILOT_ON,
|
||||
|
|
@ -452,11 +462,78 @@ struct dtv_cmds_h {
|
|||
__u32 reserved:30; /* Align */
|
||||
};
|
||||
|
||||
/**
|
||||
* Scale types for the quality parameters.
|
||||
* @FE_SCALE_NOT_AVAILABLE: That QoS measure is not available. That
|
||||
* could indicate a temporary or a permanent
|
||||
* condition.
|
||||
* @FE_SCALE_DECIBEL: The scale is measured in 0.0001 dB steps, typically
|
||||
* used on signal measures.
|
||||
* @FE_SCALE_RELATIVE: The scale is a relative percentual measure,
|
||||
* ranging from 0 (0%) to 0xffff (100%).
|
||||
* @FE_SCALE_COUNTER: The scale counts the occurrence of an event, like
|
||||
* bit error, block error, lapsed time.
|
||||
*/
|
||||
enum fecap_scale_params {
|
||||
FE_SCALE_NOT_AVAILABLE = 0,
|
||||
FE_SCALE_DECIBEL,
|
||||
FE_SCALE_RELATIVE,
|
||||
FE_SCALE_COUNTER
|
||||
};
|
||||
|
||||
/**
|
||||
* struct dtv_stats - Used for reading a DTV status property
|
||||
*
|
||||
* @value: value of the measure. Should range from 0 to 0xffff;
|
||||
* @scale: Filled with enum fecap_scale_params - the scale
|
||||
* in usage for that parameter
|
||||
*
|
||||
* For most delivery systems, this will return a single value for each
|
||||
* parameter.
|
||||
* It should be noticed, however, that new OFDM delivery systems like
|
||||
* ISDB can use different modulation types for each group of carriers.
|
||||
* On such standards, up to 8 groups of statistics can be provided, one
|
||||
* for each carrier group (called "layer" on ISDB).
|
||||
* In order to be consistent with other delivery systems, the first
|
||||
* value refers to the entire set of carriers ("global").
|
||||
* dtv_status:scale should use the value FE_SCALE_NOT_AVAILABLE when
|
||||
* the value for the entire group of carriers or from one specific layer
|
||||
* is not provided by the hardware.
|
||||
* st.len should be filled with the latest filled status + 1.
|
||||
*
|
||||
* In other words, for ISDB, those values should be filled like:
|
||||
* u.st.stat.svalue[0] = global statistics;
|
||||
* u.st.stat.scale[0] = FE_SCALE_DECIBELS;
|
||||
* u.st.stat.value[1] = layer A statistics;
|
||||
* u.st.stat.scale[1] = FE_SCALE_NOT_AVAILABLE (if not available);
|
||||
* u.st.stat.svalue[2] = layer B statistics;
|
||||
* u.st.stat.scale[2] = FE_SCALE_DECIBELS;
|
||||
* u.st.stat.svalue[3] = layer C statistics;
|
||||
* u.st.stat.scale[3] = FE_SCALE_DECIBELS;
|
||||
* u.st.len = 4;
|
||||
*/
|
||||
struct dtv_stats {
|
||||
__u8 scale; /* enum fecap_scale_params type */
|
||||
union {
|
||||
__u64 uvalue; /* for counters and relative scales */
|
||||
__s64 svalue; /* for 0.0001 dB measures */
|
||||
};
|
||||
} __attribute__ ((packed));
|
||||
|
||||
|
||||
#define MAX_DTV_STATS 4
|
||||
|
||||
struct dtv_fe_stats {
|
||||
__u8 len;
|
||||
struct dtv_stats stat[MAX_DTV_STATS];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct dtv_property {
|
||||
__u32 cmd;
|
||||
__u32 reserved[3];
|
||||
union {
|
||||
__u32 data;
|
||||
struct dtv_fe_stats st;
|
||||
struct {
|
||||
__u8 data[32];
|
||||
__u32 len;
|
||||
|
|
|
|||
|
|
@ -24,6 +24,6 @@
|
|||
#define _DVBVERSION_H_
|
||||
|
||||
#define DVB_API_VERSION 5
|
||||
#define DVB_API_VERSION_MINOR 9
|
||||
#define DVB_API_VERSION_MINOR 10
|
||||
|
||||
#endif /*_DVBVERSION_H_*/
|
||||
|
|
|
|||
|
|
@ -49,14 +49,14 @@ typedef __s64 Elf64_Sxword;
|
|||
*
|
||||
* Specifications are available in:
|
||||
*
|
||||
* - Sun microsystems: Linker and Libraries.
|
||||
* Part No: 817-1984-17, September 2008.
|
||||
* URL: http://docs.sun.com/app/docs/doc/817-1984
|
||||
* - Oracle: Linker and Libraries.
|
||||
* Part No: 817–1984–19, August 2011.
|
||||
* http://docs.oracle.com/cd/E18752_01/pdf/817-1984.pdf
|
||||
*
|
||||
* - System V ABI AMD64 Architecture Processor Supplement
|
||||
* Draft Version 0.99.,
|
||||
* May 11, 2009.
|
||||
* URL: http://www.x86-64.org/
|
||||
* Draft Version 0.99.4,
|
||||
* January 13, 2010.
|
||||
* http://www.cs.washington.edu/education/courses/cse351/12wi/supp-docs/abi.pdf
|
||||
*/
|
||||
#define PN_XNUM 0xffff
|
||||
|
||||
|
|
@ -395,6 +395,8 @@ typedef struct elf64_shdr {
|
|||
#define NT_ARM_TLS 0x401 /* ARM TLS register */
|
||||
#define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */
|
||||
#define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */
|
||||
#define NT_METAG_CBUF 0x500 /* Metag catch buffer registers */
|
||||
#define NT_METAG_RPIPE 0x501 /* Metag read pipeline state */
|
||||
|
||||
|
||||
/* Note header in a PT_NOTE section */
|
||||
|
|
|
|||
|
|
@ -500,13 +500,26 @@ union ethtool_flow_union {
|
|||
struct ethtool_ah_espip4_spec esp_ip4_spec;
|
||||
struct ethtool_usrip4_spec usr_ip4_spec;
|
||||
struct ethhdr ether_spec;
|
||||
__u8 hdata[60];
|
||||
__u8 hdata[52];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct ethtool_flow_ext - additional RX flow fields
|
||||
* @h_dest: destination MAC address
|
||||
* @vlan_etype: VLAN EtherType
|
||||
* @vlan_tci: VLAN tag control information
|
||||
* @data: user defined data
|
||||
*
|
||||
* Note, @vlan_etype, @vlan_tci, and @data are only valid if %FLOW_EXT
|
||||
* is set in &struct ethtool_rx_flow_spec @flow_type.
|
||||
* @h_dest is valid if %FLOW_MAC_EXT is set.
|
||||
*/
|
||||
struct ethtool_flow_ext {
|
||||
__be16 vlan_etype;
|
||||
__be16 vlan_tci;
|
||||
__be32 data[2];
|
||||
__u8 padding[2];
|
||||
unsigned char h_dest[ETH_ALEN];
|
||||
__be16 vlan_etype;
|
||||
__be16 vlan_tci;
|
||||
__be32 data[2];
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -517,7 +530,8 @@ struct ethtool_flow_ext {
|
|||
* @m_u: Masks for flow field bits to be matched
|
||||
* @m_ext: Masks for additional field bits to be matched
|
||||
* Note, all additional fields must be ignored unless @flow_type
|
||||
* includes the %FLOW_EXT flag.
|
||||
* includes the %FLOW_EXT or %FLOW_MAC_EXT flag
|
||||
* (see &struct ethtool_flow_ext description).
|
||||
* @ring_cookie: RX ring/queue index to deliver to, or %RX_CLS_FLOW_DISC
|
||||
* if packets should be discarded
|
||||
* @location: Location of rule in the table. Locations must be
|
||||
|
|
@ -1027,6 +1041,7 @@ enum ethtool_sfeatures_retval_bits {
|
|||
#define ETHER_FLOW 0x12 /* spec only (ether_spec) */
|
||||
/* Flag to enable additional fields in struct ethtool_rx_flow_spec */
|
||||
#define FLOW_EXT 0x80000000
|
||||
#define FLOW_MAC_EXT 0x40000000
|
||||
|
||||
/* L3-L4 network traffic flow hash options */
|
||||
#define RXH_L2DA (1 << 1)
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
#define EPOLL_CTL_ADD 1
|
||||
#define EPOLL_CTL_DEL 2
|
||||
#define EPOLL_CTL_MOD 3
|
||||
#define EPOLL_CTL_DISABLE 4
|
||||
|
||||
/*
|
||||
* Request the handling of system wakeup events so as to prevent system suspends
|
||||
|
|
|
|||
|
|
@ -127,7 +127,9 @@ struct sock_fprog { /* Required for SO_ATTACH_FILTER. */
|
|||
#define SKF_AD_RXHASH 32
|
||||
#define SKF_AD_CPU 36
|
||||
#define SKF_AD_ALU_XOR_X 40
|
||||
#define SKF_AD_MAX 44
|
||||
#define SKF_AD_VLAN_TAG 44
|
||||
#define SKF_AD_VLAN_TAG_PRESENT 48
|
||||
#define SKF_AD_MAX 52
|
||||
#define SKF_NET_OFF (-0x100000)
|
||||
#define SKF_LL_OFF (-0x200000)
|
||||
|
||||
|
|
|
|||
|
|
@ -86,6 +86,9 @@ struct inodes_stat_t {
|
|||
#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 */
|
||||
|
||||
/* These sb flags are internal to the kernel */
|
||||
#define MS_SNAP_STABLE (1<<27) /* Snapshot pages during writeback, if needed */
|
||||
#define MS_NOSEC (1<<28)
|
||||
#define MS_BORN (1<<29)
|
||||
#define MS_ACTIVE (1<<30)
|
||||
|
|
|
|||
|
|
@ -1,9 +1,35 @@
|
|||
/*
|
||||
FUSE: Filesystem in Userspace
|
||||
This file defines the kernel interface of FUSE
|
||||
Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu>
|
||||
|
||||
This program can be distributed under the terms of the GNU GPL.
|
||||
See the file COPYING.
|
||||
|
||||
This -- and only this -- header file may also be distributed under
|
||||
the terms of the BSD Licence as follows:
|
||||
|
||||
Copyright (C) 2001-2007 Miklos Szeredi. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
|
@ -60,12 +86,25 @@
|
|||
*
|
||||
* 7.20
|
||||
* - add FUSE_AUTO_INVAL_DATA
|
||||
*
|
||||
* 7.21
|
||||
* - add FUSE_READDIRPLUS
|
||||
* - send the requested events in POLL request
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_FUSE_H
|
||||
#define _LINUX_FUSE_H
|
||||
|
||||
#ifdef __linux__
|
||||
#include <linux/types.h>
|
||||
#else
|
||||
#include <stdint.h>
|
||||
#define __u64 uint64_t
|
||||
#define __s64 int64_t
|
||||
#define __u32 uint32_t
|
||||
#define __s32 int32_t
|
||||
#define __u16 uint16_t
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Version negotiation:
|
||||
|
|
@ -91,7 +130,7 @@
|
|||
#define FUSE_KERNEL_VERSION 7
|
||||
|
||||
/** Minor version number of this interface */
|
||||
#define FUSE_KERNEL_MINOR_VERSION 20
|
||||
#define FUSE_KERNEL_MINOR_VERSION 21
|
||||
|
||||
/** The node ID of the root inode */
|
||||
#define FUSE_ROOT_ID 1
|
||||
|
|
@ -179,6 +218,8 @@ struct fuse_file_lock {
|
|||
* FUSE_FLOCK_LOCKS: remote locking for BSD style file locks
|
||||
* FUSE_HAS_IOCTL_DIR: kernel supports ioctl on directories
|
||||
* FUSE_AUTO_INVAL_DATA: automatically invalidate cached pages
|
||||
* FUSE_DO_READDIRPLUS: do READDIRPLUS (READDIR+LOOKUP in one)
|
||||
* FUSE_READDIRPLUS_AUTO: adaptive readdirplus
|
||||
*/
|
||||
#define FUSE_ASYNC_READ (1 << 0)
|
||||
#define FUSE_POSIX_LOCKS (1 << 1)
|
||||
|
|
@ -193,6 +234,8 @@ struct fuse_file_lock {
|
|||
#define FUSE_FLOCK_LOCKS (1 << 10)
|
||||
#define FUSE_HAS_IOCTL_DIR (1 << 11)
|
||||
#define FUSE_AUTO_INVAL_DATA (1 << 12)
|
||||
#define FUSE_DO_READDIRPLUS (1 << 13)
|
||||
#define FUSE_READDIRPLUS_AUTO (1 << 14)
|
||||
|
||||
/**
|
||||
* CUSE INIT request/reply flags
|
||||
|
|
@ -299,6 +342,7 @@ enum fuse_opcode {
|
|||
FUSE_NOTIFY_REPLY = 41,
|
||||
FUSE_BATCH_FORGET = 42,
|
||||
FUSE_FALLOCATE = 43,
|
||||
FUSE_READDIRPLUS = 44,
|
||||
|
||||
/* CUSE specific operations */
|
||||
CUSE_INIT = 4096,
|
||||
|
|
@ -580,7 +624,7 @@ struct fuse_poll_in {
|
|||
__u64 fh;
|
||||
__u64 kh;
|
||||
__u32 flags;
|
||||
__u32 padding;
|
||||
__u32 events;
|
||||
};
|
||||
|
||||
struct fuse_poll_out {
|
||||
|
|
@ -630,6 +674,16 @@ struct fuse_dirent {
|
|||
#define FUSE_DIRENT_SIZE(d) \
|
||||
FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen)
|
||||
|
||||
struct fuse_direntplus {
|
||||
struct fuse_entry_out entry_out;
|
||||
struct fuse_dirent dirent;
|
||||
};
|
||||
|
||||
#define FUSE_NAME_OFFSET_DIRENTPLUS \
|
||||
offsetof(struct fuse_direntplus, dirent.name)
|
||||
#define FUSE_DIRENTPLUS_SIZE(d) \
|
||||
FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET_DIRENTPLUS + (d)->dirent.namelen)
|
||||
|
||||
struct fuse_notify_inval_inode_out {
|
||||
__u64 ino;
|
||||
__s64 off;
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
# UAPI Header export list
|
||||
header-y += ioctl.h
|
||||
|
|
|
|||
84
include/uapi/linux/hdlc/ioctl.h
Normal file
84
include/uapi/linux/hdlc/ioctl.h
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
#ifndef __HDLC_IOCTL_H__
|
||||
#define __HDLC_IOCTL_H__
|
||||
|
||||
|
||||
#define GENERIC_HDLC_VERSION 4 /* For synchronization with sethdlc utility */
|
||||
|
||||
#define CLOCK_DEFAULT 0 /* Default setting */
|
||||
#define CLOCK_EXT 1 /* External TX and RX clock - DTE */
|
||||
#define CLOCK_INT 2 /* Internal TX and RX clock - DCE */
|
||||
#define CLOCK_TXINT 3 /* Internal TX and external RX clock */
|
||||
#define CLOCK_TXFROMRX 4 /* TX clock derived from external RX clock */
|
||||
|
||||
|
||||
#define ENCODING_DEFAULT 0 /* Default setting */
|
||||
#define ENCODING_NRZ 1
|
||||
#define ENCODING_NRZI 2
|
||||
#define ENCODING_FM_MARK 3
|
||||
#define ENCODING_FM_SPACE 4
|
||||
#define ENCODING_MANCHESTER 5
|
||||
|
||||
|
||||
#define PARITY_DEFAULT 0 /* Default setting */
|
||||
#define PARITY_NONE 1 /* No parity */
|
||||
#define PARITY_CRC16_PR0 2 /* CRC16, initial value 0x0000 */
|
||||
#define PARITY_CRC16_PR1 3 /* CRC16, initial value 0xFFFF */
|
||||
#define PARITY_CRC16_PR0_CCITT 4 /* CRC16, initial 0x0000, ITU-T version */
|
||||
#define PARITY_CRC16_PR1_CCITT 5 /* CRC16, initial 0xFFFF, ITU-T version */
|
||||
#define PARITY_CRC32_PR0_CCITT 6 /* CRC32, initial value 0x00000000 */
|
||||
#define PARITY_CRC32_PR1_CCITT 7 /* CRC32, initial value 0xFFFFFFFF */
|
||||
|
||||
#define LMI_DEFAULT 0 /* Default setting */
|
||||
#define LMI_NONE 1 /* No LMI, all PVCs are static */
|
||||
#define LMI_ANSI 2 /* ANSI Annex D */
|
||||
#define LMI_CCITT 3 /* ITU-T Annex A */
|
||||
#define LMI_CISCO 4 /* The "original" LMI, aka Gang of Four */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
typedef struct {
|
||||
unsigned int clock_rate; /* bits per second */
|
||||
unsigned int clock_type; /* internal, external, TX-internal etc. */
|
||||
unsigned short loopback;
|
||||
} sync_serial_settings; /* V.35, V.24, X.21 */
|
||||
|
||||
typedef struct {
|
||||
unsigned int clock_rate; /* bits per second */
|
||||
unsigned int clock_type; /* internal, external, TX-internal etc. */
|
||||
unsigned short loopback;
|
||||
unsigned int slot_map;
|
||||
} te1_settings; /* T1, E1 */
|
||||
|
||||
typedef struct {
|
||||
unsigned short encoding;
|
||||
unsigned short parity;
|
||||
} raw_hdlc_proto;
|
||||
|
||||
typedef struct {
|
||||
unsigned int t391;
|
||||
unsigned int t392;
|
||||
unsigned int n391;
|
||||
unsigned int n392;
|
||||
unsigned int n393;
|
||||
unsigned short lmi;
|
||||
unsigned short dce; /* 1 for DCE (network side) operation */
|
||||
} fr_proto;
|
||||
|
||||
typedef struct {
|
||||
unsigned int dlci;
|
||||
} fr_proto_pvc; /* for creating/deleting FR PVCs */
|
||||
|
||||
typedef struct {
|
||||
unsigned int dlci;
|
||||
char master[IFNAMSIZ]; /* Name of master FRAD device */
|
||||
}fr_proto_pvc_info; /* for returning PVC information only */
|
||||
|
||||
typedef struct {
|
||||
unsigned int interval;
|
||||
unsigned int timeout;
|
||||
} cisco_proto;
|
||||
|
||||
/* PPP doesn't need any info now - supply length = 0 to ioctl */
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* __HDLC_IOCTL_H__ */
|
||||
30
include/uapi/linux/hw_breakpoint.h
Normal file
30
include/uapi/linux/hw_breakpoint.h
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
#ifndef _UAPI_LINUX_HW_BREAKPOINT_H
|
||||
#define _UAPI_LINUX_HW_BREAKPOINT_H
|
||||
|
||||
enum {
|
||||
HW_BREAKPOINT_LEN_1 = 1,
|
||||
HW_BREAKPOINT_LEN_2 = 2,
|
||||
HW_BREAKPOINT_LEN_4 = 4,
|
||||
HW_BREAKPOINT_LEN_8 = 8,
|
||||
};
|
||||
|
||||
enum {
|
||||
HW_BREAKPOINT_EMPTY = 0,
|
||||
HW_BREAKPOINT_R = 1,
|
||||
HW_BREAKPOINT_W = 2,
|
||||
HW_BREAKPOINT_RW = HW_BREAKPOINT_R | HW_BREAKPOINT_W,
|
||||
HW_BREAKPOINT_X = 4,
|
||||
HW_BREAKPOINT_INVALID = HW_BREAKPOINT_RW | HW_BREAKPOINT_X,
|
||||
};
|
||||
|
||||
enum bp_type_idx {
|
||||
TYPE_INST = 0,
|
||||
#ifdef CONFIG_HAVE_MIXED_BREAKPOINTS_REGS
|
||||
TYPE_DATA = 0,
|
||||
#else
|
||||
TYPE_DATA = 1,
|
||||
#endif
|
||||
TYPE_MAX
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_HW_BREAKPOINT_H */
|
||||
|
|
@ -97,5 +97,100 @@ struct __fdb_entry {
|
|||
__u16 unused;
|
||||
};
|
||||
|
||||
/* Bridge Flags */
|
||||
#define BRIDGE_FLAGS_MASTER 1 /* Bridge command to/from master */
|
||||
#define BRIDGE_FLAGS_SELF 2 /* Bridge command to/from lowerdev */
|
||||
|
||||
#define BRIDGE_MODE_VEB 0 /* Default loopback mode */
|
||||
#define BRIDGE_MODE_VEPA 1 /* 802.1Qbg defined VEPA mode */
|
||||
|
||||
/* Bridge management nested attributes
|
||||
* [IFLA_AF_SPEC] = {
|
||||
* [IFLA_BRIDGE_FLAGS]
|
||||
* [IFLA_BRIDGE_MODE]
|
||||
* [IFLA_BRIDGE_VLAN_INFO]
|
||||
* }
|
||||
*/
|
||||
enum {
|
||||
IFLA_BRIDGE_FLAGS,
|
||||
IFLA_BRIDGE_MODE,
|
||||
IFLA_BRIDGE_VLAN_INFO,
|
||||
__IFLA_BRIDGE_MAX,
|
||||
};
|
||||
#define IFLA_BRIDGE_MAX (__IFLA_BRIDGE_MAX - 1)
|
||||
|
||||
#define BRIDGE_VLAN_INFO_MASTER (1<<0) /* Operate on Bridge device as well */
|
||||
#define BRIDGE_VLAN_INFO_PVID (1<<1) /* VLAN is PVID, ingress untagged */
|
||||
#define BRIDGE_VLAN_INFO_UNTAGGED (1<<2) /* VLAN egresses untagged */
|
||||
|
||||
struct bridge_vlan_info {
|
||||
__u16 flags;
|
||||
__u16 vid;
|
||||
};
|
||||
|
||||
/* Bridge multicast database attributes
|
||||
* [MDBA_MDB] = {
|
||||
* [MDBA_MDB_ENTRY] = {
|
||||
* [MDBA_MDB_ENTRY_INFO]
|
||||
* }
|
||||
* }
|
||||
* [MDBA_ROUTER] = {
|
||||
* [MDBA_ROUTER_PORT]
|
||||
* }
|
||||
*/
|
||||
enum {
|
||||
MDBA_UNSPEC,
|
||||
MDBA_MDB,
|
||||
MDBA_ROUTER,
|
||||
__MDBA_MAX,
|
||||
};
|
||||
#define MDBA_MAX (__MDBA_MAX - 1)
|
||||
|
||||
enum {
|
||||
MDBA_MDB_UNSPEC,
|
||||
MDBA_MDB_ENTRY,
|
||||
__MDBA_MDB_MAX,
|
||||
};
|
||||
#define MDBA_MDB_MAX (__MDBA_MDB_MAX - 1)
|
||||
|
||||
enum {
|
||||
MDBA_MDB_ENTRY_UNSPEC,
|
||||
MDBA_MDB_ENTRY_INFO,
|
||||
__MDBA_MDB_ENTRY_MAX,
|
||||
};
|
||||
#define MDBA_MDB_ENTRY_MAX (__MDBA_MDB_ENTRY_MAX - 1)
|
||||
|
||||
enum {
|
||||
MDBA_ROUTER_UNSPEC,
|
||||
MDBA_ROUTER_PORT,
|
||||
__MDBA_ROUTER_MAX,
|
||||
};
|
||||
#define MDBA_ROUTER_MAX (__MDBA_ROUTER_MAX - 1)
|
||||
|
||||
struct br_port_msg {
|
||||
__u8 family;
|
||||
__u32 ifindex;
|
||||
};
|
||||
|
||||
struct br_mdb_entry {
|
||||
__u32 ifindex;
|
||||
#define MDB_TEMPORARY 0
|
||||
#define MDB_PERMANENT 1
|
||||
__u8 state;
|
||||
struct {
|
||||
union {
|
||||
__be32 ip4;
|
||||
struct in6_addr ip6;
|
||||
} u;
|
||||
__be16 proto;
|
||||
} addr;
|
||||
};
|
||||
|
||||
enum {
|
||||
MDBA_SET_ENTRY_UNSPEC,
|
||||
MDBA_SET_ENTRY,
|
||||
__MDBA_SET_ENTRY_MAX,
|
||||
};
|
||||
#define MDBA_SET_ENTRY_MAX (__MDBA_SET_ENTRY_MAX - 1)
|
||||
|
||||
#endif /* _UAPI_LINUX_IF_BRIDGE_H */
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */
|
||||
#define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */
|
||||
#define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */
|
||||
#define ETH_P_BATMAN 0x4305 /* B.A.T.M.A.N.-Advanced packet [ NOT AN OFFICIALLY REGISTERED ID ] */
|
||||
#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
|
||||
#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
|
||||
#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
|
||||
|
|
@ -82,6 +83,7 @@
|
|||
#define ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */
|
||||
#define ETH_P_TIPC 0x88CA /* TIPC */
|
||||
#define ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */
|
||||
#define ETH_P_MVRP 0x88F5 /* 802.1Q MVRP */
|
||||
#define ETH_P_1588 0x88F7 /* IEEE 1588 Timesync */
|
||||
#define ETH_P_FCOE 0x8906 /* Fibre Channel over Ethernet */
|
||||
#define ETH_P_TDLS 0x890D /* TDLS */
|
||||
|
|
|
|||
|
|
@ -142,6 +142,7 @@ enum {
|
|||
#define IFLA_PROMISCUITY IFLA_PROMISCUITY
|
||||
IFLA_NUM_TX_QUEUES,
|
||||
IFLA_NUM_RX_QUEUES,
|
||||
IFLA_CARRIER,
|
||||
__IFLA_MAX
|
||||
};
|
||||
|
||||
|
|
@ -205,6 +206,24 @@ enum {
|
|||
|
||||
#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
|
||||
|
||||
enum {
|
||||
BRIDGE_MODE_UNSPEC,
|
||||
BRIDGE_MODE_HAIRPIN,
|
||||
};
|
||||
|
||||
enum {
|
||||
IFLA_BRPORT_UNSPEC,
|
||||
IFLA_BRPORT_STATE, /* Spanning tree state */
|
||||
IFLA_BRPORT_PRIORITY, /* " priority */
|
||||
IFLA_BRPORT_COST, /* " cost */
|
||||
IFLA_BRPORT_MODE, /* mode (hairpin) */
|
||||
IFLA_BRPORT_GUARD, /* bpdu guard */
|
||||
IFLA_BRPORT_PROTECT, /* root port protection */
|
||||
IFLA_BRPORT_FAST_LEAVE, /* multicast fast leave */
|
||||
__IFLA_BRPORT_MAX
|
||||
};
|
||||
#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
|
||||
|
||||
struct ifla_cacheinfo {
|
||||
__u32 max_reasm_len;
|
||||
__u32 tstamp; /* ipv6InterfaceTable updated timestamp */
|
||||
|
|
@ -285,6 +304,10 @@ enum {
|
|||
IFLA_VXLAN_AGEING,
|
||||
IFLA_VXLAN_LIMIT,
|
||||
IFLA_VXLAN_PORT_RANGE,
|
||||
IFLA_VXLAN_PROXY,
|
||||
IFLA_VXLAN_RSC,
|
||||
IFLA_VXLAN_L2MISS,
|
||||
IFLA_VXLAN_L3MISS,
|
||||
__IFLA_VXLAN_MAX
|
||||
};
|
||||
#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ struct sockaddr_ll {
|
|||
#define PACKET_TX_TIMESTAMP 16
|
||||
#define PACKET_TIMESTAMP 17
|
||||
#define PACKET_FANOUT 18
|
||||
#define PACKET_TX_HAS_OFF 19
|
||||
|
||||
#define PACKET_FANOUT_HASH 0
|
||||
#define PACKET_FANOUT_LB 1
|
||||
|
|
|
|||
|
|
@ -31,9 +31,11 @@
|
|||
#define TUN_FASYNC 0x0010
|
||||
#define TUN_NOCHECKSUM 0x0020
|
||||
#define TUN_NO_PI 0x0040
|
||||
/* This flag has no real effect */
|
||||
#define TUN_ONE_QUEUE 0x0080
|
||||
#define TUN_PERSIST 0x0100
|
||||
#define TUN_VNET_HDR 0x0200
|
||||
#define TUN_TAP_MQ 0x0400
|
||||
|
||||
/* Ioctl defines */
|
||||
#define TUNSETNOCSUM _IOW('T', 200, int)
|
||||
|
|
@ -53,14 +55,19 @@
|
|||
#define TUNDETACHFILTER _IOW('T', 214, struct sock_fprog)
|
||||
#define TUNGETVNETHDRSZ _IOR('T', 215, int)
|
||||
#define TUNSETVNETHDRSZ _IOW('T', 216, int)
|
||||
#define TUNSETQUEUE _IOW('T', 217, int)
|
||||
|
||||
/* TUNSETIFF ifr flags */
|
||||
#define IFF_TUN 0x0001
|
||||
#define IFF_TAP 0x0002
|
||||
#define IFF_NO_PI 0x1000
|
||||
/* This flag has no real effect */
|
||||
#define IFF_ONE_QUEUE 0x2000
|
||||
#define IFF_VNET_HDR 0x4000
|
||||
#define IFF_TUN_EXCL 0x8000
|
||||
#define IFF_MULTI_QUEUE 0x0100
|
||||
#define IFF_ATTACH_QUEUE 0x0200
|
||||
#define IFF_DETACH_QUEUE 0x0400
|
||||
|
||||
/* Features for GSO (TUNSETOFFLOAD). */
|
||||
#define TUN_F_CSUM 0x01 /* You can hand me unchecksummed packets. */
|
||||
|
|
|
|||
|
|
@ -37,6 +37,26 @@ struct ip_tunnel_parm {
|
|||
struct iphdr iph;
|
||||
};
|
||||
|
||||
enum {
|
||||
IFLA_IPTUN_UNSPEC,
|
||||
IFLA_IPTUN_LINK,
|
||||
IFLA_IPTUN_LOCAL,
|
||||
IFLA_IPTUN_REMOTE,
|
||||
IFLA_IPTUN_TTL,
|
||||
IFLA_IPTUN_TOS,
|
||||
IFLA_IPTUN_ENCAP_LIMIT,
|
||||
IFLA_IPTUN_FLOWINFO,
|
||||
IFLA_IPTUN_FLAGS,
|
||||
IFLA_IPTUN_PROTO,
|
||||
IFLA_IPTUN_PMTUDISC,
|
||||
IFLA_IPTUN_6RD_PREFIX,
|
||||
IFLA_IPTUN_6RD_RELAY_PREFIX,
|
||||
IFLA_IPTUN_6RD_PREFIXLEN,
|
||||
IFLA_IPTUN_6RD_RELAY_PREFIXLEN,
|
||||
__IFLA_IPTUN_MAX,
|
||||
};
|
||||
#define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)
|
||||
|
||||
/* SIT-mode i_flags */
|
||||
#define SIT_ISATAP 0x0001
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ enum vlan_flags {
|
|||
VLAN_FLAG_REORDER_HDR = 0x1,
|
||||
VLAN_FLAG_GVRP = 0x2,
|
||||
VLAN_FLAG_LOOSE_BINDING = 0x4,
|
||||
VLAN_FLAG_MVRP = 0x8,
|
||||
};
|
||||
|
||||
enum vlan_name_types {
|
||||
|
|
|
|||
|
|
@ -38,11 +38,6 @@ struct in6_addr {
|
|||
#define s6_addr32 in6_u.u6_addr32
|
||||
};
|
||||
|
||||
/* IPv6 Wildcard Address (::) and Loopback Address (::1) defined in RFC2553
|
||||
* NOTE: Be aware the IN6ADDR_* constants and in6addr_* externals are defined
|
||||
* in network byte order, not in host byte order as are the IPv4 equivalents
|
||||
*/
|
||||
|
||||
struct sockaddr_in6 {
|
||||
unsigned short int sin6_family; /* AF_INET6 */
|
||||
__be16 sin6_port; /* Transport layer port # */
|
||||
|
|
@ -240,6 +235,7 @@ struct in6_flowlabel_req {
|
|||
*
|
||||
* IP6T_SO_GET_REVISION_MATCH 68
|
||||
* IP6T_SO_GET_REVISION_TARGET 69
|
||||
* IP6T_SO_ORIGINAL_DST 80
|
||||
*/
|
||||
|
||||
/* RFC5014: Source address selection */
|
||||
|
|
@ -263,17 +259,10 @@ struct in6_flowlabel_req {
|
|||
|
||||
/*
|
||||
* Multicast Routing:
|
||||
* see include/linux/mroute6.h.
|
||||
* see include/uapi/linux/mroute6.h.
|
||||
*
|
||||
* MRT6_INIT 200
|
||||
* MRT6_DONE 201
|
||||
* MRT6_ADD_MIF 202
|
||||
* MRT6_DEL_MIF 203
|
||||
* MRT6_ADD_MFC 204
|
||||
* MRT6_DEL_MFC 205
|
||||
* MRT6_VERSION 206
|
||||
* MRT6_ASSERT 207
|
||||
* MRT6_PIM 208
|
||||
* (reserved) 209
|
||||
* MRT6_BASE 200
|
||||
* ...
|
||||
* MRT6_MAX
|
||||
*/
|
||||
#endif /* _UAPI_LINUX_IN6_H */
|
||||
|
|
|
|||
|
|
@ -109,9 +109,10 @@ enum {
|
|||
INET_DIAG_TOS,
|
||||
INET_DIAG_TCLASS,
|
||||
INET_DIAG_SKMEMINFO,
|
||||
INET_DIAG_SHUTDOWN,
|
||||
};
|
||||
|
||||
#define INET_DIAG_MAX INET_DIAG_SKMEMINFO
|
||||
#define INET_DIAG_MAX INET_DIAG_SHUTDOWN
|
||||
|
||||
|
||||
/* INET_DIAG_MEM */
|
||||
|
|
|
|||
|
|
@ -856,6 +856,7 @@ struct input_keymap_entry {
|
|||
#define MSC_GESTURE 0x02
|
||||
#define MSC_RAW 0x03
|
||||
#define MSC_SCAN 0x04
|
||||
#define MSC_TIMESTAMP 0x05
|
||||
#define MSC_MAX 0x07
|
||||
#define MSC_CNT (MSC_MAX+1)
|
||||
|
||||
|
|
|
|||
|
|
@ -59,15 +59,7 @@
|
|||
* if it becomes full and it is queried once a second to see if
|
||||
* anything is in it. Incoming commands to the driver will get
|
||||
* delivered as commands.
|
||||
*
|
||||
* This driver provides two main interfaces: one for in-kernel
|
||||
* applications and another for userland applications. The
|
||||
* capabilities are basically the same for both interface, although
|
||||
* the interfaces are somewhat different. The stuff in the
|
||||
* #ifdef __KERNEL__ below is the in-kernel interface. The userland
|
||||
* interface is defined later in the file. */
|
||||
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
* This is an overlay for all the address types, so it's easy to
|
||||
|
|
|
|||
|
|
@ -63,6 +63,8 @@ struct ipv6_opt_hdr {
|
|||
#define ipv6_destopt_hdr ipv6_opt_hdr
|
||||
#define ipv6_hopopt_hdr ipv6_opt_hdr
|
||||
|
||||
/* Router Alert option values (RFC2711) */
|
||||
#define IPV6_OPT_ROUTERALERT_MLD 0x0000 /* MLD(RFC2710) */
|
||||
|
||||
/*
|
||||
* routing header type 0 (used in cmsghdr struct)
|
||||
|
|
@ -157,6 +159,7 @@ enum {
|
|||
DEVCONF_DISABLE_IPV6,
|
||||
DEVCONF_ACCEPT_DAD,
|
||||
DEVCONF_FORCE_TLLAO,
|
||||
DEVCONF_NDISC_NOTIFY,
|
||||
DEVCONF_MAX
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -55,4 +55,7 @@ struct in6_rtmsg {
|
|||
#define RTMSG_NEWROUTE 0x21
|
||||
#define RTMSG_DELROUTE 0x22
|
||||
|
||||
#define IP6_RT_PRIO_USER 1024
|
||||
#define IP6_RT_PRIO_ADDRCONF 256
|
||||
|
||||
#endif /* _UAPI_LINUX_IPV6_ROUTE_H */
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@ struct kvm_irq_level {
|
|||
* ACPI gsi notion of irq.
|
||||
* For IA-64 (APIC model) IOAPIC0: irq 0-23; IOAPIC1: irq 24-47..
|
||||
* For X86 (standard AT mode) PIC0/1: irq 0-15. IOAPIC0: 0-23..
|
||||
* For ARM: See Documentation/virtual/kvm/api.txt
|
||||
*/
|
||||
union {
|
||||
__u32 irq;
|
||||
|
|
@ -167,10 +168,17 @@ struct kvm_pit_config {
|
|||
#define KVM_EXIT_OSI 18
|
||||
#define KVM_EXIT_PAPR_HCALL 19
|
||||
#define KVM_EXIT_S390_UCONTROL 20
|
||||
#define KVM_EXIT_WATCHDOG 21
|
||||
#define KVM_EXIT_S390_TSCH 22
|
||||
#define KVM_EXIT_EPR 23
|
||||
|
||||
/* For KVM_EXIT_INTERNAL_ERROR */
|
||||
#define KVM_INTERNAL_ERROR_EMULATION 1
|
||||
#define KVM_INTERNAL_ERROR_SIMUL_EX 2
|
||||
/* Emulate instruction failed. */
|
||||
#define KVM_INTERNAL_ERROR_EMULATION 1
|
||||
/* Encounter unexpected simultaneous exceptions. */
|
||||
#define KVM_INTERNAL_ERROR_SIMUL_EX 2
|
||||
/* Encounter unexpected vm-exit due to delivery event. */
|
||||
#define KVM_INTERNAL_ERROR_DELIVERY_EV 3
|
||||
|
||||
/* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */
|
||||
struct kvm_run {
|
||||
|
|
@ -280,6 +288,19 @@ struct kvm_run {
|
|||
__u64 ret;
|
||||
__u64 args[9];
|
||||
} papr_hcall;
|
||||
/* KVM_EXIT_S390_TSCH */
|
||||
struct {
|
||||
__u16 subchannel_id;
|
||||
__u16 subchannel_nr;
|
||||
__u32 io_int_parm;
|
||||
__u32 io_int_word;
|
||||
__u32 ipb;
|
||||
__u8 dequeued;
|
||||
} s390_tsch;
|
||||
/* KVM_EXIT_EPR */
|
||||
struct {
|
||||
__u32 epr;
|
||||
} epr;
|
||||
/* Fix the size of the union. */
|
||||
char padding[256];
|
||||
};
|
||||
|
|
@ -392,10 +413,20 @@ struct kvm_s390_psw {
|
|||
#define KVM_S390_PROGRAM_INT 0xfffe0001u
|
||||
#define KVM_S390_SIGP_SET_PREFIX 0xfffe0002u
|
||||
#define KVM_S390_RESTART 0xfffe0003u
|
||||
#define KVM_S390_MCHK 0xfffe1000u
|
||||
#define KVM_S390_INT_VIRTIO 0xffff2603u
|
||||
#define KVM_S390_INT_SERVICE 0xffff2401u
|
||||
#define KVM_S390_INT_EMERGENCY 0xffff1201u
|
||||
#define KVM_S390_INT_EXTERNAL_CALL 0xffff1202u
|
||||
/* Anything below 0xfffe0000u is taken by INT_IO */
|
||||
#define KVM_S390_INT_IO(ai,cssid,ssid,schid) \
|
||||
(((schid)) | \
|
||||
((ssid) << 16) | \
|
||||
((cssid) << 18) | \
|
||||
((ai) << 26))
|
||||
#define KVM_S390_INT_IO_MIN 0x00000000u
|
||||
#define KVM_S390_INT_IO_MAX 0xfffdffffu
|
||||
|
||||
|
||||
struct kvm_s390_interrupt {
|
||||
__u32 type;
|
||||
|
|
@ -477,6 +508,8 @@ struct kvm_ppc_smmu_info {
|
|||
struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ];
|
||||
};
|
||||
|
||||
#define KVM_PPC_PVINFO_FLAGS_EV_IDLE (1<<0)
|
||||
|
||||
#define KVMIO 0xAE
|
||||
|
||||
/* machine type bits, to be used as argument to KVM_CREATE_VM */
|
||||
|
|
@ -626,6 +659,12 @@ struct kvm_ppc_smmu_info {
|
|||
#define KVM_CAP_READONLY_MEM 81
|
||||
#endif
|
||||
#define KVM_CAP_IRQFD_RESAMPLE 82
|
||||
#define KVM_CAP_PPC_BOOKE_WATCHDOG 83
|
||||
#define KVM_CAP_PPC_HTAB_FD 84
|
||||
#define KVM_CAP_S390_CSS_SUPPORT 85
|
||||
#define KVM_CAP_PPC_EPR 86
|
||||
#define KVM_CAP_ARM_PSCI 87
|
||||
#define KVM_CAP_ARM_SET_DEVICE_ADDR 88
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
|
|
@ -755,6 +794,11 @@ struct kvm_dirty_tlb {
|
|||
#define KVM_REG_SIZE_U512 0x0060000000000000ULL
|
||||
#define KVM_REG_SIZE_U1024 0x0070000000000000ULL
|
||||
|
||||
struct kvm_reg_list {
|
||||
__u64 n; /* number of regs */
|
||||
__u64 reg[0];
|
||||
};
|
||||
|
||||
struct kvm_one_reg {
|
||||
__u64 id;
|
||||
__u64 addr;
|
||||
|
|
@ -768,6 +812,11 @@ struct kvm_msi {
|
|||
__u8 pad[16];
|
||||
};
|
||||
|
||||
struct kvm_arm_device_addr {
|
||||
__u64 id;
|
||||
__u64 addr;
|
||||
};
|
||||
|
||||
/*
|
||||
* ioctls for VM fds
|
||||
*/
|
||||
|
|
@ -848,6 +897,13 @@ struct kvm_s390_ucas_mapping {
|
|||
#define KVM_PPC_GET_SMMU_INFO _IOR(KVMIO, 0xa6, struct kvm_ppc_smmu_info)
|
||||
/* Available with KVM_CAP_PPC_ALLOC_HTAB */
|
||||
#define KVM_PPC_ALLOCATE_HTAB _IOWR(KVMIO, 0xa7, __u32)
|
||||
#define KVM_CREATE_SPAPR_TCE _IOW(KVMIO, 0xa8, struct kvm_create_spapr_tce)
|
||||
/* Available with KVM_CAP_RMA */
|
||||
#define KVM_ALLOCATE_RMA _IOR(KVMIO, 0xa9, struct kvm_allocate_rma)
|
||||
/* Available with KVM_CAP_PPC_HTAB_FD */
|
||||
#define KVM_PPC_GET_HTAB_FD _IOW(KVMIO, 0xaa, struct kvm_get_htab_fd)
|
||||
/* Available with KVM_CAP_ARM_SET_DEVICE_ADDR */
|
||||
#define KVM_ARM_SET_DEVICE_ADDR _IOW(KVMIO, 0xab, struct kvm_arm_device_addr)
|
||||
|
||||
/*
|
||||
* ioctls for vcpu fds
|
||||
|
|
@ -911,9 +967,6 @@ struct kvm_s390_ucas_mapping {
|
|||
/* Available with KVM_CAP_XCRS */
|
||||
#define KVM_GET_XCRS _IOR(KVMIO, 0xa6, struct kvm_xcrs)
|
||||
#define KVM_SET_XCRS _IOW(KVMIO, 0xa7, struct kvm_xcrs)
|
||||
#define KVM_CREATE_SPAPR_TCE _IOW(KVMIO, 0xa8, struct kvm_create_spapr_tce)
|
||||
/* Available with KVM_CAP_RMA */
|
||||
#define KVM_ALLOCATE_RMA _IOR(KVMIO, 0xa9, struct kvm_allocate_rma)
|
||||
/* Available with KVM_CAP_SW_TLB */
|
||||
#define KVM_DIRTY_TLB _IOW(KVMIO, 0xaa, struct kvm_dirty_tlb)
|
||||
/* Available with KVM_CAP_ONE_REG */
|
||||
|
|
@ -921,6 +974,8 @@ struct kvm_s390_ucas_mapping {
|
|||
#define KVM_SET_ONE_REG _IOW(KVMIO, 0xac, struct kvm_one_reg)
|
||||
/* VM is being stopped by host */
|
||||
#define KVM_KVMCLOCK_CTRL _IO(KVMIO, 0xad)
|
||||
#define KVM_ARM_VCPU_INIT _IOW(KVMIO, 0xae, struct kvm_vcpu_init)
|
||||
#define KVM_GET_REG_LIST _IOWR(KVMIO, 0xb0, struct kvm_reg_list)
|
||||
|
||||
#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
|
||||
#define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)
|
||||
|
|
|
|||
|
|
@ -23,10 +23,12 @@
|
|||
#define EXT4_SUPER_MAGIC 0xEF53
|
||||
#define BTRFS_SUPER_MAGIC 0x9123683E
|
||||
#define NILFS_SUPER_MAGIC 0x3434
|
||||
#define F2FS_SUPER_MAGIC 0xF2F52010
|
||||
#define HPFS_SUPER_MAGIC 0xf995e849
|
||||
#define ISOFS_SUPER_MAGIC 0x9660
|
||||
#define JFFS2_SUPER_MAGIC 0x72b6
|
||||
#define PSTOREFS_MAGIC 0x6165676C
|
||||
#define EFIVARFS_MAGIC 0xde5e81e4
|
||||
|
||||
#define MINIX_SUPER_MAGIC 0x137F /* minix v1 fs, 14 char names */
|
||||
#define MINIX_SUPER_MAGIC2 0x138F /* minix v1 fs, 30 char names */
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ enum {
|
|||
MPOL_PREFERRED,
|
||||
MPOL_BIND,
|
||||
MPOL_INTERLEAVE,
|
||||
MPOL_LOCAL,
|
||||
MPOL_MAX, /* always last member of enum */
|
||||
};
|
||||
|
||||
|
|
@ -47,9 +48,15 @@ enum mpol_rebind_step {
|
|||
|
||||
/* Flags for mbind */
|
||||
#define MPOL_MF_STRICT (1<<0) /* Verify existing pages in the mapping */
|
||||
#define MPOL_MF_MOVE (1<<1) /* Move pages owned by this process to conform to mapping */
|
||||
#define MPOL_MF_MOVE_ALL (1<<2) /* Move every page to conform to mapping */
|
||||
#define MPOL_MF_INTERNAL (1<<3) /* Internal flags start here */
|
||||
#define MPOL_MF_MOVE (1<<1) /* Move pages owned by this process to conform
|
||||
to policy */
|
||||
#define MPOL_MF_MOVE_ALL (1<<2) /* Move every page to conform to policy */
|
||||
#define MPOL_MF_LAZY (1<<3) /* Modifies '_MOVE: lazy migrate on fault */
|
||||
#define MPOL_MF_INTERNAL (1<<4) /* Internal flags start here */
|
||||
|
||||
#define MPOL_MF_VALID (MPOL_MF_STRICT | \
|
||||
MPOL_MF_MOVE | \
|
||||
MPOL_MF_MOVE_ALL)
|
||||
|
||||
/*
|
||||
* Internal flags that share the struct mempolicy flags word with
|
||||
|
|
@ -59,6 +66,8 @@ enum mpol_rebind_step {
|
|||
#define MPOL_F_SHARED (1 << 0) /* identify shared policies */
|
||||
#define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */
|
||||
#define MPOL_F_REBINDING (1 << 2) /* identify policies in rebinding */
|
||||
#define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */
|
||||
#define MPOL_F_MORON (1 << 4) /* Migrate On pte_numa Reference On Node */
|
||||
|
||||
|
||||
#endif /* _UAPI_LINUX_MEMPOLICY_H */
|
||||
|
|
|
|||
|
|
@ -57,10 +57,8 @@ struct meye_params {
|
|||
#define MEYEIOC_STILLJCAPT _IOR ('v', BASE_VIDIOC_PRIVATE+5, int)
|
||||
|
||||
/* V4L2 private controls */
|
||||
#define V4L2_CID_AGC V4L2_CID_PRIVATE_BASE
|
||||
#define V4L2_CID_MEYE_SHARPNESS (V4L2_CID_PRIVATE_BASE + 1)
|
||||
#define V4L2_CID_PICTURE (V4L2_CID_PRIVATE_BASE + 2)
|
||||
#define V4L2_CID_JPEGQUAL (V4L2_CID_PRIVATE_BASE + 3)
|
||||
#define V4L2_CID_FRAMERATE (V4L2_CID_PRIVATE_BASE + 4)
|
||||
#define V4L2_CID_MEYE_AGC (V4L2_CID_USER_MEYE_BASE + 0)
|
||||
#define V4L2_CID_MEYE_PICTURE (V4L2_CID_USER_MEYE_BASE + 1)
|
||||
#define V4L2_CID_MEYE_FRAMERATE (V4L2_CID_USER_MEYE_BASE + 2)
|
||||
|
||||
#endif
|
||||
|
|
|
|||
8
include/uapi/linux/module.h
Normal file
8
include/uapi/linux/module.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#ifndef _UAPI_LINUX_MODULE_H
|
||||
#define _UAPI_LINUX_MODULE_H
|
||||
|
||||
/* Flags for sys_finit_module: */
|
||||
#define MODULE_INIT_IGNORE_MODVERSIONS 1
|
||||
#define MODULE_INIT_IGNORE_VERMAGIC 2
|
||||
|
||||
#endif /* _UAPI_LINUX_MODULE_H */
|
||||
|
|
@ -26,6 +26,9 @@
|
|||
#define MRT_ASSERT (MRT_BASE+7) /* Activate PIM assert mode */
|
||||
#define MRT_PIM (MRT_BASE+8) /* enable PIM code */
|
||||
#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 SIOCGETVIFCNT SIOCPROTOPRIVATE /* IP protocol privates */
|
||||
#define SIOCGETSGCNT (SIOCPROTOPRIVATE+1)
|
||||
|
|
|
|||
|
|
@ -26,6 +26,9 @@
|
|||
#define MRT6_ASSERT (MRT6_BASE+7) /* Activate PIM assert mode */
|
||||
#define MRT6_PIM (MRT6_BASE+8) /* enable PIM code */
|
||||
#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 SIOCGETMIFCNT_IN6 SIOCPROTOPRIVATE /* IP protocol privates */
|
||||
#define SIOCGETSGCNT_IN6 (SIOCPROTOPRIVATE+1)
|
||||
|
|
|
|||
|
|
@ -87,6 +87,8 @@
|
|||
#define IS_FSINFO(x) (le32_to_cpu((x)->signature1) == FAT_FSINFO_SIG1 \
|
||||
&& le32_to_cpu((x)->signature2) == FAT_FSINFO_SIG2)
|
||||
|
||||
#define FAT_STATE_DIRTY 0x01
|
||||
|
||||
struct __fat_dirent {
|
||||
long d_ino;
|
||||
__kernel_off_t d_off;
|
||||
|
|
@ -120,14 +122,34 @@ struct fat_boot_sector {
|
|||
__le32 hidden; /* hidden sectors (unused) */
|
||||
__le32 total_sect; /* number of sectors (if sectors == 0) */
|
||||
|
||||
/* The following fields are only used by FAT32 */
|
||||
__le32 fat32_length; /* sectors/FAT */
|
||||
__le16 flags; /* bit 8: fat mirroring, low 4: active fat */
|
||||
__u8 version[2]; /* major, minor filesystem version */
|
||||
__le32 root_cluster; /* first cluster in root directory */
|
||||
__le16 info_sector; /* filesystem info sector */
|
||||
__le16 backup_boot; /* backup boot sector */
|
||||
__le16 reserved2[6]; /* Unused */
|
||||
union {
|
||||
struct {
|
||||
/* Extended BPB Fields for FAT16 */
|
||||
__u8 drive_number; /* Physical drive number */
|
||||
__u8 state; /* undocumented, but used
|
||||
for mount state. */
|
||||
/* other fiealds are not added here */
|
||||
} fat16;
|
||||
|
||||
struct {
|
||||
/* only used by FAT32 */
|
||||
__le32 length; /* sectors/FAT */
|
||||
__le16 flags; /* bit 8: fat mirroring,
|
||||
low 4: active fat */
|
||||
__u8 version[2]; /* major, minor filesystem
|
||||
version */
|
||||
__le32 root_cluster; /* first cluster in
|
||||
root directory */
|
||||
__le16 info_sector; /* filesystem info sector */
|
||||
__le16 backup_boot; /* backup boot sector */
|
||||
__le16 reserved2[6]; /* Unused */
|
||||
/* Extended BPB Fields for FAT32 */
|
||||
__u8 drive_number; /* Physical drive number */
|
||||
__u8 state; /* undocumented, but used
|
||||
for mount state. */
|
||||
/* other fiealds are not added here */
|
||||
} fat32;
|
||||
};
|
||||
};
|
||||
|
||||
struct fat_boot_fsinfo {
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
/* msgrcv options */
|
||||
#define MSG_NOERROR 010000 /* no error if message is too big */
|
||||
#define MSG_EXCEPT 020000 /* recv any msg except of specified type.*/
|
||||
#define MSG_COPY 040000 /* copy (not remove) all queue messages */
|
||||
|
||||
/* Obsolete, used only for backwards compatibility and libc5 compiles */
|
||||
struct msqid_ds {
|
||||
|
|
|
|||
|
|
@ -33,13 +33,14 @@ enum {
|
|||
NBD_CMD_READ = 0,
|
||||
NBD_CMD_WRITE = 1,
|
||||
NBD_CMD_DISC = 2,
|
||||
/* there is a gap here to match userspace */
|
||||
NBD_CMD_FLUSH = 3,
|
||||
NBD_CMD_TRIM = 4
|
||||
};
|
||||
|
||||
/* values for flags field */
|
||||
#define NBD_FLAG_HAS_FLAGS (1 << 0) /* nbd-server supports flags */
|
||||
#define NBD_FLAG_READ_ONLY (1 << 1) /* device is read-only */
|
||||
#define NBD_FLAG_SEND_FLUSH (1 << 2) /* can flush writeback cache */
|
||||
/* there is a gap here to match userspace */
|
||||
#define NBD_FLAG_SEND_TRIM (1 << 5) /* send trim/discard */
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ enum {
|
|||
NDA_LLADDR,
|
||||
NDA_CACHEINFO,
|
||||
NDA_PROBES,
|
||||
NDA_VLAN,
|
||||
__NDA_MAX
|
||||
};
|
||||
|
||||
|
|
|
|||
24
include/uapi/linux/netconf.h
Normal file
24
include/uapi/linux/netconf.h
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#ifndef _UAPI_LINUX_NETCONF_H_
|
||||
#define _UAPI_LINUX_NETCONF_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netlink.h>
|
||||
|
||||
struct netconfmsg {
|
||||
__u8 ncm_family;
|
||||
};
|
||||
|
||||
enum {
|
||||
NETCONFA_UNSPEC,
|
||||
NETCONFA_IFINDEX,
|
||||
NETCONFA_FORWARDING,
|
||||
NETCONFA_RP_FILTER,
|
||||
NETCONFA_MC_FORWARDING,
|
||||
__NETCONFA_MAX
|
||||
};
|
||||
#define NETCONFA_MAX (__NETCONFA_MAX - 1)
|
||||
|
||||
#define NETCONFA_IFINDEX_ALL -1
|
||||
#define NETCONFA_IFINDEX_DEFAULT -2
|
||||
|
||||
#endif /* _UAPI_LINUX_NETCONF_H_ */
|
||||
|
|
@ -35,9 +35,11 @@ header-y += xt_TCPOPTSTRIP.h
|
|||
header-y += xt_TEE.h
|
||||
header-y += xt_TPROXY.h
|
||||
header-y += xt_addrtype.h
|
||||
header-y += xt_bpf.h
|
||||
header-y += xt_cluster.h
|
||||
header-y += xt_comment.h
|
||||
header-y += xt_connbytes.h
|
||||
header-y += xt_connlabel.h
|
||||
header-y += xt_connlimit.h
|
||||
header-y += xt_connmark.h
|
||||
header-y += xt_conntrack.h
|
||||
|
|
|
|||
|
|
@ -101,6 +101,7 @@ enum ip_conntrack_events {
|
|||
IPCT_MARK, /* new mark has been set */
|
||||
IPCT_NATSEQADJ, /* NAT is doing sequence adjustment */
|
||||
IPCT_SECMARK, /* new security mark has been set */
|
||||
IPCT_LABEL, /* new connlabel has been set */
|
||||
};
|
||||
|
||||
enum ip_conntrack_expect_events {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ enum cntl_msg_types {
|
|||
IPCTNL_MSG_CT_GET_CTRZERO,
|
||||
IPCTNL_MSG_CT_GET_STATS_CPU,
|
||||
IPCTNL_MSG_CT_GET_STATS,
|
||||
IPCTNL_MSG_CT_GET_DYING,
|
||||
IPCTNL_MSG_CT_GET_UNCONFIRMED,
|
||||
|
||||
IPCTNL_MSG_MAX
|
||||
};
|
||||
|
|
@ -47,6 +49,8 @@ enum ctattr_type {
|
|||
CTA_SECCTX,
|
||||
CTA_TIMESTAMP,
|
||||
CTA_MARK_MASK,
|
||||
CTA_LABELS,
|
||||
CTA_LABELS_MASK,
|
||||
__CTA_MAX
|
||||
};
|
||||
#define CTA_MAX (__CTA_MAX - 1)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,11 @@
|
|||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define XT_CT_NOTRACK 0x1
|
||||
enum {
|
||||
XT_CT_NOTRACK = 1 << 0,
|
||||
XT_CT_NOTRACK_ALIAS = 1 << 1,
|
||||
XT_CT_MASK = XT_CT_NOTRACK | XT_CT_NOTRACK_ALIAS,
|
||||
};
|
||||
|
||||
struct xt_ct_target_info {
|
||||
__u16 flags;
|
||||
|
|
|
|||
17
include/uapi/linux/netfilter/xt_bpf.h
Normal file
17
include/uapi/linux/netfilter/xt_bpf.h
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
#ifndef _XT_BPF_H
|
||||
#define _XT_BPF_H
|
||||
|
||||
#include <linux/filter.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#define XT_BPF_MAX_NUM_INSTR 64
|
||||
|
||||
struct xt_bpf_info {
|
||||
__u16 bpf_program_num_elem;
|
||||
struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR];
|
||||
|
||||
/* only used in the kernel */
|
||||
struct sk_filter *filter __attribute__((aligned(8)));
|
||||
};
|
||||
|
||||
#endif /*_XT_BPF_H */
|
||||
12
include/uapi/linux/netfilter/xt_connlabel.h
Normal file
12
include/uapi/linux/netfilter/xt_connlabel.h
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
#include <linux/types.h>
|
||||
|
||||
#define XT_CONNLABEL_MAXBIT 127
|
||||
enum xt_connlabel_mtopts {
|
||||
XT_CONNLABEL_OP_INVERT = 1 << 0,
|
||||
XT_CONNLABEL_OP_SET = 1 << 1,
|
||||
};
|
||||
|
||||
struct xt_connlabel_mtinfo {
|
||||
__u16 bit;
|
||||
__u16 options;
|
||||
};
|
||||
|
|
@ -31,6 +31,7 @@ enum {
|
|||
XT_CONNTRACK_REPLSRC_PORT = 1 << 10,
|
||||
XT_CONNTRACK_REPLDST_PORT = 1 << 11,
|
||||
XT_CONNTRACK_DIRECTION = 1 << 12,
|
||||
XT_CONNTRACK_STATE_ALIAS = 1 << 13,
|
||||
};
|
||||
|
||||
struct xt_conntrack_mtinfo1 {
|
||||
|
|
|
|||
|
|
@ -178,6 +178,9 @@ struct ip6t_error {
|
|||
#define IP6T_SO_GET_REVISION_TARGET (IP6T_BASE_CTL + 5)
|
||||
#define IP6T_SO_GET_MAX IP6T_SO_GET_REVISION_TARGET
|
||||
|
||||
/* obtain original address if REDIRECT'd connection */
|
||||
#define IP6T_SO_ORIGINAL_DST 80
|
||||
|
||||
/* ICMP matching stuff */
|
||||
struct ip6t_icmp {
|
||||
__u8 type; /* type to match */
|
||||
|
|
|
|||
|
|
@ -5,20 +5,17 @@
|
|||
* Lauro Ramos Venancio <lauro.venancio@openbossa.org>
|
||||
* Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* This program is distributed in the hope that 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_NFC_H
|
||||
|
|
@ -60,6 +57,18 @@
|
|||
* target mode.
|
||||
* @NFC_EVENT_DEVICE_DEACTIVATED: event emitted when the adapter is deactivated
|
||||
* from target mode.
|
||||
* @NFC_CMD_LLC_GET_PARAMS: request LTO, RW, and MIUX parameters for a device
|
||||
* @NFC_CMD_LLC_SET_PARAMS: set one or more of LTO, RW, and MIUX parameters for
|
||||
* a device. LTO must be set before the link is up otherwise -EINPROGRESS
|
||||
* is returned. RW and MIUX can be set at anytime and will be passed in
|
||||
* subsequent CONNECT and CC messages.
|
||||
* If one of the passed parameters is wrong none is set and -EINVAL is
|
||||
* returned.
|
||||
* @NFC_CMD_ENABLE_SE: Enable the physical link to a specific secure element.
|
||||
* Once enabled a secure element will handle card emulation mode, i.e.
|
||||
* starting a poll from a device which has a secure element enabled means
|
||||
* we want to do SE based card emulation.
|
||||
* @NFC_CMD_DISABLE_SE: Disable the physical link to a specific secure element.
|
||||
*/
|
||||
enum nfc_commands {
|
||||
NFC_CMD_UNSPEC,
|
||||
|
|
@ -77,6 +86,10 @@ enum nfc_commands {
|
|||
NFC_EVENT_TARGET_LOST,
|
||||
NFC_EVENT_TM_ACTIVATED,
|
||||
NFC_EVENT_TM_DEACTIVATED,
|
||||
NFC_CMD_LLC_GET_PARAMS,
|
||||
NFC_CMD_LLC_SET_PARAMS,
|
||||
NFC_CMD_ENABLE_SE,
|
||||
NFC_CMD_DISABLE_SE,
|
||||
/* private: internal use only */
|
||||
__NFC_CMD_AFTER_LAST
|
||||
};
|
||||
|
|
@ -102,6 +115,10 @@ enum nfc_commands {
|
|||
* @NFC_ATTR_RF_MODE: Initiator or target
|
||||
* @NFC_ATTR_IM_PROTOCOLS: Initiator mode protocols to poll for
|
||||
* @NFC_ATTR_TM_PROTOCOLS: Target mode protocols to listen for
|
||||
* @NFC_ATTR_LLC_PARAM_LTO: Link TimeOut parameter
|
||||
* @NFC_ATTR_LLC_PARAM_RW: Receive Window size parameter
|
||||
* @NFC_ATTR_LLC_PARAM_MIUX: MIU eXtension parameter
|
||||
* @NFC_ATTR_SE: Available Secure Elements
|
||||
*/
|
||||
enum nfc_attrs {
|
||||
NFC_ATTR_UNSPEC,
|
||||
|
|
@ -119,6 +136,10 @@ enum nfc_attrs {
|
|||
NFC_ATTR_DEVICE_POWERED,
|
||||
NFC_ATTR_IM_PROTOCOLS,
|
||||
NFC_ATTR_TM_PROTOCOLS,
|
||||
NFC_ATTR_LLC_PARAM_LTO,
|
||||
NFC_ATTR_LLC_PARAM_RW,
|
||||
NFC_ATTR_LLC_PARAM_MIUX,
|
||||
NFC_ATTR_SE,
|
||||
/* private: internal use only */
|
||||
__NFC_ATTR_AFTER_LAST
|
||||
};
|
||||
|
|
@ -157,6 +178,11 @@ enum nfc_attrs {
|
|||
#define NFC_PROTO_NFC_DEP_MASK (1 << NFC_PROTO_NFC_DEP)
|
||||
#define NFC_PROTO_ISO14443_B_MASK (1 << NFC_PROTO_ISO14443_B)
|
||||
|
||||
/* NFC Secure Elements */
|
||||
#define NFC_SE_NONE 0x0
|
||||
#define NFC_SE_UICC 0x1
|
||||
#define NFC_SE_EMBEDDED 0x2
|
||||
|
||||
struct sockaddr_nfc {
|
||||
sa_family_t sa_family;
|
||||
__u32 dev_idx;
|
||||
|
|
|
|||
|
|
@ -118,8 +118,9 @@
|
|||
* to get a list of all present wiphys.
|
||||
* @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or
|
||||
* %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME,
|
||||
* %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ,
|
||||
* %NL80211_ATTR_WIPHY_CHANNEL_TYPE, %NL80211_ATTR_WIPHY_RETRY_SHORT,
|
||||
* %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ (and the
|
||||
* attributes determining the channel width; this is used for setting
|
||||
* monitor mode channel), %NL80211_ATTR_WIPHY_RETRY_SHORT,
|
||||
* %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD,
|
||||
* and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD.
|
||||
* However, for setting the channel, see %NL80211_CMD_SET_CHANNEL
|
||||
|
|
@ -169,9 +170,10 @@
|
|||
* %NL80211_ATTR_HIDDEN_SSID, %NL80211_ATTR_CIPHERS_PAIRWISE,
|
||||
* %NL80211_ATTR_CIPHER_GROUP, %NL80211_ATTR_WPA_VERSIONS,
|
||||
* %NL80211_ATTR_AKM_SUITES, %NL80211_ATTR_PRIVACY,
|
||||
* %NL80211_ATTR_AUTH_TYPE and %NL80211_ATTR_INACTIVITY_TIMEOUT.
|
||||
* %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_INACTIVITY_TIMEOUT,
|
||||
* %NL80211_ATTR_ACL_POLICY and %NL80211_ATTR_MAC_ADDRS.
|
||||
* The channel to use can be set on the interface or be given using the
|
||||
* %NL80211_ATTR_WIPHY_FREQ and %NL80211_ATTR_WIPHY_CHANNEL_TYPE attrs.
|
||||
* %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel width.
|
||||
* @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP
|
||||
* @NL80211_CMD_STOP_AP: Stop AP operation on the given interface
|
||||
* @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP
|
||||
|
|
@ -373,8 +375,8 @@
|
|||
* requests to connect to a specified network but without separating
|
||||
* auth and assoc steps. For this, you need to specify the SSID in a
|
||||
* %NL80211_ATTR_SSID attribute, and can optionally specify the association
|
||||
* IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_MAC,
|
||||
* %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT,
|
||||
* IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_USE_MFP,
|
||||
* %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT,
|
||||
* %NL80211_ATTR_CONTROL_PORT_ETHERTYPE and
|
||||
* %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT.
|
||||
* Background scan period can optionally be
|
||||
|
|
@ -401,8 +403,7 @@
|
|||
* a response while being associated to an AP on another channel.
|
||||
* %NL80211_ATTR_IFINDEX is used to specify which interface (and thus
|
||||
* radio) is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the
|
||||
* frequency for the operation and %NL80211_ATTR_WIPHY_CHANNEL_TYPE may be
|
||||
* optionally used to specify additional channel parameters.
|
||||
* frequency for the operation.
|
||||
* %NL80211_ATTR_DURATION is used to specify the duration in milliseconds
|
||||
* to remain on the channel. This command is also used as an event to
|
||||
* notify when the requested duration starts (it may take a while for the
|
||||
|
|
@ -440,12 +441,11 @@
|
|||
* as an event indicating reception of a frame that was not processed in
|
||||
* kernel code, but is for us (i.e., which may need to be processed in a
|
||||
* user space application). %NL80211_ATTR_FRAME is used to specify the
|
||||
* frame contents (including header). %NL80211_ATTR_WIPHY_FREQ (and
|
||||
* optionally %NL80211_ATTR_WIPHY_CHANNEL_TYPE) is used to indicate on
|
||||
* which channel the frame is to be transmitted or was received. If this
|
||||
* channel is not the current channel (remain-on-channel or the
|
||||
* operational channel) the device will switch to the given channel and
|
||||
* transmit the frame, optionally waiting for a response for the time
|
||||
* frame contents (including header). %NL80211_ATTR_WIPHY_FREQ is used
|
||||
* to indicate on which channel the frame is to be transmitted or was
|
||||
* received. If this channel is not the current channel (remain-on-channel
|
||||
* or the operational channel) the device will switch to the given channel
|
||||
* and transmit the frame, optionally waiting for a response for the time
|
||||
* specified using %NL80211_ATTR_DURATION. When called, this operation
|
||||
* returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the
|
||||
* TX status event pertaining to the TX request.
|
||||
|
|
@ -473,8 +473,8 @@
|
|||
* command is used as an event to indicate the that a trigger level was
|
||||
* reached.
|
||||
* @NL80211_CMD_SET_CHANNEL: Set the channel (using %NL80211_ATTR_WIPHY_FREQ
|
||||
* and %NL80211_ATTR_WIPHY_CHANNEL_TYPE) the given interface (identifed
|
||||
* by %NL80211_ATTR_IFINDEX) shall operate on.
|
||||
* and the attributes determining channel width) the given interface
|
||||
* (identifed by %NL80211_ATTR_IFINDEX) shall operate on.
|
||||
* In case multiple channels are supported by the device, the mechanism
|
||||
* with which it switches channels is implementation-defined.
|
||||
* When a monitor interface is given, it can only switch channel while
|
||||
|
|
@ -513,6 +513,12 @@
|
|||
* command with the %NL80211_ATTR_WOWLAN_TRIGGERS attribute. For
|
||||
* more background information, see
|
||||
* http://wireless.kernel.org/en/users/Documentation/WoWLAN.
|
||||
* The @NL80211_CMD_SET_WOWLAN command can also be used as a notification
|
||||
* from the driver reporting the wakeup reason. In this case, the
|
||||
* @NL80211_ATTR_WOWLAN_TRIGGERS attribute will contain the reason
|
||||
* for the wakeup, if it was caused by wireless. If it is not present
|
||||
* in the wakeup notification, the wireless device didn't cause the
|
||||
* wakeup but reports that it was woken up.
|
||||
*
|
||||
* @NL80211_CMD_SET_REKEY_OFFLOAD: This command is used give the driver
|
||||
* the necessary information for supporting GTK rekey offload. This
|
||||
|
|
@ -526,6 +532,12 @@
|
|||
* of PMKSA caching dandidates.
|
||||
*
|
||||
* @NL80211_CMD_TDLS_OPER: Perform a high-level TDLS command (e.g. link setup).
|
||||
* In addition, this can be used as an event to request userspace to take
|
||||
* actions on TDLS links (set up a new link or tear down an existing one).
|
||||
* In such events, %NL80211_ATTR_TDLS_OPERATION indicates the requested
|
||||
* operation, %NL80211_ATTR_MAC contains the peer MAC address, and
|
||||
* %NL80211_ATTR_REASON_CODE the reason code to be used (only with
|
||||
* %NL80211_TDLS_TEARDOWN).
|
||||
* @NL80211_CMD_TDLS_MGMT: Send a TDLS management frame.
|
||||
*
|
||||
* @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP
|
||||
|
|
@ -562,8 +574,8 @@
|
|||
*
|
||||
* @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels
|
||||
* independently of the userspace SME, send this event indicating
|
||||
* %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ with
|
||||
* %NL80211_ATTR_WIPHY_CHANNEL_TYPE.
|
||||
* %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the
|
||||
* attributes determining channel width.
|
||||
*
|
||||
* @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by
|
||||
* its %NL80211_ATTR_WDEV identifier. It must have been created with
|
||||
|
|
@ -578,6 +590,27 @@
|
|||
* station, due to particular reason. %NL80211_ATTR_CONN_FAILED_REASON
|
||||
* is used for this.
|
||||
*
|
||||
* @NL80211_CMD_SET_MCAST_RATE: Change the rate used to send multicast frames
|
||||
* for IBSS or MESH vif.
|
||||
*
|
||||
* @NL80211_CMD_SET_MAC_ACL: sets ACL for MAC address based access control.
|
||||
* This is to be used with the drivers advertising the support of MAC
|
||||
* address based access control. List of MAC addresses is passed in
|
||||
* %NL80211_ATTR_MAC_ADDRS and ACL policy is passed in
|
||||
* %NL80211_ATTR_ACL_POLICY. Driver will enable ACL with this list, if it
|
||||
* is not already done. The new list will replace any existing list. Driver
|
||||
* will clear its ACL when the list of MAC addresses passed is empty. This
|
||||
* command is used in AP/P2P GO mode. Driver has to make sure to clear its
|
||||
* ACL list during %NL80211_CMD_STOP_AP.
|
||||
*
|
||||
* @NL80211_CMD_RADAR_DETECT: Start a Channel availability check (CAC). Once
|
||||
* a radar is detected or the channel availability scan (CAC) has finished
|
||||
* or was aborted, or a radar was detected, usermode will be notified with
|
||||
* this event. This command is also used to notify userspace about radars
|
||||
* while operating on this channel.
|
||||
* %NL80211_ATTR_RADAR_EVENT is used to inform about the type of the
|
||||
* event.
|
||||
*
|
||||
* @NL80211_CMD_MAX: highest used command number
|
||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||
*/
|
||||
|
|
@ -726,6 +759,12 @@ enum nl80211_commands {
|
|||
|
||||
NL80211_CMD_CONN_FAILED,
|
||||
|
||||
NL80211_CMD_SET_MCAST_RATE,
|
||||
|
||||
NL80211_CMD_SET_MAC_ACL,
|
||||
|
||||
NL80211_CMD_RADAR_DETECT,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
/* used to define NL80211_CMD_MAX below */
|
||||
|
|
@ -762,14 +801,26 @@ enum nl80211_commands {
|
|||
* /sys/class/ieee80211/<phyname>/index
|
||||
* @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming)
|
||||
* @NL80211_ATTR_WIPHY_TXQ_PARAMS: a nested array of TX queue parameters
|
||||
* @NL80211_ATTR_WIPHY_FREQ: frequency of the selected channel in MHz
|
||||
* @NL80211_ATTR_WIPHY_FREQ: frequency of the selected channel in MHz,
|
||||
* defines the channel together with the (deprecated)
|
||||
* %NL80211_ATTR_WIPHY_CHANNEL_TYPE attribute or the attributes
|
||||
* %NL80211_ATTR_CHANNEL_WIDTH and if needed %NL80211_ATTR_CENTER_FREQ1
|
||||
* and %NL80211_ATTR_CENTER_FREQ2
|
||||
* @NL80211_ATTR_CHANNEL_WIDTH: u32 attribute containing one of the values
|
||||
* of &enum nl80211_chan_width, describing the channel width. See the
|
||||
* documentation of the enum for more information.
|
||||
* @NL80211_ATTR_CENTER_FREQ1: Center frequency of the first part of the
|
||||
* channel, used for anything but 20 MHz bandwidth
|
||||
* @NL80211_ATTR_CENTER_FREQ2: Center frequency of the second part of the
|
||||
* channel, used only for 80+80 MHz bandwidth
|
||||
* @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ
|
||||
* if HT20 or HT40 are allowed (i.e., 802.11n disabled if not included):
|
||||
* if HT20 or HT40 are to be used (i.e., HT disabled if not included):
|
||||
* NL80211_CHAN_NO_HT = HT not allowed (i.e., same as not including
|
||||
* this attribute)
|
||||
* NL80211_CHAN_HT20 = HT20 only
|
||||
* NL80211_CHAN_HT40MINUS = secondary channel is below the primary channel
|
||||
* NL80211_CHAN_HT40PLUS = secondary channel is above the primary channel
|
||||
* This attribute is now deprecated.
|
||||
* @NL80211_ATTR_WIPHY_RETRY_SHORT: TX retry limit for frames whose length is
|
||||
* less than or equal to the RTS threshold; allowed range: 1..255;
|
||||
* dot11ShortRetryLimit; u8
|
||||
|
|
@ -936,7 +987,7 @@ enum nl80211_commands {
|
|||
* @NL80211_ATTR_USE_MFP: Whether management frame protection (IEEE 802.11w) is
|
||||
* used for the association (&enum nl80211_mfp, represented as a u32);
|
||||
* this attribute can be used
|
||||
* with %NL80211_CMD_ASSOCIATE request
|
||||
* with %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests
|
||||
*
|
||||
* @NL80211_ATTR_STA_FLAGS2: Attribute containing a
|
||||
* &struct nl80211_sta_flag_update.
|
||||
|
|
@ -1273,6 +1324,50 @@ enum nl80211_commands {
|
|||
* the connection request from a station. nl80211_connect_failed_reason
|
||||
* enum has different reasons of connection failure.
|
||||
*
|
||||
* @NL80211_ATTR_SAE_DATA: SAE elements in Authentication frames. This starts
|
||||
* with the Authentication transaction sequence number field.
|
||||
*
|
||||
* @NL80211_ATTR_VHT_CAPABILITY: VHT Capability information element (from
|
||||
* association request when used with NL80211_CMD_NEW_STATION)
|
||||
*
|
||||
* @NL80211_ATTR_SCAN_FLAGS: scan request control flags (u32)
|
||||
*
|
||||
* @NL80211_ATTR_P2P_CTWINDOW: P2P GO Client Traffic Window (u8), used with
|
||||
* the START_AP and SET_BSS commands
|
||||
* @NL80211_ATTR_P2P_OPPPS: P2P GO opportunistic PS (u8), used with the
|
||||
* START_AP and SET_BSS commands. This can have the values 0 or 1;
|
||||
* if not given in START_AP 0 is assumed, if not given in SET_BSS
|
||||
* no change is made.
|
||||
*
|
||||
* @NL80211_ATTR_LOCAL_MESH_POWER_MODE: local mesh STA link-specific power mode
|
||||
* defined in &enum nl80211_mesh_power_mode.
|
||||
*
|
||||
* @NL80211_ATTR_ACL_POLICY: ACL policy, see &enum nl80211_acl_policy,
|
||||
* carried in a u32 attribute
|
||||
*
|
||||
* @NL80211_ATTR_MAC_ADDRS: Array of nested MAC addresses, used for
|
||||
* MAC ACL.
|
||||
*
|
||||
* @NL80211_ATTR_MAC_ACL_MAX: u32 attribute to advertise the maximum
|
||||
* number of MAC addresses that a device can support for MAC
|
||||
* ACL.
|
||||
*
|
||||
* @NL80211_ATTR_RADAR_EVENT: Type of radar event for notification to userspace,
|
||||
* contains a value of enum nl80211_radar_event (u32).
|
||||
*
|
||||
* @NL80211_ATTR_EXT_CAPA: 802.11 extended capabilities that the kernel driver
|
||||
* has and handles. The format is the same as the IE contents. See
|
||||
* 802.11-2012 8.4.2.29 for more information.
|
||||
* @NL80211_ATTR_EXT_CAPA_MASK: Extended capabilities that the kernel driver
|
||||
* has set in the %NL80211_ATTR_EXT_CAPA value, for multibit fields.
|
||||
*
|
||||
* @NL80211_ATTR_STA_CAPABILITY: Station capabilities (u16) are advertised to
|
||||
* the driver, e.g., to enable TDLS power save (PU-APSD).
|
||||
*
|
||||
* @NL80211_ATTR_STA_EXT_CAPABILITY: Station extended capabilities are
|
||||
* advertised to the driver, e.g., to enable TDLS off channel operations
|
||||
* and PU-APSD.
|
||||
*
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
|
|
@ -1530,6 +1625,35 @@ enum nl80211_attrs {
|
|||
|
||||
NL80211_ATTR_CONN_FAILED_REASON,
|
||||
|
||||
NL80211_ATTR_SAE_DATA,
|
||||
|
||||
NL80211_ATTR_VHT_CAPABILITY,
|
||||
|
||||
NL80211_ATTR_SCAN_FLAGS,
|
||||
|
||||
NL80211_ATTR_CHANNEL_WIDTH,
|
||||
NL80211_ATTR_CENTER_FREQ1,
|
||||
NL80211_ATTR_CENTER_FREQ2,
|
||||
|
||||
NL80211_ATTR_P2P_CTWINDOW,
|
||||
NL80211_ATTR_P2P_OPPPS,
|
||||
|
||||
NL80211_ATTR_LOCAL_MESH_POWER_MODE,
|
||||
|
||||
NL80211_ATTR_ACL_POLICY,
|
||||
|
||||
NL80211_ATTR_MAC_ADDRS,
|
||||
|
||||
NL80211_ATTR_MAC_ACL_MAX,
|
||||
|
||||
NL80211_ATTR_RADAR_EVENT,
|
||||
|
||||
NL80211_ATTR_EXT_CAPA,
|
||||
NL80211_ATTR_EXT_CAPA_MASK,
|
||||
|
||||
NL80211_ATTR_STA_CAPABILITY,
|
||||
NL80211_ATTR_STA_EXT_CAPABILITY,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
|
|
@ -1573,6 +1697,7 @@ enum nl80211_attrs {
|
|||
#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
|
||||
#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
|
||||
#define NL80211_HT_CAPABILITY_LEN 26
|
||||
#define NL80211_VHT_CAPABILITY_LEN 12
|
||||
|
||||
#define NL80211_MAX_NR_CIPHER_SUITES 5
|
||||
#define NL80211_MAX_NR_AKM_SUITES 2
|
||||
|
|
@ -1646,6 +1771,9 @@ enum nl80211_iftype {
|
|||
* flag can't be changed, it is only valid while adding a station, and
|
||||
* attempts to change it will silently be ignored (rather than rejected
|
||||
* as errors.)
|
||||
* @NL80211_STA_FLAG_ASSOCIATED: station is associated; used with drivers
|
||||
* that support %NL80211_FEATURE_FULL_AP_CLIENT_STATE to transition a
|
||||
* previously added station into associated state
|
||||
* @NL80211_STA_FLAG_MAX: highest station flag number currently defined
|
||||
* @__NL80211_STA_FLAG_AFTER_LAST: internal use
|
||||
*/
|
||||
|
|
@ -1657,6 +1785,7 @@ enum nl80211_sta_flags {
|
|||
NL80211_STA_FLAG_MFP,
|
||||
NL80211_STA_FLAG_AUTHENTICATED,
|
||||
NL80211_STA_FLAG_TDLS_PEER,
|
||||
NL80211_STA_FLAG_ASSOCIATED,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_FLAG_AFTER_LAST,
|
||||
|
|
@ -1693,10 +1822,15 @@ struct nl80211_sta_flag_update {
|
|||
* @__NL80211_RATE_INFO_INVALID: attribute number 0 is reserved
|
||||
* @NL80211_RATE_INFO_BITRATE: total bitrate (u16, 100kbit/s)
|
||||
* @NL80211_RATE_INFO_MCS: mcs index for 802.11n (u8)
|
||||
* @NL80211_RATE_INFO_40_MHZ_WIDTH: 40 Mhz dualchannel bitrate
|
||||
* @NL80211_RATE_INFO_40_MHZ_WIDTH: 40 MHz dualchannel bitrate
|
||||
* @NL80211_RATE_INFO_SHORT_GI: 400ns guard interval
|
||||
* @NL80211_RATE_INFO_BITRATE32: total bitrate (u32, 100kbit/s)
|
||||
* @NL80211_RATE_INFO_MAX: highest rate_info number currently defined
|
||||
* @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8)
|
||||
* @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8)
|
||||
* @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate
|
||||
* @NL80211_RATE_INFO_80P80_MHZ_WIDTH: 80+80 MHz VHT rate
|
||||
* @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate
|
||||
* @__NL80211_RATE_INFO_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_rate_info {
|
||||
|
|
@ -1706,6 +1840,11 @@ enum nl80211_rate_info {
|
|||
NL80211_RATE_INFO_40_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_SHORT_GI,
|
||||
NL80211_RATE_INFO_BITRATE32,
|
||||
NL80211_RATE_INFO_VHT_MCS,
|
||||
NL80211_RATE_INFO_VHT_NSS,
|
||||
NL80211_RATE_INFO_80_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_80P80_MHZ_WIDTH,
|
||||
NL80211_RATE_INFO_160_MHZ_WIDTH,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_RATE_INFO_AFTER_LAST,
|
||||
|
|
@ -1752,6 +1891,8 @@ enum nl80211_sta_bss_param {
|
|||
* @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs)
|
||||
* @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station)
|
||||
* @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station)
|
||||
* @NL80211_STA_INFO_RX_BYTES64: total received bytes (u64, from this station)
|
||||
* @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (u64, to this station)
|
||||
* @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
|
||||
* @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
|
||||
* containing info as possible, see &enum nl80211_rate_info
|
||||
|
|
@ -1773,6 +1914,10 @@ enum nl80211_sta_bss_param {
|
|||
* @NL80211_STA_INFO_STA_FLAGS: Contains a struct nl80211_sta_flag_update.
|
||||
* @NL80211_STA_INFO_BEACON_LOSS: count of times beacon loss was detected (u32)
|
||||
* @NL80211_STA_INFO_T_OFFSET: timing offset with respect to this STA (s64)
|
||||
* @NL80211_STA_INFO_LOCAL_PM: local mesh STA link-specific power mode
|
||||
* @NL80211_STA_INFO_PEER_PM: peer mesh STA link-specific power mode
|
||||
* @NL80211_STA_INFO_NONPEER_PM: neighbor mesh STA power save mode towards
|
||||
* non-peer STA
|
||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||
*/
|
||||
|
|
@ -1797,6 +1942,11 @@ enum nl80211_sta_info {
|
|||
NL80211_STA_INFO_STA_FLAGS,
|
||||
NL80211_STA_INFO_BEACON_LOSS,
|
||||
NL80211_STA_INFO_T_OFFSET,
|
||||
NL80211_STA_INFO_LOCAL_PM,
|
||||
NL80211_STA_INFO_PEER_PM,
|
||||
NL80211_STA_INFO_NONPEER_PM,
|
||||
NL80211_STA_INFO_RX_BYTES64,
|
||||
NL80211_STA_INFO_TX_BYTES64,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_INFO_AFTER_LAST,
|
||||
|
|
@ -1906,6 +2056,20 @@ enum nl80211_band_attr {
|
|||
* on this channel in current regulatory domain.
|
||||
* @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm
|
||||
* (100 * dBm).
|
||||
* @NL80211_FREQUENCY_ATTR_DFS_STATE: current state for DFS
|
||||
* (enum nl80211_dfs_state)
|
||||
* @NL80211_FREQUENCY_ATTR_DFS_TIME: time in miliseconds for how long
|
||||
* this channel is in this DFS state.
|
||||
* @NL80211_FREQUENCY_ATTR_NO_HT40_MINUS: HT40- isn't possible with this
|
||||
* channel as the control channel
|
||||
* @NL80211_FREQUENCY_ATTR_NO_HT40_PLUS: HT40+ isn't possible with this
|
||||
* channel as the control channel
|
||||
* @NL80211_FREQUENCY_ATTR_NO_80MHZ: any 80 MHz channel using this channel
|
||||
* as the primary or any of the secondary channels isn't possible,
|
||||
* this includes 80+80 channels
|
||||
* @NL80211_FREQUENCY_ATTR_NO_160MHZ: any 160 MHz (but not 80+80) channel
|
||||
* using this channel as the primary or any of the secondary channels
|
||||
* isn't possible
|
||||
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
||||
* currently defined
|
||||
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
||||
|
|
@ -1918,6 +2082,12 @@ enum nl80211_frequency_attr {
|
|||
NL80211_FREQUENCY_ATTR_NO_IBSS,
|
||||
NL80211_FREQUENCY_ATTR_RADAR,
|
||||
NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
|
||||
NL80211_FREQUENCY_ATTR_DFS_STATE,
|
||||
NL80211_FREQUENCY_ATTR_DFS_TIME,
|
||||
NL80211_FREQUENCY_ATTR_NO_HT40_MINUS,
|
||||
NL80211_FREQUENCY_ATTR_NO_HT40_PLUS,
|
||||
NL80211_FREQUENCY_ATTR_NO_80MHZ,
|
||||
NL80211_FREQUENCY_ATTR_NO_160MHZ,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
||||
|
|
@ -2187,6 +2357,34 @@ enum nl80211_mntr_flags {
|
|||
NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_mesh_power_mode - mesh power save modes
|
||||
*
|
||||
* @NL80211_MESH_POWER_UNKNOWN: The mesh power mode of the mesh STA is
|
||||
* not known or has not been set yet.
|
||||
* @NL80211_MESH_POWER_ACTIVE: Active mesh power mode. The mesh STA is
|
||||
* in Awake state all the time.
|
||||
* @NL80211_MESH_POWER_LIGHT_SLEEP: Light sleep mode. The mesh STA will
|
||||
* alternate between Active and Doze states, but will wake up for
|
||||
* neighbor's beacons.
|
||||
* @NL80211_MESH_POWER_DEEP_SLEEP: Deep sleep mode. The mesh STA will
|
||||
* alternate between Active and Doze states, but may not wake up
|
||||
* for neighbor's beacons.
|
||||
*
|
||||
* @__NL80211_MESH_POWER_AFTER_LAST - internal use
|
||||
* @NL80211_MESH_POWER_MAX - highest possible power save level
|
||||
*/
|
||||
|
||||
enum nl80211_mesh_power_mode {
|
||||
NL80211_MESH_POWER_UNKNOWN,
|
||||
NL80211_MESH_POWER_ACTIVE,
|
||||
NL80211_MESH_POWER_LIGHT_SLEEP,
|
||||
NL80211_MESH_POWER_DEEP_SLEEP,
|
||||
|
||||
__NL80211_MESH_POWER_AFTER_LAST,
|
||||
NL80211_MESH_POWER_MAX = __NL80211_MESH_POWER_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_meshconf_params - mesh configuration parameters
|
||||
*
|
||||
|
|
@ -2281,6 +2479,11 @@ enum nl80211_mntr_flags {
|
|||
* (in TUs) during which a mesh STA can send only one Action frame
|
||||
* containing a PREQ element for root path confirmation.
|
||||
*
|
||||
* @NL80211_MESHCONF_POWER_MODE: Default mesh power mode for new peer links.
|
||||
* type &enum nl80211_mesh_power_mode (u32)
|
||||
*
|
||||
* @NL80211_MESHCONF_AWAKE_WINDOW: awake window duration (in TUs)
|
||||
*
|
||||
* @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_meshconf_params {
|
||||
|
|
@ -2310,6 +2513,8 @@ enum nl80211_meshconf_params {
|
|||
NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT,
|
||||
NL80211_MESHCONF_HWMP_ROOT_INTERVAL,
|
||||
NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL,
|
||||
NL80211_MESHCONF_POWER_MODE,
|
||||
NL80211_MESHCONF_AWAKE_WINDOW,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_MESHCONF_ATTR_AFTER_LAST,
|
||||
|
|
@ -2414,6 +2619,15 @@ enum nl80211_ac {
|
|||
#define NL80211_TXQ_Q_BE NL80211_AC_BE
|
||||
#define NL80211_TXQ_Q_BK NL80211_AC_BK
|
||||
|
||||
/**
|
||||
* enum nl80211_channel_type - channel type
|
||||
* @NL80211_CHAN_NO_HT: 20 MHz, non-HT channel
|
||||
* @NL80211_CHAN_HT20: 20 MHz HT channel
|
||||
* @NL80211_CHAN_HT40MINUS: HT40 channel, secondary channel
|
||||
* below the control channel
|
||||
* @NL80211_CHAN_HT40PLUS: HT40 channel, secondary channel
|
||||
* above the control channel
|
||||
*/
|
||||
enum nl80211_channel_type {
|
||||
NL80211_CHAN_NO_HT,
|
||||
NL80211_CHAN_HT20,
|
||||
|
|
@ -2421,6 +2635,32 @@ enum nl80211_channel_type {
|
|||
NL80211_CHAN_HT40PLUS
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_chan_width - channel width definitions
|
||||
*
|
||||
* These values are used with the %NL80211_ATTR_CHANNEL_WIDTH
|
||||
* attribute.
|
||||
*
|
||||
* @NL80211_CHAN_WIDTH_20_NOHT: 20 MHz, non-HT channel
|
||||
* @NL80211_CHAN_WIDTH_20: 20 MHz HT channel
|
||||
* @NL80211_CHAN_WIDTH_40: 40 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
|
||||
* attribute must be provided as well
|
||||
* @NL80211_CHAN_WIDTH_80: 80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
|
||||
* attribute must be provided as well
|
||||
* @NL80211_CHAN_WIDTH_80P80: 80+80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
|
||||
* and %NL80211_ATTR_CENTER_FREQ2 attributes must be provided as well
|
||||
* @NL80211_CHAN_WIDTH_160: 160 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
|
||||
* attribute must be provided as well
|
||||
*/
|
||||
enum nl80211_chan_width {
|
||||
NL80211_CHAN_WIDTH_20_NOHT,
|
||||
NL80211_CHAN_WIDTH_20,
|
||||
NL80211_CHAN_WIDTH_40,
|
||||
NL80211_CHAN_WIDTH_80,
|
||||
NL80211_CHAN_WIDTH_80P80,
|
||||
NL80211_CHAN_WIDTH_160,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_bss - netlink attributes for a BSS
|
||||
*
|
||||
|
|
@ -2489,6 +2729,7 @@ enum nl80211_bss_status {
|
|||
* @NL80211_AUTHTYPE_SHARED_KEY: Shared Key authentication (WEP only)
|
||||
* @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r)
|
||||
* @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP)
|
||||
* @NL80211_AUTHTYPE_SAE: Simultaneous authentication of equals
|
||||
* @__NL80211_AUTHTYPE_NUM: internal
|
||||
* @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm
|
||||
* @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by
|
||||
|
|
@ -2500,6 +2741,7 @@ enum nl80211_auth_type {
|
|||
NL80211_AUTHTYPE_SHARED_KEY,
|
||||
NL80211_AUTHTYPE_FT,
|
||||
NL80211_AUTHTYPE_NETWORK_EAP,
|
||||
NL80211_AUTHTYPE_SAE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_AUTHTYPE_NUM,
|
||||
|
|
@ -2718,10 +2960,12 @@ enum nl80211_tx_power_setting {
|
|||
* corresponds to the lowest-order bit in the second byte of the mask.
|
||||
* For example: The match 00:xx:00:00:xx:00:00:00:00:xx:xx:xx (where
|
||||
* xx indicates "don't care") would be represented by a pattern of
|
||||
* twelve zero bytes, and a mask of "0xed,0x07".
|
||||
* twelve zero bytes, and a mask of "0xed,0x01".
|
||||
* Note that the pattern matching is done as though frames were not
|
||||
* 802.11 frames but 802.3 frames, i.e. the frame is fully unpacked
|
||||
* first (including SNAP header unpacking) and then matched.
|
||||
* @NL80211_WOWLAN_PKTPAT_OFFSET: packet offset, pattern is matched after
|
||||
* these fixed number of bytes of received packet
|
||||
* @NUM_NL80211_WOWLAN_PKTPAT: number of attributes
|
||||
* @MAX_NL80211_WOWLAN_PKTPAT: max attribute number
|
||||
*/
|
||||
|
|
@ -2729,6 +2973,7 @@ enum nl80211_wowlan_packet_pattern_attr {
|
|||
__NL80211_WOWLAN_PKTPAT_INVALID,
|
||||
NL80211_WOWLAN_PKTPAT_MASK,
|
||||
NL80211_WOWLAN_PKTPAT_PATTERN,
|
||||
NL80211_WOWLAN_PKTPAT_OFFSET,
|
||||
|
||||
NUM_NL80211_WOWLAN_PKTPAT,
|
||||
MAX_NL80211_WOWLAN_PKTPAT = NUM_NL80211_WOWLAN_PKTPAT - 1,
|
||||
|
|
@ -2739,6 +2984,7 @@ enum nl80211_wowlan_packet_pattern_attr {
|
|||
* @max_patterns: maximum number of patterns supported
|
||||
* @min_pattern_len: minimum length of each pattern
|
||||
* @max_pattern_len: maximum length of each pattern
|
||||
* @max_pkt_offset: maximum Rx packet offset
|
||||
*
|
||||
* This struct is carried in %NL80211_WOWLAN_TRIG_PKT_PATTERN when
|
||||
* that is part of %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED in the
|
||||
|
|
@ -2748,6 +2994,7 @@ struct nl80211_wowlan_pattern_support {
|
|||
__u32 max_patterns;
|
||||
__u32 min_pattern_len;
|
||||
__u32 max_pattern_len;
|
||||
__u32 max_pkt_offset;
|
||||
} __attribute__((packed));
|
||||
|
||||
/**
|
||||
|
|
@ -2763,12 +3010,17 @@ struct nl80211_wowlan_pattern_support {
|
|||
* @NL80211_WOWLAN_TRIG_PKT_PATTERN: wake up on the specified packet patterns
|
||||
* which are passed in an array of nested attributes, each nested attribute
|
||||
* defining a with attributes from &struct nl80211_wowlan_trig_pkt_pattern.
|
||||
* Each pattern defines a wakeup packet. The matching is done on the MSDU,
|
||||
* i.e. as though the packet was an 802.3 packet, so the pattern matching
|
||||
* is done after the packet is converted to the MSDU.
|
||||
* Each pattern defines a wakeup packet. Packet offset is associated with
|
||||
* each pattern which is used while matching the pattern. The matching is
|
||||
* done on the MSDU, i.e. as though the packet was an 802.3 packet, so the
|
||||
* pattern matching is done after the packet is converted to the MSDU.
|
||||
*
|
||||
* In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute
|
||||
* carrying a &struct nl80211_wowlan_pattern_support.
|
||||
*
|
||||
* When reporting wakeup. it is a u32 attribute containing the 0-based
|
||||
* index of the pattern that caused the wakeup, in the patterns passed
|
||||
* to the kernel when configuring.
|
||||
* @NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED: Not a real trigger, and cannot be
|
||||
* used when setting, used only to indicate that GTK rekeying is supported
|
||||
* by the device (flag)
|
||||
|
|
@ -2779,8 +3031,36 @@ struct nl80211_wowlan_pattern_support {
|
|||
* @NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE: wake up on 4-way handshake (flag)
|
||||
* @NL80211_WOWLAN_TRIG_RFKILL_RELEASE: wake up when rfkill is released
|
||||
* (on devices that have rfkill in the device) (flag)
|
||||
* @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211: For wakeup reporting only, contains
|
||||
* the 802.11 packet that caused the wakeup, e.g. a deauth frame. The frame
|
||||
* may be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN
|
||||
* attribute contains the original length.
|
||||
* @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN: Original length of the 802.11
|
||||
* packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211
|
||||
* attribute if the packet was truncated somewhere.
|
||||
* @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023: For wakeup reporting only, contains the
|
||||
* 802.11 packet that caused the wakeup, e.g. a magic packet. The frame may
|
||||
* be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN attribute
|
||||
* contains the original length.
|
||||
* @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN: Original length of the 802.3
|
||||
* packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023
|
||||
* attribute if the packet was truncated somewhere.
|
||||
* @NL80211_WOWLAN_TRIG_TCP_CONNECTION: TCP connection wake, see DOC section
|
||||
* "TCP connection wakeup" for more details. This is a nested attribute
|
||||
* containing the exact information for establishing and keeping alive
|
||||
* the TCP connection.
|
||||
* @NL80211_WOWLAN_TRIG_TCP_WAKEUP_MATCH: For wakeup reporting only, the
|
||||
* wakeup packet was received on the TCP connection
|
||||
* @NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST: For wakeup reporting only, the
|
||||
* TCP connection was lost or failed to be established
|
||||
* @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only,
|
||||
* the TCP connection ran out of tokens to use for data to send to the
|
||||
* service
|
||||
* @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers
|
||||
* @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number
|
||||
*
|
||||
* These nested attributes are used to configure the wakeup triggers and
|
||||
* to report the wakeup reason(s).
|
||||
*/
|
||||
enum nl80211_wowlan_triggers {
|
||||
__NL80211_WOWLAN_TRIG_INVALID,
|
||||
|
|
@ -2793,12 +3073,130 @@ enum nl80211_wowlan_triggers {
|
|||
NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST,
|
||||
NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE,
|
||||
NL80211_WOWLAN_TRIG_RFKILL_RELEASE,
|
||||
NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211,
|
||||
NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN,
|
||||
NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023,
|
||||
NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN,
|
||||
NL80211_WOWLAN_TRIG_TCP_CONNECTION,
|
||||
NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH,
|
||||
NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST,
|
||||
NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_WOWLAN_TRIG,
|
||||
MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* DOC: TCP connection wakeup
|
||||
*
|
||||
* Some devices can establish a TCP connection in order to be woken up by a
|
||||
* packet coming in from outside their network segment, or behind NAT. If
|
||||
* configured, the device will establish a TCP connection to the given
|
||||
* service, and periodically send data to that service. The first data
|
||||
* packet is usually transmitted after SYN/ACK, also ACKing the SYN/ACK.
|
||||
* The data packets can optionally include a (little endian) sequence
|
||||
* number (in the TCP payload!) that is generated by the device, and, also
|
||||
* optionally, a token from a list of tokens. This serves as a keep-alive
|
||||
* with the service, and for NATed connections, etc.
|
||||
*
|
||||
* During this keep-alive period, the server doesn't send any data to the
|
||||
* client. When receiving data, it is compared against the wakeup pattern
|
||||
* (and mask) and if it matches, the host is woken up. Similarly, if the
|
||||
* connection breaks or cannot be established to start with, the host is
|
||||
* also woken up.
|
||||
*
|
||||
* Developer's note: ARP offload is required for this, otherwise TCP
|
||||
* response packets might not go through correctly.
|
||||
*/
|
||||
|
||||
/**
|
||||
* struct nl80211_wowlan_tcp_data_seq - WoWLAN TCP data sequence
|
||||
* @start: starting value
|
||||
* @offset: offset of sequence number in packet
|
||||
* @len: length of the sequence value to write, 1 through 4
|
||||
*
|
||||
* Note: don't confuse with the TCP sequence number(s), this is for the
|
||||
* keepalive packet payload. The actual value is written into the packet
|
||||
* in little endian.
|
||||
*/
|
||||
struct nl80211_wowlan_tcp_data_seq {
|
||||
__u32 start, offset, len;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct nl80211_wowlan_tcp_data_token - WoWLAN TCP data token config
|
||||
* @offset: offset of token in packet
|
||||
* @len: length of each token
|
||||
* @token_stream: stream of data to be used for the tokens, the length must
|
||||
* be a multiple of @len for this to make sense
|
||||
*/
|
||||
struct nl80211_wowlan_tcp_data_token {
|
||||
__u32 offset, len;
|
||||
__u8 token_stream[];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct nl80211_wowlan_tcp_data_token_feature - data token features
|
||||
* @min_len: minimum token length
|
||||
* @max_len: maximum token length
|
||||
* @bufsize: total available token buffer size (max size of @token_stream)
|
||||
*/
|
||||
struct nl80211_wowlan_tcp_data_token_feature {
|
||||
__u32 min_len, max_len, bufsize;
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_wowlan_tcp_attrs - WoWLAN TCP connection parameters
|
||||
* @__NL80211_WOWLAN_TCP_INVALID: invalid number for nested attributes
|
||||
* @NL80211_WOWLAN_TCP_SRC_IPV4: source IPv4 address (in network byte order)
|
||||
* @NL80211_WOWLAN_TCP_DST_IPV4: destination IPv4 address
|
||||
* (in network byte order)
|
||||
* @NL80211_WOWLAN_TCP_DST_MAC: destination MAC address, this is given because
|
||||
* route lookup when configured might be invalid by the time we suspend,
|
||||
* and doing a route lookup when suspending is no longer possible as it
|
||||
* might require ARP querying.
|
||||
* @NL80211_WOWLAN_TCP_SRC_PORT: source port (u16); optional, if not given a
|
||||
* socket and port will be allocated
|
||||
* @NL80211_WOWLAN_TCP_DST_PORT: destination port (u16)
|
||||
* @NL80211_WOWLAN_TCP_DATA_PAYLOAD: data packet payload, at least one byte.
|
||||
* For feature advertising, a u32 attribute holding the maximum length
|
||||
* of the data payload.
|
||||
* @NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ: data packet sequence configuration
|
||||
* (if desired), a &struct nl80211_wowlan_tcp_data_seq. For feature
|
||||
* advertising it is just a flag
|
||||
* @NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN: data packet token configuration,
|
||||
* see &struct nl80211_wowlan_tcp_data_token and for advertising see
|
||||
* &struct nl80211_wowlan_tcp_data_token_feature.
|
||||
* @NL80211_WOWLAN_TCP_DATA_INTERVAL: data interval in seconds, maximum
|
||||
* interval in feature advertising (u32)
|
||||
* @NL80211_WOWLAN_TCP_WAKE_PAYLOAD: wake packet payload, for advertising a
|
||||
* u32 attribute holding the maximum length
|
||||
* @NL80211_WOWLAN_TCP_WAKE_MASK: Wake packet payload mask, not used for
|
||||
* feature advertising. The mask works like @NL80211_WOWLAN_PKTPAT_MASK
|
||||
* but on the TCP payload only.
|
||||
* @NUM_NL80211_WOWLAN_TCP: number of TCP attributes
|
||||
* @MAX_NL80211_WOWLAN_TCP: highest attribute number
|
||||
*/
|
||||
enum nl80211_wowlan_tcp_attrs {
|
||||
__NL80211_WOWLAN_TCP_INVALID,
|
||||
NL80211_WOWLAN_TCP_SRC_IPV4,
|
||||
NL80211_WOWLAN_TCP_DST_IPV4,
|
||||
NL80211_WOWLAN_TCP_DST_MAC,
|
||||
NL80211_WOWLAN_TCP_SRC_PORT,
|
||||
NL80211_WOWLAN_TCP_DST_PORT,
|
||||
NL80211_WOWLAN_TCP_DATA_PAYLOAD,
|
||||
NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ,
|
||||
NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN,
|
||||
NL80211_WOWLAN_TCP_DATA_INTERVAL,
|
||||
NL80211_WOWLAN_TCP_WAKE_PAYLOAD,
|
||||
NL80211_WOWLAN_TCP_WAKE_MASK,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_WOWLAN_TCP,
|
||||
MAX_NL80211_WOWLAN_TCP = NUM_NL80211_WOWLAN_TCP - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_iface_limit_attrs - limit attributes
|
||||
* @NL80211_IFACE_LIMIT_UNSPEC: (reserved)
|
||||
|
|
@ -2835,6 +3233,8 @@ enum nl80211_iface_limit_attrs {
|
|||
* the infrastructure network's beacon interval.
|
||||
* @NL80211_IFACE_COMB_NUM_CHANNELS: u32 attribute specifying how many
|
||||
* different channels may be used within this group.
|
||||
* @NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS: u32 attribute containing the bitmap
|
||||
* of supported channel widths for radar detection.
|
||||
* @NUM_NL80211_IFACE_COMB: number of attributes
|
||||
* @MAX_NL80211_IFACE_COMB: highest attribute number
|
||||
*
|
||||
|
|
@ -2867,6 +3267,7 @@ enum nl80211_if_combination_attrs {
|
|||
NL80211_IFACE_COMB_MAXNUM,
|
||||
NL80211_IFACE_COMB_STA_AP_BI_MATCH,
|
||||
NL80211_IFACE_COMB_NUM_CHANNELS,
|
||||
NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_IFACE_COMB,
|
||||
|
|
@ -3028,6 +3429,33 @@ enum nl80211_ap_sme_features {
|
|||
* in the interface combinations, even when it's only used for scan
|
||||
* and remain-on-channel. This could be due to, for example, the
|
||||
* remain-on-channel implementation requiring a channel context.
|
||||
* @NL80211_FEATURE_SAE: This driver supports simultaneous authentication of
|
||||
* equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station
|
||||
* mode
|
||||
* @NL80211_FEATURE_LOW_PRIORITY_SCAN: This driver supports low priority scan
|
||||
* @NL80211_FEATURE_SCAN_FLUSH: Scan flush is supported
|
||||
* @NL80211_FEATURE_AP_SCAN: Support scanning using an AP vif
|
||||
* @NL80211_FEATURE_VIF_TXPOWER: The driver supports per-vif TX power setting
|
||||
* @NL80211_FEATURE_NEED_OBSS_SCAN: The driver expects userspace to perform
|
||||
* OBSS scans and generate 20/40 BSS coex reports. This flag is used only
|
||||
* for drivers implementing the CONNECT API, for AUTH/ASSOC it is implied.
|
||||
* @NL80211_FEATURE_P2P_GO_CTWIN: P2P GO implementation supports CT Window
|
||||
* setting
|
||||
* @NL80211_FEATURE_P2P_GO_OPPPS: P2P GO implementation supports opportunistic
|
||||
* powersave
|
||||
* @NL80211_FEATURE_FULL_AP_CLIENT_STATE: The driver supports full state
|
||||
* transitions for AP clients. Without this flag (and if the driver
|
||||
* doesn't have the AP SME in the device) the driver supports adding
|
||||
* stations only when they're associated and adds them in associated
|
||||
* state (to later be transitioned into authorized), with this flag
|
||||
* they should be added before even sending the authentication reply
|
||||
* and then transitioned into authenticated, associated and authorized
|
||||
* states using station flags.
|
||||
* Note that even for drivers that support this, the default is to add
|
||||
* stations in authenticated/associated state, so to add unauthenticated
|
||||
* stations the authenticated/associated bits have to be set in the mask.
|
||||
* @NL80211_FEATURE_ADVERTISE_CHAN_LIMITS: cfg80211 advertises channel limits
|
||||
* (HT40, VHT 80/160 MHz) if this flag is set
|
||||
*/
|
||||
enum nl80211_feature_flags {
|
||||
NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
|
||||
|
|
@ -3035,6 +3463,17 @@ enum nl80211_feature_flags {
|
|||
NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2,
|
||||
NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3,
|
||||
NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4,
|
||||
NL80211_FEATURE_SAE = 1 << 5,
|
||||
NL80211_FEATURE_LOW_PRIORITY_SCAN = 1 << 6,
|
||||
NL80211_FEATURE_SCAN_FLUSH = 1 << 7,
|
||||
NL80211_FEATURE_AP_SCAN = 1 << 8,
|
||||
NL80211_FEATURE_VIF_TXPOWER = 1 << 9,
|
||||
NL80211_FEATURE_NEED_OBSS_SCAN = 1 << 10,
|
||||
NL80211_FEATURE_P2P_GO_CTWIN = 1 << 11,
|
||||
NL80211_FEATURE_P2P_GO_OPPPS = 1 << 12,
|
||||
/* bit 13 is reserved */
|
||||
NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 1 << 14,
|
||||
NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 15,
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -3062,11 +3501,90 @@ enum nl80211_probe_resp_offload_support_attr {
|
|||
* enum nl80211_connect_failed_reason - connection request failed reasons
|
||||
* @NL80211_CONN_FAIL_MAX_CLIENTS: Maximum number of clients that can be
|
||||
* handled by the AP is reached.
|
||||
* @NL80211_CONN_FAIL_BLOCKED_CLIENT: Client's MAC is in the AP's blocklist.
|
||||
* @NL80211_CONN_FAIL_BLOCKED_CLIENT: Connection request is rejected due to ACL.
|
||||
*/
|
||||
enum nl80211_connect_failed_reason {
|
||||
NL80211_CONN_FAIL_MAX_CLIENTS,
|
||||
NL80211_CONN_FAIL_BLOCKED_CLIENT,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_scan_flags - scan request control flags
|
||||
*
|
||||
* Scan request control flags are used to control the handling
|
||||
* of NL80211_CMD_TRIGGER_SCAN and NL80211_CMD_START_SCHED_SCAN
|
||||
* requests.
|
||||
*
|
||||
* @NL80211_SCAN_FLAG_LOW_PRIORITY: scan request has low priority
|
||||
* @NL80211_SCAN_FLAG_FLUSH: flush cache before scanning
|
||||
* @NL80211_SCAN_FLAG_AP: force a scan even if the interface is configured
|
||||
* as AP and the beaconing has already been configured. This attribute is
|
||||
* dangerous because will destroy stations performance as a lot of frames
|
||||
* will be lost while scanning off-channel, therefore it must be used only
|
||||
* when really needed
|
||||
*/
|
||||
enum nl80211_scan_flags {
|
||||
NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0,
|
||||
NL80211_SCAN_FLAG_FLUSH = 1<<1,
|
||||
NL80211_SCAN_FLAG_AP = 1<<2,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_acl_policy - access control policy
|
||||
*
|
||||
* Access control policy is applied on a MAC list set by
|
||||
* %NL80211_CMD_START_AP and %NL80211_CMD_SET_MAC_ACL, to
|
||||
* be used with %NL80211_ATTR_ACL_POLICY.
|
||||
*
|
||||
* @NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED: Deny stations which are
|
||||
* listed in ACL, i.e. allow all the stations which are not listed
|
||||
* in ACL to authenticate.
|
||||
* @NL80211_ACL_POLICY_DENY_UNLESS_LISTED: Allow the stations which are listed
|
||||
* in ACL, i.e. deny all the stations which are not listed in ACL.
|
||||
*/
|
||||
enum nl80211_acl_policy {
|
||||
NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED,
|
||||
NL80211_ACL_POLICY_DENY_UNLESS_LISTED,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_radar_event - type of radar event for DFS operation
|
||||
*
|
||||
* Type of event to be used with NL80211_ATTR_RADAR_EVENT to inform userspace
|
||||
* about detected radars or success of the channel available check (CAC)
|
||||
*
|
||||
* @NL80211_RADAR_DETECTED: A radar pattern has been detected. The channel is
|
||||
* now unusable.
|
||||
* @NL80211_RADAR_CAC_FINISHED: Channel Availability Check has been finished,
|
||||
* the channel is now available.
|
||||
* @NL80211_RADAR_CAC_ABORTED: Channel Availability Check has been aborted, no
|
||||
* change to the channel status.
|
||||
* @NL80211_RADAR_NOP_FINISHED: The Non-Occupancy Period for this channel is
|
||||
* over, channel becomes usable.
|
||||
*/
|
||||
enum nl80211_radar_event {
|
||||
NL80211_RADAR_DETECTED,
|
||||
NL80211_RADAR_CAC_FINISHED,
|
||||
NL80211_RADAR_CAC_ABORTED,
|
||||
NL80211_RADAR_NOP_FINISHED,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_dfs_state - DFS states for channels
|
||||
*
|
||||
* Channel states used by the DFS code.
|
||||
*
|
||||
* @IEEE80211_DFS_USABLE: The channel can be used, but channel availability
|
||||
* check (CAC) must be performed before using it for AP or IBSS.
|
||||
* @IEEE80211_DFS_UNAVAILABLE: A radar has been detected on this channel, it
|
||||
* is therefore marked as not available.
|
||||
* @IEEE80211_DFS_AVAILABLE: The channel has been CAC checked and is available.
|
||||
*/
|
||||
|
||||
enum nl80211_dfs_state {
|
||||
NL80211_DFS_USABLE,
|
||||
NL80211_DFS_UNAVAILABLE,
|
||||
NL80211_DFS_AVAILABLE,
|
||||
};
|
||||
|
||||
#endif /* __LINUX_NL80211_H */
|
||||
|
|
|
|||
|
|
@ -8,4 +8,13 @@
|
|||
#define OOM_SCORE_ADJ_MIN (-1000)
|
||||
#define OOM_SCORE_ADJ_MAX 1000
|
||||
|
||||
/*
|
||||
* /proc/<pid>/oom_adj set to -17 protects from the oom killer for legacy
|
||||
* purposes.
|
||||
*/
|
||||
#define OOM_DISABLE (-17)
|
||||
/* inclusive */
|
||||
#define OOM_ADJUST_MIN (-16)
|
||||
#define OOM_ADJUST_MAX 15
|
||||
|
||||
#endif /* _UAPI__INCLUDE_LINUX_OOM_H */
|
||||
|
|
|
|||
|
|
@ -349,7 +349,7 @@
|
|||
#define PCI_AF_STATUS_TP 0x01
|
||||
#define PCI_CAP_AF_SIZEOF 6 /* size of AF registers */
|
||||
|
||||
/* PCI-X registers */
|
||||
/* PCI-X registers (Type 0 (non-bridge) devices) */
|
||||
|
||||
#define PCI_X_CMD 2 /* Modes & Features */
|
||||
#define PCI_X_CMD_DPERR_E 0x0001 /* Data Parity Error Recovery Enable */
|
||||
|
|
@ -389,6 +389,19 @@
|
|||
#define PCI_CAP_PCIX_SIZEOF_V1 24 /* size for Version 1 */
|
||||
#define PCI_CAP_PCIX_SIZEOF_V2 PCI_CAP_PCIX_SIZEOF_V1 /* Same for v2 */
|
||||
|
||||
/* PCI-X registers (Type 1 (bridge) devices) */
|
||||
|
||||
#define PCI_X_BRIDGE_SSTATUS 2 /* Secondary Status */
|
||||
#define PCI_X_SSTATUS_64BIT 0x0001 /* Secondary AD interface is 64 bits */
|
||||
#define PCI_X_SSTATUS_133MHZ 0x0002 /* 133 MHz capable */
|
||||
#define PCI_X_SSTATUS_FREQ 0x03c0 /* Secondary Bus Mode and Frequency */
|
||||
#define PCI_X_SSTATUS_VERS 0x3000 /* PCI-X Capability Version */
|
||||
#define PCI_X_SSTATUS_V1 0x1000 /* Mode 2, not Mode 1 */
|
||||
#define PCI_X_SSTATUS_V2 0x2000 /* Mode 1 or Modes 1 and 2 */
|
||||
#define PCI_X_SSTATUS_266MHZ 0x4000 /* 266 MHz capable */
|
||||
#define PCI_X_SSTATUS_533MHZ 0x8000 /* 533 MHz capable */
|
||||
#define PCI_X_BRIDGE_STATUS 4 /* Bridge Status */
|
||||
|
||||
/* PCI Bridge Subsystem ID registers */
|
||||
|
||||
#define PCI_SSVID_VENDOR_ID 4 /* PCI-Bridge subsystem vendor id register */
|
||||
|
|
@ -445,6 +458,8 @@
|
|||
#define PCI_EXP_DEVSTA_TRPND 0x20 /* Transactions Pending */
|
||||
#define PCI_EXP_LNKCAP 12 /* Link Capabilities */
|
||||
#define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */
|
||||
#define PCI_EXP_LNKCAP_SLS_2_5GB 0x1 /* LNKCAP2 SLS Vector bit 0 (2.5GT/s) */
|
||||
#define PCI_EXP_LNKCAP_SLS_5_0GB 0x2 /* LNKCAP2 SLS Vector bit 1 (5.0GT/s) */
|
||||
#define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */
|
||||
#define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */
|
||||
#define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */
|
||||
|
|
@ -456,6 +471,8 @@
|
|||
#define PCI_EXP_LNKCAP_PN 0xff000000 /* Port Number */
|
||||
#define PCI_EXP_LNKCTL 16 /* Link Control */
|
||||
#define PCI_EXP_LNKCTL_ASPMC 0x0003 /* ASPM Control */
|
||||
#define PCI_EXP_LNKCTL_ASPM_L0S 0x01 /* L0s Enable */
|
||||
#define PCI_EXP_LNKCTL_ASPM_L1 0x02 /* L1 Enable */
|
||||
#define PCI_EXP_LNKCTL_RCB 0x0008 /* Read Completion Boundary */
|
||||
#define PCI_EXP_LNKCTL_LD 0x0010 /* Link Disable */
|
||||
#define PCI_EXP_LNKCTL_RL 0x0020 /* Retrain Link */
|
||||
|
|
@ -544,9 +561,9 @@
|
|||
#define PCI_EXP_OBFF_WAKE_EN 0x6000 /* OBFF using WAKE# signaling */
|
||||
#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 44 /* v2 endpoints end here */
|
||||
#define PCI_EXP_LNKCAP2 44 /* Link Capability 2 */
|
||||
#define PCI_EXP_LNKCAP2_SLS_2_5GB 0x01 /* Current Link Speed 2.5GT/s */
|
||||
#define PCI_EXP_LNKCAP2_SLS_5_0GB 0x02 /* Current Link Speed 5.0GT/s */
|
||||
#define PCI_EXP_LNKCAP2_SLS_8_0GB 0x04 /* Current Link Speed 8.0GT/s */
|
||||
#define PCI_EXP_LNKCAP2_SLS_2_5GB 0x02 /* Supported Link Speed 2.5GT/s */
|
||||
#define PCI_EXP_LNKCAP2_SLS_5_0GB 0x04 /* Supported Link Speed 5.0GT/s */
|
||||
#define PCI_EXP_LNKCAP2_SLS_8_0GB 0x08 /* Supported Link Speed 8.0GT/s */
|
||||
#define PCI_EXP_LNKCAP2_CROSSLINK 0x100 /* Crosslink supported */
|
||||
#define PCI_EXP_LNKCTL2 48 /* Link Control 2 */
|
||||
#define PCI_EXP_LNKSTA2 50 /* Link Status 2 */
|
||||
|
|
|
|||
|
|
@ -579,7 +579,8 @@ enum perf_event_type {
|
|||
* { u32 size;
|
||||
* char data[size];}&& PERF_SAMPLE_RAW
|
||||
*
|
||||
* { u64 from, to, flags } lbr[nr];} && PERF_SAMPLE_BRANCH_STACK
|
||||
* { u64 nr;
|
||||
* { u64 from, to, flags } lbr[nr];} && PERF_SAMPLE_BRANCH_STACK
|
||||
*
|
||||
* { u64 abi; # enum perf_sample_regs_abi
|
||||
* u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_USER
|
||||
|
|
|
|||
|
|
@ -67,12 +67,26 @@ struct ptp_perout_request {
|
|||
unsigned int rsv[4]; /* Reserved for future use. */
|
||||
};
|
||||
|
||||
#define PTP_MAX_SAMPLES 25 /* Maximum allowed offset measurement samples. */
|
||||
|
||||
struct ptp_sys_offset {
|
||||
unsigned int n_samples; /* Desired number of measurements. */
|
||||
unsigned int rsv[3]; /* Reserved for future use. */
|
||||
/*
|
||||
* Array of interleaved system/phc time stamps. The kernel
|
||||
* will provide 2*n_samples + 1 time stamps, with the last
|
||||
* one as a system time stamp.
|
||||
*/
|
||||
struct ptp_clock_time ts[2 * PTP_MAX_SAMPLES + 1];
|
||||
};
|
||||
|
||||
#define PTP_CLK_MAGIC '='
|
||||
|
||||
#define PTP_CLOCK_GETCAPS _IOR(PTP_CLK_MAGIC, 1, struct ptp_clock_caps)
|
||||
#define PTP_EXTTS_REQUEST _IOW(PTP_CLK_MAGIC, 2, struct ptp_extts_request)
|
||||
#define PTP_PEROUT_REQUEST _IOW(PTP_CLK_MAGIC, 3, struct ptp_perout_request)
|
||||
#define PTP_ENABLE_PPS _IOW(PTP_CLK_MAGIC, 4, int)
|
||||
#define PTP_SYS_OFFSET _IOW(PTP_CLK_MAGIC, 5, struct ptp_sys_offset)
|
||||
|
||||
struct ptp_extts_event {
|
||||
struct ptp_clock_time t; /* Time event occured. */
|
||||
|
|
|
|||
|
|
@ -73,7 +73,10 @@
|
|||
#define PTRACE_O_TRACEEXIT (1 << PTRACE_EVENT_EXIT)
|
||||
#define PTRACE_O_TRACESECCOMP (1 << PTRACE_EVENT_SECCOMP)
|
||||
|
||||
#define PTRACE_O_MASK 0x000000ff
|
||||
/* eventless options */
|
||||
#define PTRACE_O_EXITKILL (1 << 20)
|
||||
|
||||
#define PTRACE_O_MASK (0x000000ff | PTRACE_O_EXITKILL)
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -145,16 +145,18 @@ typedef struct mdp_superblock_s {
|
|||
__u32 failed_disks; /* 4 Number of failed disks */
|
||||
__u32 spare_disks; /* 5 Number of spare disks */
|
||||
__u32 sb_csum; /* 6 checksum of the whole superblock */
|
||||
#ifdef __BIG_ENDIAN
|
||||
#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
|
||||
__u32 events_hi; /* 7 high-order of superblock update count */
|
||||
__u32 events_lo; /* 8 low-order of superblock update count */
|
||||
__u32 cp_events_hi; /* 9 high-order of checkpoint update count */
|
||||
__u32 cp_events_lo; /* 10 low-order of checkpoint update count */
|
||||
#else
|
||||
#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
|
||||
__u32 events_lo; /* 7 low-order of superblock update count */
|
||||
__u32 events_hi; /* 8 high-order of superblock update count */
|
||||
__u32 cp_events_lo; /* 9 low-order of checkpoint update count */
|
||||
__u32 cp_events_hi; /* 10 high-order of checkpoint update count */
|
||||
#else
|
||||
#error unspecified endianness
|
||||
#endif
|
||||
__u32 recovery_cp; /* 11 recovery checkpoint sector count */
|
||||
/* There are only valid for minor_version > 90 */
|
||||
|
|
|
|||
|
|
@ -120,6 +120,18 @@ enum {
|
|||
RTM_SETDCB,
|
||||
#define RTM_SETDCB RTM_SETDCB
|
||||
|
||||
RTM_NEWNETCONF = 80,
|
||||
#define RTM_NEWNETCONF RTM_NEWNETCONF
|
||||
RTM_GETNETCONF = 82,
|
||||
#define RTM_GETNETCONF RTM_GETNETCONF
|
||||
|
||||
RTM_NEWMDB = 84,
|
||||
#define RTM_NEWMDB RTM_NEWMDB
|
||||
RTM_DELMDB = 85,
|
||||
#define RTM_DELMDB RTM_DELMDB
|
||||
RTM_GETMDB = 86,
|
||||
#define RTM_GETMDB RTM_GETMDB
|
||||
|
||||
__RTM_MAX,
|
||||
#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
|
||||
};
|
||||
|
|
@ -222,6 +234,7 @@ enum {
|
|||
#define RTPROT_XORP 14 /* XORP */
|
||||
#define RTPROT_NTK 15 /* Netsukuku */
|
||||
#define RTPROT_DHCP 16 /* DHCP client */
|
||||
#define RTPROT_MROUTED 17 /* Multicast daemon */
|
||||
|
||||
/* rtm_scope
|
||||
|
||||
|
|
@ -283,6 +296,7 @@ enum rtattr_type_t {
|
|||
RTA_MP_ALGO, /* no longer used */
|
||||
RTA_TABLE,
|
||||
RTA_MARK,
|
||||
RTA_MFC_STATS,
|
||||
__RTA_MAX
|
||||
};
|
||||
|
||||
|
|
@ -403,6 +417,12 @@ struct rta_session {
|
|||
} u;
|
||||
};
|
||||
|
||||
struct rta_mfc_stats {
|
||||
__u64 mfcs_packets;
|
||||
__u64 mfcs_bytes;
|
||||
__u64 mfcs_wrong_if;
|
||||
};
|
||||
|
||||
/****
|
||||
* General form of address family dependent message.
|
||||
****/
|
||||
|
|
@ -587,6 +607,12 @@ enum rtnetlink_groups {
|
|||
#define RTNLGRP_PHONET_ROUTE RTNLGRP_PHONET_ROUTE
|
||||
RTNLGRP_DCB,
|
||||
#define RTNLGRP_DCB RTNLGRP_DCB
|
||||
RTNLGRP_IPV4_NETCONF,
|
||||
#define RTNLGRP_IPV4_NETCONF RTNLGRP_IPV4_NETCONF
|
||||
RTNLGRP_IPV6_NETCONF,
|
||||
#define RTNLGRP_IPV6_NETCONF RTNLGRP_IPV6_NETCONF
|
||||
RTNLGRP_MDB,
|
||||
#define RTNLGRP_MDB RTNLGRP_MDB
|
||||
__RTNLGRP_MAX
|
||||
};
|
||||
#define RTNLGRP_MAX (__RTNLGRP_MAX - 1)
|
||||
|
|
@ -604,6 +630,7 @@ struct tcamsg {
|
|||
|
||||
/* New extended info filters for IFLA_EXT_MASK */
|
||||
#define RTEXT_FILTER_VF (1 << 0)
|
||||
#define RTEXT_FILTER_BRVLAN (1 << 1)
|
||||
|
||||
/* End of information exported to user level */
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,12 @@
|
|||
#define PORT_XR17D15X 21 /* Exar XR17D15x UART */
|
||||
#define PORT_LPC3220 22 /* NXP LPC32xx SoC "Standard" UART */
|
||||
#define PORT_8250_CIR 23 /* CIR infrared port, has its own driver */
|
||||
#define PORT_MAX_8250 23 /* max port ID */
|
||||
#define PORT_XR17V35X 24 /* Exar XR17V35x UARTs */
|
||||
#define PORT_BRCM_TRUMANAGE 25
|
||||
#define PORT_ALTR_16550_F32 26 /* Altera 16550 UART with 32 FIFOs */
|
||||
#define PORT_ALTR_16550_F64 27 /* Altera 16550 UART with 64 FIFOs */
|
||||
#define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */
|
||||
#define PORT_MAX_8250 28 /* max port ID */
|
||||
|
||||
/*
|
||||
* ARM specific type numbers. These are not currently guaranteed
|
||||
|
|
@ -215,5 +220,10 @@
|
|||
/* Energy Micro efm32 SoC */
|
||||
#define PORT_EFMUART 100
|
||||
|
||||
/* ARC (Synopsys) on-chip UART */
|
||||
#define PORT_ARC 101
|
||||
|
||||
/* Rocketport EXPRESS/INFINITY */
|
||||
#define PORT_RP2 102
|
||||
|
||||
#endif /* _UAPILINUX_SERIAL_CORE_H */
|
||||
|
|
|
|||
|
|
@ -367,5 +367,23 @@
|
|||
#define UART_OMAP_MDR1_CIR_MODE 0x06 /* CIR mode */
|
||||
#define UART_OMAP_MDR1_DISABLE 0x07 /* Disable (default state) */
|
||||
|
||||
/*
|
||||
* These are definitions for the Exar XR17V35X and XR17(C|D)15X
|
||||
*/
|
||||
#define UART_EXAR_8XMODE 0x88 /* 8X sampling rate select */
|
||||
#define UART_EXAR_SLEEP 0x8b /* Sleep mode */
|
||||
#define UART_EXAR_DVID 0x8d /* Device identification */
|
||||
|
||||
#define UART_EXAR_FCTR 0x08 /* Feature Control Register */
|
||||
#define UART_FCTR_EXAR_IRDA 0x08 /* IrDa data encode select */
|
||||
#define UART_FCTR_EXAR_485 0x10 /* Auto 485 half duplex dir ctl */
|
||||
#define UART_FCTR_EXAR_TRGA 0x00 /* FIFO trigger table A */
|
||||
#define UART_FCTR_EXAR_TRGB 0x60 /* FIFO trigger table B */
|
||||
#define UART_FCTR_EXAR_TRGC 0x80 /* FIFO trigger table C */
|
||||
#define UART_FCTR_EXAR_TRGD 0xc0 /* FIFO trigger table D programmable */
|
||||
|
||||
#define UART_EXAR_TXTRG 0x0a /* Tx FIFO trigger level write-only */
|
||||
#define UART_EXAR_RXTRG 0x0b /* Rx FIFO trigger level write-only */
|
||||
|
||||
#endif /* _LINUX_SERIAL_REG_H */
|
||||
|
||||
|
|
|
|||
|
|
@ -4,5 +4,7 @@
|
|||
#include <asm/signal.h>
|
||||
#include <asm/siginfo.h>
|
||||
|
||||
#define SS_ONSTACK 1
|
||||
#define SS_DISABLE 2
|
||||
|
||||
#endif /* _UAPI_LINUX_SIGNAL_H */
|
||||
|
|
|
|||
|
|
@ -278,6 +278,7 @@ enum
|
|||
LINUX_MIB_XFRMOUTPOLDEAD, /* XfrmOutPolDead */
|
||||
LINUX_MIB_XFRMOUTPOLERROR, /* XfrmOutPolError */
|
||||
LINUX_MIB_XFRMFWDHDRERROR, /* XfrmFwdHdrError*/
|
||||
LINUX_MIB_XFRMOUTSTATEINVALID, /* XfrmOutStateInvalid */
|
||||
__LINUX_MIB_XFRMMAX
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,9 @@
|
|||
|
||||
static inline __attribute_const__ __u16 __fswab16(__u16 val)
|
||||
{
|
||||
#ifdef __arch_swab16
|
||||
#ifdef __HAVE_BUILTIN_BSWAP16__
|
||||
return __builtin_bswap16(val);
|
||||
#elif defined (__arch_swab16)
|
||||
return __arch_swab16(val);
|
||||
#else
|
||||
return ___constant_swab16(val);
|
||||
|
|
@ -54,7 +56,9 @@ static inline __attribute_const__ __u16 __fswab16(__u16 val)
|
|||
|
||||
static inline __attribute_const__ __u32 __fswab32(__u32 val)
|
||||
{
|
||||
#ifdef __arch_swab32
|
||||
#ifdef __HAVE_BUILTIN_BSWAP32__
|
||||
return __builtin_bswap32(val);
|
||||
#elif defined(__arch_swab32)
|
||||
return __arch_swab32(val);
|
||||
#else
|
||||
return ___constant_swab32(val);
|
||||
|
|
@ -63,7 +67,9 @@ static inline __attribute_const__ __u32 __fswab32(__u32 val)
|
|||
|
||||
static inline __attribute_const__ __u64 __fswab64(__u64 val)
|
||||
{
|
||||
#ifdef __arch_swab64
|
||||
#ifdef __HAVE_BUILTIN_BSWAP64__
|
||||
return __builtin_bswap64(val);
|
||||
#elif defined (__arch_swab64)
|
||||
return __arch_swab64(val);
|
||||
#elif defined(__SWAB_64_THRU_32__)
|
||||
__u32 h = val >> 32;
|
||||
|
|
|
|||
|
|
@ -111,6 +111,7 @@ enum {
|
|||
#define TCP_QUEUE_SEQ 21
|
||||
#define TCP_REPAIR_OPTIONS 22
|
||||
#define TCP_FASTOPEN 23 /* Enable FastOpen on listeners */
|
||||
#define TCP_TIMESTAMP 24
|
||||
|
||||
struct tcp_repair_opt {
|
||||
__u32 opt_code;
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ struct uhid_feature_answer_req {
|
|||
__u16 err;
|
||||
__u16 size;
|
||||
__u8 data[UHID_DATA_MAX];
|
||||
};
|
||||
} __attribute__((__packed__));
|
||||
|
||||
struct uhid_event {
|
||||
__u32 type;
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ enum {
|
|||
UNIX_DIAG_ICONS,
|
||||
UNIX_DIAG_RQLEN,
|
||||
UNIX_DIAG_MEMINFO,
|
||||
UNIX_DIAG_SHUTDOWN,
|
||||
|
||||
UNIX_DIAG_MAX,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -384,14 +384,16 @@ static inline __u8 uac_processing_unit_iProcessing(struct uac_processing_unit_de
|
|||
int protocol)
|
||||
{
|
||||
__u8 control_size = uac_processing_unit_bControlSize(desc, protocol);
|
||||
return desc->baSourceID[desc->bNrInPins + control_size];
|
||||
return *(uac_processing_unit_bmControls(desc, protocol)
|
||||
+ control_size);
|
||||
}
|
||||
|
||||
static inline __u8 *uac_processing_unit_specific(struct uac_processing_unit_descriptor *desc,
|
||||
int protocol)
|
||||
{
|
||||
__u8 control_size = uac_processing_unit_bControlSize(desc, protocol);
|
||||
return &desc->baSourceID[desc->bNrInPins + control_size + 1];
|
||||
return uac_processing_unit_bmControls(desc, protocol)
|
||||
+ control_size + 1;
|
||||
}
|
||||
|
||||
/* 4.5.2 Class-Specific AS Interface Descriptor */
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#define USB_CDC_SUBCLASS_OBEX 0x0b
|
||||
#define USB_CDC_SUBCLASS_EEM 0x0c
|
||||
#define USB_CDC_SUBCLASS_NCM 0x0d
|
||||
#define USB_CDC_SUBCLASS_MBIM 0x0e
|
||||
|
||||
#define USB_CDC_PROTO_NONE 0
|
||||
|
||||
|
|
@ -33,6 +34,7 @@
|
|||
#define USB_CDC_PROTO_EEM 7
|
||||
|
||||
#define USB_CDC_NCM_PROTO_NTB 1
|
||||
#define USB_CDC_MBIM_PROTO_NTB 2
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
|
|
@ -53,6 +55,7 @@
|
|||
#define USB_CDC_DMM_TYPE 0x14
|
||||
#define USB_CDC_OBEX_TYPE 0x15
|
||||
#define USB_CDC_NCM_TYPE 0x1a
|
||||
#define USB_CDC_MBIM_TYPE 0x1b
|
||||
|
||||
/* "Header Functional Descriptor" from CDC spec 5.2.3.1 */
|
||||
struct usb_cdc_header_desc {
|
||||
|
|
@ -187,6 +190,21 @@ struct usb_cdc_ncm_desc {
|
|||
__le16 bcdNcmVersion;
|
||||
__u8 bmNetworkCapabilities;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/* "MBIM Control Model Functional Descriptor" */
|
||||
struct usb_cdc_mbim_desc {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
|
||||
__le16 bcdMBIMVersion;
|
||||
__le16 wMaxControlMessage;
|
||||
__u8 bNumberFilters;
|
||||
__u8 bMaxFilterSize;
|
||||
__le16 wMaxSegmentSize;
|
||||
__u8 bmNetworkCapabilities;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
|
|
@ -332,6 +350,11 @@ struct usb_cdc_ncm_nth32 {
|
|||
#define USB_CDC_NCM_NDP32_CRC_SIGN 0x316D636E /* ncm1 */
|
||||
#define USB_CDC_NCM_NDP32_NOCRC_SIGN 0x306D636E /* ncm0 */
|
||||
|
||||
#define USB_CDC_MBIM_NDP16_IPS_SIGN 0x00535049 /* IPS<sessionID> : IPS0 for now */
|
||||
#define USB_CDC_MBIM_NDP32_IPS_SIGN 0x00737069 /* ips<sessionID> : ips0 for now */
|
||||
#define USB_CDC_MBIM_NDP16_DSS_SIGN 0x00535344 /* DSS<sessionID> */
|
||||
#define USB_CDC_MBIM_NDP32_DSS_SIGN 0x00737364 /* dss<sessionID> */
|
||||
|
||||
/* 16-bit NCM Datagram Pointer Entry */
|
||||
struct usb_cdc_ncm_dpe16 {
|
||||
__le16 wDatagramIndex;
|
||||
|
|
|
|||
|
|
@ -152,6 +152,12 @@
|
|||
#define USB_INTRF_FUNC_SUSPEND_LP (1 << (8 + 0))
|
||||
#define USB_INTRF_FUNC_SUSPEND_RW (1 << (8 + 1))
|
||||
|
||||
/*
|
||||
* Interface status, Figure 9-5 USB 3.0 spec
|
||||
*/
|
||||
#define USB_INTRF_STAT_FUNC_RW_CAP 1
|
||||
#define USB_INTRF_STAT_FUNC_RW 2
|
||||
|
||||
#define USB_ENDPOINT_HALT 0 /* IN/OUT will STALL */
|
||||
|
||||
/* Bit array elements as returned by the USB_REQ_GET_STATUS request. */
|
||||
|
|
|
|||
|
|
@ -88,10 +88,6 @@
|
|||
#define V4L2_CID_HFLIP (V4L2_CID_BASE+20)
|
||||
#define V4L2_CID_VFLIP (V4L2_CID_BASE+21)
|
||||
|
||||
/* Deprecated; use V4L2_CID_PAN_RESET and V4L2_CID_TILT_RESET */
|
||||
#define V4L2_CID_HCENTER (V4L2_CID_BASE+22)
|
||||
#define V4L2_CID_VCENTER (V4L2_CID_BASE+23)
|
||||
|
||||
#define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24)
|
||||
enum v4l2_power_line_frequency {
|
||||
V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0,
|
||||
|
|
@ -144,6 +140,11 @@ enum v4l2_colorfx {
|
|||
/* last CID + 1 */
|
||||
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+43)
|
||||
|
||||
/* USER-class private control IDs */
|
||||
|
||||
/* The base for the meye driver controls. See linux/meye.h for the list
|
||||
* of controls. We reserve 16 controls for this driver. */
|
||||
#define V4L2_CID_USER_MEYE_BASE (V4L2_CID_USER_BASE + 0x1000)
|
||||
|
||||
/* MPEG-class control IDs */
|
||||
|
||||
|
|
@ -782,6 +783,7 @@ enum v4l2_jpeg_chroma_subsampling {
|
|||
#define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18)
|
||||
|
||||
|
||||
/* Image source controls */
|
||||
#define V4L2_CID_IMAGE_SOURCE_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900)
|
||||
#define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1)
|
||||
|
|
@ -800,4 +802,27 @@ enum v4l2_jpeg_chroma_subsampling {
|
|||
#define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)
|
||||
#define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)
|
||||
|
||||
|
||||
/* DV-class control IDs defined by V4L2 */
|
||||
#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900)
|
||||
#define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
|
||||
|
||||
#define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
|
||||
#define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2)
|
||||
#define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3)
|
||||
#define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4)
|
||||
enum v4l2_dv_tx_mode {
|
||||
V4L2_DV_TX_MODE_DVI_D = 0,
|
||||
V4L2_DV_TX_MODE_HDMI = 1,
|
||||
};
|
||||
#define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5)
|
||||
enum v4l2_dv_rgb_range {
|
||||
V4L2_DV_RGB_RANGE_AUTO = 0,
|
||||
V4L2_DV_RGB_RANGE_LIMITED = 1,
|
||||
V4L2_DV_RGB_RANGE_FULL = 2,
|
||||
};
|
||||
|
||||
#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
|
||||
#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -47,8 +47,9 @@ enum v4l2_mbus_pixelcode {
|
|||
V4L2_MBUS_FMT_RGB565_2X8_BE = 0x1007,
|
||||
V4L2_MBUS_FMT_RGB565_2X8_LE = 0x1008,
|
||||
|
||||
/* YUV (including grey) - next is 0x2014 */
|
||||
/* YUV (including grey) - next is 0x2017 */
|
||||
V4L2_MBUS_FMT_Y8_1X8 = 0x2001,
|
||||
V4L2_MBUS_FMT_UV8_1X8 = 0x2015,
|
||||
V4L2_MBUS_FMT_UYVY8_1_5X8 = 0x2002,
|
||||
V4L2_MBUS_FMT_VYUY8_1_5X8 = 0x2003,
|
||||
V4L2_MBUS_FMT_YUYV8_1_5X8 = 0x2004,
|
||||
|
|
@ -65,14 +66,20 @@ enum v4l2_mbus_pixelcode {
|
|||
V4L2_MBUS_FMT_VYUY8_1X16 = 0x2010,
|
||||
V4L2_MBUS_FMT_YUYV8_1X16 = 0x2011,
|
||||
V4L2_MBUS_FMT_YVYU8_1X16 = 0x2012,
|
||||
V4L2_MBUS_FMT_YDYUYDYV8_1X16 = 0x2014,
|
||||
V4L2_MBUS_FMT_YUYV10_1X20 = 0x200d,
|
||||
V4L2_MBUS_FMT_YVYU10_1X20 = 0x200e,
|
||||
V4L2_MBUS_FMT_YUV10_1X30 = 0x2016,
|
||||
|
||||
/* Bayer - next is 0x3015 */
|
||||
/* Bayer - next is 0x3019 */
|
||||
V4L2_MBUS_FMT_SBGGR8_1X8 = 0x3001,
|
||||
V4L2_MBUS_FMT_SGBRG8_1X8 = 0x3013,
|
||||
V4L2_MBUS_FMT_SGRBG8_1X8 = 0x3002,
|
||||
V4L2_MBUS_FMT_SRGGB8_1X8 = 0x3014,
|
||||
V4L2_MBUS_FMT_SBGGR10_ALAW8_1X8 = 0x3015,
|
||||
V4L2_MBUS_FMT_SGBRG10_ALAW8_1X8 = 0x3016,
|
||||
V4L2_MBUS_FMT_SGRBG10_ALAW8_1X8 = 0x3017,
|
||||
V4L2_MBUS_FMT_SRGGB10_ALAW8_1X8 = 0x3018,
|
||||
V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8 = 0x300b,
|
||||
V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8 = 0x300c,
|
||||
V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8 = 0x3009,
|
||||
|
|
|
|||
|
|
@ -303,6 +303,15 @@ enum {
|
|||
VFIO_PCI_BAR5_REGION_INDEX,
|
||||
VFIO_PCI_ROM_REGION_INDEX,
|
||||
VFIO_PCI_CONFIG_REGION_INDEX,
|
||||
/*
|
||||
* Expose VGA regions defined for PCI base class 03, subclass 00.
|
||||
* This includes I/O port ranges 0x3b0 to 0x3bb and 0x3c0 to 0x3df
|
||||
* as well as the MMIO range 0xa0000 to 0xbffff. Each implemented
|
||||
* range is found at it's identity mapped offset from the region
|
||||
* offset, for example 0x3b0 is region_info.offset + 0x3b0. Areas
|
||||
* between described ranges are unimplemented.
|
||||
*/
|
||||
VFIO_PCI_VGA_REGION_INDEX,
|
||||
VFIO_PCI_NUM_REGIONS
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -186,6 +186,7 @@ enum v4l2_memory {
|
|||
V4L2_MEMORY_MMAP = 1,
|
||||
V4L2_MEMORY_USERPTR = 2,
|
||||
V4L2_MEMORY_OVERLAY = 3,
|
||||
V4L2_MEMORY_DMABUF = 4,
|
||||
};
|
||||
|
||||
/* see also http://vektor.theorem.ca/graphics/ycbcr/ */
|
||||
|
|
@ -333,6 +334,9 @@ struct v4l2_pix_format {
|
|||
/* Palette formats */
|
||||
#define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */
|
||||
|
||||
/* Chrominance formats */
|
||||
#define V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ') /* 8 UV 4:4 */
|
||||
|
||||
/* Luminance+Chrominance formats */
|
||||
#define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9') /* 9 YVU 4:1:0 */
|
||||
#define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2') /* 12 YVU 4:2:0 */
|
||||
|
|
@ -385,6 +389,11 @@ struct v4l2_pix_format {
|
|||
#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */
|
||||
#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */
|
||||
#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */
|
||||
/* 10bit raw bayer a-law compressed to 8 bits */
|
||||
#define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8')
|
||||
#define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8')
|
||||
#define V4L2_PIX_FMT_SGRBG10ALAW8 v4l2_fourcc('a', 'g', 'A', '8')
|
||||
#define V4L2_PIX_FMT_SRGGB10ALAW8 v4l2_fourcc('a', 'R', 'A', '8')
|
||||
/* 10bit raw bayer DPCM compressed to 8 bits */
|
||||
#define V4L2_PIX_FMT_SBGGR10DPCM8 v4l2_fourcc('b', 'B', 'A', '8')
|
||||
#define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8')
|
||||
|
|
@ -602,6 +611,8 @@ struct v4l2_requestbuffers {
|
|||
* should be passed to mmap() called on the video node)
|
||||
* @userptr: when memory is V4L2_MEMORY_USERPTR, a userspace pointer
|
||||
* pointing to this plane
|
||||
* @fd: when memory is V4L2_MEMORY_DMABUF, a userspace file
|
||||
* descriptor associated with this plane
|
||||
* @data_offset: offset in the plane to the start of data; usually 0,
|
||||
* unless there is a header in front of the data
|
||||
*
|
||||
|
|
@ -616,6 +627,7 @@ struct v4l2_plane {
|
|||
union {
|
||||
__u32 mem_offset;
|
||||
unsigned long userptr;
|
||||
__s32 fd;
|
||||
} m;
|
||||
__u32 data_offset;
|
||||
__u32 reserved[11];
|
||||
|
|
@ -640,6 +652,8 @@ struct v4l2_plane {
|
|||
* (or a "cookie" that should be passed to mmap() as offset)
|
||||
* @userptr: for non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR;
|
||||
* a userspace pointer pointing to this buffer
|
||||
* @fd: for non-multiplanar buffers with memory == V4L2_MEMORY_DMABUF;
|
||||
* a userspace file descriptor associated with this buffer
|
||||
* @planes: for multiplanar buffers; userspace pointer to the array of plane
|
||||
* info structs for this buffer
|
||||
* @length: size in bytes of the buffer (NOT its payload) for single-plane
|
||||
|
|
@ -666,6 +680,7 @@ struct v4l2_buffer {
|
|||
__u32 offset;
|
||||
unsigned long userptr;
|
||||
struct v4l2_plane *planes;
|
||||
__s32 fd;
|
||||
} m;
|
||||
__u32 length;
|
||||
__u32 reserved2;
|
||||
|
|
@ -686,6 +701,37 @@ struct v4l2_buffer {
|
|||
/* Cache handling flags */
|
||||
#define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x0800
|
||||
#define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x1000
|
||||
/* Timestamp type */
|
||||
#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0xe000
|
||||
#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x0000
|
||||
#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x2000
|
||||
|
||||
/**
|
||||
* struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor
|
||||
*
|
||||
* @index: id number of the buffer
|
||||
* @type: enum v4l2_buf_type; buffer type (type == *_MPLANE for
|
||||
* multiplanar buffers);
|
||||
* @plane: index of the plane to be exported, 0 for single plane queues
|
||||
* @flags: flags for newly created file, currently only O_CLOEXEC is
|
||||
* supported, refer to manual of open syscall for more details
|
||||
* @fd: file descriptor associated with DMABUF (set by driver)
|
||||
*
|
||||
* Contains data used for exporting a video buffer as DMABUF file descriptor.
|
||||
* The buffer is identified by a 'cookie' returned by VIDIOC_QUERYBUF
|
||||
* (identical to the cookie used to mmap() the buffer to userspace). All
|
||||
* reserved fields must be set to zero. The field reserved0 is expected to
|
||||
* become a structure 'type' allowing an alternative layout of the structure
|
||||
* content. Therefore this field should not be used for any other extensions.
|
||||
*/
|
||||
struct v4l2_exportbuffer {
|
||||
__u32 type; /* enum v4l2_buf_type */
|
||||
__u32 index;
|
||||
__u32 plane;
|
||||
__u32 flags;
|
||||
__s32 fd;
|
||||
__u32 reserved[11];
|
||||
};
|
||||
|
||||
/*
|
||||
* O V E R L A Y P R E V I E W
|
||||
|
|
@ -737,7 +783,7 @@ struct v4l2_window {
|
|||
struct v4l2_captureparm {
|
||||
__u32 capability; /* Supported modes */
|
||||
__u32 capturemode; /* Current mode */
|
||||
struct v4l2_fract timeperframe; /* Time per frame in .1us units */
|
||||
struct v4l2_fract timeperframe; /* Time per frame in seconds */
|
||||
__u32 extendedmode; /* Driver-specific extensions */
|
||||
__u32 readbuffers; /* # of buffers for read */
|
||||
__u32 reserved[4];
|
||||
|
|
@ -1308,28 +1354,6 @@ struct v4l2_querymenu {
|
|||
#define V4L2_CID_PRIVATE_BASE 0x08000000
|
||||
|
||||
|
||||
/* DV-class control IDs defined by V4L2 */
|
||||
#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900)
|
||||
#define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
|
||||
|
||||
#define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
|
||||
#define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2)
|
||||
#define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3)
|
||||
#define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4)
|
||||
enum v4l2_dv_tx_mode {
|
||||
V4L2_DV_TX_MODE_DVI_D = 0,
|
||||
V4L2_DV_TX_MODE_HDMI = 1,
|
||||
};
|
||||
#define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5)
|
||||
enum v4l2_dv_rgb_range {
|
||||
V4L2_DV_RGB_RANGE_AUTO = 0,
|
||||
V4L2_DV_RGB_RANGE_LIMITED = 1,
|
||||
V4L2_DV_RGB_RANGE_FULL = 2,
|
||||
};
|
||||
|
||||
#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
|
||||
#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
|
||||
|
||||
/*
|
||||
* T U N I N G
|
||||
*/
|
||||
|
|
@ -1776,6 +1800,7 @@ struct v4l2_event_vsync {
|
|||
/* Payload for V4L2_EVENT_CTRL */
|
||||
#define V4L2_EVENT_CTRL_CH_VALUE (1 << 0)
|
||||
#define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1)
|
||||
#define V4L2_EVENT_CTRL_CH_RANGE (1 << 2)
|
||||
|
||||
struct v4l2_event_ctrl {
|
||||
__u32 changes;
|
||||
|
|
@ -1888,6 +1913,7 @@ struct v4l2_create_buffers {
|
|||
#define VIDIOC_S_FBUF _IOW('V', 11, struct v4l2_framebuffer)
|
||||
#define VIDIOC_OVERLAY _IOW('V', 14, int)
|
||||
#define VIDIOC_QBUF _IOWR('V', 15, struct v4l2_buffer)
|
||||
#define VIDIOC_EXPBUF _IOWR('V', 16, struct v4l2_exportbuffer)
|
||||
#define VIDIOC_DQBUF _IOWR('V', 17, struct v4l2_buffer)
|
||||
#define VIDIOC_STREAMON _IOW('V', 18, int)
|
||||
#define VIDIOC_STREAMOFF _IOW('V', 19, int)
|
||||
|
|
|
|||
|
|
@ -37,5 +37,6 @@
|
|||
#define VIRTIO_ID_RPMSG 7 /* virtio remote processor messaging */
|
||||
#define VIRTIO_ID_SCSI 8 /* virtio scsi */
|
||||
#define VIRTIO_ID_9P 9 /* 9p virtio console */
|
||||
#define VIRTIO_ID_RPROC_SERIAL 11 /* virtio remoteproc serial link */
|
||||
|
||||
#endif /* _LINUX_VIRTIO_IDS_H */
|
||||
|
|
|
|||
|
|
@ -51,6 +51,9 @@
|
|||
#define VIRTIO_NET_F_CTRL_RX_EXTRA 20 /* Extra RX mode control support */
|
||||
#define VIRTIO_NET_F_GUEST_ANNOUNCE 21 /* Guest can announce device on the
|
||||
* network */
|
||||
#define VIRTIO_NET_F_MQ 22 /* Device supports Receive Flow
|
||||
* Steering */
|
||||
#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */
|
||||
|
||||
#define VIRTIO_NET_S_LINK_UP 1 /* Link is up */
|
||||
#define VIRTIO_NET_S_ANNOUNCE 2 /* Announcement is needed */
|
||||
|
|
@ -60,6 +63,11 @@ struct virtio_net_config {
|
|||
__u8 mac[6];
|
||||
/* See VIRTIO_NET_F_STATUS and VIRTIO_NET_S_* above */
|
||||
__u16 status;
|
||||
/* Maximum number of each of transmit and receive queues;
|
||||
* see VIRTIO_NET_F_MQ and VIRTIO_NET_CTRL_MQ.
|
||||
* Legal values are between 1 and 0x8000
|
||||
*/
|
||||
__u16 max_virtqueue_pairs;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* This is the first element of the scatter-gather list. If you don't
|
||||
|
|
@ -120,7 +128,7 @@ typedef __u8 virtio_net_ctrl_ack;
|
|||
#define VIRTIO_NET_CTRL_RX_NOBCAST 5
|
||||
|
||||
/*
|
||||
* Control the MAC filter table.
|
||||
* Control the MAC
|
||||
*
|
||||
* The MAC filter table is managed by the hypervisor, the guest should
|
||||
* assume the size is infinite. Filtering should be considered
|
||||
|
|
@ -133,6 +141,10 @@ typedef __u8 virtio_net_ctrl_ack;
|
|||
* first sg list contains unicast addresses, the second is for multicast.
|
||||
* This functionality is present if the VIRTIO_NET_F_CTRL_RX feature
|
||||
* is available.
|
||||
*
|
||||
* The ADDR_SET command requests one out scatterlist, it contains a
|
||||
* 6 bytes MAC address. This functionality is present if the
|
||||
* VIRTIO_NET_F_CTRL_MAC_ADDR feature is available.
|
||||
*/
|
||||
struct virtio_net_ctrl_mac {
|
||||
__u32 entries;
|
||||
|
|
@ -141,6 +153,7 @@ struct virtio_net_ctrl_mac {
|
|||
|
||||
#define VIRTIO_NET_CTRL_MAC 1
|
||||
#define VIRTIO_NET_CTRL_MAC_TABLE_SET 0
|
||||
#define VIRTIO_NET_CTRL_MAC_ADDR_SET 1
|
||||
|
||||
/*
|
||||
* Control VLAN filtering
|
||||
|
|
@ -166,4 +179,24 @@ struct virtio_net_ctrl_mac {
|
|||
#define VIRTIO_NET_CTRL_ANNOUNCE 3
|
||||
#define VIRTIO_NET_CTRL_ANNOUNCE_ACK 0
|
||||
|
||||
/*
|
||||
* Control Receive Flow Steering
|
||||
*
|
||||
* The command VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET
|
||||
* enables Receive Flow Steering, specifying the number of the transmit and
|
||||
* receive queues that will be used. After the command is consumed and acked by
|
||||
* the device, the device will not steer new packets on receive virtqueues
|
||||
* other than specified nor read from transmit virtqueues other than specified.
|
||||
* Accordingly, driver should not transmit new packets on virtqueues other than
|
||||
* specified.
|
||||
*/
|
||||
struct virtio_net_ctrl_mq {
|
||||
u16 virtqueue_pairs;
|
||||
};
|
||||
|
||||
#define VIRTIO_NET_CTRL_MQ 4
|
||||
#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET 0
|
||||
#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN 1
|
||||
#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX 0x8000
|
||||
|
||||
#endif /* _LINUX_VIRTIO_NET_H */
|
||||
|
|
|
|||
163
include/uapi/linux/vm_sockets.h
Normal file
163
include/uapi/linux/vm_sockets.h
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
/*
|
||||
* VMware vSockets Driver
|
||||
*
|
||||
* Copyright (C) 2007-2013 VMware, Inc. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the Free
|
||||
* Software Foundation version 2 and no later version.
|
||||
*
|
||||
* This program is distributed in the hope that 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 _VM_SOCKETS_H_
|
||||
#define _VM_SOCKETS_H_
|
||||
|
||||
#if !defined(__KERNEL__)
|
||||
#include <sys/socket.h>
|
||||
#endif
|
||||
|
||||
/* Option name for STREAM socket buffer size. Use as the option name in
|
||||
* setsockopt(3) or getsockopt(3) to set or get an unsigned long long that
|
||||
* specifies the size of the buffer underlying a vSockets STREAM socket.
|
||||
* Value is clamped to the MIN and MAX.
|
||||
*/
|
||||
|
||||
#define SO_VM_SOCKETS_BUFFER_SIZE 0
|
||||
|
||||
/* Option name for STREAM socket minimum buffer size. Use as the option name
|
||||
* in setsockopt(3) or getsockopt(3) to set or get an unsigned long long that
|
||||
* specifies the minimum size allowed for the buffer underlying a vSockets
|
||||
* STREAM socket.
|
||||
*/
|
||||
|
||||
#define SO_VM_SOCKETS_BUFFER_MIN_SIZE 1
|
||||
|
||||
/* Option name for STREAM socket maximum buffer size. Use as the option name
|
||||
* in setsockopt(3) or getsockopt(3) to set or get an unsigned long long
|
||||
* that specifies the maximum size allowed for the buffer underlying a
|
||||
* vSockets STREAM socket.
|
||||
*/
|
||||
|
||||
#define SO_VM_SOCKETS_BUFFER_MAX_SIZE 2
|
||||
|
||||
/* Option name for socket peer's host-specific VM ID. Use as the option name
|
||||
* in getsockopt(3) to get a host-specific identifier for the peer endpoint's
|
||||
* VM. The identifier is a signed integer.
|
||||
* Only available for hypervisor endpoints.
|
||||
*/
|
||||
|
||||
#define SO_VM_SOCKETS_PEER_HOST_VM_ID 3
|
||||
|
||||
/* Option name for determining if a socket is trusted. Use as the option name
|
||||
* in getsockopt(3) to determine if a socket is trusted. The value is a
|
||||
* signed integer.
|
||||
*/
|
||||
|
||||
#define SO_VM_SOCKETS_TRUSTED 5
|
||||
|
||||
/* Option name for STREAM socket connection timeout. Use as the option name
|
||||
* in setsockopt(3) or getsockopt(3) to set or get the connection
|
||||
* timeout for a STREAM socket.
|
||||
*/
|
||||
|
||||
#define SO_VM_SOCKETS_CONNECT_TIMEOUT 6
|
||||
|
||||
/* Option name for using non-blocking send/receive. Use as the option name
|
||||
* for setsockopt(3) or getsockopt(3) to set or get the non-blocking
|
||||
* transmit/receive flag for a STREAM socket. This flag determines whether
|
||||
* send() and recv() can be called in non-blocking contexts for the given
|
||||
* socket. The value is a signed integer.
|
||||
*
|
||||
* This option is only relevant to kernel endpoints, where descheduling the
|
||||
* thread of execution is not allowed, for example, while holding a spinlock.
|
||||
* It is not to be confused with conventional non-blocking socket operations.
|
||||
*
|
||||
* Only available for hypervisor endpoints.
|
||||
*/
|
||||
|
||||
#define SO_VM_SOCKETS_NONBLOCK_TXRX 7
|
||||
|
||||
/* The vSocket equivalent of INADDR_ANY. This works for the svm_cid field of
|
||||
* sockaddr_vm and indicates the context ID of the current endpoint.
|
||||
*/
|
||||
|
||||
#define VMADDR_CID_ANY -1U
|
||||
|
||||
/* Bind to any available port. Works for the svm_port field of
|
||||
* sockaddr_vm.
|
||||
*/
|
||||
|
||||
#define VMADDR_PORT_ANY -1U
|
||||
|
||||
/* Use this as the destination CID in an address when referring to the
|
||||
* hypervisor. VMCI relies on it being 0, but this would be useful for other
|
||||
* transports too.
|
||||
*/
|
||||
|
||||
#define VMADDR_CID_HYPERVISOR 0
|
||||
|
||||
/* This CID is specific to VMCI and can be considered reserved (even VMCI
|
||||
* doesn't use it anymore, it's a legacy value from an older release).
|
||||
*/
|
||||
|
||||
#define VMADDR_CID_RESERVED 1
|
||||
|
||||
/* Use this as the destination CID in an address when referring to the host
|
||||
* (any process other than the hypervisor). VMCI relies on it being 2, but
|
||||
* this would be useful for other transports too.
|
||||
*/
|
||||
|
||||
#define VMADDR_CID_HOST 2
|
||||
|
||||
/* Invalid vSockets version. */
|
||||
|
||||
#define VM_SOCKETS_INVALID_VERSION -1U
|
||||
|
||||
/* The epoch (first) component of the vSockets version. A single byte
|
||||
* representing the epoch component of the vSockets version.
|
||||
*/
|
||||
|
||||
#define VM_SOCKETS_VERSION_EPOCH(_v) (((_v) & 0xFF000000) >> 24)
|
||||
|
||||
/* The major (second) component of the vSockets version. A single byte
|
||||
* representing the major component of the vSockets version. Typically
|
||||
* changes for every major release of a product.
|
||||
*/
|
||||
|
||||
#define VM_SOCKETS_VERSION_MAJOR(_v) (((_v) & 0x00FF0000) >> 16)
|
||||
|
||||
/* The minor (third) component of the vSockets version. Two bytes representing
|
||||
* the minor component of the vSockets version.
|
||||
*/
|
||||
|
||||
#define VM_SOCKETS_VERSION_MINOR(_v) (((_v) & 0x0000FFFF))
|
||||
|
||||
/* Address structure for vSockets. The address family should be set to
|
||||
* whatever vmci_sock_get_af_value_fd() returns. The structure members should
|
||||
* all align on their natural boundaries without resorting to compiler packing
|
||||
* directives. The total size of this structure should be exactly the same as
|
||||
* that of struct sockaddr.
|
||||
*/
|
||||
|
||||
struct sockaddr_vm {
|
||||
sa_family_t svm_family;
|
||||
unsigned short svm_reserved1;
|
||||
unsigned int svm_port;
|
||||
unsigned int svm_cid;
|
||||
unsigned char svm_zero[sizeof(struct sockaddr) -
|
||||
sizeof(sa_family_t) -
|
||||
sizeof(unsigned short) -
|
||||
sizeof(unsigned int) - sizeof(unsigned int)];
|
||||
};
|
||||
|
||||
#define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IO(7, 0xb9)
|
||||
|
||||
#if defined(__KERNEL__)
|
||||
int vm_sockets_get_local_cid(void);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,452 +1,17 @@
|
|||
/*****************************************************************************
|
||||
* wanrouter.h Definitions for the WAN Multiprotocol Router Module.
|
||||
* This module provides API and common services for WAN Link
|
||||
* Drivers and is completely hardware-independent.
|
||||
*
|
||||
* Author: Nenad Corbic <ncorbic@sangoma.com>
|
||||
* Gideon Hack
|
||||
* Additions: Arnaldo Melo
|
||||
*
|
||||
* Copyright: (c) 1995-2000 Sangoma Technologies Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the License, or (at your option) any later version.
|
||||
* ============================================================================
|
||||
* Jul 21, 2000 Nenad Corbic Added WAN_FT1_READY State
|
||||
* Feb 24, 2000 Nenad Corbic Added support for socket based x25api
|
||||
* Jan 28, 2000 Nenad Corbic Added support for the ASYNC protocol.
|
||||
* Oct 04, 1999 Nenad Corbic Updated for 2.1.0 release
|
||||
* Jun 02, 1999 Gideon Hack Added support for the S514 adapter.
|
||||
* May 23, 1999 Arnaldo Melo Added local_addr to wanif_conf_t
|
||||
* WAN_DISCONNECTING state added
|
||||
* Jul 20, 1998 David Fong Added Inverse ARP options to 'wanif_conf_t'
|
||||
* Jun 12, 1998 David Fong Added Cisco HDLC support.
|
||||
* Dec 16, 1997 Jaspreet Singh Moved 'enable_IPX' and 'network_number' to
|
||||
* 'wanif_conf_t'
|
||||
* Dec 05, 1997 Jaspreet Singh Added 'pap', 'chap' to 'wanif_conf_t'
|
||||
* Added 'authenticator' to 'wan_ppp_conf_t'
|
||||
* Nov 06, 1997 Jaspreet Singh Changed Router Driver version to 1.1 from 1.0
|
||||
* Oct 20, 1997 Jaspreet Singh Added 'cir','bc','be' and 'mc' to 'wanif_conf_t'
|
||||
* Added 'enable_IPX' and 'network_number' to
|
||||
* 'wan_device_t'. Also added defines for
|
||||
* UDP PACKET TYPE, Interrupt test, critical values
|
||||
* for RACE conditions.
|
||||
* Oct 05, 1997 Jaspreet Singh Added 'dlci_num' and 'dlci[100]' to
|
||||
* 'wan_fr_conf_t' to configure a list of dlci(s)
|
||||
* for a NODE
|
||||
* Jul 07, 1997 Jaspreet Singh Added 'ttl' to 'wandev_conf_t' & 'wan_device_t'
|
||||
* May 29, 1997 Jaspreet Singh Added 'tx_int_enabled' to 'wan_device_t'
|
||||
* May 21, 1997 Jaspreet Singh Added 'udp_port' to 'wan_device_t'
|
||||
* Apr 25, 1997 Farhan Thawar Added 'udp_port' to 'wandev_conf_t'
|
||||
* Jan 16, 1997 Gene Kozin router_devlist made public
|
||||
* Jan 02, 1997 Gene Kozin Initial version (based on wanpipe.h).
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* wanrouter.h Legacy declarations kept around until X25 is removed
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_ROUTER_H
|
||||
#define _UAPI_ROUTER_H
|
||||
|
||||
#define ROUTER_NAME "wanrouter" /* in case we ever change it */
|
||||
#define ROUTER_VERSION 1 /* version number */
|
||||
#define ROUTER_RELEASE 1 /* release (minor version) number */
|
||||
#define ROUTER_IOCTL 'W' /* for IOCTL calls */
|
||||
#define ROUTER_MAGIC 0x524D4157L /* signature: 'WANR' reversed */
|
||||
|
||||
/* IOCTL codes for /proc/router/<device> entries (up to 255) */
|
||||
enum router_ioctls
|
||||
{
|
||||
ROUTER_SETUP = ROUTER_IOCTL<<8, /* configure device */
|
||||
ROUTER_DOWN, /* shut down device */
|
||||
ROUTER_STAT, /* get device status */
|
||||
ROUTER_IFNEW, /* add interface */
|
||||
ROUTER_IFDEL, /* delete interface */
|
||||
ROUTER_IFSTAT, /* get interface status */
|
||||
ROUTER_USER = (ROUTER_IOCTL<<8)+16, /* driver-specific calls */
|
||||
ROUTER_USER_MAX = (ROUTER_IOCTL<<8)+31
|
||||
};
|
||||
|
||||
/* identifiers for displaying proc file data for dual port adapters */
|
||||
#define PROC_DATA_PORT_0 0x8000 /* the data is for port 0 */
|
||||
#define PROC_DATA_PORT_1 0x8001 /* the data is for port 1 */
|
||||
|
||||
/* NLPID for packet encapsulation (ISO/IEC TR 9577) */
|
||||
#define NLPID_IP 0xCC /* Internet Protocol Datagram */
|
||||
#define NLPID_SNAP 0x80 /* IEEE Subnetwork Access Protocol */
|
||||
#define NLPID_CLNP 0x81 /* ISO/IEC 8473 */
|
||||
#define NLPID_ESIS 0x82 /* ISO/IEC 9542 */
|
||||
#define NLPID_ISIS 0x83 /* ISO/IEC ISIS */
|
||||
#define NLPID_Q933 0x08 /* CCITT Q.933 */
|
||||
|
||||
/* Miscellaneous */
|
||||
#define WAN_IFNAME_SZ 15 /* max length of the interface name */
|
||||
#define WAN_DRVNAME_SZ 15 /* max length of the link driver name */
|
||||
#define WAN_ADDRESS_SZ 31 /* max length of the WAN media address */
|
||||
#define USED_BY_FIELD 8 /* max length of the used by field */
|
||||
|
||||
/* Defines for UDP PACKET TYPE */
|
||||
#define UDP_PTPIPE_TYPE 0x01
|
||||
#define UDP_FPIPE_TYPE 0x02
|
||||
#define UDP_CPIPE_TYPE 0x03
|
||||
#define UDP_DRVSTATS_TYPE 0x04
|
||||
#define UDP_INVALID_TYPE 0x05
|
||||
|
||||
/* Command return code */
|
||||
#define CMD_OK 0 /* normal firmware return code */
|
||||
#define CMD_TIMEOUT 0xFF /* firmware command timed out */
|
||||
|
||||
/* UDP Packet Management */
|
||||
#define UDP_PKT_FRM_STACK 0x00
|
||||
#define UDP_PKT_FRM_NETWORK 0x01
|
||||
|
||||
/* Maximum interrupt test counter */
|
||||
#define MAX_INTR_TEST_COUNTER 100
|
||||
|
||||
/* Critical Values for RACE conditions*/
|
||||
#define CRITICAL_IN_ISR 0xA1
|
||||
#define CRITICAL_INTR_HANDLED 0xB1
|
||||
|
||||
/****** Data Types **********************************************************/
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* X.25-specific link-level configuration.
|
||||
*/
|
||||
typedef struct wan_x25_conf
|
||||
{
|
||||
unsigned lo_pvc; /* lowest permanent circuit number */
|
||||
unsigned hi_pvc; /* highest permanent circuit number */
|
||||
unsigned lo_svc; /* lowest switched circuit number */
|
||||
unsigned hi_svc; /* highest switched circuit number */
|
||||
unsigned hdlc_window; /* HDLC window size (1..7) */
|
||||
unsigned pkt_window; /* X.25 packet window size (1..7) */
|
||||
unsigned t1; /* HDLC timer T1, sec (1..30) */
|
||||
unsigned t2; /* HDLC timer T2, sec (0..29) */
|
||||
unsigned t4; /* HDLC supervisory frame timer = T4 * T1 */
|
||||
unsigned n2; /* HDLC retransmission limit (1..30) */
|
||||
unsigned t10_t20; /* X.25 RESTART timeout, sec (1..255) */
|
||||
unsigned t11_t21; /* X.25 CALL timeout, sec (1..255) */
|
||||
unsigned t12_t22; /* X.25 RESET timeout, sec (1..255) */
|
||||
unsigned t13_t23; /* X.25 CLEAR timeout, sec (1..255) */
|
||||
unsigned t16_t26; /* X.25 INTERRUPT timeout, sec (1..255) */
|
||||
unsigned t28; /* X.25 REGISTRATION timeout, sec (1..255) */
|
||||
unsigned r10_r20; /* RESTART retransmission limit (0..250) */
|
||||
unsigned r12_r22; /* RESET retransmission limit (0..250) */
|
||||
unsigned r13_r23; /* CLEAR retransmission limit (0..250) */
|
||||
unsigned ccitt_compat; /* compatibility mode: 1988/1984/1980 */
|
||||
unsigned x25_conf_opt; /* User defined x25 config optoins */
|
||||
unsigned char LAPB_hdlc_only; /* Run in HDLC only mode */
|
||||
unsigned char logging; /* Control connection logging */
|
||||
unsigned char oob_on_modem; /* Whether to send modem status to the user app */
|
||||
} wan_x25_conf_t;
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* Frame relay specific link-level configuration.
|
||||
*/
|
||||
typedef struct wan_fr_conf
|
||||
{
|
||||
unsigned signalling; /* local in-channel signalling type */
|
||||
unsigned t391; /* link integrity verification timer */
|
||||
unsigned t392; /* polling verification timer */
|
||||
unsigned n391; /* full status polling cycle counter */
|
||||
unsigned n392; /* error threshold counter */
|
||||
unsigned n393; /* monitored events counter */
|
||||
unsigned dlci_num; /* number of DLCs (access node) */
|
||||
unsigned dlci[100]; /* List of all DLCIs */
|
||||
} wan_fr_conf_t;
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* PPP-specific link-level configuration.
|
||||
*/
|
||||
typedef struct wan_ppp_conf
|
||||
{
|
||||
unsigned restart_tmr; /* restart timer */
|
||||
unsigned auth_rsrt_tmr; /* authentication timer */
|
||||
unsigned auth_wait_tmr; /* authentication timer */
|
||||
unsigned mdm_fail_tmr; /* modem failure timer */
|
||||
unsigned dtr_drop_tmr; /* DTR drop timer */
|
||||
unsigned connect_tmout; /* connection timeout */
|
||||
unsigned conf_retry; /* max. retry */
|
||||
unsigned term_retry; /* max. retry */
|
||||
unsigned fail_retry; /* max. retry */
|
||||
unsigned auth_retry; /* max. retry */
|
||||
unsigned auth_options; /* authentication opt. */
|
||||
unsigned ip_options; /* IP options */
|
||||
char authenticator; /* AUTHENTICATOR or not */
|
||||
char ip_mode; /* Static/Host/Peer */
|
||||
} wan_ppp_conf_t;
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* CHDLC-specific link-level configuration.
|
||||
*/
|
||||
typedef struct wan_chdlc_conf
|
||||
{
|
||||
unsigned char ignore_dcd; /* Protocol options: */
|
||||
unsigned char ignore_cts; /* Ignore these to determine */
|
||||
unsigned char ignore_keepalive; /* link status (Yes or No) */
|
||||
unsigned char hdlc_streaming; /* hdlc_streaming mode (Y/N) */
|
||||
unsigned char receive_only; /* no transmit buffering (Y/N) */
|
||||
unsigned keepalive_tx_tmr; /* transmit keepalive timer */
|
||||
unsigned keepalive_rx_tmr; /* receive keepalive timer */
|
||||
unsigned keepalive_err_margin; /* keepalive_error_tolerance */
|
||||
unsigned slarp_timer; /* SLARP request timer */
|
||||
} wan_chdlc_conf_t;
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* WAN device configuration. Passed to ROUTER_SETUP IOCTL.
|
||||
*/
|
||||
typedef struct wandev_conf
|
||||
{
|
||||
unsigned magic; /* magic number (for verification) */
|
||||
unsigned config_id; /* configuration structure identifier */
|
||||
/****** hardware configuration ******/
|
||||
unsigned ioport; /* adapter I/O port base */
|
||||
unsigned long maddr; /* dual-port memory address */
|
||||
unsigned msize; /* dual-port memory size */
|
||||
int irq; /* interrupt request level */
|
||||
int dma; /* DMA request level */
|
||||
char S514_CPU_no[1]; /* S514 PCI adapter CPU number ('A' or 'B') */
|
||||
unsigned PCI_slot_no; /* S514 PCI adapter slot number */
|
||||
char auto_pci_cfg; /* S515 PCI automatic slot detection */
|
||||
char comm_port; /* Communication Port (PRI=0, SEC=1) */
|
||||
unsigned bps; /* data transfer rate */
|
||||
unsigned mtu; /* maximum transmit unit size */
|
||||
unsigned udp_port; /* UDP port for management */
|
||||
unsigned char ttl; /* Time To Live for UDP security */
|
||||
unsigned char ft1; /* FT1 Configurator Option */
|
||||
char interface; /* RS-232/V.35, etc. */
|
||||
char clocking; /* external/internal */
|
||||
char line_coding; /* NRZ/NRZI/FM0/FM1, etc. */
|
||||
char station; /* DTE/DCE, primary/secondary, etc. */
|
||||
char connection; /* permanent/switched/on-demand */
|
||||
char read_mode; /* read mode: Polling or interrupt */
|
||||
char receive_only; /* disable tx buffers */
|
||||
char tty; /* Create a fake tty device */
|
||||
unsigned tty_major; /* Major number for wanpipe tty device */
|
||||
unsigned tty_minor; /* Minor number for wanpipe tty device */
|
||||
unsigned tty_mode; /* TTY operation mode SYNC or ASYNC */
|
||||
char backup; /* Backup Mode */
|
||||
unsigned hw_opt[4]; /* other hardware options */
|
||||
unsigned reserved[4];
|
||||
/****** arbitrary data ***************/
|
||||
unsigned data_size; /* data buffer size */
|
||||
void* data; /* data buffer, e.g. firmware */
|
||||
union /****** protocol-specific ************/
|
||||
{
|
||||
wan_x25_conf_t x25; /* X.25 configuration */
|
||||
wan_ppp_conf_t ppp; /* PPP configuration */
|
||||
wan_fr_conf_t fr; /* frame relay configuration */
|
||||
wan_chdlc_conf_t chdlc; /* Cisco HDLC configuration */
|
||||
} u;
|
||||
} wandev_conf_t;
|
||||
|
||||
/* 'config_id' definitions */
|
||||
#define WANCONFIG_X25 101 /* X.25 link */
|
||||
#define WANCONFIG_FR 102 /* frame relay link */
|
||||
#define WANCONFIG_PPP 103 /* synchronous PPP link */
|
||||
#define WANCONFIG_CHDLC 104 /* Cisco HDLC Link */
|
||||
#define WANCONFIG_BSC 105 /* BiSync Streaming */
|
||||
#define WANCONFIG_HDLC 106 /* HDLC Support */
|
||||
#define WANCONFIG_MPPP 107 /* Multi Port PPP over RAW CHDLC */
|
||||
|
||||
/*
|
||||
* Configuration options defines.
|
||||
*/
|
||||
/* general options */
|
||||
#define WANOPT_OFF 0
|
||||
#define WANOPT_ON 1
|
||||
#define WANOPT_NO 0
|
||||
#define WANOPT_YES 1
|
||||
|
||||
/* intercace options */
|
||||
#define WANOPT_RS232 0
|
||||
#define WANOPT_V35 1
|
||||
|
||||
/* data encoding options */
|
||||
#define WANOPT_NRZ 0
|
||||
#define WANOPT_NRZI 1
|
||||
#define WANOPT_FM0 2
|
||||
#define WANOPT_FM1 3
|
||||
|
||||
/* link type options */
|
||||
#define WANOPT_POINTTOPOINT 0 /* RTS always active */
|
||||
#define WANOPT_MULTIDROP 1 /* RTS is active when transmitting */
|
||||
|
||||
/* clocking options */
|
||||
#define WANOPT_EXTERNAL 0
|
||||
#define WANOPT_INTERNAL 1
|
||||
|
||||
/* station options */
|
||||
#define WANOPT_DTE 0
|
||||
#define WANOPT_DCE 1
|
||||
#define WANOPT_CPE 0
|
||||
#define WANOPT_NODE 1
|
||||
#define WANOPT_SECONDARY 0
|
||||
#define WANOPT_PRIMARY 1
|
||||
|
||||
/* connection options */
|
||||
#define WANOPT_PERMANENT 0 /* DTR always active */
|
||||
#define WANOPT_SWITCHED 1 /* use DTR to setup link (dial-up) */
|
||||
#define WANOPT_ONDEMAND 2 /* activate DTR only before sending */
|
||||
|
||||
/* frame relay in-channel signalling */
|
||||
#define WANOPT_FR_ANSI 1 /* ANSI T1.617 Annex D */
|
||||
#define WANOPT_FR_Q933 2 /* ITU Q.933A */
|
||||
#define WANOPT_FR_LMI 3 /* LMI */
|
||||
|
||||
/* PPP IP Mode Options */
|
||||
#define WANOPT_PPP_STATIC 0
|
||||
#define WANOPT_PPP_HOST 1
|
||||
#define WANOPT_PPP_PEER 2
|
||||
|
||||
/* ASY Mode Options */
|
||||
#define WANOPT_ONE 1
|
||||
#define WANOPT_TWO 2
|
||||
#define WANOPT_ONE_AND_HALF 3
|
||||
|
||||
#define WANOPT_NONE 0
|
||||
#define WANOPT_ODD 1
|
||||
#define WANOPT_EVEN 2
|
||||
|
||||
/* CHDLC Protocol Options */
|
||||
/* DF Commented out for now.
|
||||
|
||||
#define WANOPT_CHDLC_NO_DCD IGNORE_DCD_FOR_LINK_STAT
|
||||
#define WANOPT_CHDLC_NO_CTS IGNORE_CTS_FOR_LINK_STAT
|
||||
#define WANOPT_CHDLC_NO_KEEPALIVE IGNORE_KPALV_FOR_LINK_STAT
|
||||
*/
|
||||
|
||||
/* Port options */
|
||||
#define WANOPT_PRI 0
|
||||
#define WANOPT_SEC 1
|
||||
/* read mode */
|
||||
#define WANOPT_INTR 0
|
||||
#define WANOPT_POLL 1
|
||||
|
||||
|
||||
#define WANOPT_TTY_SYNC 0
|
||||
#define WANOPT_TTY_ASYNC 1
|
||||
/*----------------------------------------------------------------------------
|
||||
* WAN Link Status Info (for ROUTER_STAT IOCTL).
|
||||
*/
|
||||
typedef struct wandev_stat
|
||||
{
|
||||
unsigned state; /* link state */
|
||||
unsigned ndev; /* number of configured interfaces */
|
||||
|
||||
/* link/interface configuration */
|
||||
unsigned connection; /* permanent/switched/on-demand */
|
||||
unsigned media_type; /* Frame relay/PPP/X.25/SDLC, etc. */
|
||||
unsigned mtu; /* max. transmit unit for this device */
|
||||
|
||||
/* physical level statistics */
|
||||
unsigned modem_status; /* modem status */
|
||||
unsigned rx_frames; /* received frames count */
|
||||
unsigned rx_overruns; /* receiver overrun error count */
|
||||
unsigned rx_crc_err; /* receive CRC error count */
|
||||
unsigned rx_aborts; /* received aborted frames count */
|
||||
unsigned rx_bad_length; /* unexpetedly long/short frames count */
|
||||
unsigned rx_dropped; /* frames discarded at device level */
|
||||
unsigned tx_frames; /* transmitted frames count */
|
||||
unsigned tx_underruns; /* aborted transmissions (underruns) count */
|
||||
unsigned tx_timeouts; /* transmission timeouts */
|
||||
unsigned tx_rejects; /* other transmit errors */
|
||||
|
||||
/* media level statistics */
|
||||
unsigned rx_bad_format; /* frames with invalid format */
|
||||
unsigned rx_bad_addr; /* frames with invalid media address */
|
||||
unsigned tx_retries; /* frames re-transmitted */
|
||||
unsigned reserved[16]; /* reserved for future use */
|
||||
} wandev_stat_t;
|
||||
|
||||
/* 'state' defines */
|
||||
enum wan_states
|
||||
{
|
||||
WAN_UNCONFIGURED, /* link/channel is not configured */
|
||||
WAN_DISCONNECTED, /* link/channel is disconnected */
|
||||
WAN_CONNECTING, /* connection is in progress */
|
||||
WAN_CONNECTED, /* link/channel is operational */
|
||||
WAN_LIMIT, /* for verification only */
|
||||
WAN_DUALPORT, /* for Dual Port cards */
|
||||
WAN_DISCONNECTING,
|
||||
WAN_FT1_READY /* FT1 Configurator Ready */
|
||||
WAN_CONNECTED /* link/channel is operational */
|
||||
};
|
||||
|
||||
enum {
|
||||
WAN_LOCAL_IP,
|
||||
WAN_POINTOPOINT_IP,
|
||||
WAN_NETMASK_IP,
|
||||
WAN_BROADCAST_IP
|
||||
};
|
||||
|
||||
/* 'modem_status' masks */
|
||||
#define WAN_MODEM_CTS 0x0001 /* CTS line active */
|
||||
#define WAN_MODEM_DCD 0x0002 /* DCD line active */
|
||||
#define WAN_MODEM_DTR 0x0010 /* DTR line active */
|
||||
#define WAN_MODEM_RTS 0x0020 /* RTS line active */
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* WAN interface (logical channel) configuration (for ROUTER_IFNEW IOCTL).
|
||||
*/
|
||||
typedef struct wanif_conf
|
||||
{
|
||||
unsigned magic; /* magic number */
|
||||
unsigned config_id; /* configuration identifier */
|
||||
char name[WAN_IFNAME_SZ+1]; /* interface name, ASCIIZ */
|
||||
char addr[WAN_ADDRESS_SZ+1]; /* media address, ASCIIZ */
|
||||
char usedby[USED_BY_FIELD]; /* used by API or WANPIPE */
|
||||
unsigned idle_timeout; /* sec, before disconnecting */
|
||||
unsigned hold_timeout; /* sec, before re-connecting */
|
||||
unsigned cir; /* Committed Information Rate fwd,bwd*/
|
||||
unsigned bc; /* Committed Burst Size fwd, bwd */
|
||||
unsigned be; /* Excess Burst Size fwd, bwd */
|
||||
unsigned char enable_IPX; /* Enable or Disable IPX */
|
||||
unsigned char inarp; /* Send Inverse ARP requests Y/N */
|
||||
unsigned inarp_interval; /* sec, between InARP requests */
|
||||
unsigned long network_number; /* Network Number for IPX */
|
||||
char mc; /* Multicast on or off */
|
||||
char local_addr[WAN_ADDRESS_SZ+1];/* local media address, ASCIIZ */
|
||||
unsigned char port; /* board port */
|
||||
unsigned char protocol; /* prococol used in this channel (TCPOX25 or X25) */
|
||||
char pap; /* PAP enabled or disabled */
|
||||
char chap; /* CHAP enabled or disabled */
|
||||
unsigned char userid[511]; /* List of User Id */
|
||||
unsigned char passwd[511]; /* List of passwords */
|
||||
unsigned char sysname[31]; /* Name of the system */
|
||||
unsigned char ignore_dcd; /* Protocol options: */
|
||||
unsigned char ignore_cts; /* Ignore these to determine */
|
||||
unsigned char ignore_keepalive; /* link status (Yes or No) */
|
||||
unsigned char hdlc_streaming; /* Hdlc streaming mode (Y/N) */
|
||||
unsigned keepalive_tx_tmr; /* transmit keepalive timer */
|
||||
unsigned keepalive_rx_tmr; /* receive keepalive timer */
|
||||
unsigned keepalive_err_margin; /* keepalive_error_tolerance */
|
||||
unsigned slarp_timer; /* SLARP request timer */
|
||||
unsigned char ttl; /* Time To Live for UDP security */
|
||||
char interface; /* RS-232/V.35, etc. */
|
||||
char clocking; /* external/internal */
|
||||
unsigned bps; /* data transfer rate */
|
||||
unsigned mtu; /* maximum transmit unit size */
|
||||
unsigned char if_down; /* brind down interface when disconnected */
|
||||
unsigned char gateway; /* Is this interface a gateway */
|
||||
unsigned char true_if_encoding; /* Set the dev->type to true board protocol */
|
||||
|
||||
unsigned char asy_data_trans; /* async API options */
|
||||
unsigned char rts_hs_for_receive; /* async Protocol options */
|
||||
unsigned char xon_xoff_hs_for_receive;
|
||||
unsigned char xon_xoff_hs_for_transmit;
|
||||
unsigned char dcd_hs_for_transmit;
|
||||
unsigned char cts_hs_for_transmit;
|
||||
unsigned char async_mode;
|
||||
unsigned tx_bits_per_char;
|
||||
unsigned rx_bits_per_char;
|
||||
unsigned stop_bits;
|
||||
unsigned char parity;
|
||||
unsigned break_timer;
|
||||
unsigned inter_char_timer;
|
||||
unsigned rx_complete_length;
|
||||
unsigned xon_char;
|
||||
unsigned xoff_char;
|
||||
unsigned char receive_only; /* no transmit buffering (Y/N) */
|
||||
} wanif_conf_t;
|
||||
|
||||
#endif /* _UAPI_ROUTER_H */
|
||||
|
|
|
|||
|
|
@ -15,19 +15,22 @@
|
|||
|
||||
/* Namespaces */
|
||||
#define XATTR_OS2_PREFIX "os2."
|
||||
#define XATTR_OS2_PREFIX_LEN (sizeof (XATTR_OS2_PREFIX) - 1)
|
||||
#define XATTR_OS2_PREFIX_LEN (sizeof(XATTR_OS2_PREFIX) - 1)
|
||||
|
||||
#define XATTR_MAC_OSX_PREFIX "osx."
|
||||
#define XATTR_MAC_OSX_PREFIX_LEN (sizeof(XATTR_MAC_OSX_PREFIX) - 1)
|
||||
|
||||
#define XATTR_SECURITY_PREFIX "security."
|
||||
#define XATTR_SECURITY_PREFIX_LEN (sizeof (XATTR_SECURITY_PREFIX) - 1)
|
||||
#define XATTR_SECURITY_PREFIX_LEN (sizeof(XATTR_SECURITY_PREFIX) - 1)
|
||||
|
||||
#define XATTR_SYSTEM_PREFIX "system."
|
||||
#define XATTR_SYSTEM_PREFIX_LEN (sizeof (XATTR_SYSTEM_PREFIX) - 1)
|
||||
#define XATTR_SYSTEM_PREFIX_LEN (sizeof(XATTR_SYSTEM_PREFIX) - 1)
|
||||
|
||||
#define XATTR_TRUSTED_PREFIX "trusted."
|
||||
#define XATTR_TRUSTED_PREFIX_LEN (sizeof (XATTR_TRUSTED_PREFIX) - 1)
|
||||
#define XATTR_TRUSTED_PREFIX_LEN (sizeof(XATTR_TRUSTED_PREFIX) - 1)
|
||||
|
||||
#define XATTR_USER_PREFIX "user."
|
||||
#define XATTR_USER_PREFIX_LEN (sizeof (XATTR_USER_PREFIX) - 1)
|
||||
#define XATTR_USER_PREFIX_LEN (sizeof(XATTR_USER_PREFIX) - 1)
|
||||
|
||||
/* Security namespace */
|
||||
#define XATTR_EVM_SUFFIX "evm"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue