aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/Kbuild1
-rw-r--r--include/uapi/linux/batman_adv.h114
-rw-r--r--include/uapi/linux/bpf.h86
-rw-r--r--include/uapi/linux/btrfs.h2
-rw-r--r--include/uapi/linux/can/bcm.h1
-rw-r--r--include/uapi/linux/cryptouser.h5
-rw-r--r--include/uapi/linux/devlink.h8
-rw-r--r--include/uapi/linux/dm-ioctl.h4
-rw-r--r--include/uapi/linux/elf-em.h1
-rw-r--r--include/uapi/linux/ethtool.h3
-rw-r--r--include/uapi/linux/fib_rules.h1
-rw-r--r--include/uapi/linux/fuse.h7
-rw-r--r--include/uapi/linux/gpio.h105
-rw-r--r--include/uapi/linux/gtp.h2
-rw-r--r--include/uapi/linux/i2c.h1
-rw-r--r--include/uapi/linux/icmp.h1
-rw-r--r--include/uapi/linux/if_bridge.h29
-rw-r--r--include/uapi/linux/if_ether.h1
-rw-r--r--include/uapi/linux/if_link.h14
-rw-r--r--include/uapi/linux/if_macsec.h2
-rw-r--r--include/uapi/linux/if_tunnel.h1
-rw-r--r--include/uapi/linux/iio/types.h1
-rw-r--r--include/uapi/linux/inet_diag.h1
-rw-r--r--include/uapi/linux/input-event-codes.h32
-rw-r--r--include/uapi/linux/input.h1
-rw-r--r--include/uapi/linux/kexec.h1
-rw-r--r--include/uapi/linux/lirc.h39
-rw-r--r--include/uapi/linux/magic.h2
-rw-r--r--include/uapi/linux/media.h10
-rw-r--r--include/uapi/linux/ndctl.h1
-rw-r--r--include/uapi/linux/netfilter/Kbuild1
-rw-r--r--include/uapi/linux/netfilter/nf_tables.h6
-rw-r--r--include/uapi/linux/netfilter/xt_NFLOG.h6
-rw-r--r--include/uapi/linux/netfilter/xt_SYNPROXY.h2
-rw-r--r--include/uapi/linux/netlink_diag.h1
-rw-r--r--include/uapi/linux/nl80211.h90
-rw-r--r--include/uapi/linux/openvswitch.h8
-rw-r--r--include/uapi/linux/perf_event.h6
-rw-r--r--include/uapi/linux/pkt_cls.h19
-rw-r--r--include/uapi/linux/sctp.h42
-rw-r--r--include/uapi/linux/serio.h1
-rw-r--r--include/uapi/linux/tc_act/tc_skbedit.h2
-rw-r--r--include/uapi/linux/tcp.h10
-rw-r--r--include/uapi/linux/tipc.h30
-rw-r--r--include/uapi/linux/tipc_netlink.h37
-rw-r--r--include/uapi/linux/videodev2.h14
-rw-r--r--include/uapi/linux/virtio_net.h9
-rw-r--r--include/uapi/linux/vsp1.h34
-rw-r--r--include/uapi/linux/wireless.h63
49 files changed, 717 insertions, 141 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild
index ad821a3a99f5..6d4e92ccdc91 100644
--- a/include/uapi/linux/Kbuild
+++ b/include/uapi/linux/Kbuild
@@ -245,6 +245,7 @@ endif
245header-y += hw_breakpoint.h 245header-y += hw_breakpoint.h
246header-y += l2tp.h 246header-y += l2tp.h
247header-y += libc-compat.h 247header-y += libc-compat.h
248header-y += lirc.h
248header-y += limits.h 249header-y += limits.h
249header-y += llc.h 250header-y += llc.h
250header-y += loop.h 251header-y += loop.h
diff --git a/include/uapi/linux/batman_adv.h b/include/uapi/linux/batman_adv.h
new file mode 100644
index 000000000000..0fbf6fd4711b
--- /dev/null
+++ b/include/uapi/linux/batman_adv.h
@@ -0,0 +1,114 @@
1/* Copyright (C) 2016 B.A.T.M.A.N. contributors:
2 *
3 * Matthias Schiffer
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _UAPI_LINUX_BATMAN_ADV_H_
19#define _UAPI_LINUX_BATMAN_ADV_H_
20
21#define BATADV_NL_NAME "batadv"
22
23#define BATADV_NL_MCAST_GROUP_TPMETER "tpmeter"
24
25/**
26 * enum batadv_nl_attrs - batman-adv netlink attributes
27 *
28 * @BATADV_ATTR_UNSPEC: unspecified attribute to catch errors
29 * @BATADV_ATTR_VERSION: batman-adv version string
30 * @BATADV_ATTR_ALGO_NAME: name of routing algorithm
31 * @BATADV_ATTR_MESH_IFINDEX: index of the batman-adv interface
32 * @BATADV_ATTR_MESH_IFNAME: name of the batman-adv interface
33 * @BATADV_ATTR_MESH_ADDRESS: mac address of the batman-adv interface
34 * @BATADV_ATTR_HARD_IFINDEX: index of the non-batman-adv interface
35 * @BATADV_ATTR_HARD_IFNAME: name of the non-batman-adv interface
36 * @BATADV_ATTR_HARD_ADDRESS: mac address of the non-batman-adv interface
37 * @BATADV_ATTR_ORIG_ADDRESS: originator mac address
38 * @BATADV_ATTR_TPMETER_RESULT: result of run (see batadv_tp_meter_status)
39 * @BATADV_ATTR_TPMETER_TEST_TIME: time (msec) the run took
40 * @BATADV_ATTR_TPMETER_BYTES: amount of acked bytes during run
41 * @BATADV_ATTR_TPMETER_COOKIE: session cookie to match tp_meter session
42 * @BATADV_ATTR_PAD: attribute used for padding for 64-bit alignment
43 * @__BATADV_ATTR_AFTER_LAST: internal use
44 * @NUM_BATADV_ATTR: total number of batadv_nl_attrs available
45 * @BATADV_ATTR_MAX: highest attribute number currently defined
46 */
47enum batadv_nl_attrs {
48 BATADV_ATTR_UNSPEC,
49 BATADV_ATTR_VERSION,
50 BATADV_ATTR_ALGO_NAME,
51 BATADV_ATTR_MESH_IFINDEX,
52 BATADV_ATTR_MESH_IFNAME,
53 BATADV_ATTR_MESH_ADDRESS,
54 BATADV_ATTR_HARD_IFINDEX,
55 BATADV_ATTR_HARD_IFNAME,
56 BATADV_ATTR_HARD_ADDRESS,
57 BATADV_ATTR_ORIG_ADDRESS,
58 BATADV_ATTR_TPMETER_RESULT,
59 BATADV_ATTR_TPMETER_TEST_TIME,
60 BATADV_ATTR_TPMETER_BYTES,
61 BATADV_ATTR_TPMETER_COOKIE,
62 BATADV_ATTR_PAD,
63 /* add attributes above here, update the policy in netlink.c */
64 __BATADV_ATTR_AFTER_LAST,
65 NUM_BATADV_ATTR = __BATADV_ATTR_AFTER_LAST,
66 BATADV_ATTR_MAX = __BATADV_ATTR_AFTER_LAST - 1
67};
68
69/**
70 * enum batadv_nl_commands - supported batman-adv netlink commands
71 *
72 * @BATADV_CMD_UNSPEC: unspecified command to catch errors
73 * @BATADV_CMD_GET_MESH_INFO: Query basic information about batman-adv device
74 * @BATADV_CMD_TP_METER: Start a tp meter session
75 * @BATADV_CMD_TP_METER_CANCEL: Cancel a tp meter session
76 * @__BATADV_CMD_AFTER_LAST: internal use
77 * @BATADV_CMD_MAX: highest used command number
78 */
79enum batadv_nl_commands {
80 BATADV_CMD_UNSPEC,
81 BATADV_CMD_GET_MESH_INFO,
82 BATADV_CMD_TP_METER,
83 BATADV_CMD_TP_METER_CANCEL,
84 /* add new commands above here */
85 __BATADV_CMD_AFTER_LAST,
86 BATADV_CMD_MAX = __BATADV_CMD_AFTER_LAST - 1
87};
88
89/**
90 * enum batadv_tp_meter_reason - reason of a tp meter test run stop
91 * @BATADV_TP_REASON_COMPLETE: sender finished tp run
92 * @BATADV_TP_REASON_CANCEL: sender was stopped during run
93 * @BATADV_TP_REASON_DST_UNREACHABLE: receiver could not be reached or didn't
94 * answer
95 * @BATADV_TP_REASON_RESEND_LIMIT: (unused) sender retry reached limit
96 * @BATADV_TP_REASON_ALREADY_ONGOING: test to or from the same node already
97 * ongoing
98 * @BATADV_TP_REASON_MEMORY_ERROR: test was stopped due to low memory
99 * @BATADV_TP_REASON_CANT_SEND: failed to send via outgoing interface
100 * @BATADV_TP_REASON_TOO_MANY: too many ongoing sessions
101 */
102enum batadv_tp_meter_reason {
103 BATADV_TP_REASON_COMPLETE = 3,
104 BATADV_TP_REASON_CANCEL = 4,
105 /* error status >= 128 */
106 BATADV_TP_REASON_DST_UNREACHABLE = 128,
107 BATADV_TP_REASON_RESEND_LIMIT = 129,
108 BATADV_TP_REASON_ALREADY_ONGOING = 130,
109 BATADV_TP_REASON_MEMORY_ERROR = 131,
110 BATADV_TP_REASON_CANT_SEND = 132,
111 BATADV_TP_REASON_TOO_MANY = 133,
112};
113
114#endif /* _UAPI_LINUX_BATMAN_ADV_H_ */
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
index 406459b935a2..da218fec6056 100644
--- a/include/uapi/linux/bpf.h
+++ b/include/uapi/linux/bpf.h
@@ -84,6 +84,7 @@ enum bpf_map_type {
84 BPF_MAP_TYPE_PERCPU_HASH, 84 BPF_MAP_TYPE_PERCPU_HASH,
85 BPF_MAP_TYPE_PERCPU_ARRAY, 85 BPF_MAP_TYPE_PERCPU_ARRAY,
86 BPF_MAP_TYPE_STACK_TRACE, 86 BPF_MAP_TYPE_STACK_TRACE,
87 BPF_MAP_TYPE_CGROUP_ARRAY,
87}; 88};
88 89
89enum bpf_prog_type { 90enum bpf_prog_type {
@@ -93,6 +94,7 @@ enum bpf_prog_type {
93 BPF_PROG_TYPE_SCHED_CLS, 94 BPF_PROG_TYPE_SCHED_CLS,
94 BPF_PROG_TYPE_SCHED_ACT, 95 BPF_PROG_TYPE_SCHED_ACT,
95 BPF_PROG_TYPE_TRACEPOINT, 96 BPF_PROG_TYPE_TRACEPOINT,
97 BPF_PROG_TYPE_XDP,
96}; 98};
97 99
98#define BPF_PSEUDO_MAP_FD 1 100#define BPF_PSEUDO_MAP_FD 1
@@ -313,6 +315,66 @@ enum bpf_func_id {
313 */ 315 */
314 BPF_FUNC_skb_get_tunnel_opt, 316 BPF_FUNC_skb_get_tunnel_opt,
315 BPF_FUNC_skb_set_tunnel_opt, 317 BPF_FUNC_skb_set_tunnel_opt,
318
319 /**
320 * bpf_skb_change_proto(skb, proto, flags)
321 * Change protocol of the skb. Currently supported is
322 * v4 -> v6, v6 -> v4 transitions. The helper will also
323 * resize the skb. eBPF program is expected to fill the
324 * new headers via skb_store_bytes and lX_csum_replace.
325 * @skb: pointer to skb
326 * @proto: new skb->protocol type
327 * @flags: reserved
328 * Return: 0 on success or negative error
329 */
330 BPF_FUNC_skb_change_proto,
331
332 /**
333 * bpf_skb_change_type(skb, type)
334 * Change packet type of skb.
335 * @skb: pointer to skb
336 * @type: new skb->pkt_type type
337 * Return: 0 on success or negative error
338 */
339 BPF_FUNC_skb_change_type,
340
341 /**
342 * bpf_skb_in_cgroup(skb, map, index) - Check cgroup2 membership of skb
343 * @skb: pointer to skb
344 * @map: pointer to bpf_map in BPF_MAP_TYPE_CGROUP_ARRAY type
345 * @index: index of the cgroup in the bpf_map
346 * Return:
347 * == 0 skb failed the cgroup2 descendant test
348 * == 1 skb succeeded the cgroup2 descendant test
349 * < 0 error
350 */
351 BPF_FUNC_skb_in_cgroup,
352
353 /**
354 * bpf_get_hash_recalc(skb)
355 * Retrieve and possibly recalculate skb->hash.
356 * @skb: pointer to skb
357 * Return: hash
358 */
359 BPF_FUNC_get_hash_recalc,
360
361 /**
362 * u64 bpf_get_current_task(void)
363 * Returns current task_struct
364 * Return: current
365 */
366 BPF_FUNC_get_current_task,
367
368 /**
369 * bpf_probe_write_user(void *dst, void *src, int len)
370 * safely attempt to write to a location
371 * @dst: destination address in userspace
372 * @src: source address on stack
373 * @len: number of bytes to copy
374 * Return: 0 on success or negative error
375 */
376 BPF_FUNC_probe_write_user,
377
316 __BPF_FUNC_MAX_ID, 378 __BPF_FUNC_MAX_ID,
317}; 379};
318 380
@@ -347,9 +409,11 @@ enum bpf_func_id {
347#define BPF_F_ZERO_CSUM_TX (1ULL << 1) 409#define BPF_F_ZERO_CSUM_TX (1ULL << 1)
348#define BPF_F_DONT_FRAGMENT (1ULL << 2) 410#define BPF_F_DONT_FRAGMENT (1ULL << 2)
349 411
350/* BPF_FUNC_perf_event_output flags. */ 412/* BPF_FUNC_perf_event_output and BPF_FUNC_perf_event_read flags. */
351#define BPF_F_INDEX_MASK 0xffffffffULL 413#define BPF_F_INDEX_MASK 0xffffffffULL
352#define BPF_F_CURRENT_CPU BPF_F_INDEX_MASK 414#define BPF_F_CURRENT_CPU BPF_F_INDEX_MASK
415/* BPF_FUNC_perf_event_output for sk_buff input context. */
416#define BPF_F_CTXLEN_MASK (0xfffffULL << 32)
353 417
354/* user accessible mirror of in-kernel sk_buff. 418/* user accessible mirror of in-kernel sk_buff.
355 * new fields can only be added to the end of this structure 419 * new fields can only be added to the end of this structure
@@ -386,4 +450,24 @@ struct bpf_tunnel_key {
386 __u32 tunnel_label; 450 __u32 tunnel_label;
387}; 451};
388 452
453/* User return codes for XDP prog type.
454 * A valid XDP program must return one of these defined values. All other
455 * return codes are reserved for future use. Unknown return codes will result
456 * in packet drop.
457 */
458enum xdp_action {
459 XDP_ABORTED = 0,
460 XDP_DROP,
461 XDP_PASS,
462 XDP_TX,
463};
464
465/* user accessible metadata for XDP packet hook
466 * new fields must be added to the end of this structure
467 */
468struct xdp_md {
469 __u32 data;
470 __u32 data_end;
471};
472
389#endif /* _UAPI__LINUX_BPF_H__ */ 473#endif /* _UAPI__LINUX_BPF_H__ */
diff --git a/include/uapi/linux/btrfs.h b/include/uapi/linux/btrfs.h
index 23c6960e94a4..2bdd1e3e7007 100644
--- a/include/uapi/linux/btrfs.h
+++ b/include/uapi/linux/btrfs.h
@@ -118,7 +118,7 @@ struct btrfs_ioctl_vol_args_v2 {
118 }; 118 };
119 union { 119 union {
120 char name[BTRFS_SUBVOL_NAME_MAX + 1]; 120 char name[BTRFS_SUBVOL_NAME_MAX + 1];
121 u64 devid; 121 __u64 devid;
122 }; 122 };
123}; 123};
124 124
diff --git a/include/uapi/linux/can/bcm.h b/include/uapi/linux/can/bcm.h
index 7a291dc1ff15..cefb304414ba 100644
--- a/include/uapi/linux/can/bcm.h
+++ b/include/uapi/linux/can/bcm.h
@@ -99,5 +99,6 @@ enum {
99#define RX_ANNOUNCE_RESUME 0x0100 99#define RX_ANNOUNCE_RESUME 0x0100
100#define TX_RESET_MULTI_IDX 0x0200 100#define TX_RESET_MULTI_IDX 0x0200
101#define RX_RTR_FRAME 0x0400 101#define RX_RTR_FRAME 0x0400
102#define CAN_FD_FRAME 0x0800
102 103
103#endif /* !_UAPI_CAN_BCM_H */ 104#endif /* !_UAPI_CAN_BCM_H */
diff --git a/include/uapi/linux/cryptouser.h b/include/uapi/linux/cryptouser.h
index 2e67bb64c1da..79b5ded2001a 100644
--- a/include/uapi/linux/cryptouser.h
+++ b/include/uapi/linux/cryptouser.h
@@ -45,6 +45,7 @@ enum crypto_attr_type_t {
45 CRYPTOCFGA_REPORT_RNG, /* struct crypto_report_rng */ 45 CRYPTOCFGA_REPORT_RNG, /* struct crypto_report_rng */
46 CRYPTOCFGA_REPORT_CIPHER, /* struct crypto_report_cipher */ 46 CRYPTOCFGA_REPORT_CIPHER, /* struct crypto_report_cipher */
47 CRYPTOCFGA_REPORT_AKCIPHER, /* struct crypto_report_akcipher */ 47 CRYPTOCFGA_REPORT_AKCIPHER, /* struct crypto_report_akcipher */
48 CRYPTOCFGA_REPORT_KPP, /* struct crypto_report_kpp */
48 __CRYPTOCFGA_MAX 49 __CRYPTOCFGA_MAX
49 50
50#define CRYPTOCFGA_MAX (__CRYPTOCFGA_MAX - 1) 51#define CRYPTOCFGA_MAX (__CRYPTOCFGA_MAX - 1)
@@ -107,5 +108,9 @@ struct crypto_report_akcipher {
107 char type[CRYPTO_MAX_NAME]; 108 char type[CRYPTO_MAX_NAME];
108}; 109};
109 110
111struct crypto_report_kpp {
112 char type[CRYPTO_MAX_NAME];
113};
114
110#define CRYPTO_REPORT_MAXSIZE (sizeof(struct crypto_user_alg) + \ 115#define CRYPTO_REPORT_MAXSIZE (sizeof(struct crypto_user_alg) + \
111 sizeof(struct crypto_report_blkcipher)) 116 sizeof(struct crypto_report_blkcipher))
diff --git a/include/uapi/linux/devlink.h b/include/uapi/linux/devlink.h
index ba0073b26fa6..915bfa74458c 100644
--- a/include/uapi/linux/devlink.h
+++ b/include/uapi/linux/devlink.h
@@ -57,6 +57,8 @@ enum devlink_command {
57 DEVLINK_CMD_SB_OCC_SNAPSHOT, 57 DEVLINK_CMD_SB_OCC_SNAPSHOT,
58 DEVLINK_CMD_SB_OCC_MAX_CLEAR, 58 DEVLINK_CMD_SB_OCC_MAX_CLEAR,
59 59
60 DEVLINK_CMD_ESWITCH_MODE_GET,
61 DEVLINK_CMD_ESWITCH_MODE_SET,
60 /* add new commands above here */ 62 /* add new commands above here */
61 63
62 __DEVLINK_CMD_MAX, 64 __DEVLINK_CMD_MAX,
@@ -95,6 +97,11 @@ enum devlink_sb_threshold_type {
95 97
96#define DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX 20 98#define DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX 20
97 99
100enum devlink_eswitch_mode {
101 DEVLINK_ESWITCH_MODE_LEGACY,
102 DEVLINK_ESWITCH_MODE_SWITCHDEV,
103};
104
98enum devlink_attr { 105enum devlink_attr {
99 /* don't change the order or add anything between, this is ABI! */ 106 /* don't change the order or add anything between, this is ABI! */
100 DEVLINK_ATTR_UNSPEC, 107 DEVLINK_ATTR_UNSPEC,
@@ -125,6 +132,7 @@ enum devlink_attr {
125 DEVLINK_ATTR_SB_TC_INDEX, /* u16 */ 132 DEVLINK_ATTR_SB_TC_INDEX, /* u16 */
126 DEVLINK_ATTR_SB_OCC_CUR, /* u32 */ 133 DEVLINK_ATTR_SB_OCC_CUR, /* u32 */
127 DEVLINK_ATTR_SB_OCC_MAX, /* u32 */ 134 DEVLINK_ATTR_SB_OCC_MAX, /* u32 */
135 DEVLINK_ATTR_ESWITCH_MODE, /* u16 */
128 136
129 /* add new attributes above here, update the policy in devlink.c */ 137 /* add new attributes above here, update the policy in devlink.c */
130 138
diff --git a/include/uapi/linux/dm-ioctl.h b/include/uapi/linux/dm-ioctl.h
index 30afd0a23c4b..4bf9f1eabffc 100644
--- a/include/uapi/linux/dm-ioctl.h
+++ b/include/uapi/linux/dm-ioctl.h
@@ -267,9 +267,9 @@ enum {
267#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) 267#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
268 268
269#define DM_VERSION_MAJOR 4 269#define DM_VERSION_MAJOR 4
270#define DM_VERSION_MINOR 34 270#define DM_VERSION_MINOR 35
271#define DM_VERSION_PATCHLEVEL 0 271#define DM_VERSION_PATCHLEVEL 0
272#define DM_VERSION_EXTRA "-ioctl (2015-10-28)" 272#define DM_VERSION_EXTRA "-ioctl (2016-06-23)"
273 273
274/* Status bits */ 274/* Status bits */
275#define DM_READONLY_FLAG (1 << 0) /* In/Out */ 275#define DM_READONLY_FLAG (1 << 0) /* In/Out */
diff --git a/include/uapi/linux/elf-em.h b/include/uapi/linux/elf-em.h
index c3fdfe79e5cc..cb5d1a519202 100644
--- a/include/uapi/linux/elf-em.h
+++ b/include/uapi/linux/elf-em.h
@@ -40,6 +40,7 @@
40#define EM_TILEPRO 188 /* Tilera TILEPro */ 40#define EM_TILEPRO 188 /* Tilera TILEPro */
41#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */ 41#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */
42#define EM_TILEGX 191 /* Tilera TILE-Gx */ 42#define EM_TILEGX 191 /* Tilera TILE-Gx */
43#define EM_BPF 247 /* Linux BPF - in-kernel virtual machine */
43#define EM_FRV 0x5441 /* Fujitsu FR-V */ 44#define EM_FRV 0x5441 /* Fujitsu FR-V */
44#define EM_AVR32 0x18ad /* Atmel AVR32 */ 45#define EM_AVR32 0x18ad /* Atmel AVR32 */
45 46
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
index 5f030b46cff4..b8f38e84d93a 100644
--- a/include/uapi/linux/ethtool.h
+++ b/include/uapi/linux/ethtool.h
@@ -1362,6 +1362,7 @@ enum ethtool_link_mode_bit_indices {
1362 ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 37, 1362 ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 37,
1363 ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 38, 1363 ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 38,
1364 ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 39, 1364 ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 39,
1365 ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 40,
1365 1366
1366 /* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit 1367 /* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
1367 * 31. Please do NOT define any SUPPORTED_* or ADVERTISED_* 1368 * 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
@@ -1370,7 +1371,7 @@ enum ethtool_link_mode_bit_indices {
1370 */ 1371 */
1371 1372
1372 __ETHTOOL_LINK_MODE_LAST 1373 __ETHTOOL_LINK_MODE_LAST
1373 = ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT, 1374 = ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT,
1374}; 1375};
1375 1376
1376#define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) \ 1377#define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) \
diff --git a/include/uapi/linux/fib_rules.h b/include/uapi/linux/fib_rules.h
index 620c8a5ddc00..14404b3ebb89 100644
--- a/include/uapi/linux/fib_rules.h
+++ b/include/uapi/linux/fib_rules.h
@@ -50,6 +50,7 @@ enum {
50 FRA_FWMASK, /* mask for netfilter mark */ 50 FRA_FWMASK, /* mask for netfilter mark */
51 FRA_OIFNAME, 51 FRA_OIFNAME,
52 FRA_PAD, 52 FRA_PAD,
53 FRA_L3MDEV, /* iif or oif is l3mdev goto its table */
53 __FRA_MAX 54 __FRA_MAX
54}; 55};
55 56
diff --git a/include/uapi/linux/fuse.h b/include/uapi/linux/fuse.h
index 5974fae54e12..27e17363263a 100644
--- a/include/uapi/linux/fuse.h
+++ b/include/uapi/linux/fuse.h
@@ -105,6 +105,9 @@
105 * 105 *
106 * 7.24 106 * 7.24
107 * - add FUSE_LSEEK for SEEK_HOLE and SEEK_DATA support 107 * - add FUSE_LSEEK for SEEK_HOLE and SEEK_DATA support
108 *
109 * 7.25
110 * - add FUSE_PARALLEL_DIROPS
108 */ 111 */
109 112
110#ifndef _LINUX_FUSE_H 113#ifndef _LINUX_FUSE_H
@@ -140,7 +143,7 @@
140#define FUSE_KERNEL_VERSION 7 143#define FUSE_KERNEL_VERSION 7
141 144
142/** Minor version number of this interface */ 145/** Minor version number of this interface */
143#define FUSE_KERNEL_MINOR_VERSION 24 146#define FUSE_KERNEL_MINOR_VERSION 25
144 147
145/** The node ID of the root inode */ 148/** The node ID of the root inode */
146#define FUSE_ROOT_ID 1 149#define FUSE_ROOT_ID 1
@@ -234,6 +237,7 @@ struct fuse_file_lock {
234 * FUSE_ASYNC_DIO: asynchronous direct I/O submission 237 * FUSE_ASYNC_DIO: asynchronous direct I/O submission
235 * FUSE_WRITEBACK_CACHE: use writeback cache for buffered writes 238 * FUSE_WRITEBACK_CACHE: use writeback cache for buffered writes
236 * FUSE_NO_OPEN_SUPPORT: kernel supports zero-message opens 239 * FUSE_NO_OPEN_SUPPORT: kernel supports zero-message opens
240 * FUSE_PARALLEL_DIROPS: allow parallel lookups and readdir
237 */ 241 */
238#define FUSE_ASYNC_READ (1 << 0) 242#define FUSE_ASYNC_READ (1 << 0)
239#define FUSE_POSIX_LOCKS (1 << 1) 243#define FUSE_POSIX_LOCKS (1 << 1)
@@ -253,6 +257,7 @@ struct fuse_file_lock {
253#define FUSE_ASYNC_DIO (1 << 15) 257#define FUSE_ASYNC_DIO (1 << 15)
254#define FUSE_WRITEBACK_CACHE (1 << 16) 258#define FUSE_WRITEBACK_CACHE (1 << 16)
255#define FUSE_NO_OPEN_SUPPORT (1 << 17) 259#define FUSE_NO_OPEN_SUPPORT (1 << 17)
260#define FUSE_PARALLEL_DIROPS (1 << 18)
256 261
257/** 262/**
258 * CUSE INIT request/reply flags 263 * CUSE INIT request/reply flags
diff --git a/include/uapi/linux/gpio.h b/include/uapi/linux/gpio.h
index d0a3cac72250..333d3544c964 100644
--- a/include/uapi/linux/gpio.h
+++ b/include/uapi/linux/gpio.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * <linux/gpio.h> - userspace ABI for the GPIO character devices 2 * <linux/gpio.h> - userspace ABI for the GPIO character devices
3 * 3 *
4 * Copyright (C) 2015 Linus Walleij 4 * Copyright (C) 2016 Linus Walleij
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published by 7 * under the terms of the GNU General Public License version 2 as published by
@@ -26,8 +26,8 @@ struct gpiochip_info {
26 __u32 lines; 26 __u32 lines;
27}; 27};
28 28
29/* Line is in use by the kernel */ 29/* Informational flags */
30#define GPIOLINE_FLAG_KERNEL (1UL << 0) 30#define GPIOLINE_FLAG_KERNEL (1UL << 0) /* Line used by the kernel */
31#define GPIOLINE_FLAG_IS_OUT (1UL << 1) 31#define GPIOLINE_FLAG_IS_OUT (1UL << 1)
32#define GPIOLINE_FLAG_ACTIVE_LOW (1UL << 2) 32#define GPIOLINE_FLAG_ACTIVE_LOW (1UL << 2)
33#define GPIOLINE_FLAG_OPEN_DRAIN (1UL << 3) 33#define GPIOLINE_FLAG_OPEN_DRAIN (1UL << 3)
@@ -52,7 +52,106 @@ struct gpioline_info {
52 char consumer[32]; 52 char consumer[32];
53}; 53};
54 54
55/* Maximum number of requested handles */
56#define GPIOHANDLES_MAX 64
57
58/* Linerequest flags */
59#define GPIOHANDLE_REQUEST_INPUT (1UL << 0)
60#define GPIOHANDLE_REQUEST_OUTPUT (1UL << 1)
61#define GPIOHANDLE_REQUEST_ACTIVE_LOW (1UL << 2)
62#define GPIOHANDLE_REQUEST_OPEN_DRAIN (1UL << 3)
63#define GPIOHANDLE_REQUEST_OPEN_SOURCE (1UL << 4)
64
65/**
66 * struct gpiohandle_request - Information about a GPIO handle request
67 * @lineoffsets: an array desired lines, specified by offset index for the
68 * associated GPIO device
69 * @flags: desired flags for the desired GPIO lines, such as
70 * GPIOHANDLE_REQUEST_OUTPUT, GPIOHANDLE_REQUEST_ACTIVE_LOW etc, OR:ed
71 * together. Note that even if multiple lines are requested, the same flags
72 * must be applicable to all of them, if you want lines with individual
73 * flags set, request them one by one. It is possible to select
74 * a batch of input or output lines, but they must all have the same
75 * characteristics, i.e. all inputs or all outputs, all active low etc
76 * @default_values: if the GPIOHANDLE_REQUEST_OUTPUT is set for a requested
77 * line, this specifies the default output value, should be 0 (low) or
78 * 1 (high), anything else than 0 or 1 will be interpreted as 1 (high)
79 * @consumer_label: a desired consumer label for the selected GPIO line(s)
80 * such as "my-bitbanged-relay"
81 * @lines: number of lines requested in this request, i.e. the number of
82 * valid fields in the above arrays, set to 1 to request a single line
83 * @fd: if successful this field will contain a valid anonymous file handle
84 * after a GPIO_GET_LINEHANDLE_IOCTL operation, zero or negative value
85 * means error
86 */
87struct gpiohandle_request {
88 __u32 lineoffsets[GPIOHANDLES_MAX];
89 __u32 flags;
90 __u8 default_values[GPIOHANDLES_MAX];
91 char consumer_label[32];
92 __u32 lines;
93 int fd;
94};
95
96/**
97 * struct gpiohandle_data - Information of values on a GPIO handle
98 * @values: when getting the state of lines this contains the current
99 * state of a line, when setting the state of lines these should contain
100 * the desired target state
101 */
102struct gpiohandle_data {
103 __u8 values[GPIOHANDLES_MAX];
104};
105
106#define GPIOHANDLE_GET_LINE_VALUES_IOCTL _IOWR(0xB4, 0x08, struct gpiohandle_data)
107#define GPIOHANDLE_SET_LINE_VALUES_IOCTL _IOWR(0xB4, 0x09, struct gpiohandle_data)
108
109/* Eventrequest flags */
110#define GPIOEVENT_REQUEST_RISING_EDGE (1UL << 0)
111#define GPIOEVENT_REQUEST_FALLING_EDGE (1UL << 1)
112#define GPIOEVENT_REQUEST_BOTH_EDGES ((1UL << 0) | (1UL << 1))
113
114/**
115 * struct gpioevent_request - Information about a GPIO event request
116 * @lineoffset: the desired line to subscribe to events from, specified by
117 * offset index for the associated GPIO device
118 * @handleflags: desired handle flags for the desired GPIO line, such as
119 * GPIOHANDLE_REQUEST_ACTIVE_LOW or GPIOHANDLE_REQUEST_OPEN_DRAIN
120 * @eventflags: desired flags for the desired GPIO event line, such as
121 * GPIOEVENT_REQUEST_RISING_EDGE or GPIOEVENT_REQUEST_FALLING_EDGE
122 * @consumer_label: a desired consumer label for the selected GPIO line(s)
123 * such as "my-listener"
124 * @fd: if successful this field will contain a valid anonymous file handle
125 * after a GPIO_GET_LINEEVENT_IOCTL operation, zero or negative value
126 * means error
127 */
128struct gpioevent_request {
129 __u32 lineoffset;
130 __u32 handleflags;
131 __u32 eventflags;
132 char consumer_label[32];
133 int fd;
134};
135
136/**
137 * GPIO event types
138 */
139#define GPIOEVENT_EVENT_RISING_EDGE 0x01
140#define GPIOEVENT_EVENT_FALLING_EDGE 0x02
141
142/**
143 * struct gpioevent_data - The actual event being pushed to userspace
144 * @timestamp: best estimate of time of event occurrence, in nanoseconds
145 * @id: event identifier
146 */
147struct gpioevent_data {
148 __u64 timestamp;
149 __u32 id;
150};
151
55#define GPIO_GET_CHIPINFO_IOCTL _IOR(0xB4, 0x01, struct gpiochip_info) 152#define GPIO_GET_CHIPINFO_IOCTL _IOR(0xB4, 0x01, struct gpiochip_info)
56#define GPIO_GET_LINEINFO_IOCTL _IOWR(0xB4, 0x02, struct gpioline_info) 153#define GPIO_GET_LINEINFO_IOCTL _IOWR(0xB4, 0x02, struct gpioline_info)
154#define GPIO_GET_LINEHANDLE_IOCTL _IOWR(0xB4, 0x03, struct gpiohandle_request)
155#define GPIO_GET_LINEEVENT_IOCTL _IOWR(0xB4, 0x04, struct gpioevent_request)
57 156
58#endif /* _UAPI_GPIO_H_ */ 157#endif /* _UAPI_GPIO_H_ */
diff --git a/include/uapi/linux/gtp.h b/include/uapi/linux/gtp.h
index ca1054dd8249..72a04a0e8cce 100644
--- a/include/uapi/linux/gtp.h
+++ b/include/uapi/linux/gtp.h
@@ -1,5 +1,5 @@
1#ifndef _UAPI_LINUX_GTP_H_ 1#ifndef _UAPI_LINUX_GTP_H_
2#define _UAPI_LINUX_GTP_H__ 2#define _UAPI_LINUX_GTP_H_
3 3
4enum gtp_genl_cmds { 4enum gtp_genl_cmds {
5 GTP_CMD_NEWPDP, 5 GTP_CMD_NEWPDP,
diff --git a/include/uapi/linux/i2c.h b/include/uapi/linux/i2c.h
index adcbef4bff61..009e27bb9abe 100644
--- a/include/uapi/linux/i2c.h
+++ b/include/uapi/linux/i2c.h
@@ -102,6 +102,7 @@ struct i2c_msg {
102#define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 0x02000000 102#define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 0x02000000
103#define I2C_FUNC_SMBUS_READ_I2C_BLOCK 0x04000000 /* I2C-like block xfer */ 103#define I2C_FUNC_SMBUS_READ_I2C_BLOCK 0x04000000 /* I2C-like block xfer */
104#define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK 0x08000000 /* w/ 1-byte reg. addr. */ 104#define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK 0x08000000 /* w/ 1-byte reg. addr. */
105#define I2C_FUNC_SMBUS_HOST_NOTIFY 0x10000000
105 106
106#define I2C_FUNC_SMBUS_BYTE (I2C_FUNC_SMBUS_READ_BYTE | \ 107#define I2C_FUNC_SMBUS_BYTE (I2C_FUNC_SMBUS_READ_BYTE | \
107 I2C_FUNC_SMBUS_WRITE_BYTE) 108 I2C_FUNC_SMBUS_WRITE_BYTE)
diff --git a/include/uapi/linux/icmp.h b/include/uapi/linux/icmp.h
index 16fff055f734..fddd9d736284 100644
--- a/include/uapi/linux/icmp.h
+++ b/include/uapi/linux/icmp.h
@@ -79,6 +79,7 @@ struct icmphdr {
79 __be16 __unused; 79 __be16 __unused;
80 __be16 mtu; 80 __be16 mtu;
81 } frag; 81 } frag;
82 __u8 reserved[4];
82 } un; 83 } un;
83}; 84};
84 85
diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h
index 397d503fdedb..c186f64fffca 100644
--- a/include/uapi/linux/if_bridge.h
+++ b/include/uapi/linux/if_bridge.h
@@ -247,8 +247,37 @@ enum {
247enum { 247enum {
248 BRIDGE_XSTATS_UNSPEC, 248 BRIDGE_XSTATS_UNSPEC,
249 BRIDGE_XSTATS_VLAN, 249 BRIDGE_XSTATS_VLAN,
250 BRIDGE_XSTATS_MCAST,
251 BRIDGE_XSTATS_PAD,
250 __BRIDGE_XSTATS_MAX 252 __BRIDGE_XSTATS_MAX
251}; 253};
252#define BRIDGE_XSTATS_MAX (__BRIDGE_XSTATS_MAX - 1) 254#define BRIDGE_XSTATS_MAX (__BRIDGE_XSTATS_MAX - 1)
253 255
256enum {
257 BR_MCAST_DIR_RX,
258 BR_MCAST_DIR_TX,
259 BR_MCAST_DIR_SIZE
260};
261
262/* IGMP/MLD statistics */
263struct br_mcast_stats {
264 __u64 igmp_v1queries[BR_MCAST_DIR_SIZE];
265 __u64 igmp_v2queries[BR_MCAST_DIR_SIZE];
266 __u64 igmp_v3queries[BR_MCAST_DIR_SIZE];
267 __u64 igmp_leaves[BR_MCAST_DIR_SIZE];
268 __u64 igmp_v1reports[BR_MCAST_DIR_SIZE];
269 __u64 igmp_v2reports[BR_MCAST_DIR_SIZE];
270 __u64 igmp_v3reports[BR_MCAST_DIR_SIZE];
271 __u64 igmp_parse_errors;
272
273 __u64 mld_v1queries[BR_MCAST_DIR_SIZE];
274 __u64 mld_v2queries[BR_MCAST_DIR_SIZE];
275 __u64 mld_leaves[BR_MCAST_DIR_SIZE];
276 __u64 mld_v1reports[BR_MCAST_DIR_SIZE];
277 __u64 mld_v2reports[BR_MCAST_DIR_SIZE];
278 __u64 mld_parse_errors;
279
280 __u64 mcast_bytes[BR_MCAST_DIR_SIZE];
281 __u64 mcast_packets[BR_MCAST_DIR_SIZE];
282};
254#endif /* _UAPI_LINUX_IF_BRIDGE_H */ 283#endif /* _UAPI_LINUX_IF_BRIDGE_H */
diff --git a/include/uapi/linux/if_ether.h b/include/uapi/linux/if_ether.h
index cec849a239f6..117d02e0fc31 100644
--- a/include/uapi/linux/if_ether.h
+++ b/include/uapi/linux/if_ether.h
@@ -87,6 +87,7 @@
87#define ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */ 87#define ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */
88#define ETH_P_MVRP 0x88F5 /* 802.1Q MVRP */ 88#define ETH_P_MVRP 0x88F5 /* 802.1Q MVRP */
89#define ETH_P_1588 0x88F7 /* IEEE 1588 Timesync */ 89#define ETH_P_1588 0x88F7 /* IEEE 1588 Timesync */
90#define ETH_P_NCSI 0x88F8 /* NCSI protocol */
90#define ETH_P_PRP 0x88FB /* IEC 62439-3 PRP/HSRv0 */ 91#define ETH_P_PRP 0x88FB /* IEC 62439-3 PRP/HSRv0 */
91#define ETH_P_FCOE 0x8906 /* Fibre Channel over Ethernet */ 92#define ETH_P_FCOE 0x8906 /* Fibre Channel over Ethernet */
92#define ETH_P_TDLS 0x890D /* TDLS */ 93#define ETH_P_TDLS 0x890D /* TDLS */
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
index bb36bd5675a7..a1b5202c5f6b 100644
--- a/include/uapi/linux/if_link.h
+++ b/include/uapi/linux/if_link.h
@@ -156,6 +156,7 @@ enum {
156 IFLA_GSO_MAX_SEGS, 156 IFLA_GSO_MAX_SEGS,
157 IFLA_GSO_MAX_SIZE, 157 IFLA_GSO_MAX_SIZE,
158 IFLA_PAD, 158 IFLA_PAD,
159 IFLA_XDP,
159 __IFLA_MAX 160 __IFLA_MAX
160}; 161};
161 162
@@ -273,6 +274,7 @@ enum {
273 IFLA_BR_VLAN_DEFAULT_PVID, 274 IFLA_BR_VLAN_DEFAULT_PVID,
274 IFLA_BR_PAD, 275 IFLA_BR_PAD,
275 IFLA_BR_VLAN_STATS_ENABLED, 276 IFLA_BR_VLAN_STATS_ENABLED,
277 IFLA_BR_MCAST_STATS_ENABLED,
276 __IFLA_BR_MAX, 278 __IFLA_BR_MAX,
277}; 279};
278 280
@@ -822,6 +824,7 @@ enum {
822 IFLA_STATS_UNSPEC, /* also used as 64bit pad attribute */ 824 IFLA_STATS_UNSPEC, /* also used as 64bit pad attribute */
823 IFLA_STATS_LINK_64, 825 IFLA_STATS_LINK_64,
824 IFLA_STATS_LINK_XSTATS, 826 IFLA_STATS_LINK_XSTATS,
827 IFLA_STATS_LINK_XSTATS_SLAVE,
825 __IFLA_STATS_MAX, 828 __IFLA_STATS_MAX,
826}; 829};
827 830
@@ -841,4 +844,15 @@ enum {
841}; 844};
842#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1) 845#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
843 846
847/* XDP section */
848
849enum {
850 IFLA_XDP_UNSPEC,
851 IFLA_XDP_FD,
852 IFLA_XDP_ATTACHED,
853 __IFLA_XDP_MAX,
854};
855
856#define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1)
857
844#endif /* _UAPI_LINUX_IF_LINK_H */ 858#endif /* _UAPI_LINUX_IF_LINK_H */
diff --git a/include/uapi/linux/if_macsec.h b/include/uapi/linux/if_macsec.h
index f7d4831a2cc7..02fc49cb72d8 100644
--- a/include/uapi/linux/if_macsec.h
+++ b/include/uapi/linux/if_macsec.h
@@ -26,6 +26,8 @@
26 26
27#define MACSEC_MIN_ICV_LEN 8 27#define MACSEC_MIN_ICV_LEN 8
28#define MACSEC_MAX_ICV_LEN 32 28#define MACSEC_MAX_ICV_LEN 32
29/* upper limit for ICV length as recommended by IEEE802.1AE-2006 */
30#define MACSEC_STD_ICV_LEN 16
29 31
30enum macsec_attrs { 32enum macsec_attrs {
31 MACSEC_ATTR_UNSPEC, 33 MACSEC_ATTR_UNSPEC,
diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h
index af4de90ba27d..1046f5515174 100644
--- a/include/uapi/linux/if_tunnel.h
+++ b/include/uapi/linux/if_tunnel.h
@@ -113,6 +113,7 @@ enum {
113 IFLA_GRE_ENCAP_SPORT, 113 IFLA_GRE_ENCAP_SPORT,
114 IFLA_GRE_ENCAP_DPORT, 114 IFLA_GRE_ENCAP_DPORT,
115 IFLA_GRE_COLLECT_METADATA, 115 IFLA_GRE_COLLECT_METADATA,
116 IFLA_GRE_IGNORE_DF,
116 __IFLA_GRE_MAX, 117 __IFLA_GRE_MAX,
117}; 118};
118 119
diff --git a/include/uapi/linux/iio/types.h b/include/uapi/linux/iio/types.h
index b0916fc72cce..22e5e589a274 100644
--- a/include/uapi/linux/iio/types.h
+++ b/include/uapi/linux/iio/types.h
@@ -39,6 +39,7 @@ enum iio_chan_type {
39 IIO_RESISTANCE, 39 IIO_RESISTANCE,
40 IIO_PH, 40 IIO_PH,
41 IIO_UVINDEX, 41 IIO_UVINDEX,
42 IIO_ELECTRICALCONDUCTIVITY,
42}; 43};
43 44
44enum iio_modifier { 45enum iio_modifier {
diff --git a/include/uapi/linux/inet_diag.h b/include/uapi/linux/inet_diag.h
index a16643705669..abbd1dc5d683 100644
--- a/include/uapi/linux/inet_diag.h
+++ b/include/uapi/linux/inet_diag.h
@@ -72,6 +72,7 @@ enum {
72 INET_DIAG_BC_AUTO, 72 INET_DIAG_BC_AUTO,
73 INET_DIAG_BC_S_COND, 73 INET_DIAG_BC_S_COND,
74 INET_DIAG_BC_D_COND, 74 INET_DIAG_BC_D_COND,
75 INET_DIAG_BC_DEV_COND, /* u32 ifindex */
75}; 76};
76 77
77struct inet_diag_hostcond { 78struct inet_diag_hostcond {
diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h
index 87cf351bab03..d6d071fc3c56 100644
--- a/include/uapi/linux/input-event-codes.h
+++ b/include/uapi/linux/input-event-codes.h
@@ -611,6 +611,37 @@
611#define KEY_KBDINPUTASSIST_ACCEPT 0x264 611#define KEY_KBDINPUTASSIST_ACCEPT 0x264
612#define KEY_KBDINPUTASSIST_CANCEL 0x265 612#define KEY_KBDINPUTASSIST_CANCEL 0x265
613 613
614/* Diagonal movement keys */
615#define KEY_RIGHT_UP 0x266
616#define KEY_RIGHT_DOWN 0x267
617#define KEY_LEFT_UP 0x268
618#define KEY_LEFT_DOWN 0x269
619
620#define KEY_ROOT_MENU 0x26a /* Show Device's Root Menu */
621/* Show Top Menu of the Media (e.g. DVD) */
622#define KEY_MEDIA_TOP_MENU 0x26b
623#define KEY_NUMERIC_11 0x26c
624#define KEY_NUMERIC_12 0x26d
625/*
626 * Toggle Audio Description: refers to an audio service that helps blind and
627 * visually impaired consumers understand the action in a program. Note: in
628 * some countries this is referred to as "Video Description".
629 */
630#define KEY_AUDIO_DESC 0x26e
631#define KEY_3D_MODE 0x26f
632#define KEY_NEXT_FAVORITE 0x270
633#define KEY_STOP_RECORD 0x271
634#define KEY_PAUSE_RECORD 0x272
635#define KEY_VOD 0x273 /* Video on Demand */
636#define KEY_UNMUTE 0x274
637#define KEY_FASTREVERSE 0x275
638#define KEY_SLOWREVERSE 0x276
639/*
640 * Control a data application associated with the currently viewed channel,
641 * e.g. teletext or data broadcast application (MHEG, MHP, HbbTV, etc.)
642 */
643#define KEY_DATA 0x275
644
614#define BTN_TRIGGER_HAPPY 0x2c0 645#define BTN_TRIGGER_HAPPY 0x2c0
615#define BTN_TRIGGER_HAPPY1 0x2c0 646#define BTN_TRIGGER_HAPPY1 0x2c0
616#define BTN_TRIGGER_HAPPY2 0x2c1 647#define BTN_TRIGGER_HAPPY2 0x2c1
@@ -749,6 +780,7 @@
749#define SW_ROTATE_LOCK 0x0c /* set = rotate locked/disabled */ 780#define SW_ROTATE_LOCK 0x0c /* set = rotate locked/disabled */
750#define SW_LINEIN_INSERT 0x0d /* set = inserted */ 781#define SW_LINEIN_INSERT 0x0d /* set = inserted */
751#define SW_MUTE_DEVICE 0x0e /* set = device disabled */ 782#define SW_MUTE_DEVICE 0x0e /* set = device disabled */
783#define SW_PEN_INSERTED 0x0f /* set = pen inserted */
752#define SW_MAX 0x0f 784#define SW_MAX 0x0f
753#define SW_CNT (SW_MAX+1) 785#define SW_CNT (SW_MAX+1)
754 786
diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
index 01113841190d..c51494119817 100644
--- a/include/uapi/linux/input.h
+++ b/include/uapi/linux/input.h
@@ -247,6 +247,7 @@ struct input_mask {
247#define BUS_ATARI 0x1B 247#define BUS_ATARI 0x1B
248#define BUS_SPI 0x1C 248#define BUS_SPI 0x1C
249#define BUS_RMI 0x1D 249#define BUS_RMI 0x1D
250#define BUS_CEC 0x1E
250 251
251/* 252/*
252 * MT_TOOL types 253 * MT_TOOL types
diff --git a/include/uapi/linux/kexec.h b/include/uapi/linux/kexec.h
index 99048e501b88..aae5ebf2022b 100644
--- a/include/uapi/linux/kexec.h
+++ b/include/uapi/linux/kexec.h
@@ -39,6 +39,7 @@
39#define KEXEC_ARCH_SH (42 << 16) 39#define KEXEC_ARCH_SH (42 << 16)
40#define KEXEC_ARCH_MIPS_LE (10 << 16) 40#define KEXEC_ARCH_MIPS_LE (10 << 16)
41#define KEXEC_ARCH_MIPS ( 8 << 16) 41#define KEXEC_ARCH_MIPS ( 8 << 16)
42#define KEXEC_ARCH_AARCH64 (183 << 16)
42 43
43/* The artificial cap on the number of segments passed to kexec_load. */ 44/* The artificial cap on the number of segments passed to kexec_load. */
44#define KEXEC_SEGMENT_MAX 16 45#define KEXEC_SEGMENT_MAX 16
diff --git a/include/uapi/linux/lirc.h b/include/uapi/linux/lirc.h
index 4b3ab2966b5a..991ab4570b8e 100644
--- a/include/uapi/linux/lirc.h
+++ b/include/uapi/linux/lirc.h
@@ -90,20 +90,11 @@
90 90
91#define LIRC_GET_SEND_MODE _IOR('i', 0x00000001, __u32) 91#define LIRC_GET_SEND_MODE _IOR('i', 0x00000001, __u32)
92#define LIRC_GET_REC_MODE _IOR('i', 0x00000002, __u32) 92#define LIRC_GET_REC_MODE _IOR('i', 0x00000002, __u32)
93#define LIRC_GET_SEND_CARRIER _IOR('i', 0x00000003, __u32)
94#define LIRC_GET_REC_CARRIER _IOR('i', 0x00000004, __u32)
95#define LIRC_GET_SEND_DUTY_CYCLE _IOR('i', 0x00000005, __u32)
96#define LIRC_GET_REC_DUTY_CYCLE _IOR('i', 0x00000006, __u32)
97#define LIRC_GET_REC_RESOLUTION _IOR('i', 0x00000007, __u32) 93#define LIRC_GET_REC_RESOLUTION _IOR('i', 0x00000007, __u32)
98 94
99#define LIRC_GET_MIN_TIMEOUT _IOR('i', 0x00000008, __u32) 95#define LIRC_GET_MIN_TIMEOUT _IOR('i', 0x00000008, __u32)
100#define LIRC_GET_MAX_TIMEOUT _IOR('i', 0x00000009, __u32) 96#define LIRC_GET_MAX_TIMEOUT _IOR('i', 0x00000009, __u32)
101 97
102#define LIRC_GET_MIN_FILTER_PULSE _IOR('i', 0x0000000a, __u32)
103#define LIRC_GET_MAX_FILTER_PULSE _IOR('i', 0x0000000b, __u32)
104#define LIRC_GET_MIN_FILTER_SPACE _IOR('i', 0x0000000c, __u32)
105#define LIRC_GET_MAX_FILTER_SPACE _IOR('i', 0x0000000d, __u32)
106
107/* code length in bits, currently only for LIRC_MODE_LIRCCODE */ 98/* code length in bits, currently only for LIRC_MODE_LIRCCODE */
108#define LIRC_GET_LENGTH _IOR('i', 0x0000000f, __u32) 99#define LIRC_GET_LENGTH _IOR('i', 0x0000000f, __u32)
109 100
@@ -113,7 +104,6 @@
113#define LIRC_SET_SEND_CARRIER _IOW('i', 0x00000013, __u32) 104#define LIRC_SET_SEND_CARRIER _IOW('i', 0x00000013, __u32)
114#define LIRC_SET_REC_CARRIER _IOW('i', 0x00000014, __u32) 105#define LIRC_SET_REC_CARRIER _IOW('i', 0x00000014, __u32)
115#define LIRC_SET_SEND_DUTY_CYCLE _IOW('i', 0x00000015, __u32) 106#define LIRC_SET_SEND_DUTY_CYCLE _IOW('i', 0x00000015, __u32)
116#define LIRC_SET_REC_DUTY_CYCLE _IOW('i', 0x00000016, __u32)
117#define LIRC_SET_TRANSMITTER_MASK _IOW('i', 0x00000017, __u32) 107#define LIRC_SET_TRANSMITTER_MASK _IOW('i', 0x00000017, __u32)
118 108
119/* 109/*
@@ -127,42 +117,17 @@
127#define LIRC_SET_REC_TIMEOUT_REPORTS _IOW('i', 0x00000019, __u32) 117#define LIRC_SET_REC_TIMEOUT_REPORTS _IOW('i', 0x00000019, __u32)
128 118
129/* 119/*
130 * pulses shorter than this are filtered out by hardware (software
131 * emulation in lirc_dev?)
132 */
133#define LIRC_SET_REC_FILTER_PULSE _IOW('i', 0x0000001a, __u32)
134/*
135 * spaces shorter than this are filtered out by hardware (software
136 * emulation in lirc_dev?)
137 */
138#define LIRC_SET_REC_FILTER_SPACE _IOW('i', 0x0000001b, __u32)
139/*
140 * if filter cannot be set independently for pulse/space, this should
141 * be used
142 */
143#define LIRC_SET_REC_FILTER _IOW('i', 0x0000001c, __u32)
144
145/*
146 * if enabled from the next key press on the driver will send 120 * if enabled from the next key press on the driver will send
147 * LIRC_MODE2_FREQUENCY packets 121 * LIRC_MODE2_FREQUENCY packets
148 */ 122 */
149#define LIRC_SET_MEASURE_CARRIER_MODE _IOW('i', 0x0000001d, __u32) 123#define LIRC_SET_MEASURE_CARRIER_MODE _IOW('i', 0x0000001d, __u32)
150 124
151/* 125/*
152 * to set a range use 126 * to set a range use LIRC_SET_REC_CARRIER_RANGE with the
153 * LIRC_SET_REC_DUTY_CYCLE_RANGE/LIRC_SET_REC_CARRIER_RANGE with the 127 * lower bound first and later LIRC_SET_REC_CARRIER with the upper bound
154 * lower bound first and later
155 * LIRC_SET_REC_DUTY_CYCLE/LIRC_SET_REC_CARRIER with the upper bound
156 */ 128 */
157
158#define LIRC_SET_REC_DUTY_CYCLE_RANGE _IOW('i', 0x0000001e, __u32)
159#define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, __u32) 129#define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, __u32)
160 130
161#define LIRC_NOTIFY_DECODE _IO('i', 0x00000020)
162
163#define LIRC_SETUP_START _IO('i', 0x00000021)
164#define LIRC_SETUP_END _IO('i', 0x00000022)
165
166#define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32) 131#define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32)
167 132
168#endif 133#endif
diff --git a/include/uapi/linux/magic.h b/include/uapi/linux/magic.h
index 546b38886e11..e398beac67b8 100644
--- a/include/uapi/linux/magic.h
+++ b/include/uapi/linux/magic.h
@@ -80,5 +80,7 @@
80#define BPF_FS_MAGIC 0xcafe4a11 80#define BPF_FS_MAGIC 0xcafe4a11
81/* Since UDF 2.01 is ISO 13346 based... */ 81/* Since UDF 2.01 is ISO 13346 based... */
82#define UDF_SUPER_MAGIC 0x15013346 82#define UDF_SUPER_MAGIC 0x15013346
83#define BALLOON_KVM_MAGIC 0x13661366
84#define ZSMALLOC_MAGIC 0x58295829
83 85
84#endif /* __LINUX_MAGIC_H__ */ 86#endif /* __LINUX_MAGIC_H__ */
diff --git a/include/uapi/linux/media.h b/include/uapi/linux/media.h
index df59edee25d1..7acf0f634f70 100644
--- a/include/uapi/linux/media.h
+++ b/include/uapi/linux/media.h
@@ -95,6 +95,16 @@ struct media_device_info {
95#define MEDIA_ENT_F_AUDIO_MIXER (MEDIA_ENT_F_BASE + 0x03003) 95#define MEDIA_ENT_F_AUDIO_MIXER (MEDIA_ENT_F_BASE + 0x03003)
96 96
97/* 97/*
98 * Processing entities
99 */
100#define MEDIA_ENT_F_PROC_VIDEO_COMPOSER (MEDIA_ENT_F_BASE + 0x4001)
101#define MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER (MEDIA_ENT_F_BASE + 0x4002)
102#define MEDIA_ENT_F_PROC_VIDEO_PIXEL_ENC_CONV (MEDIA_ENT_F_BASE + 0x4003)
103#define MEDIA_ENT_F_PROC_VIDEO_LUT (MEDIA_ENT_F_BASE + 0x4004)
104#define MEDIA_ENT_F_PROC_VIDEO_SCALER (MEDIA_ENT_F_BASE + 0x4005)
105#define MEDIA_ENT_F_PROC_VIDEO_STATISTICS (MEDIA_ENT_F_BASE + 0x4006)
106
107/*
98 * Connectors 108 * Connectors
99 */ 109 */
100/* It is a responsibility of the entity drivers to add connectors and links */ 110/* It is a responsibility of the entity drivers to add connectors and links */
diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h
index 309915f74492..ba5a8c79652a 100644
--- a/include/uapi/linux/ndctl.h
+++ b/include/uapi/linux/ndctl.h
@@ -298,6 +298,7 @@ struct nd_cmd_pkg {
298#define NVDIMM_FAMILY_INTEL 0 298#define NVDIMM_FAMILY_INTEL 0
299#define NVDIMM_FAMILY_HPE1 1 299#define NVDIMM_FAMILY_HPE1 1
300#define NVDIMM_FAMILY_HPE2 2 300#define NVDIMM_FAMILY_HPE2 2
301#define NVDIMM_FAMILY_MSFT 3
301 302
302#define ND_IOCTL_CALL _IOWR(ND_IOCTL, ND_CMD_CALL,\ 303#define ND_IOCTL_CALL _IOWR(ND_IOCTL, ND_CMD_CALL,\
303 struct nd_cmd_pkg) 304 struct nd_cmd_pkg)
diff --git a/include/uapi/linux/netfilter/Kbuild b/include/uapi/linux/netfilter/Kbuild
index 1d973d2ba417..cd26d7a0fd07 100644
--- a/include/uapi/linux/netfilter/Kbuild
+++ b/include/uapi/linux/netfilter/Kbuild
@@ -33,6 +33,7 @@ header-y += xt_NFLOG.h
33header-y += xt_NFQUEUE.h 33header-y += xt_NFQUEUE.h
34header-y += xt_RATEEST.h 34header-y += xt_RATEEST.h
35header-y += xt_SECMARK.h 35header-y += xt_SECMARK.h
36header-y += xt_SYNPROXY.h
36header-y += xt_TCPMSS.h 37header-y += xt_TCPMSS.h
37header-y += xt_TCPOPTSTRIP.h 38header-y += xt_TCPOPTSTRIP.h
38header-y += xt_TEE.h 39header-y += xt_TEE.h
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h
index 6a4dbe04f09e..01751faccaf8 100644
--- a/include/uapi/linux/netfilter/nf_tables.h
+++ b/include/uapi/linux/netfilter/nf_tables.h
@@ -546,6 +546,10 @@ enum nft_cmp_attributes {
546}; 546};
547#define NFTA_CMP_MAX (__NFTA_CMP_MAX - 1) 547#define NFTA_CMP_MAX (__NFTA_CMP_MAX - 1)
548 548
549enum nft_lookup_flags {
550 NFT_LOOKUP_F_INV = (1 << 0),
551};
552
549/** 553/**
550 * enum nft_lookup_attributes - nf_tables set lookup expression netlink attributes 554 * enum nft_lookup_attributes - nf_tables set lookup expression netlink attributes
551 * 555 *
@@ -553,6 +557,7 @@ enum nft_cmp_attributes {
553 * @NFTA_LOOKUP_SREG: source register of the data to look for (NLA_U32: nft_registers) 557 * @NFTA_LOOKUP_SREG: source register of the data to look for (NLA_U32: nft_registers)
554 * @NFTA_LOOKUP_DREG: destination register (NLA_U32: nft_registers) 558 * @NFTA_LOOKUP_DREG: destination register (NLA_U32: nft_registers)
555 * @NFTA_LOOKUP_SET_ID: uniquely identifies a set in a transaction (NLA_U32) 559 * @NFTA_LOOKUP_SET_ID: uniquely identifies a set in a transaction (NLA_U32)
560 * @NFTA_LOOKUP_FLAGS: flags (NLA_U32: enum nft_lookup_flags)
556 */ 561 */
557enum nft_lookup_attributes { 562enum nft_lookup_attributes {
558 NFTA_LOOKUP_UNSPEC, 563 NFTA_LOOKUP_UNSPEC,
@@ -560,6 +565,7 @@ enum nft_lookup_attributes {
560 NFTA_LOOKUP_SREG, 565 NFTA_LOOKUP_SREG,
561 NFTA_LOOKUP_DREG, 566 NFTA_LOOKUP_DREG,
562 NFTA_LOOKUP_SET_ID, 567 NFTA_LOOKUP_SET_ID,
568 NFTA_LOOKUP_FLAGS,
563 __NFTA_LOOKUP_MAX 569 __NFTA_LOOKUP_MAX
564}; 570};
565#define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1) 571#define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1)
diff --git a/include/uapi/linux/netfilter/xt_NFLOG.h b/include/uapi/linux/netfilter/xt_NFLOG.h
index 87b58311ce6b..f33070730fc8 100644
--- a/include/uapi/linux/netfilter/xt_NFLOG.h
+++ b/include/uapi/linux/netfilter/xt_NFLOG.h
@@ -6,9 +6,13 @@
6#define XT_NFLOG_DEFAULT_GROUP 0x1 6#define XT_NFLOG_DEFAULT_GROUP 0x1
7#define XT_NFLOG_DEFAULT_THRESHOLD 0 7#define XT_NFLOG_DEFAULT_THRESHOLD 0
8 8
9#define XT_NFLOG_MASK 0x0 9#define XT_NFLOG_MASK 0x1
10
11/* This flag indicates that 'len' field in xt_nflog_info is set*/
12#define XT_NFLOG_F_COPY_LEN 0x1
10 13
11struct xt_nflog_info { 14struct xt_nflog_info {
15 /* 'len' will be used iff you set XT_NFLOG_F_COPY_LEN in flags */
12 __u32 len; 16 __u32 len;
13 __u16 group; 17 __u16 group;
14 __u16 threshold; 18 __u16 threshold;
diff --git a/include/uapi/linux/netfilter/xt_SYNPROXY.h b/include/uapi/linux/netfilter/xt_SYNPROXY.h
index 2d59fbaa93c6..ca67e61d2a61 100644
--- a/include/uapi/linux/netfilter/xt_SYNPROXY.h
+++ b/include/uapi/linux/netfilter/xt_SYNPROXY.h
@@ -1,6 +1,8 @@
1#ifndef _XT_SYNPROXY_H 1#ifndef _XT_SYNPROXY_H
2#define _XT_SYNPROXY_H 2#define _XT_SYNPROXY_H
3 3
4#include <linux/types.h>
5
4#define XT_SYNPROXY_OPT_MSS 0x01 6#define XT_SYNPROXY_OPT_MSS 0x01
5#define XT_SYNPROXY_OPT_WSCALE 0x02 7#define XT_SYNPROXY_OPT_WSCALE 0x02
6#define XT_SYNPROXY_OPT_SACK_PERM 0x04 8#define XT_SYNPROXY_OPT_SACK_PERM 0x04
diff --git a/include/uapi/linux/netlink_diag.h b/include/uapi/linux/netlink_diag.h
index d79399394b46..76b4d87c83a8 100644
--- a/include/uapi/linux/netlink_diag.h
+++ b/include/uapi/linux/netlink_diag.h
@@ -49,6 +49,7 @@ enum {
49#define NDIAG_SHOW_MEMINFO 0x00000001 /* show memory info of a socket */ 49#define NDIAG_SHOW_MEMINFO 0x00000001 /* show memory info of a socket */
50#define NDIAG_SHOW_GROUPS 0x00000002 /* show groups of a netlink socket */ 50#define NDIAG_SHOW_GROUPS 0x00000002 /* show groups of a netlink socket */
51#ifndef __KERNEL__ 51#ifndef __KERNEL__
52/* deprecated since 4.6 */
52#define NDIAG_SHOW_RING_CFG 0x00000004 /* show ring configuration */ 53#define NDIAG_SHOW_RING_CFG 0x00000004 /* show ring configuration */
53#endif 54#endif
54 55
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index e23d78685a01..220694151434 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -493,7 +493,12 @@
493 * This attribute is ignored if driver does not support roam scan. 493 * This attribute is ignored if driver does not support roam scan.
494 * It is also sent as an event, with the BSSID and response IEs when the 494 * It is also sent as an event, with the BSSID and response IEs when the
495 * connection is established or failed to be established. This can be 495 * connection is established or failed to be established. This can be
496 * determined by the STATUS_CODE attribute. 496 * determined by the %NL80211_ATTR_STATUS_CODE attribute (0 = success,
497 * non-zero = failure). If %NL80211_ATTR_TIMED_OUT is included in the
498 * event, the connection attempt failed due to not being able to initiate
499 * authentication/association or not receiving a response from the AP.
500 * Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as
501 * well to remain backwards compatible.
497 * @NL80211_CMD_ROAM: request that the card roam (currently not implemented), 502 * @NL80211_CMD_ROAM: request that the card roam (currently not implemented),
498 * sent as an event when the card/driver roamed by itself. 503 * sent as an event when the card/driver roamed by itself.
499 * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify 504 * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify
@@ -1819,6 +1824,49 @@ enum nl80211_commands {
1819 * 1824 *
1820 * @NL80211_ATTR_PAD: attribute used for padding for 64-bit alignment 1825 * @NL80211_ATTR_PAD: attribute used for padding for 64-bit alignment
1821 * 1826 *
1827 * @NL80211_ATTR_IFTYPE_EXT_CAPA: Nested attribute of the following attributes:
1828 * %NL80211_ATTR_IFTYPE, %NL80211_ATTR_EXT_CAPA,
1829 * %NL80211_ATTR_EXT_CAPA_MASK, to specify the extended capabilities per
1830 * interface type.
1831 *
1832 * @NL80211_ATTR_MU_MIMO_GROUP_DATA: array of 24 bytes that defines a MU-MIMO
1833 * groupID for monitor mode.
1834 * The first 8 bytes are a mask that defines the membership in each
1835 * group (there are 64 groups, group 0 and 63 are reserved),
1836 * each bit represents a group and set to 1 for being a member in
1837 * that group and 0 for not being a member.
1838 * The remaining 16 bytes define the position in each group: 2 bits for
1839 * each group.
1840 * (smaller group numbers represented on most significant bits and bigger
1841 * group numbers on least significant bits.)
1842 * This attribute is used only if all interfaces are in monitor mode.
1843 * Set this attribute in order to monitor packets using the given MU-MIMO
1844 * groupID data.
1845 * to turn off that feature set all the bits of the groupID to zero.
1846 * @NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR: mac address for the sniffer to follow
1847 * when using MU-MIMO air sniffer.
1848 * to turn that feature off set an invalid mac address
1849 * (e.g. FF:FF:FF:FF:FF:FF)
1850 *
1851 * @NL80211_ATTR_SCAN_START_TIME_TSF: The time at which the scan was actually
1852 * started (u64). The time is the TSF of the BSS the interface that
1853 * requested the scan is connected to (if available, otherwise this
1854 * attribute must not be included).
1855 * @NL80211_ATTR_SCAN_START_TIME_TSF_BSSID: The BSS according to which
1856 * %NL80211_ATTR_SCAN_START_TIME_TSF is set.
1857 * @NL80211_ATTR_MEASUREMENT_DURATION: measurement duration in TUs (u16). If
1858 * %NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY is not set, this is the
1859 * maximum measurement duration allowed. This attribute is used with
1860 * measurement requests. It can also be used with %NL80211_CMD_TRIGGER_SCAN
1861 * if the scan is used for beacon report radio measurement.
1862 * @NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY: flag attribute that indicates
1863 * that the duration specified with %NL80211_ATTR_MEASUREMENT_DURATION is
1864 * mandatory. If this flag is not set, the duration is the maximum duration
1865 * and the actual measurement duration may be shorter.
1866 *
1867 * @NL80211_ATTR_MESH_PEER_AID: Association ID for the mesh peer (u16). This is
1868 * used to pull the stored data for mesh peer in power save state.
1869 *
1822 * @NUM_NL80211_ATTR: total number of nl80211_attrs available 1870 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
1823 * @NL80211_ATTR_MAX: highest attribute number currently defined 1871 * @NL80211_ATTR_MAX: highest attribute number currently defined
1824 * @__NL80211_ATTR_AFTER_LAST: internal use 1872 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2201,6 +2249,18 @@ enum nl80211_attrs {
2201 2249
2202 NL80211_ATTR_PAD, 2250 NL80211_ATTR_PAD,
2203 2251
2252 NL80211_ATTR_IFTYPE_EXT_CAPA,
2253
2254 NL80211_ATTR_MU_MIMO_GROUP_DATA,
2255 NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR,
2256
2257 NL80211_ATTR_SCAN_START_TIME_TSF,
2258 NL80211_ATTR_SCAN_START_TIME_TSF_BSSID,
2259 NL80211_ATTR_MEASUREMENT_DURATION,
2260 NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY,
2261
2262 NL80211_ATTR_MESH_PEER_AID,
2263
2204 /* add attributes here, update the policy in nl80211.c */ 2264 /* add attributes here, update the policy in nl80211.c */
2205 2265
2206 __NL80211_ATTR_AFTER_LAST, 2266 __NL80211_ATTR_AFTER_LAST,
@@ -3462,6 +3522,12 @@ enum nl80211_bss_scan_width {
3462 * was last updated by a received frame. The value is expected to be 3522 * was last updated by a received frame. The value is expected to be
3463 * accurate to about 10ms. (u64, nanoseconds) 3523 * accurate to about 10ms. (u64, nanoseconds)
3464 * @NL80211_BSS_PAD: attribute used for padding for 64-bit alignment 3524 * @NL80211_BSS_PAD: attribute used for padding for 64-bit alignment
3525 * @NL80211_BSS_PARENT_TSF: the time at the start of reception of the first
3526 * octet of the timestamp field of the last beacon/probe received for
3527 * this BSS. The time is the TSF of the BSS specified by
3528 * @NL80211_BSS_PARENT_BSSID. (u64).
3529 * @NL80211_BSS_PARENT_BSSID: the BSS according to which @NL80211_BSS_PARENT_TSF
3530 * is set.
3465 * @__NL80211_BSS_AFTER_LAST: internal 3531 * @__NL80211_BSS_AFTER_LAST: internal
3466 * @NL80211_BSS_MAX: highest BSS attribute 3532 * @NL80211_BSS_MAX: highest BSS attribute
3467 */ 3533 */
@@ -3483,6 +3549,8 @@ enum nl80211_bss {
3483 NL80211_BSS_PRESP_DATA, 3549 NL80211_BSS_PRESP_DATA,
3484 NL80211_BSS_LAST_SEEN_BOOTTIME, 3550 NL80211_BSS_LAST_SEEN_BOOTTIME,
3485 NL80211_BSS_PAD, 3551 NL80211_BSS_PAD,
3552 NL80211_BSS_PARENT_TSF,
3553 NL80211_BSS_PARENT_BSSID,
3486 3554
3487 /* keep last */ 3555 /* keep last */
3488 __NL80211_BSS_AFTER_LAST, 3556 __NL80211_BSS_AFTER_LAST,
@@ -4467,6 +4535,22 @@ enum nl80211_feature_flags {
4467 * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set 4535 * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set
4468 * the ASSOC_REQ_USE_RRM flag in the association request even if 4536 * the ASSOC_REQ_USE_RRM flag in the association request even if
4469 * NL80211_FEATURE_QUIET is not advertized. 4537 * NL80211_FEATURE_QUIET is not advertized.
4538 * @NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER: This device supports MU-MIMO air
4539 * sniffer which means that it can be configured to hear packets from
4540 * certain groups which can be configured by the
4541 * %NL80211_ATTR_MU_MIMO_GROUP_DATA attribute,
4542 * or can be configured to follow a station by configuring the
4543 * %NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR attribute.
4544 * @NL80211_EXT_FEATURE_SCAN_START_TIME: This driver includes the actual
4545 * time the scan started in scan results event. The time is the TSF of
4546 * the BSS that the interface that requested the scan is connected to
4547 * (if available).
4548 * @NL80211_EXT_FEATURE_BSS_PARENT_TSF: Per BSS, this driver reports the
4549 * time the last beacon/probe was received. The time is the TSF of the
4550 * BSS that the interface that requested the scan is connected to
4551 * (if available).
4552 * @NL80211_EXT_FEATURE_SET_SCAN_DWELL: This driver supports configuration of
4553 * channel dwell time.
4470 * 4554 *
4471 * @NUM_NL80211_EXT_FEATURES: number of extended features. 4555 * @NUM_NL80211_EXT_FEATURES: number of extended features.
4472 * @MAX_NL80211_EXT_FEATURES: highest extended feature index. 4556 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
@@ -4474,6 +4558,10 @@ enum nl80211_feature_flags {
4474enum nl80211_ext_feature_index { 4558enum nl80211_ext_feature_index {
4475 NL80211_EXT_FEATURE_VHT_IBSS, 4559 NL80211_EXT_FEATURE_VHT_IBSS,
4476 NL80211_EXT_FEATURE_RRM, 4560 NL80211_EXT_FEATURE_RRM,
4561 NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER,
4562 NL80211_EXT_FEATURE_SCAN_START_TIME,
4563 NL80211_EXT_FEATURE_BSS_PARENT_TSF,
4564 NL80211_EXT_FEATURE_SET_SCAN_DWELL,
4477 4565
4478 /* add new features before the definition below */ 4566 /* add new features before the definition below */
4479 NUM_NL80211_EXT_FEATURES, 4567 NUM_NL80211_EXT_FEATURES,
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h
index bb0d515b7654..d95a3018f6a1 100644
--- a/include/uapi/linux/openvswitch.h
+++ b/include/uapi/linux/openvswitch.h
@@ -166,6 +166,7 @@ enum ovs_packet_cmd {
166 * output port is actually a tunnel port. Contains the output tunnel key 166 * output port is actually a tunnel port. Contains the output tunnel key
167 * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes. 167 * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes.
168 * @OVS_PACKET_ATTR_MRU: Present for an %OVS_PACKET_CMD_ACTION and 168 * @OVS_PACKET_ATTR_MRU: Present for an %OVS_PACKET_CMD_ACTION and
169 * @OVS_PACKET_ATTR_LEN: Packet size before truncation.
169 * %OVS_PACKET_ATTR_USERSPACE action specify the Maximum received fragment 170 * %OVS_PACKET_ATTR_USERSPACE action specify the Maximum received fragment
170 * size. 171 * size.
171 * 172 *
@@ -185,6 +186,7 @@ enum ovs_packet_attr {
185 OVS_PACKET_ATTR_PROBE, /* Packet operation is a feature probe, 186 OVS_PACKET_ATTR_PROBE, /* Packet operation is a feature probe,
186 error logging should be suppressed. */ 187 error logging should be suppressed. */
187 OVS_PACKET_ATTR_MRU, /* Maximum received IP fragment size. */ 188 OVS_PACKET_ATTR_MRU, /* Maximum received IP fragment size. */
189 OVS_PACKET_ATTR_LEN, /* Packet size before truncation. */
188 __OVS_PACKET_ATTR_MAX 190 __OVS_PACKET_ATTR_MAX
189}; 191};
190 192
@@ -580,6 +582,10 @@ enum ovs_userspace_attr {
580 582
581#define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1) 583#define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1)
582 584
585struct ovs_action_trunc {
586 uint32_t max_len; /* Max packet size in bytes. */
587};
588
583/** 589/**
584 * struct ovs_action_push_mpls - %OVS_ACTION_ATTR_PUSH_MPLS action argument. 590 * struct ovs_action_push_mpls - %OVS_ACTION_ATTR_PUSH_MPLS action argument.
585 * @mpls_lse: MPLS label stack entry to push. 591 * @mpls_lse: MPLS label stack entry to push.
@@ -703,6 +709,7 @@ enum ovs_nat_attr {
703 * enum ovs_action_attr - Action types. 709 * enum ovs_action_attr - Action types.
704 * 710 *
705 * @OVS_ACTION_ATTR_OUTPUT: Output packet to port. 711 * @OVS_ACTION_ATTR_OUTPUT: Output packet to port.
712 * @OVS_ACTION_ATTR_TRUNC: Output packet to port with truncated packet size.
706 * @OVS_ACTION_ATTR_USERSPACE: Send packet to userspace according to nested 713 * @OVS_ACTION_ATTR_USERSPACE: Send packet to userspace according to nested
707 * %OVS_USERSPACE_ATTR_* attributes. 714 * %OVS_USERSPACE_ATTR_* attributes.
708 * @OVS_ACTION_ATTR_SET: Replaces the contents of an existing header. The 715 * @OVS_ACTION_ATTR_SET: Replaces the contents of an existing header. The
@@ -756,6 +763,7 @@ enum ovs_action_attr {
756 * The data must be zero for the unmasked 763 * The data must be zero for the unmasked
757 * bits. */ 764 * bits. */
758 OVS_ACTION_ATTR_CT, /* Nested OVS_CT_ATTR_* . */ 765 OVS_ACTION_ATTR_CT, /* Nested OVS_CT_ATTR_* . */
766 OVS_ACTION_ATTR_TRUNC, /* u32 struct ovs_action_trunc. */
759 767
760 __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted 768 __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted
761 * from userspace. */ 769 * from userspace. */
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h
index 36ce552cf6a9..c66a485a24ac 100644
--- a/include/uapi/linux/perf_event.h
+++ b/include/uapi/linux/perf_event.h
@@ -276,6 +276,9 @@ enum perf_event_read_format {
276 276
277/* 277/*
278 * Hardware event_id to monitor via a performance monitoring event: 278 * Hardware event_id to monitor via a performance monitoring event:
279 *
280 * @sample_max_stack: Max number of frame pointers in a callchain,
281 * should be < /proc/sys/kernel/perf_event_max_stack
279 */ 282 */
280struct perf_event_attr { 283struct perf_event_attr {
281 284
@@ -385,7 +388,8 @@ struct perf_event_attr {
385 * Wakeup watermark for AUX area 388 * Wakeup watermark for AUX area
386 */ 389 */
387 __u32 aux_watermark; 390 __u32 aux_watermark;
388 __u32 __reserved_2; /* align to __u64 */ 391 __u16 sample_max_stack;
392 __u16 __reserved_2; /* align to __u64 */
389}; 393};
390 394
391#define perf_flags(attr) (*(&(attr)->read_format + 1)) 395#define perf_flags(attr) (*(&(attr)->read_format + 1))
diff --git a/include/uapi/linux/pkt_cls.h b/include/uapi/linux/pkt_cls.h
index f4297c8a42fe..d1c1ccaba787 100644
--- a/include/uapi/linux/pkt_cls.h
+++ b/include/uapi/linux/pkt_cls.h
@@ -115,8 +115,8 @@ struct tc_police {
115 __u32 mtu; 115 __u32 mtu;
116 struct tc_ratespec rate; 116 struct tc_ratespec rate;
117 struct tc_ratespec peakrate; 117 struct tc_ratespec peakrate;
118 int refcnt; 118 int refcnt;
119 int bindcnt; 119 int bindcnt;
120 __u32 capab; 120 __u32 capab;
121}; 121};
122 122
@@ -124,10 +124,11 @@ struct tcf_t {
124 __u64 install; 124 __u64 install;
125 __u64 lastuse; 125 __u64 lastuse;
126 __u64 expires; 126 __u64 expires;
127 __u64 firstuse;
127}; 128};
128 129
129struct tc_cnt { 130struct tc_cnt {
130 int refcnt; 131 int refcnt;
131 int bindcnt; 132 int bindcnt;
132}; 133};
133 134
@@ -432,6 +433,18 @@ enum {
432 433
433#define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1) 434#define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1)
434 435
436/* Match-all classifier */
437
438enum {
439 TCA_MATCHALL_UNSPEC,
440 TCA_MATCHALL_CLASSID,
441 TCA_MATCHALL_ACT,
442 TCA_MATCHALL_FLAGS,
443 __TCA_MATCHALL_MAX,
444};
445
446#define TCA_MATCHALL_MAX (__TCA_MATCHALL_MAX - 1)
447
435/* Extended Matches */ 448/* Extended Matches */
436 449
437struct tcf_ematch_tree_hdr { 450struct tcf_ematch_tree_hdr {
diff --git a/include/uapi/linux/sctp.h b/include/uapi/linux/sctp.h
index ce70fe6b45df..d304f4c9792c 100644
--- a/include/uapi/linux/sctp.h
+++ b/include/uapi/linux/sctp.h
@@ -112,6 +112,31 @@ typedef __s32 sctp_assoc_t;
112#define SCTP_SOCKOPT_CONNECTX 110 /* CONNECTX requests. */ 112#define SCTP_SOCKOPT_CONNECTX 110 /* CONNECTX requests. */
113#define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */ 113#define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */
114#define SCTP_GET_ASSOC_STATS 112 /* Read only */ 114#define SCTP_GET_ASSOC_STATS 112 /* Read only */
115#define SCTP_PR_SUPPORTED 113
116#define SCTP_DEFAULT_PRINFO 114
117#define SCTP_PR_ASSOC_STATUS 115
118
119/* PR-SCTP policies */
120#define SCTP_PR_SCTP_NONE 0x0000
121#define SCTP_PR_SCTP_TTL 0x0010
122#define SCTP_PR_SCTP_RTX 0x0020
123#define SCTP_PR_SCTP_PRIO 0x0030
124#define SCTP_PR_SCTP_MAX SCTP_PR_SCTP_PRIO
125#define SCTP_PR_SCTP_MASK 0x0030
126
127#define __SCTP_PR_INDEX(x) ((x >> 4) - 1)
128#define SCTP_PR_INDEX(x) __SCTP_PR_INDEX(SCTP_PR_SCTP_ ## x)
129
130#define SCTP_PR_POLICY(x) ((x) & SCTP_PR_SCTP_MASK)
131#define SCTP_PR_SET_POLICY(flags, x) \
132 do { \
133 flags &= ~SCTP_PR_SCTP_MASK; \
134 flags |= x; \
135 } while (0)
136
137#define SCTP_PR_TTL_ENABLED(x) (SCTP_PR_POLICY(x) == SCTP_PR_SCTP_TTL)
138#define SCTP_PR_RTX_ENABLED(x) (SCTP_PR_POLICY(x) == SCTP_PR_SCTP_RTX)
139#define SCTP_PR_PRIO_ENABLED(x) (SCTP_PR_POLICY(x) == SCTP_PR_SCTP_PRIO)
115 140
116/* These are bit fields for msghdr->msg_flags. See section 5.1. */ 141/* These are bit fields for msghdr->msg_flags. See section 5.1. */
117/* On user space Linux, these live in <bits/socket.h> as an enum. */ 142/* On user space Linux, these live in <bits/socket.h> as an enum. */
@@ -902,4 +927,21 @@ struct sctp_paddrthlds {
902 __u16 spt_pathpfthld; 927 __u16 spt_pathpfthld;
903}; 928};
904 929
930/*
931 * Socket Option for Getting the Association/Stream-Specific PR-SCTP Status
932 */
933struct sctp_prstatus {
934 sctp_assoc_t sprstat_assoc_id;
935 __u16 sprstat_sid;
936 __u16 sprstat_policy;
937 __u64 sprstat_abandoned_unsent;
938 __u64 sprstat_abandoned_sent;
939};
940
941struct sctp_default_prinfo {
942 sctp_assoc_t pr_assoc_id;
943 __u32 pr_value;
944 __u16 pr_policy;
945};
946
905#endif /* _UAPI_SCTP_H */ 947#endif /* _UAPI_SCTP_H */
diff --git a/include/uapi/linux/serio.h b/include/uapi/linux/serio.h
index c2ea1698257f..f2447a83ac8d 100644
--- a/include/uapi/linux/serio.h
+++ b/include/uapi/linux/serio.h
@@ -78,5 +78,6 @@
78#define SERIO_TSC40 0x3d 78#define SERIO_TSC40 0x3d
79#define SERIO_WACOM_IV 0x3e 79#define SERIO_WACOM_IV 0x3e
80#define SERIO_EGALAX 0x3f 80#define SERIO_EGALAX 0x3f
81#define SERIO_PULSE8_CEC 0x40
81 82
82#endif /* _UAPI_SERIO_H */ 83#endif /* _UAPI_SERIO_H */
diff --git a/include/uapi/linux/tc_act/tc_skbedit.h b/include/uapi/linux/tc_act/tc_skbedit.h
index fecb5cc48c40..a4d00c608d8f 100644
--- a/include/uapi/linux/tc_act/tc_skbedit.h
+++ b/include/uapi/linux/tc_act/tc_skbedit.h
@@ -27,6 +27,7 @@
27#define SKBEDIT_F_PRIORITY 0x1 27#define SKBEDIT_F_PRIORITY 0x1
28#define SKBEDIT_F_QUEUE_MAPPING 0x2 28#define SKBEDIT_F_QUEUE_MAPPING 0x2
29#define SKBEDIT_F_MARK 0x4 29#define SKBEDIT_F_MARK 0x4
30#define SKBEDIT_F_PTYPE 0x8
30 31
31struct tc_skbedit { 32struct tc_skbedit {
32 tc_gen; 33 tc_gen;
@@ -40,6 +41,7 @@ enum {
40 TCA_SKBEDIT_QUEUE_MAPPING, 41 TCA_SKBEDIT_QUEUE_MAPPING,
41 TCA_SKBEDIT_MARK, 42 TCA_SKBEDIT_MARK,
42 TCA_SKBEDIT_PAD, 43 TCA_SKBEDIT_PAD,
44 TCA_SKBEDIT_PTYPE,
43 __TCA_SKBEDIT_MAX 45 __TCA_SKBEDIT_MAX
44}; 46};
45#define TCA_SKBEDIT_MAX (__TCA_SKBEDIT_MAX - 1) 47#define TCA_SKBEDIT_MAX (__TCA_SKBEDIT_MAX - 1)
diff --git a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h
index 53e8e3fe6b1b..482898fc433a 100644
--- a/include/uapi/linux/tcp.h
+++ b/include/uapi/linux/tcp.h
@@ -115,12 +115,22 @@ enum {
115#define TCP_CC_INFO 26 /* Get Congestion Control (optional) info */ 115#define TCP_CC_INFO 26 /* Get Congestion Control (optional) info */
116#define TCP_SAVE_SYN 27 /* Record SYN headers for new connections */ 116#define TCP_SAVE_SYN 27 /* Record SYN headers for new connections */
117#define TCP_SAVED_SYN 28 /* Get SYN headers recorded for connection */ 117#define TCP_SAVED_SYN 28 /* Get SYN headers recorded for connection */
118#define TCP_REPAIR_WINDOW 29 /* Get/set window parameters */
118 119
119struct tcp_repair_opt { 120struct tcp_repair_opt {
120 __u32 opt_code; 121 __u32 opt_code;
121 __u32 opt_val; 122 __u32 opt_val;
122}; 123};
123 124
125struct tcp_repair_window {
126 __u32 snd_wl1;
127 __u32 snd_wnd;
128 __u32 max_window;
129
130 __u32 rcv_wnd;
131 __u32 rcv_wup;
132};
133
124enum { 134enum {
125 TCP_NO_QUEUE, 135 TCP_NO_QUEUE,
126 TCP_RECV_QUEUE, 136 TCP_RECV_QUEUE,
diff --git a/include/uapi/linux/tipc.h b/include/uapi/linux/tipc.h
index 6f71b9b41595..bf049e8fe31b 100644
--- a/include/uapi/linux/tipc.h
+++ b/include/uapi/linux/tipc.h
@@ -60,26 +60,48 @@ struct tipc_name_seq {
60 __u32 upper; 60 __u32 upper;
61}; 61};
62 62
63/* TIPC Address Size, Offset, Mask specification for Z.C.N
64 */
65#define TIPC_NODE_BITS 12
66#define TIPC_CLUSTER_BITS 12
67#define TIPC_ZONE_BITS 8
68
69#define TIPC_NODE_OFFSET 0
70#define TIPC_CLUSTER_OFFSET TIPC_NODE_BITS
71#define TIPC_ZONE_OFFSET (TIPC_CLUSTER_OFFSET + TIPC_CLUSTER_BITS)
72
73#define TIPC_NODE_SIZE ((1UL << TIPC_NODE_BITS) - 1)
74#define TIPC_CLUSTER_SIZE ((1UL << TIPC_CLUSTER_BITS) - 1)
75#define TIPC_ZONE_SIZE ((1UL << TIPC_ZONE_BITS) - 1)
76
77#define TIPC_NODE_MASK (TIPC_NODE_SIZE << TIPC_NODE_OFFSET)
78#define TIPC_CLUSTER_MASK (TIPC_CLUSTER_SIZE << TIPC_CLUSTER_OFFSET)
79#define TIPC_ZONE_MASK (TIPC_ZONE_SIZE << TIPC_ZONE_OFFSET)
80
81#define TIPC_ZONE_CLUSTER_MASK (TIPC_ZONE_MASK | TIPC_CLUSTER_MASK)
82
63static inline __u32 tipc_addr(unsigned int zone, 83static inline __u32 tipc_addr(unsigned int zone,
64 unsigned int cluster, 84 unsigned int cluster,
65 unsigned int node) 85 unsigned int node)
66{ 86{
67 return (zone << 24) | (cluster << 12) | node; 87 return (zone << TIPC_ZONE_OFFSET) |
88 (cluster << TIPC_CLUSTER_OFFSET) |
89 node;
68} 90}
69 91
70static inline unsigned int tipc_zone(__u32 addr) 92static inline unsigned int tipc_zone(__u32 addr)
71{ 93{
72 return addr >> 24; 94 return addr >> TIPC_ZONE_OFFSET;
73} 95}
74 96
75static inline unsigned int tipc_cluster(__u32 addr) 97static inline unsigned int tipc_cluster(__u32 addr)
76{ 98{
77 return (addr >> 12) & 0xfff; 99 return (addr & TIPC_CLUSTER_MASK) >> TIPC_CLUSTER_OFFSET;
78} 100}
79 101
80static inline unsigned int tipc_node(__u32 addr) 102static inline unsigned int tipc_node(__u32 addr)
81{ 103{
82 return addr & 0xfff; 104 return addr & TIPC_NODE_MASK;
83} 105}
84 106
85/* 107/*
diff --git a/include/uapi/linux/tipc_netlink.h b/include/uapi/linux/tipc_netlink.h
index d4c8f142ba63..5f3f6d09fb79 100644
--- a/include/uapi/linux/tipc_netlink.h
+++ b/include/uapi/linux/tipc_netlink.h
@@ -56,6 +56,9 @@ enum {
56 TIPC_NL_NET_GET, 56 TIPC_NL_NET_GET,
57 TIPC_NL_NET_SET, 57 TIPC_NL_NET_SET,
58 TIPC_NL_NAME_TABLE_GET, 58 TIPC_NL_NAME_TABLE_GET,
59 TIPC_NL_MON_SET,
60 TIPC_NL_MON_GET,
61 TIPC_NL_MON_PEER_GET,
59 62
60 __TIPC_NL_CMD_MAX, 63 __TIPC_NL_CMD_MAX,
61 TIPC_NL_CMD_MAX = __TIPC_NL_CMD_MAX - 1 64 TIPC_NL_CMD_MAX = __TIPC_NL_CMD_MAX - 1
@@ -72,6 +75,8 @@ enum {
72 TIPC_NLA_NODE, /* nest */ 75 TIPC_NLA_NODE, /* nest */
73 TIPC_NLA_NET, /* nest */ 76 TIPC_NLA_NET, /* nest */
74 TIPC_NLA_NAME_TABLE, /* nest */ 77 TIPC_NLA_NAME_TABLE, /* nest */
78 TIPC_NLA_MON, /* nest */
79 TIPC_NLA_MON_PEER, /* nest */
75 80
76 __TIPC_NLA_MAX, 81 __TIPC_NLA_MAX,
77 TIPC_NLA_MAX = __TIPC_NLA_MAX - 1 82 TIPC_NLA_MAX = __TIPC_NLA_MAX - 1
@@ -166,6 +171,20 @@ enum {
166 TIPC_NLA_NAME_TABLE_MAX = __TIPC_NLA_NAME_TABLE_MAX - 1 171 TIPC_NLA_NAME_TABLE_MAX = __TIPC_NLA_NAME_TABLE_MAX - 1
167}; 172};
168 173
174/* Monitor info */
175enum {
176 TIPC_NLA_MON_UNSPEC,
177 TIPC_NLA_MON_ACTIVATION_THRESHOLD, /* u32 */
178 TIPC_NLA_MON_REF, /* u32 */
179 TIPC_NLA_MON_ACTIVE, /* flag */
180 TIPC_NLA_MON_BEARER_NAME, /* string */
181 TIPC_NLA_MON_PEERCNT, /* u32 */
182 TIPC_NLA_MON_LISTGEN, /* u32 */
183
184 __TIPC_NLA_MON_MAX,
185 TIPC_NLA_MON_MAX = __TIPC_NLA_MON_MAX - 1
186};
187
169/* Publication info */ 188/* Publication info */
170enum { 189enum {
171 TIPC_NLA_PUBL_UNSPEC, 190 TIPC_NLA_PUBL_UNSPEC,
@@ -182,6 +201,24 @@ enum {
182 TIPC_NLA_PUBL_MAX = __TIPC_NLA_PUBL_MAX - 1 201 TIPC_NLA_PUBL_MAX = __TIPC_NLA_PUBL_MAX - 1
183}; 202};
184 203
204/* Monitor peer info */
205enum {
206 TIPC_NLA_MON_PEER_UNSPEC,
207
208 TIPC_NLA_MON_PEER_ADDR, /* u32 */
209 TIPC_NLA_MON_PEER_DOMGEN, /* u32 */
210 TIPC_NLA_MON_PEER_APPLIED, /* u32 */
211 TIPC_NLA_MON_PEER_UPMAP, /* u64 */
212 TIPC_NLA_MON_PEER_MEMBERS, /* tlv */
213 TIPC_NLA_MON_PEER_UP, /* flag */
214 TIPC_NLA_MON_PEER_HEAD, /* flag */
215 TIPC_NLA_MON_PEER_LOCAL, /* flag */
216 TIPC_NLA_MON_PEER_PAD, /* flag */
217
218 __TIPC_NLA_MON_PEER_MAX,
219 TIPC_NLA_MON_PEER_MAX = __TIPC_NLA_MON_PEER_MAX - 1
220};
221
185/* Nest, connection info */ 222/* Nest, connection info */
186enum { 223enum {
187 TIPC_NLA_CON_UNSPEC, 224 TIPC_NLA_CON_UNSPEC,
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 8f951917be74..724f43e69d03 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -504,22 +504,16 @@ struct v4l2_pix_format {
504#define V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ') /* 8 UV 4:4 */ 504#define V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ') /* 8 UV 4:4 */
505 505
506/* Luminance+Chrominance formats */ 506/* Luminance+Chrominance formats */
507#define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9') /* 9 YVU 4:1:0 */
508#define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2') /* 12 YVU 4:2:0 */
509#define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y', 'U', 'Y', 'V') /* 16 YUV 4:2:2 */ 507#define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y', 'U', 'Y', 'V') /* 16 YUV 4:2:2 */
510#define V4L2_PIX_FMT_YYUV v4l2_fourcc('Y', 'Y', 'U', 'V') /* 16 YUV 4:2:2 */ 508#define V4L2_PIX_FMT_YYUV v4l2_fourcc('Y', 'Y', 'U', 'V') /* 16 YUV 4:2:2 */
511#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */ 509#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */
512#define V4L2_PIX_FMT_UYVY v4l2_fourcc('U', 'Y', 'V', 'Y') /* 16 YUV 4:2:2 */ 510#define V4L2_PIX_FMT_UYVY v4l2_fourcc('U', 'Y', 'V', 'Y') /* 16 YUV 4:2:2 */
513#define V4L2_PIX_FMT_VYUY v4l2_fourcc('V', 'Y', 'U', 'Y') /* 16 YUV 4:2:2 */ 511#define V4L2_PIX_FMT_VYUY v4l2_fourcc('V', 'Y', 'U', 'Y') /* 16 YUV 4:2:2 */
514#define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4', '2', '2', 'P') /* 16 YVU422 planar */
515#define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P') /* 16 YVU411 planar */
516#define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y', '4', '1', 'P') /* 12 YUV 4:1:1 */ 512#define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y', '4', '1', 'P') /* 12 YUV 4:1:1 */
517#define V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y', '4', '4', '4') /* 16 xxxxyyyy uuuuvvvv */ 513#define V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y', '4', '4', '4') /* 16 xxxxyyyy uuuuvvvv */
518#define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */ 514#define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */
519#define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */ 515#define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */
520#define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */ 516#define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */
521#define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9') /* 9 YUV 4:1:0 */
522#define V4L2_PIX_FMT_YUV420 v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */
523#define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */ 517#define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */
524#define V4L2_PIX_FMT_HM12 v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */ 518#define V4L2_PIX_FMT_HM12 v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */
525#define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */ 519#define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */
@@ -540,6 +534,14 @@ struct v4l2_pix_format {
540#define V4L2_PIX_FMT_NV12MT v4l2_fourcc('T', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 64x32 macroblocks */ 534#define V4L2_PIX_FMT_NV12MT v4l2_fourcc('T', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 64x32 macroblocks */
541#define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 16x16 macroblocks */ 535#define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 16x16 macroblocks */
542 536
537/* three planes - Y Cb, Cr */
538#define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9') /* 9 YUV 4:1:0 */
539#define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9') /* 9 YVU 4:1:0 */
540#define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P') /* 12 YVU411 planar */
541#define V4L2_PIX_FMT_YUV420 v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */
542#define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2') /* 12 YVU 4:2:0 */
543#define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4', '2', '2', 'P') /* 16 YVU422 planar */
544
543/* three non contiguous planes - Y, Cb, Cr */ 545/* three non contiguous planes - Y, Cb, Cr */
544#define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2') /* 12 YUV420 planar */ 546#define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2') /* 12 YUV420 planar */
545#define V4L2_PIX_FMT_YVU420M v4l2_fourcc('Y', 'M', '2', '1') /* 12 YVU420 planar */ 547#define V4L2_PIX_FMT_YVU420M v4l2_fourcc('Y', 'M', '2', '1') /* 12 YVU420 planar */
diff --git a/include/uapi/linux/virtio_net.h b/include/uapi/linux/virtio_net.h
index ec32293a00db..fc353b518288 100644
--- a/include/uapi/linux/virtio_net.h
+++ b/include/uapi/linux/virtio_net.h
@@ -1,5 +1,5 @@
1#ifndef _LINUX_VIRTIO_NET_H 1#ifndef _UAPI_LINUX_VIRTIO_NET_H
2#define _LINUX_VIRTIO_NET_H 2#define _UAPI_LINUX_VIRTIO_NET_H
3/* This header is BSD licensed so anyone can use the definitions to implement 3/* This header is BSD licensed so anyone can use the definitions to implement
4 * compatible drivers/servers. 4 * compatible drivers/servers.
5 * 5 *
@@ -35,6 +35,7 @@
35#define VIRTIO_NET_F_CSUM 0 /* Host handles pkts w/ partial csum */ 35#define VIRTIO_NET_F_CSUM 0 /* Host handles pkts w/ partial csum */
36#define VIRTIO_NET_F_GUEST_CSUM 1 /* Guest handles pkts w/ partial csum */ 36#define VIRTIO_NET_F_GUEST_CSUM 1 /* Guest handles pkts w/ partial csum */
37#define VIRTIO_NET_F_CTRL_GUEST_OFFLOADS 2 /* Dynamic offload configuration. */ 37#define VIRTIO_NET_F_CTRL_GUEST_OFFLOADS 2 /* Dynamic offload configuration. */
38#define VIRTIO_NET_F_MTU 3 /* Initial MTU advice */
38#define VIRTIO_NET_F_MAC 5 /* Host has given MAC address. */ 39#define VIRTIO_NET_F_MAC 5 /* Host has given MAC address. */
39#define VIRTIO_NET_F_GUEST_TSO4 7 /* Guest can handle TSOv4 in. */ 40#define VIRTIO_NET_F_GUEST_TSO4 7 /* Guest can handle TSOv4 in. */
40#define VIRTIO_NET_F_GUEST_TSO6 8 /* Guest can handle TSOv6 in. */ 41#define VIRTIO_NET_F_GUEST_TSO6 8 /* Guest can handle TSOv6 in. */
@@ -73,6 +74,8 @@ struct virtio_net_config {
73 * Legal values are between 1 and 0x8000 74 * Legal values are between 1 and 0x8000
74 */ 75 */
75 __u16 max_virtqueue_pairs; 76 __u16 max_virtqueue_pairs;
77 /* Default maximum transmit unit advice */
78 __u16 mtu;
76} __attribute__((packed)); 79} __attribute__((packed));
77 80
78/* 81/*
@@ -242,4 +245,4 @@ struct virtio_net_ctrl_mq {
242#define VIRTIO_NET_CTRL_GUEST_OFFLOADS 5 245#define VIRTIO_NET_CTRL_GUEST_OFFLOADS 5
243#define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET 0 246#define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET 0
244 247
245#endif /* _LINUX_VIRTIO_NET_H */ 248#endif /* _UAPI_LINUX_VIRTIO_NET_H */
diff --git a/include/uapi/linux/vsp1.h b/include/uapi/linux/vsp1.h
deleted file mode 100644
index 9a823696d816..000000000000
--- a/include/uapi/linux/vsp1.h
+++ /dev/null
@@ -1,34 +0,0 @@
1/*
2 * vsp1.h
3 *
4 * Renesas R-Car VSP1 - User-space API
5 *
6 * Copyright (C) 2013 Renesas Corporation
7 *
8 * Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 */
14
15#ifndef __VSP1_USER_H__
16#define __VSP1_USER_H__
17
18#include <linux/types.h>
19#include <linux/videodev2.h>
20
21/*
22 * Private IOCTLs
23 *
24 * VIDIOC_VSP1_LUT_CONFIG - Configure the lookup table
25 */
26
27#define VIDIOC_VSP1_LUT_CONFIG \
28 _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct vsp1_lut_config)
29
30struct vsp1_lut_config {
31 __u32 lut[256];
32};
33
34#endif /* __VSP1_USER_H__ */
diff --git a/include/uapi/linux/wireless.h b/include/uapi/linux/wireless.h
index c1592e3e4036..d9ecd7c6d691 100644
--- a/include/uapi/linux/wireless.h
+++ b/include/uapi/linux/wireless.h
@@ -670,8 +670,7 @@
670/* 670/*
671 * Generic format for most parameters that fit in an int 671 * Generic format for most parameters that fit in an int
672 */ 672 */
673struct iw_param 673struct iw_param {
674{
675 __s32 value; /* The value of the parameter itself */ 674 __s32 value; /* The value of the parameter itself */
676 __u8 fixed; /* Hardware should not use auto select */ 675 __u8 fixed; /* Hardware should not use auto select */
677 __u8 disabled; /* Disable the feature */ 676 __u8 disabled; /* Disable the feature */
@@ -682,8 +681,7 @@ struct iw_param
682 * For all data larger than 16 octets, we need to use a 681 * For all data larger than 16 octets, we need to use a
683 * pointer to memory allocated in user space. 682 * pointer to memory allocated in user space.
684 */ 683 */
685struct iw_point 684struct iw_point {
686{
687 void __user *pointer; /* Pointer to the data (in user space) */ 685 void __user *pointer; /* Pointer to the data (in user space) */
688 __u16 length; /* number of fields or size in bytes */ 686 __u16 length; /* number of fields or size in bytes */
689 __u16 flags; /* Optional params */ 687 __u16 flags; /* Optional params */
@@ -698,8 +696,7 @@ struct iw_point
698 * of 10 to get 'm' lower than 10^9, with 'm'= f / (10^'e')... 696 * of 10 to get 'm' lower than 10^9, with 'm'= f / (10^'e')...
699 * The power of 10 is in 'e', the result of the division is in 'm'. 697 * The power of 10 is in 'e', the result of the division is in 'm'.
700 */ 698 */
701struct iw_freq 699struct iw_freq {
702{
703 __s32 m; /* Mantissa */ 700 __s32 m; /* Mantissa */
704 __s16 e; /* Exponent */ 701 __s16 e; /* Exponent */
705 __u8 i; /* List index (when in range struct) */ 702 __u8 i; /* List index (when in range struct) */
@@ -709,8 +706,7 @@ struct iw_freq
709/* 706/*
710 * Quality of the link 707 * Quality of the link
711 */ 708 */
712struct iw_quality 709struct iw_quality {
713{
714 __u8 qual; /* link quality (%retries, SNR, 710 __u8 qual; /* link quality (%retries, SNR,
715 %missed beacons or better...) */ 711 %missed beacons or better...) */
716 __u8 level; /* signal level (dBm) */ 712 __u8 level; /* signal level (dBm) */
@@ -725,8 +721,7 @@ struct iw_quality
725 * is already pretty exhaustive, and you should use that first. 721 * is already pretty exhaustive, and you should use that first.
726 * This is only additional stats... 722 * This is only additional stats...
727 */ 723 */
728struct iw_discarded 724struct iw_discarded {
729{
730 __u32 nwid; /* Rx : Wrong nwid/essid */ 725 __u32 nwid; /* Rx : Wrong nwid/essid */
731 __u32 code; /* Rx : Unable to code/decode (WEP) */ 726 __u32 code; /* Rx : Unable to code/decode (WEP) */
732 __u32 fragment; /* Rx : Can't perform MAC reassembly */ 727 __u32 fragment; /* Rx : Can't perform MAC reassembly */
@@ -738,16 +733,14 @@ struct iw_discarded
738 * Packet/Time period missed in the wireless adapter due to 733 * Packet/Time period missed in the wireless adapter due to
739 * "wireless" specific problems... 734 * "wireless" specific problems...
740 */ 735 */
741struct iw_missed 736struct iw_missed {
742{
743 __u32 beacon; /* Missed beacons/superframe */ 737 __u32 beacon; /* Missed beacons/superframe */
744}; 738};
745 739
746/* 740/*
747 * Quality range (for spy threshold) 741 * Quality range (for spy threshold)
748 */ 742 */
749struct iw_thrspy 743struct iw_thrspy {
750{
751 struct sockaddr addr; /* Source address (hw/mac) */ 744 struct sockaddr addr; /* Source address (hw/mac) */
752 struct iw_quality qual; /* Quality of the link */ 745 struct iw_quality qual; /* Quality of the link */
753 struct iw_quality low; /* Low threshold */ 746 struct iw_quality low; /* Low threshold */
@@ -765,8 +758,7 @@ struct iw_thrspy
765 * Especially, scan results are required to include an entry for the 758 * Especially, scan results are required to include an entry for the
766 * current BSS if the driver is in Managed mode and associated with an AP. 759 * current BSS if the driver is in Managed mode and associated with an AP.
767 */ 760 */
768struct iw_scan_req 761struct iw_scan_req {
769{
770 __u8 scan_type; /* IW_SCAN_TYPE_{ACTIVE,PASSIVE} */ 762 __u8 scan_type; /* IW_SCAN_TYPE_{ACTIVE,PASSIVE} */
771 __u8 essid_len; 763 __u8 essid_len;
772 __u8 num_channels; /* num entries in channel_list; 764 __u8 num_channels; /* num entries in channel_list;
@@ -827,8 +819,7 @@ struct iw_scan_req
827 * RX_SEQ_VALID for SIOCGIWENCODEEXT are optional, but can be useful for 819 * RX_SEQ_VALID for SIOCGIWENCODEEXT are optional, but can be useful for
828 * debugging/testing. 820 * debugging/testing.
829 */ 821 */
830struct iw_encode_ext 822struct iw_encode_ext {
831{
832 __u32 ext_flags; /* IW_ENCODE_EXT_* */ 823 __u32 ext_flags; /* IW_ENCODE_EXT_* */
833 __u8 tx_seq[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */ 824 __u8 tx_seq[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */
834 __u8 rx_seq[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */ 825 __u8 rx_seq[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */
@@ -841,8 +832,7 @@ struct iw_encode_ext
841}; 832};
842 833
843/* SIOCSIWMLME data */ 834/* SIOCSIWMLME data */
844struct iw_mlme 835struct iw_mlme {
845{
846 __u16 cmd; /* IW_MLME_* */ 836 __u16 cmd; /* IW_MLME_* */
847 __u16 reason_code; 837 __u16 reason_code;
848 struct sockaddr addr; 838 struct sockaddr addr;
@@ -855,16 +845,14 @@ struct iw_mlme
855 845
856#define IW_PMKID_LEN 16 846#define IW_PMKID_LEN 16
857 847
858struct iw_pmksa 848struct iw_pmksa {
859{
860 __u32 cmd; /* IW_PMKSA_* */ 849 __u32 cmd; /* IW_PMKSA_* */
861 struct sockaddr bssid; 850 struct sockaddr bssid;
862 __u8 pmkid[IW_PMKID_LEN]; 851 __u8 pmkid[IW_PMKID_LEN];
863}; 852};
864 853
865/* IWEVMICHAELMICFAILURE data */ 854/* IWEVMICHAELMICFAILURE data */
866struct iw_michaelmicfailure 855struct iw_michaelmicfailure {
867{
868 __u32 flags; 856 __u32 flags;
869 struct sockaddr src_addr; 857 struct sockaddr src_addr;
870 __u8 tsc[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */ 858 __u8 tsc[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */
@@ -872,8 +860,7 @@ struct iw_michaelmicfailure
872 860
873/* IWEVPMKIDCAND data */ 861/* IWEVPMKIDCAND data */
874#define IW_PMKID_CAND_PREAUTH 0x00000001 /* RNS pre-authentication enabled */ 862#define IW_PMKID_CAND_PREAUTH 0x00000001 /* RNS pre-authentication enabled */
875struct iw_pmkid_cand 863struct iw_pmkid_cand {
876{
877 __u32 flags; /* IW_PMKID_CAND_* */ 864 __u32 flags; /* IW_PMKID_CAND_* */
878 __u32 index; /* the smaller the index, the higher the 865 __u32 index; /* the smaller the index, the higher the
879 * priority */ 866 * priority */
@@ -884,8 +871,7 @@ struct iw_pmkid_cand
884/* 871/*
885 * Wireless statistics (used for /proc/net/wireless) 872 * Wireless statistics (used for /proc/net/wireless)
886 */ 873 */
887struct iw_statistics 874struct iw_statistics {
888{
889 __u16 status; /* Status 875 __u16 status; /* Status
890 * - device dependent for now */ 876 * - device dependent for now */
891 877
@@ -897,7 +883,7 @@ struct iw_statistics
897 883
898/* ------------------------ IOCTL REQUEST ------------------------ */ 884/* ------------------------ IOCTL REQUEST ------------------------ */
899/* 885/*
900 * This structure defines the payload of an ioctl, and is used 886 * This structure defines the payload of an ioctl, and is used
901 * below. 887 * below.
902 * 888 *
903 * Note that this structure should fit on the memory footprint 889 * Note that this structure should fit on the memory footprint
@@ -906,8 +892,7 @@ struct iw_statistics
906 * You should check this when increasing the structures defined 892 * You should check this when increasing the structures defined
907 * above in this file... 893 * above in this file...
908 */ 894 */
909union iwreq_data 895union iwreq_data {
910{
911 /* Config - generic */ 896 /* Config - generic */
912 char name[IFNAMSIZ]; 897 char name[IFNAMSIZ];
913 /* Name : used to verify the presence of wireless extensions. 898 /* Name : used to verify the presence of wireless extensions.
@@ -944,15 +929,14 @@ union iwreq_data
944 * convenience... 929 * convenience...
945 * Do I need to remind you about structure size (32 octets) ? 930 * Do I need to remind you about structure size (32 octets) ?
946 */ 931 */
947struct iwreq 932struct iwreq {
948{
949 union 933 union
950 { 934 {
951 char ifrn_name[IFNAMSIZ]; /* if name, e.g. "eth0" */ 935 char ifrn_name[IFNAMSIZ]; /* if name, e.g. "eth0" */
952 } ifr_ifrn; 936 } ifr_ifrn;
953 937
954 /* Data part (defined just above) */ 938 /* Data part (defined just above) */
955 union iwreq_data u; 939 union iwreq_data u;
956}; 940};
957 941
958/* -------------------------- IOCTL DATA -------------------------- */ 942/* -------------------------- IOCTL DATA -------------------------- */
@@ -965,8 +949,7 @@ struct iwreq
965 * Range of parameters 949 * Range of parameters
966 */ 950 */
967 951
968struct iw_range 952struct iw_range {
969{
970 /* Informative stuff (to choose between different interface) */ 953 /* Informative stuff (to choose between different interface) */
971 __u32 throughput; /* To give an idea... */ 954 __u32 throughput; /* To give an idea... */
972 /* In theory this value should be the maximum benchmarked 955 /* In theory this value should be the maximum benchmarked
@@ -1069,9 +1052,8 @@ struct iw_range
1069/* 1052/*
1070 * Private ioctl interface information 1053 * Private ioctl interface information
1071 */ 1054 */
1072 1055
1073struct iw_priv_args 1056struct iw_priv_args {
1074{
1075 __u32 cmd; /* Number of the ioctl to issue */ 1057 __u32 cmd; /* Number of the ioctl to issue */
1076 __u16 set_args; /* Type and number of args */ 1058 __u16 set_args; /* Type and number of args */
1077 __u16 get_args; /* Type and number of args */ 1059 __u16 get_args; /* Type and number of args */
@@ -1088,8 +1070,7 @@ struct iw_priv_args
1088/* 1070/*
1089 * A Wireless Event. Contains basically the same data as the ioctl... 1071 * A Wireless Event. Contains basically the same data as the ioctl...
1090 */ 1072 */
1091struct iw_event 1073struct iw_event {
1092{
1093 __u16 len; /* Real length of this stuff */ 1074 __u16 len; /* Real length of this stuff */
1094 __u16 cmd; /* Wireless IOCTL */ 1075 __u16 cmd; /* Wireless IOCTL */
1095 union iwreq_data u; /* IOCTL fixed payload */ 1076 union iwreq_data u; /* IOCTL fixed payload */