Showing the changes to include/uapi/linux (45 of 9242 files). Show all
Unified · Split
| @@ -26,7 +26,7 @@ · 25 unmodified lines | |||
| 26 | #define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION | 26 | #define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION |
| 27 | 27 | ||
| 28 | /* | 28 | /* |
| 29 | * The wait_queue_entry_token (autofs_wqt_t) is part of a structure which is passed | 29 | * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed |
| 30 | * back to the kernel via ioctl from userspace. On architectures where 32- and | 30 | * back to the kernel via ioctl from userspace. On architectures where 32- and |
| 31 | * 64-bit userspace binaries can be executed it's important that the size of | 31 | * 64-bit userspace binaries can be executed it's important that the size of |
| 32 | * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we | 32 | * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we |
| @@ -49,7 +49,7 @@ struct autofs_packet_hdr { · 16 unmodified lines | |||
| 49 | 49 | ||
| 50 | struct autofs_packet_missing { | 50 | struct autofs_packet_missing { |
| 51 | struct autofs_packet_hdr hdr; | 51 | struct autofs_packet_hdr hdr; |
| 52 | autofs_wqt_t wait_queue_entry_token; | 52 | autofs_wqt_t wait_queue_token; |
| 53 | int len; | 53 | int len; |
| 54 | char name[NAME_MAX+1]; | 54 | char name[NAME_MAX+1]; |
| 55 | }; | 55 | }; |
| @@ -108,7 +108,7 @@ enum autofs_notify { · 107 unmodified lines | |||
| 108 | /* v4 multi expire (via pipe) */ | 108 | /* v4 multi expire (via pipe) */ |
| 109 | struct autofs_packet_expire_multi { | 109 | struct autofs_packet_expire_multi { |
| 110 | struct autofs_packet_hdr hdr; | 110 | struct autofs_packet_hdr hdr; |
| 111 | autofs_wqt_t wait_queue_entry_token; | 111 | autofs_wqt_t wait_queue_token; |
| 112 | int len; | 112 | int len; |
| 113 | char name[NAME_MAX+1]; | 113 | char name[NAME_MAX+1]; |
| 114 | }; | 114 | }; |
| @@ -123,7 +123,7 @@ union autofs_packet_union { · 8 unmodified lines | |||
| 123 | /* autofs v5 common packet struct */ | 123 | /* autofs v5 common packet struct */ |
| 124 | struct autofs_v5_packet { | 124 | struct autofs_v5_packet { |
| 125 | struct autofs_packet_hdr hdr; | 125 | struct autofs_packet_hdr hdr; |
| 126 | autofs_wqt_t wait_queue_entry_token; | 126 | autofs_wqt_t wait_queue_token; |
| 127 | __u32 dev; | 127 | __u32 dev; |
| 128 | __u64 ino; | 128 | __u64 ino; |
| 129 | __u32 uid; | 129 | __u32 uid; |
| @@ -82,6 +82,11 @@ enum bpf_cmd { · 81 unmodified lines | |||
| 82 | BPF_PROG_ATTACH, | 82 | BPF_PROG_ATTACH, |
| 83 | BPF_PROG_DETACH, | 83 | BPF_PROG_DETACH, |
| 84 | BPF_PROG_TEST_RUN, | 84 | BPF_PROG_TEST_RUN, |
| 85 | BPF_PROG_GET_NEXT_ID, | ||
| 86 | BPF_MAP_GET_NEXT_ID, | ||
| 87 | BPF_PROG_GET_FD_BY_ID, | ||
| 88 | BPF_MAP_GET_FD_BY_ID, | ||
| 89 | BPF_OBJ_GET_INFO_BY_FD, | ||
| 85 | }; | 90 | }; |
| 86 | 91 | ||
| 87 | enum bpf_map_type { | 92 | enum bpf_map_type { |
| @@ -115,12 +120,14 @@ enum bpf_prog_type { · 27 unmodified lines | |||
| 115 | BPF_PROG_TYPE_LWT_IN, | 120 | BPF_PROG_TYPE_LWT_IN, |
| 116 | BPF_PROG_TYPE_LWT_OUT, | 121 | BPF_PROG_TYPE_LWT_OUT, |
| 117 | BPF_PROG_TYPE_LWT_XMIT, | 122 | BPF_PROG_TYPE_LWT_XMIT, |
| 123 | BPF_PROG_TYPE_SOCK_OPS, | ||
| 118 | }; | 124 | }; |
| 119 | 125 | ||
| 120 | enum bpf_attach_type { | 126 | enum bpf_attach_type { |
| 121 | BPF_CGROUP_INET_INGRESS, | 127 | BPF_CGROUP_INET_INGRESS, |
| 122 | BPF_CGROUP_INET_EGRESS, | 128 | BPF_CGROUP_INET_EGRESS, |
| 123 | BPF_CGROUP_INET_SOCK_CREATE, | 129 | BPF_CGROUP_INET_SOCK_CREATE, |
| 130 | BPF_CGROUP_SOCK_OPS, | ||
| 124 | __MAX_BPF_ATTACH_TYPE | 131 | __MAX_BPF_ATTACH_TYPE |
| 125 | }; | 132 | }; |
| 126 | 133 | ||
| @@ -209,6 +216,21 @@ union bpf_attr { · 82 unmodified lines | |||
| 209 | __u32 repeat; | 216 | __u32 repeat; |
| 210 | __u32 duration; | 217 | __u32 duration; |
| 211 | } test; | 218 | } test; |
| 219 | |||
| 220 | struct { /* anonymous struct used by BPF_*_GET_*_ID */ | ||
| 221 | union { | ||
| 222 | __u32 start_id; | ||
| 223 | __u32 prog_id; | ||
| 224 | __u32 map_id; | ||
| 225 | }; | ||
| 226 | __u32 next_id; | ||
| 227 | }; | ||
| 228 | |||
| 229 | struct { /* anonymous struct used by BPF_OBJ_GET_INFO_BY_FD */ | ||
| 230 | __u32 bpf_fd; | ||
| 231 | __u32 info_len; | ||
| 232 | __aligned_u64 info; | ||
| 233 | } info; | ||
| 212 | } __attribute__((aligned(8))); | 234 | } __attribute__((aligned(8))); |
| 213 | 235 | ||
| 214 | /* BPF helper function descriptions: | 236 | /* BPF helper function descriptions: |
| @@ -313,8 +335,11 @@ union bpf_attr { · 98 unmodified lines | |||
| 313 | * @flags: room for future extensions | 335 | * @flags: room for future extensions |
| 314 | * Return: 0 on success or negative error | 336 | * Return: 0 on success or negative error |
| 315 | * | 337 | * |
| 316 | * u64 bpf_perf_event_read(&map, index) | 338 | * u64 bpf_perf_event_read(map, flags) |
| 317 | * Return: Number events read or error code | 339 | * read perf event counter value |
| 340 | * @map: pointer to perf_event_array map | ||
| 341 | * @flags: index of event in the map or bitmask flags | ||
| 342 | * Return: value of perf event counter read or error code | ||
| 318 | * | 343 | * |
| 319 | * int bpf_redirect(ifindex, flags) | 344 | * int bpf_redirect(ifindex, flags) |
| 320 | * redirect to another netdev | 345 | * redirect to another netdev |
| @@ -328,11 +353,11 @@ union bpf_attr { · 7 unmodified lines | |||
| 328 | * @skb: pointer to skb | 353 | * @skb: pointer to skb |
| 329 | * Return: realm if != 0 | 354 | * Return: realm if != 0 |
| 330 | * | 355 | * |
| 331 | * int bpf_perf_event_output(ctx, map, index, data, size) | 356 | * int bpf_perf_event_output(ctx, map, flags, data, size) |
| 332 | * output perf raw sample | 357 | * output perf raw sample |
| 333 | * @ctx: struct pt_regs* | 358 | * @ctx: struct pt_regs* |
| 334 | * @map: pointer to perf_event_array map | 359 | * @map: pointer to perf_event_array map |
| 335 | * @index: index of event in the map | 360 | * @flags: index of event in the map or bitmask flags |
| 336 | * @data: data on stack to be output as raw data | 361 | * @data: data on stack to be output as raw data |
| 337 | * @size: size of data | 362 | * @size: size of data |
| 338 | * Return: 0 on success or negative error | 363 | * Return: 0 on success or negative error |
| @@ -490,6 +515,30 @@ union bpf_attr { · 151 unmodified lines | |||
| 490 | * Get the owner uid of the socket stored inside sk_buff. | 515 | * Get the owner uid of the socket stored inside sk_buff. |
| 491 | * @skb: pointer to skb | 516 | * @skb: pointer to skb |
| 492 | * Return: uid of the socket owner on success or overflowuid if failed. | 517 | * Return: uid of the socket owner on success or overflowuid if failed. |
| 518 | * | ||
| 519 | * u32 bpf_set_hash(skb, hash) | ||
| 520 | * Set full skb->hash. | ||
| 521 | * @skb: pointer to skb | ||
| 522 | * @hash: hash to set | ||
| 523 | * | ||
| 524 | * int bpf_setsockopt(bpf_socket, level, optname, optval, optlen) | ||
| 525 | * Calls setsockopt. Not all opts are available, only those with | ||
| 526 | * integer optvals plus TCP_CONGESTION. | ||
| 527 | * Supported levels: SOL_SOCKET and IPROTO_TCP | ||
| 528 | * @bpf_socket: pointer to bpf_socket | ||
| 529 | * @level: SOL_SOCKET or IPROTO_TCP | ||
| 530 | * @optname: option name | ||
| 531 | * @optval: pointer to option value | ||
| 532 | * @optlen: length of optval in byes | ||
| 533 | * Return: 0 or negative error | ||
| 534 | * | ||
| 535 | * int bpf_skb_adjust_room(skb, len_diff, mode, flags) | ||
| 536 | * Grow or shrink room in sk_buff. | ||
| 537 | * @skb: pointer to skb | ||
| 538 | * @len_diff: (signed) amount of room to grow/shrink | ||
| 539 | * @mode: operation mode (enum bpf_adj_room_mode) | ||
| 540 | * @flags: reserved for future use | ||
| 541 | * Return: 0 on success or negative error code | ||
| 493 | */ | 542 | */ |
| 494 | #define __BPF_FUNC_MAPPER(FN) \ | 543 | #define __BPF_FUNC_MAPPER(FN) \ |
| 495 | FN(unspec), \ | 544 | FN(unspec), \ |
| @@ -539,7 +588,10 @@ union bpf_attr { · 43 unmodified lines | |||
| 539 | FN(xdp_adjust_head), \ | 588 | FN(xdp_adjust_head), \ |
| 540 | FN(probe_read_str), \ | 589 | FN(probe_read_str), \ |
| 541 | FN(get_socket_cookie), \ | 590 | FN(get_socket_cookie), \ |
| 542 | FN(get_socket_uid), | 591 | FN(get_socket_uid), \ |
| 592 | FN(set_hash), \ | ||
| 593 | FN(setsockopt), \ | ||
| 594 | FN(skb_adjust_room), | ||
| 543 | 595 | ||
| 544 | /* integer value in 'imm' field of BPF_CALL instruction selects which helper | 596 | /* integer value in 'imm' field of BPF_CALL instruction selects which helper |
| 545 | * function eBPF program intends to call | 597 | * function eBPF program intends to call |
| @@ -589,6 +641,11 @@ enum bpf_func_id { · 43 unmodified lines | |||
| 589 | /* BPF_FUNC_perf_event_output for sk_buff input context. */ | 641 | /* BPF_FUNC_perf_event_output for sk_buff input context. */ |
| 590 | #define BPF_F_CTXLEN_MASK (0xfffffULL << 32) | 642 | #define BPF_F_CTXLEN_MASK (0xfffffULL << 32) |
| 591 | 643 | ||
| 644 | /* Mode for BPF_FUNC_skb_adjust_room helper. */ | ||
| 645 | enum bpf_adj_room_mode { | ||
| 646 | BPF_ADJ_ROOM_NET, | ||
| 647 | }; | ||
| 648 | |||
| 592 | /* user accessible mirror of in-kernel sk_buff. | 649 | /* user accessible mirror of in-kernel sk_buff. |
| 593 | * new fields can only be added to the end of this structure | 650 | * new fields can only be added to the end of this structure |
| 594 | */ | 651 | */ |
| @@ -670,4 +727,77 @@ struct xdp_md { · 75 unmodified lines | |||
| 670 | __u32 data_end; | 727 | __u32 data_end; |
| 671 | }; | 728 | }; |
| 672 | 729 | ||
| 730 | #define BPF_TAG_SIZE 8 | ||
| 731 | |||
| 732 | struct bpf_prog_info { | ||
| 733 | __u32 type; | ||
| 734 | __u32 id; | ||
| 735 | __u8 tag[BPF_TAG_SIZE]; | ||
| 736 | __u32 jited_prog_len; | ||
| 737 | __u32 xlated_prog_len; | ||
| 738 | __aligned_u64 jited_prog_insns; | ||
| 739 | __aligned_u64 xlated_prog_insns; | ||
| 740 | } __attribute__((aligned(8))); | ||
| 741 | |||
| 742 | struct bpf_map_info { | ||
| 743 | __u32 type; | ||
| 744 | __u32 id; | ||
| 745 | __u32 key_size; | ||
| 746 | __u32 value_size; | ||
| 747 | __u32 max_entries; | ||
| 748 | __u32 map_flags; | ||
| 749 | } __attribute__((aligned(8))); | ||
| 750 | |||
| 751 | /* User bpf_sock_ops struct to access socket values and specify request ops | ||
| 752 | * and their replies. | ||
| 753 | * Some of this fields are in network (bigendian) byte order and may need | ||
| 754 | * to be converted before use (bpf_ntohl() defined in samples/bpf/bpf_endian.h). | ||
| 755 | * New fields can only be added at the end of this structure | ||
| 756 | */ | ||
| 757 | struct bpf_sock_ops { | ||
| 758 | __u32 op; | ||
| 759 | union { | ||
| 760 | __u32 reply; | ||
| 761 | __u32 replylong[4]; | ||
| 762 | }; | ||
| 763 | __u32 family; | ||
| 764 | __u32 remote_ip4; /* Stored in network byte order */ | ||
| 765 | __u32 local_ip4; /* Stored in network byte order */ | ||
| 766 | __u32 remote_ip6[4]; /* Stored in network byte order */ | ||
| 767 | __u32 local_ip6[4]; /* Stored in network byte order */ | ||
| 768 | __u32 remote_port; /* Stored in network byte order */ | ||
| 769 | __u32 local_port; /* stored in host byte order */ | ||
| 770 | }; | ||
| 771 | |||
| 772 | /* List of known BPF sock_ops operators. | ||
| 773 | * New entries can only be added at the end | ||
| 774 | */ | ||
| 775 | enum { | ||
| 776 | BPF_SOCK_OPS_VOID, | ||
| 777 | BPF_SOCK_OPS_TIMEOUT_INIT, /* Should return SYN-RTO value to use or | ||
| 778 | * -1 if default value should be used | ||
| 779 | */ | ||
| 780 | BPF_SOCK_OPS_RWND_INIT, /* Should return initial advertized | ||
| 781 | * window (in packets) or -1 if default | ||
| 782 | * value should be used | ||
| 783 | */ | ||
| 784 | BPF_SOCK_OPS_TCP_CONNECT_CB, /* Calls BPF program right before an | ||
| 785 | * active connection is initialized | ||
| 786 | */ | ||
| 787 | BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB, /* Calls BPF program when an | ||
| 788 | * active connection is | ||
| 789 | * established | ||
| 790 | */ | ||
| 791 | BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB, /* Calls BPF program when a | ||
| 792 | * passive connection is | ||
| 793 | * established | ||
| 794 | */ | ||
| 795 | BPF_SOCK_OPS_NEEDS_ECN, /* If connection's congestion control | ||
| 796 | * needs ECN | ||
| 797 | */ | ||
| 798 | }; | ||
| 799 | |||
| 800 | #define TCP_BPF_IW 1001 /* Set TCP initial congestion window */ | ||
| 801 | #define TCP_BPF_SNDCWND_CLAMP 1002 /* Set sndcwnd_clamp */ | ||
| 802 | |||
| 673 | #endif /* _UAPI__LINUX_BPF_H__ */ | 803 | #endif /* _UAPI__LINUX_BPF_H__ */ |
| @@ -426,31 +426,54 @@ struct btrfs_ioctl_ino_lookup_args { · 425 unmodified lines | |||
| 426 | char name[BTRFS_INO_LOOKUP_PATH_MAX]; | 426 | char name[BTRFS_INO_LOOKUP_PATH_MAX]; |
| 427 | }; | 427 | }; |
| 428 | 428 | ||
| 429 | /* Search criteria for the btrfs SEARCH ioctl family. */ | ||
| 429 | struct btrfs_ioctl_search_key { | 430 | struct btrfs_ioctl_search_key { |
| 430 | /* which root are we searching. 0 is the tree of tree roots */ | 431 | /* |
| 431 | __u64 tree_id; | 432 | * The tree we're searching in. 1 is the tree of tree roots, 2 is the |
| 432 | 433 | * extent tree, etc... | |
| 433 | /* keys returned will be >= min and <= max */ | 434 | * |
| 434 | __u64 min_objectid; | 435 | * A special tree_id value of 0 will cause a search in the subvolume |
| 435 | __u64 max_objectid; | 436 | * tree that the inode which is passed to the ioctl is part of. |
| 436 | 437 | */ | |
| 437 | /* keys returned will be >= min and <= max */ | 438 | __u64 tree_id; /* in */ |
| 438 | __u64 min_offset; | ||
| 439 | __u64 max_offset; | ||
| 440 | |||
| 441 | /* max and min transids to search for */ | ||
| 442 | __u64 min_transid; | ||
| 443 | __u64 max_transid; | ||
| 444 | 439 | ||
| 445 | /* keys returned will be >= min and <= max */ | 440 | /* |
| 446 | __u32 min_type; | 441 | * When doing a tree search, we're actually taking a slice from a |
| 447 | __u32 max_type; | 442 | * linear search space of 136-bit keys. |
| 443 | * | ||
| 444 | * A full 136-bit tree key is composed as: | ||
| 445 | * (objectid << 72) + (type << 64) + offset | ||
| 446 | * | ||
| 447 | * The individual min and max values for objectid, type and offset | ||
| 448 | * define the min_key and max_key values for the search range. All | ||
| 449 | * metadata items with a key in the interval [min_key, max_key] will be | ||
| 450 | * returned. | ||
| 451 | * | ||
| 452 | * Additionally, we can filter the items returned on transaction id of | ||
| 453 | * the metadata block they're stored in by specifying a transid range. | ||
| 454 | * Be aware that this transaction id only denotes when the metadata | ||
| 455 | * page that currently contains the item got written the last time as | ||
| 456 | * result of a COW operation. The number does not have any meaning | ||
| 457 | * related to the transaction in which an individual item that is being | ||
| 458 | * returned was created or changed. | ||
| 459 | */ | ||
| 460 | __u64 min_objectid; /* in */ | ||
| 461 | __u64 max_objectid; /* in */ | ||
| 462 | __u64 min_offset; /* in */ | ||
| 463 | __u64 max_offset; /* in */ | ||
| 464 | __u64 min_transid; /* in */ | ||
| 465 | __u64 max_transid; /* in */ | ||
| 466 | __u32 min_type; /* in */ | ||
| 467 | __u32 max_type; /* in */ | ||
| 448 | 468 | ||
| 449 | /* | 469 | /* |
| 450 | * how many items did userland ask for, and how many are we | 470 | * input: The maximum amount of results desired. |
| 451 | * returning | 471 | * output: The actual amount of items returned, restricted by any of: |
| 472 | * - reaching the upper bound of the search range | ||
| 473 | * - reaching the input nr_items amount of items | ||
| 474 | * - completely filling the supplied memory buffer | ||
| 452 | */ | 475 | */ |
| 453 | __u32 nr_items; | 476 | __u32 nr_items; /* in/out */ |
| 454 | 477 | ||
| 455 | /* align to 64 bits */ | 478 | /* align to 64 bits */ |
| 456 | __u32 unused; | 479 | __u32 unused; |
| @@ -336,6 +336,8 @@ static inline int cec_is_unconfigured(__u16 log_addr_mask) · 335 unmodified lines | |||
| 336 | #define CEC_CAP_RC (1 << 4) | 336 | #define CEC_CAP_RC (1 << 4) |
| 337 | /* Hardware can monitor all messages, not just directed and broadcast. */ | 337 | /* Hardware can monitor all messages, not just directed and broadcast. */ |
| 338 | #define CEC_CAP_MONITOR_ALL (1 << 5) | 338 | #define CEC_CAP_MONITOR_ALL (1 << 5) |
| 339 | /* Hardware can use CEC only if the HDMI HPD pin is high. */ | ||
| 340 | #define CEC_CAP_NEEDS_HPD (1 << 6) | ||
| 339 | 341 | ||
| 340 | /** | 342 | /** |
| 341 | * struct cec_caps - CEC capabilities structure. | 343 | * struct cec_caps - CEC capabilities structure. |
| @@ -240,7 +240,8 @@ enum { · 239 unmodified lines | |||
| 240 | /* Added later */ | 240 | /* Added later */ |
| 241 | DM_LIST_VERSIONS_CMD, | 241 | DM_LIST_VERSIONS_CMD, |
| 242 | DM_TARGET_MSG_CMD, | 242 | DM_TARGET_MSG_CMD, |
| 243 | DM_DEV_SET_GEOMETRY_CMD | 243 | DM_DEV_SET_GEOMETRY_CMD, |
| 244 | DM_DEV_ARM_POLL_CMD, | ||
| 244 | }; | 245 | }; |
| 245 | 246 | ||
| 246 | #define DM_IOCTL 0xfd | 247 | #define DM_IOCTL 0xfd |
| @@ -255,6 +256,7 @@ enum { · 8 unmodified lines | |||
| 255 | #define DM_DEV_SUSPEND _IOWR(DM_IOCTL, DM_DEV_SUSPEND_CMD, struct dm_ioctl) | 256 | #define DM_DEV_SUSPEND _IOWR(DM_IOCTL, DM_DEV_SUSPEND_CMD, struct dm_ioctl) |
| 256 | #define DM_DEV_STATUS _IOWR(DM_IOCTL, DM_DEV_STATUS_CMD, struct dm_ioctl) | 257 | #define DM_DEV_STATUS _IOWR(DM_IOCTL, DM_DEV_STATUS_CMD, struct dm_ioctl) |
| 257 | #define DM_DEV_WAIT _IOWR(DM_IOCTL, DM_DEV_WAIT_CMD, struct dm_ioctl) | 258 | #define DM_DEV_WAIT _IOWR(DM_IOCTL, DM_DEV_WAIT_CMD, struct dm_ioctl) |
| 259 | #define DM_DEV_ARM_POLL _IOWR(DM_IOCTL, DM_DEV_ARM_POLL_CMD, struct dm_ioctl) | ||
| 258 | 260 | ||
| 259 | #define DM_TABLE_LOAD _IOWR(DM_IOCTL, DM_TABLE_LOAD_CMD, struct dm_ioctl) | 261 | #define DM_TABLE_LOAD _IOWR(DM_IOCTL, DM_TABLE_LOAD_CMD, struct dm_ioctl) |
| 260 | #define DM_TABLE_CLEAR _IOWR(DM_IOCTL, DM_TABLE_CLEAR_CMD, struct dm_ioctl) | 262 | #define DM_TABLE_CLEAR _IOWR(DM_IOCTL, DM_TABLE_CLEAR_CMD, struct dm_ioctl) |
| @@ -134,7 +134,8 @@ struct video_event { · 133 unmodified lines | |||
| 134 | #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 | 134 | #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 |
| 135 | #define VIDEO_EVENT_DECODER_STOPPED 3 | 135 | #define VIDEO_EVENT_DECODER_STOPPED 3 |
| 136 | #define VIDEO_EVENT_VSYNC 4 | 136 | #define VIDEO_EVENT_VSYNC 4 |
| 137 | __kernel_time_t timestamp; | 137 | /* unused, make sure to use atomic time for y2038 if it ever gets used */ |
| 138 | long timestamp; | ||
| 138 | union { | 139 | union { |
| 139 | video_size_t size; | 140 | video_size_t size; |
| 140 | unsigned int frame_rate; /* in frames per 1000sec */ | 141 | unsigned int frame_rate; /* in frames per 1000sec */ |
| @@ -272,6 +272,8 @@ struct fsxattr { · 271 unmodified lines | |||
| 272 | #define FS_ENCRYPTION_MODE_AES_256_GCM 2 | 272 | #define FS_ENCRYPTION_MODE_AES_256_GCM 2 |
| 273 | #define FS_ENCRYPTION_MODE_AES_256_CBC 3 | 273 | #define FS_ENCRYPTION_MODE_AES_256_CBC 3 |
| 274 | #define FS_ENCRYPTION_MODE_AES_256_CTS 4 | 274 | #define FS_ENCRYPTION_MODE_AES_256_CTS 4 |
| 275 | #define FS_ENCRYPTION_MODE_AES_128_CBC 5 | ||
| 276 | #define FS_ENCRYPTION_MODE_AES_128_CTS 6 | ||
| 275 | 277 | ||
| 276 | struct fscrypt_policy { | 278 | struct fscrypt_policy { |
| 277 | __u8 version; | 279 | __u8 version; |
| @@ -157,6 +157,7 @@ enum { · 156 unmodified lines | |||
| 157 | IFLA_GSO_MAX_SIZE, | 157 | IFLA_GSO_MAX_SIZE, |
| 158 | IFLA_PAD, | 158 | IFLA_PAD, |
| 159 | IFLA_XDP, | 159 | IFLA_XDP, |
| 160 | IFLA_EVENT, | ||
| 160 | __IFLA_MAX | 161 | __IFLA_MAX |
| 161 | }; | 162 | }; |
| 162 | 163 | ||
| @@ -890,15 +891,19 @@ enum { · 727 unmodified lines | |||
| 890 | #define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0) | 891 | #define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0) |
| 891 | #define XDP_FLAGS_SKB_MODE (1U << 1) | 892 | #define XDP_FLAGS_SKB_MODE (1U << 1) |
| 892 | #define XDP_FLAGS_DRV_MODE (1U << 2) | 893 | #define XDP_FLAGS_DRV_MODE (1U << 2) |
| 894 | #define XDP_FLAGS_HW_MODE (1U << 3) | ||
| 895 | #define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | \ | ||
| 896 | XDP_FLAGS_DRV_MODE | \ | ||
| 897 | XDP_FLAGS_HW_MODE) | ||
| 893 | #define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | \ | 898 | #define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | \ |
| 894 | XDP_FLAGS_SKB_MODE | \ | 899 | XDP_FLAGS_MODES) |
| 895 | XDP_FLAGS_DRV_MODE) | ||
| 896 | 900 | ||
| 897 | /* These are stored into IFLA_XDP_ATTACHED on dump. */ | 901 | /* These are stored into IFLA_XDP_ATTACHED on dump. */ |
| 898 | enum { | 902 | enum { |
| 899 | XDP_ATTACHED_NONE = 0, | 903 | XDP_ATTACHED_NONE = 0, |
| 900 | XDP_ATTACHED_DRV, | 904 | XDP_ATTACHED_DRV, |
| 901 | XDP_ATTACHED_SKB, | 905 | XDP_ATTACHED_SKB, |
| 906 | XDP_ATTACHED_HW, | ||
| 902 | }; | 907 | }; |
| 903 | 908 | ||
| 904 | enum { | 909 | enum { |
| @@ -906,9 +911,20 @@ enum { · 1 unmodified line | |||
| 906 | IFLA_XDP_FD, | 911 | IFLA_XDP_FD, |
| 907 | IFLA_XDP_ATTACHED, | 912 | IFLA_XDP_ATTACHED, |
| 908 | IFLA_XDP_FLAGS, | 913 | IFLA_XDP_FLAGS, |
| 914 | IFLA_XDP_PROG_ID, | ||
| 909 | __IFLA_XDP_MAX, | 915 | __IFLA_XDP_MAX, |
| 910 | }; | 916 | }; |
| 911 | 917 | ||
| 912 | #define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1) | 918 | #define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1) |
| 913 | 919 | ||
| 920 | enum { | ||
| 921 | IFLA_EVENT_NONE, | ||
| 922 | IFLA_EVENT_REBOOT, /* internal reset / reboot */ | ||
| 923 | IFLA_EVENT_FEATURES, /* change in offload features */ | ||
| 924 | IFLA_EVENT_BONDING_FAILOVER, /* change in active slave */ | ||
| 925 | IFLA_EVENT_NOTIFY_PEERS, /* re-sent grat. arp/ndisc */ | ||
| 926 | IFLA_EVENT_IGMP_RESEND, /* re-sent IGMP JOIN */ | ||
| 927 | IFLA_EVENT_BONDING_OPTIONS, /* change in bonding options */ | ||
| 928 | }; | ||
| 929 | |||
| 914 | #endif /* _UAPI_LINUX_IF_LINK_H */ | 930 | #endif /* _UAPI_LINUX_IF_LINK_H */ |
| @@ -600,6 +600,7 @@ · 599 unmodified lines | |||
| 600 | #define KEY_APPSELECT 0x244 /* AL Select Task/Application */ | 600 | #define KEY_APPSELECT 0x244 /* AL Select Task/Application */ |
| 601 | #define KEY_SCREENSAVER 0x245 /* AL Screen Saver */ | 601 | #define KEY_SCREENSAVER 0x245 /* AL Screen Saver */ |
| 602 | #define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */ | 602 | #define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */ |
| 603 | #define KEY_ASSISTANT 0x247 /* AL Context-aware desktop assistant */ | ||
| 603 | 604 | ||
| 604 | #define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */ | 605 | #define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */ |
| 605 | #define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */ | 606 | #define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */ |
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef _UAPI_LINUX_KCMP_H | 1 | #ifndef _UAPI_LINUX_KCMP_H |
| 2 | #define _UAPI_LINUX_KCMP_H | 2 | #define _UAPI_LINUX_KCMP_H |
| 3 | 3 | ||
| 4 | #include <linux/types.h> | ||
| 5 | |||
| 4 | /* Comparison type */ | 6 | /* Comparison type */ |
| 5 | enum kcmp_type { | 7 | enum kcmp_type { |
| 6 | KCMP_FILE, | 8 | KCMP_FILE, |
| @@ -10,8 +12,16 @@ enum kcmp_type { · 3 unmodified lines | |||
| 10 | KCMP_SIGHAND, | 12 | KCMP_SIGHAND, |
| 11 | KCMP_IO, | 13 | KCMP_IO, |
| 12 | KCMP_SYSVSEM, | 14 | KCMP_SYSVSEM, |
| 15 | KCMP_EPOLL_TFD, | ||
| 13 | 16 | ||
| 14 | KCMP_TYPES, | 17 | KCMP_TYPES, |
| 15 | }; | 18 | }; |
| 16 | 19 | ||
| 20 | /* Slot for KCMP_EPOLL_TFD */ | ||
| 21 | struct kcmp_epoll_slot { | ||
| 22 | __u32 efd; /* epoll file descriptor */ | ||
| 23 | __u32 tfd; /* target file number */ | ||
| 24 | __u32 toff; /* target offset within same numbered sequence */ | ||
| 25 | }; | ||
| 26 | |||
| 17 | #endif /* _UAPI_LINUX_KCMP_H */ | 27 | #endif /* _UAPI_LINUX_KCMP_H */ |
| @@ -155,6 +155,35 @@ struct kvm_s390_skeys { · 154 unmodified lines | |||
| 155 | __u32 reserved[9]; | 155 | __u32 reserved[9]; |
| 156 | }; | 156 | }; |
| 157 | 157 | ||
| 158 | #define KVM_S390_CMMA_PEEK (1 << 0) | ||
| 159 | |||
| 160 | /** | ||
| 161 | * kvm_s390_cmma_log - Used for CMMA migration. | ||
| 162 | * | ||
| 163 | * Used both for input and output. | ||
| 164 | * | ||
| 165 | * @start_gfn: Guest page number to start from. | ||
| 166 | * @count: Size of the result buffer. | ||
| 167 | * @flags: Control operation mode via KVM_S390_CMMA_* flags | ||
| 168 | * @remaining: Used with KVM_S390_GET_CMMA_BITS. Indicates how many dirty | ||
| 169 | * pages are still remaining. | ||
| 170 | * @mask: Used with KVM_S390_SET_CMMA_BITS. Bitmap of bits to actually set | ||
| 171 | * in the PGSTE. | ||
| 172 | * @values: Pointer to the values buffer. | ||
| 173 | * | ||
| 174 | * Used in KVM_S390_{G,S}ET_CMMA_BITS ioctls. | ||
| 175 | */ | ||
| 176 | struct kvm_s390_cmma_log { | ||
| 177 | __u64 start_gfn; | ||
| 178 | __u32 count; | ||
| 179 | __u32 flags; | ||
| 180 | union { | ||
| 181 | __u64 remaining; | ||
| 182 | __u64 mask; | ||
| 183 | }; | ||
| 184 | __u64 values; | ||
| 185 | }; | ||
| 186 | |||
| 158 | struct kvm_hyperv_exit { | 187 | struct kvm_hyperv_exit { |
| 159 | #define KVM_EXIT_HYPERV_SYNIC 1 | 188 | #define KVM_EXIT_HYPERV_SYNIC 1 |
| 160 | #define KVM_EXIT_HYPERV_HCALL 2 | 189 | #define KVM_EXIT_HYPERV_HCALL 2 |
| @@ -895,6 +924,11 @@ struct kvm_ppc_resize_hpt { · 734 unmodified lines | |||
| 895 | #define KVM_CAP_SPAPR_TCE_VFIO 142 | 924 | #define KVM_CAP_SPAPR_TCE_VFIO 142 |
| 896 | #define KVM_CAP_X86_GUEST_MWAIT 143 | 925 | #define KVM_CAP_X86_GUEST_MWAIT 143 |
| 897 | #define KVM_CAP_ARM_USER_IRQ 144 | 926 | #define KVM_CAP_ARM_USER_IRQ 144 |
| 927 | #define KVM_CAP_S390_CMMA_MIGRATION 145 | ||
| 928 | #define KVM_CAP_PPC_FWNMI 146 | ||
| 929 | #define KVM_CAP_PPC_SMT_POSSIBLE 147 | ||
| 930 | #define KVM_CAP_HYPERV_SYNIC2 148 | ||
| 931 | #define KVM_CAP_HYPERV_VP_INDEX 149 | ||
| 898 | 932 | ||
| 899 | #ifdef KVM_CAP_IRQ_ROUTING | 933 | #ifdef KVM_CAP_IRQ_ROUTING |
| 900 | 934 | ||
| @@ -1318,6 +1352,9 @@ struct kvm_s390_ucas_mapping { · 417 unmodified lines | |||
| 1318 | #define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state) | 1352 | #define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state) |
| 1319 | /* Available with KVM_CAP_X86_SMM */ | 1353 | /* Available with KVM_CAP_X86_SMM */ |
| 1320 | #define KVM_SMI _IO(KVMIO, 0xb7) | 1354 | #define KVM_SMI _IO(KVMIO, 0xb7) |
| 1355 | /* Available with KVM_CAP_S390_CMMA_MIGRATION */ | ||
| 1356 | #define KVM_S390_GET_CMMA_BITS _IOWR(KVMIO, 0xb8, struct kvm_s390_cmma_log) | ||
| 1357 | #define KVM_S390_SET_CMMA_BITS _IOW(KVMIO, 0xb9, struct kvm_s390_cmma_log) | ||
| 1321 | 1358 | ||
| 1322 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) | 1359 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) |
| 1323 | #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1) | 1360 | #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1) |
| @@ -42,6 +42,7 @@ · 41 unmodified lines | |||
| 42 | #define MSDOS_SUPER_MAGIC 0x4d44 /* MD */ | 42 | #define MSDOS_SUPER_MAGIC 0x4d44 /* MD */ |
| 43 | #define NCP_SUPER_MAGIC 0x564c /* Guess, what 0x564c is :-) */ | 43 | #define NCP_SUPER_MAGIC 0x564c /* Guess, what 0x564c is :-) */ |
| 44 | #define NFS_SUPER_MAGIC 0x6969 | 44 | #define NFS_SUPER_MAGIC 0x6969 |
| 45 | #define OCFS2_SUPER_MAGIC 0x7461636f | ||
| 45 | #define OPENPROM_SUPER_MAGIC 0x9fa1 | 46 | #define OPENPROM_SUPER_MAGIC 0x9fa1 |
| 46 | #define QNX4_SUPER_MAGIC 0x002f /* qnx4 fs detection */ | 47 | #define QNX4_SUPER_MAGIC 0x002f /* qnx4 fs detection */ |
| 47 | #define QNX6_SUPER_MAGIC 0x68191122 /* qnx6 fs detection */ | 48 | #define QNX6_SUPER_MAGIC 0x68191122 /* qnx6 fs detection */ |
| @@ -80,6 +81,8 @@ · 32 unmodified lines | |||
| 80 | #define BTRFS_TEST_MAGIC 0x73727279 | 81 | #define BTRFS_TEST_MAGIC 0x73727279 |
| 81 | #define NSFS_MAGIC 0x6e736673 | 82 | #define NSFS_MAGIC 0x6e736673 |
| 82 | #define BPF_FS_MAGIC 0xcafe4a11 | 83 | #define BPF_FS_MAGIC 0xcafe4a11 |
| 84 | #define AAFS_MAGIC 0x5a3c69f0 | ||
| 85 | |||
| 83 | /* Since UDF 2.01 is ISO 13346 based... */ | 86 | /* Since UDF 2.01 is ISO 13346 based... */ |
| 84 | #define UDF_SUPER_MAGIC 0x15013346 | 87 | #define UDF_SUPER_MAGIC 0x15013346 |
| 85 | #define BALLOON_KVM_MAGIC 0x13661366 | 88 | #define BALLOON_KVM_MAGIC 0x13661366 |
| @@ -0,0 +1,28 @@ | |||
| 1 | /* | ||
| 2 | * max2175.h | ||
| 3 | * | ||
| 4 | * Maxim Integrated MAX2175 RF to Bits tuner driver - user space header file. | ||
| 5 | * | ||
| 6 | * Copyright (C) 2016 Maxim Integrated Products | ||
| 7 | * Copyright (C) 2017 Renesas Electronics Corporation | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or modify | ||
| 10 | * it under the terms of the GNU General Public License version 2 | ||
| 11 | * as published by the Free Software Foundation. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | */ | ||
| 18 | |||
| 19 | #ifndef __UAPI_MAX2175_H_ | ||
| 20 | #define __UAPI_MAX2175_H_ | ||
| 21 | |||
| 22 | #include <linux/v4l2-controls.h> | ||
| 23 | |||
| 24 | #define V4L2_CID_MAX2175_I2S_ENABLE (V4L2_CID_USER_MAX217X_BASE + 0x01) | ||
| 25 | #define V4L2_CID_MAX2175_HSLS (V4L2_CID_USER_MAX217X_BASE + 0x02) | ||
| 26 | #define V4L2_CID_MAX2175_RX_MODE (V4L2_CID_USER_MAX217X_BASE + 0x03) | ||
| 27 | |||
| 28 | #endif /* __UAPI_MAX2175_H_ */ | ||
| @@ -104,6 +104,12 @@ struct media_device_info { · 103 unmodified lines | |||
| 104 | #define MEDIA_ENT_F_PROC_VIDEO_SCALER (MEDIA_ENT_F_BASE + 0x4005) | 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) | 105 | #define MEDIA_ENT_F_PROC_VIDEO_STATISTICS (MEDIA_ENT_F_BASE + 0x4006) |
| 106 | 106 | ||
| 107 | /* | ||
| 108 | * Switch and bridge entitites | ||
| 109 | */ | ||
| 110 | #define MEDIA_ENT_F_VID_MUX (MEDIA_ENT_F_BASE + 0x5001) | ||
| 111 | #define MEDIA_ENT_F_VID_IF_BRIDGE (MEDIA_ENT_F_BASE + 0x5002) | ||
| 112 | |||
| 107 | /* | 113 | /* |
| 108 | * Connectors | 114 | * Connectors |
| 109 | */ | 115 | */ |
| @@ -24,13 +24,6 @@ enum { · 23 unmodified lines | |||
| 24 | MPOL_MAX, /* always last member of enum */ | 24 | MPOL_MAX, /* always last member of enum */ |
| 25 | }; | 25 | }; |
| 26 | 26 | ||
| 27 | enum mpol_rebind_step { | ||
| 28 | MPOL_REBIND_ONCE, /* do rebind work at once(not by two step) */ | ||
| 29 | MPOL_REBIND_STEP1, /* first step(set all the newly nodes) */ | ||
| 30 | MPOL_REBIND_STEP2, /* second step(clean all the disallowed nodes)*/ | ||
| 31 | MPOL_REBIND_NSTEP, | ||
| 32 | }; | ||
| 33 | |||
| 34 | /* Flags for set_mempolicy */ | 27 | /* Flags for set_mempolicy */ |
| 35 | #define MPOL_F_STATIC_NODES (1 << 15) | 28 | #define MPOL_F_STATIC_NODES (1 << 15) |
| 36 | #define MPOL_F_RELATIVE_NODES (1 << 14) | 29 | #define MPOL_F_RELATIVE_NODES (1 << 14) |
| @@ -65,7 +58,6 @@ enum mpol_rebind_step { · 28 unmodified lines | |||
| 65 | */ | 58 | */ |
| 66 | #define MPOL_F_SHARED (1 << 0) /* identify shared policies */ | 59 | #define MPOL_F_SHARED (1 << 0) /* identify shared policies */ |
| 67 | #define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */ | 60 | #define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */ |
| 68 | #define MPOL_F_REBINDING (1 << 2) /* identify policies in rebinding */ | ||
| 69 | #define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */ | 61 | #define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */ |
| 70 | #define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */ | 62 | #define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */ |
| 71 | 63 | ||
| @@ -110,6 +110,60 @@ struct igmpmsg { · 109 unmodified lines | |||
| 110 | struct in_addr im_src,im_dst; | 110 | struct in_addr im_src,im_dst; |
| 111 | }; | 111 | }; |
| 112 | 112 | ||
| 113 | /* ipmr netlink table attributes */ | ||
| 114 | enum { | ||
| 115 | IPMRA_TABLE_UNSPEC, | ||
| 116 | IPMRA_TABLE_ID, | ||
| 117 | IPMRA_TABLE_CACHE_RES_QUEUE_LEN, | ||
| 118 | IPMRA_TABLE_MROUTE_REG_VIF_NUM, | ||
| 119 | IPMRA_TABLE_MROUTE_DO_ASSERT, | ||
| 120 | IPMRA_TABLE_MROUTE_DO_PIM, | ||
| 121 | IPMRA_TABLE_VIFS, | ||
| 122 | __IPMRA_TABLE_MAX | ||
| 123 | }; | ||
| 124 | #define IPMRA_TABLE_MAX (__IPMRA_TABLE_MAX - 1) | ||
| 125 | |||
| 126 | /* ipmr netlink vif attribute format | ||
| 127 | * [ IPMRA_TABLE_VIFS ] - nested attribute | ||
| 128 | * [ IPMRA_VIF ] - nested attribute | ||
| 129 | * [ IPMRA_VIFA_xxx ] | ||
| 130 | */ | ||
| 131 | enum { | ||
| 132 | IPMRA_VIF_UNSPEC, | ||
| 133 | IPMRA_VIF, | ||
| 134 | __IPMRA_VIF_MAX | ||
| 135 | }; | ||
| 136 | #define IPMRA_VIF_MAX (__IPMRA_VIF_MAX - 1) | ||
| 137 | |||
| 138 | /* vif-specific attributes */ | ||
| 139 | enum { | ||
| 140 | IPMRA_VIFA_UNSPEC, | ||
| 141 | IPMRA_VIFA_IFINDEX, | ||
| 142 | IPMRA_VIFA_VIF_ID, | ||
| 143 | IPMRA_VIFA_FLAGS, | ||
| 144 | IPMRA_VIFA_BYTES_IN, | ||
| 145 | IPMRA_VIFA_BYTES_OUT, | ||
| 146 | IPMRA_VIFA_PACKETS_IN, | ||
| 147 | IPMRA_VIFA_PACKETS_OUT, | ||
| 148 | IPMRA_VIFA_LOCAL_ADDR, | ||
| 149 | IPMRA_VIFA_REMOTE_ADDR, | ||
| 150 | IPMRA_VIFA_PAD, | ||
| 151 | __IPMRA_VIFA_MAX | ||
| 152 | }; | ||
| 153 | #define IPMRA_VIFA_MAX (__IPMRA_VIFA_MAX - 1) | ||
| 154 | |||
| 155 | /* ipmr netlink cache report attributes */ | ||
| 156 | enum { | ||
| 157 | IPMRA_CREPORT_UNSPEC, | ||
| 158 | IPMRA_CREPORT_MSGTYPE, | ||
| 159 | IPMRA_CREPORT_VIF_ID, | ||
| 160 | IPMRA_CREPORT_SRC_ADDR, | ||
| 161 | IPMRA_CREPORT_DST_ADDR, | ||
| 162 | IPMRA_CREPORT_PKT, | ||
| 163 | __IPMRA_CREPORT_MAX | ||
| 164 | }; | ||
| 165 | #define IPMRA_CREPORT_MAX (__IPMRA_CREPORT_MAX - 1) | ||
| 166 | |||
| 113 | /* That's all usermode folks */ | 167 | /* That's all usermode folks */ |
| 114 | 168 | ||
| 115 | #define MFC_ASSERT_THRESH (3*HZ) /* Maximal freq. of asserts */ | 169 | #define MFC_ASSERT_THRESH (3*HZ) /* Maximal freq. of asserts */ |
| @@ -133,4 +133,16 @@ struct mrt6msg { · 132 unmodified lines | |||
| 133 | struct in6_addr im6_src, im6_dst; | 133 | struct in6_addr im6_src, im6_dst; |
| 134 | }; | 134 | }; |
| 135 | 135 | ||
| 136 | /* ip6mr netlink cache report attributes */ | ||
| 137 | enum { | ||
| 138 | IP6MRA_CREPORT_UNSPEC, | ||
| 139 | IP6MRA_CREPORT_MSGTYPE, | ||
| 140 | IP6MRA_CREPORT_MIF_ID, | ||
| 141 | IP6MRA_CREPORT_SRC_ADDR, | ||
| 142 | IP6MRA_CREPORT_DST_ADDR, | ||
| 143 | IP6MRA_CREPORT_PKT, | ||
| 144 | __IP6MRA_CREPORT_MAX | ||
| 145 | }; | ||
| 146 | #define IP6MRA_CREPORT_MAX (__IP6MRA_CREPORT_MAX - 1) | ||
| 147 | |||
| 136 | #endif /* _UAPI__LINUX_MROUTE6_H */ | 148 | #endif /* _UAPI__LINUX_MROUTE6_H */ |
| @@ -105,7 +105,8 @@ struct nd_cmd_ars_cap { · 104 unmodified lines | |||
| 105 | __u32 status; | 105 | __u32 status; |
| 106 | __u32 max_ars_out; | 106 | __u32 max_ars_out; |
| 107 | __u32 clear_err_unit; | 107 | __u32 clear_err_unit; |
| 108 | __u32 reserved; | 108 | __u16 flags; |
| 109 | __u16 reserved; | ||
| 109 | } __packed; | 110 | } __packed; |
| 110 | 111 | ||
| 111 | struct nd_cmd_ars_start { | 112 | struct nd_cmd_ars_start { |
| @@ -144,6 +145,43 @@ struct nd_cmd_clear_error { · 32 unmodified lines | |||
| 144 | __u64 cleared; | 145 | __u64 cleared; |
| 145 | } __packed; | 146 | } __packed; |
| 146 | 147 | ||
| 148 | struct nd_cmd_trans_spa { | ||
| 149 | __u64 spa; | ||
| 150 | __u32 status; | ||
| 151 | __u8 flags; | ||
| 152 | __u8 _reserved[3]; | ||
| 153 | __u64 trans_length; | ||
| 154 | __u32 num_nvdimms; | ||
| 155 | struct nd_nvdimm_device { | ||
| 156 | __u32 nfit_device_handle; | ||
| 157 | __u32 _reserved; | ||
| 158 | __u64 dpa; | ||
| 159 | } __packed devices[0]; | ||
| 160 | |||
| 161 | } __packed; | ||
| 162 | |||
| 163 | struct nd_cmd_ars_err_inj { | ||
| 164 | __u64 err_inj_spa_range_base; | ||
| 165 | __u64 err_inj_spa_range_length; | ||
| 166 | __u8 err_inj_options; | ||
| 167 | __u32 status; | ||
| 168 | } __packed; | ||
| 169 | |||
| 170 | struct nd_cmd_ars_err_inj_clr { | ||
| 171 | __u64 err_inj_clr_spa_range_base; | ||
| 172 | __u64 err_inj_clr_spa_range_length; | ||
| 173 | __u32 status; | ||
| 174 | } __packed; | ||
| 175 | |||
| 176 | struct nd_cmd_ars_err_inj_stat { | ||
| 177 | __u32 status; | ||
| 178 | __u32 inj_err_rec_count; | ||
| 179 | struct nd_error_stat_query_record { | ||
| 180 | __u64 err_inj_stat_spa_range_base; | ||
| 181 | __u64 err_inj_stat_spa_range_length; | ||
| 182 | } __packed record[0]; | ||
| 183 | } __packed; | ||
| 184 | |||
| 147 | enum { | 185 | enum { |
| 148 | ND_CMD_IMPLEMENTED = 0, | 186 | ND_CMD_IMPLEMENTED = 0, |
| 149 | 187 | ||
| @@ -169,6 +207,7 @@ enum { · 19 unmodified lines | |||
| 169 | enum { | 207 | enum { |
| 170 | ND_ARS_VOLATILE = 1, | 208 | ND_ARS_VOLATILE = 1, |
| 171 | ND_ARS_PERSISTENT = 2, | 209 | ND_ARS_PERSISTENT = 2, |
| 210 | ND_ARS_RETURN_PREV_DATA = 1 << 1, | ||
| 172 | ND_CONFIG_LOCKED = 1, | 211 | ND_CONFIG_LOCKED = 1, |
| 173 | }; | 212 | }; |
| 174 | 213 | ||
| @@ -179,6 +218,7 @@ static inline const char *nvdimm_bus_cmd_name(unsigned cmd) · 4 unmodified lines | |||
| 179 | [ND_CMD_ARS_START] = "ars_start", | 218 | [ND_CMD_ARS_START] = "ars_start", |
| 180 | [ND_CMD_ARS_STATUS] = "ars_status", | 219 | [ND_CMD_ARS_STATUS] = "ars_status", |
| 181 | [ND_CMD_CLEAR_ERROR] = "clear_error", | 220 | [ND_CMD_CLEAR_ERROR] = "clear_error", |
| 221 | [ND_CMD_CALL] = "cmd_call", | ||
| 182 | }; | 222 | }; |
| 183 | 223 | ||
| 184 | if (cmd < ARRAY_SIZE(names) && names[cmd]) | 224 | if (cmd < ARRAY_SIZE(names) && names[cmd]) |
| @@ -41,6 +41,7 @@ enum { · 40 unmodified lines | |||
| 41 | #define NTF_MASTER 0x04 | 41 | #define NTF_MASTER 0x04 |
| 42 | #define NTF_PROXY 0x08 /* == ATF_PUBL */ | 42 | #define NTF_PROXY 0x08 /* == ATF_PUBL */ |
| 43 | #define NTF_EXT_LEARNED 0x10 | 43 | #define NTF_EXT_LEARNED 0x10 |
| 44 | #define NTF_OFFLOADED 0x20 | ||
| 44 | #define NTF_ROUTER 0x80 | 45 | #define NTF_ROUTER 0x80 |
| 45 | 46 | ||
| 46 | /* | 47 | /* |
| @@ -9,6 +9,7 @@ · 8 unmodified lines | |||
| 9 | #ifndef _NET_TIMESTAMPING_H | 9 | #ifndef _NET_TIMESTAMPING_H |
| 10 | #define _NET_TIMESTAMPING_H | 10 | #define _NET_TIMESTAMPING_H |
| 11 | 11 | ||
| 12 | #include <linux/types.h> | ||
| 12 | #include <linux/socket.h> /* for SO_TIMESTAMPING */ | 13 | #include <linux/socket.h> /* for SO_TIMESTAMPING */ |
| 13 | 14 | ||
| 14 | /* SO_TIMESTAMPING gets an integer bit field comprised of these values */ | 15 | /* SO_TIMESTAMPING gets an integer bit field comprised of these values */ |
| @@ -26,8 +27,10 @@ enum { · 11 unmodified lines | |||
| 26 | SOF_TIMESTAMPING_OPT_CMSG = (1<<10), | 27 | SOF_TIMESTAMPING_OPT_CMSG = (1<<10), |
| 27 | SOF_TIMESTAMPING_OPT_TSONLY = (1<<11), | 28 | SOF_TIMESTAMPING_OPT_TSONLY = (1<<11), |
| 28 | SOF_TIMESTAMPING_OPT_STATS = (1<<12), | 29 | SOF_TIMESTAMPING_OPT_STATS = (1<<12), |
| 30 | SOF_TIMESTAMPING_OPT_PKTINFO = (1<<13), | ||
| 31 | SOF_TIMESTAMPING_OPT_TX_SWHW = (1<<14), | ||
| 29 | 32 | ||
| 30 | SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_STATS, | 33 | SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_TX_SWHW, |
| 31 | SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | | 34 | SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | |
| 32 | SOF_TIMESTAMPING_LAST | 35 | SOF_TIMESTAMPING_LAST |
| 33 | }; | 36 | }; |
| @@ -125,6 +128,16 @@ enum hwtstamp_rx_filters { · 91 unmodified lines | |||
| 125 | HWTSTAMP_FILTER_PTP_V2_SYNC, | 128 | HWTSTAMP_FILTER_PTP_V2_SYNC, |
| 126 | /* PTP v2/802.AS1, any layer, Delay_req packet */ | 129 | /* PTP v2/802.AS1, any layer, Delay_req packet */ |
| 127 | HWTSTAMP_FILTER_PTP_V2_DELAY_REQ, | 130 | HWTSTAMP_FILTER_PTP_V2_DELAY_REQ, |
| 131 | |||
| 132 | /* NTP, UDP, all versions and packet modes */ | ||
| 133 | HWTSTAMP_FILTER_NTP_ALL, | ||
| 134 | }; | ||
| 135 | |||
| 136 | /* SCM_TIMESTAMPING_PKTINFO control message */ | ||
| 137 | struct scm_ts_pktinfo { | ||
| 138 | __u32 if_index; | ||
| 139 | __u32 pkt_length; | ||
| 140 | __u32 reserved[2]; | ||
| 128 | }; | 141 | }; |
| 129 | 142 | ||
| 130 | #endif /* _NET_TIMESTAMPING_H */ | 143 | #endif /* _NET_TIMESTAMPING_H */ |
| @@ -172,6 +172,29 @@ · 171 unmodified lines | |||
| 172 | * Multiple such rules can be created. | 172 | * Multiple such rules can be created. |
| 173 | */ | 173 | */ |
| 174 | 174 | ||
| 175 | /** | ||
| 176 | * DOC: WPA/WPA2 EAPOL handshake offload | ||
| 177 | * | ||
| 178 | * By setting @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK flag drivers | ||
| 179 | * can indicate they support offloading EAPOL handshakes for WPA/WPA2 | ||
| 180 | * preshared key authentication. In %NL80211_CMD_CONNECT the preshared | ||
| 181 | * key should be specified using %NL80211_ATTR_PMK. Drivers supporting | ||
| 182 | * this offload may reject the %NL80211_CMD_CONNECT when no preshared | ||
| 183 | * key material is provided, for example when that driver does not | ||
| 184 | * support setting the temporal keys through %CMD_NEW_KEY. | ||
| 185 | * | ||
| 186 | * Similarly @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X flag can be | ||
| 187 | * set by drivers indicating offload support of the PTK/GTK EAPOL | ||
| 188 | * handshakes during 802.1X authentication. In order to use the offload | ||
| 189 | * the %NL80211_CMD_CONNECT should have %NL80211_ATTR_WANT_1X_4WAY_HS | ||
| 190 | * attribute flag. Drivers supporting this offload may reject the | ||
| 191 | * %NL80211_CMD_CONNECT when the attribute flag is not present. | ||
| 192 | * | ||
| 193 | * For 802.1X the PMK or PMK-R0 are set by providing %NL80211_ATTR_PMK | ||
| 194 | * using %NL80211_CMD_SET_PMK. For offloaded FT support also | ||
| 195 | * %NL80211_ATTR_PMKR0_NAME must be provided. | ||
| 196 | */ | ||
| 197 | |||
| 175 | /** | 198 | /** |
| 176 | * DOC: FILS shared key authentication offload | 199 | * DOC: FILS shared key authentication offload |
| 177 | * | 200 | * |
| @@ -546,8 +569,13 @@ · 368 unmodified lines | |||
| 546 | * authentication/association or not receiving a response from the AP. | 569 | * authentication/association or not receiving a response from the AP. |
| 547 | * Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as | 570 | * Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as |
| 548 | * well to remain backwards compatible. | 571 | * well to remain backwards compatible. |
| 549 | * @NL80211_CMD_ROAM: request that the card roam (currently not implemented), | 572 | * @NL80211_CMD_ROAM: notifcation indicating the card/driver roamed by itself. |
| 550 | * sent as an event when the card/driver roamed by itself. | 573 | * When the driver roamed in a network that requires 802.1X authentication, |
| 574 | * %NL80211_ATTR_PORT_AUTHORIZED should be set if the 802.1X authentication | ||
| 575 | * was done by the driver or if roaming was done using Fast Transition | ||
| 576 | * protocol (in which case 802.1X authentication is not needed). If | ||
| 577 | * %NL80211_ATTR_PORT_AUTHORIZED is not set, user space is responsible for | ||
| 578 | * the 802.1X authentication. | ||
| 551 | * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify | 579 | * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify |
| 552 | * userspace that a connection was dropped by the AP or due to other | 580 | * userspace that a connection was dropped by the AP or due to other |
| 553 | * reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and | 581 | * reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and |
| @@ -947,6 +975,14 @@ · 393 unmodified lines | |||
| 947 | * does not result in a change for the current association. Currently, | 975 | * does not result in a change for the current association. Currently, |
| 948 | * only the %NL80211_ATTR_IE data is used and updated with this command. | 976 | * only the %NL80211_ATTR_IE data is used and updated with this command. |
| 949 | * | 977 | * |
| 978 | * @NL80211_CMD_SET_PMK: For offloaded 4-Way handshake, set the PMK or PMK-R0 | ||
| 979 | * for the given authenticator address (specified with &NL80211_ATTR_MAC). | ||
| 980 | * When &NL80211_ATTR_PMKR0_NAME is set, &NL80211_ATTR_PMK specifies the | ||
| 981 | * PMK-R0, otherwise it specifies the PMK. | ||
| 982 | * @NL80211_CMD_DEL_PMK: For offloaded 4-Way handshake, delete the previously | ||
| 983 | * configured PMK for the authenticator address identified by | ||
| 984 | * &NL80211_ATTR_MAC. | ||
| 985 | * | ||
| 950 | * @NL80211_CMD_MAX: highest used command number | 986 | * @NL80211_CMD_MAX: highest used command number |
| 951 | * @__NL80211_CMD_AFTER_LAST: internal use | 987 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 952 | */ | 988 | */ |
| @@ -1146,6 +1182,9 @@ enum nl80211_commands { · 193 unmodified lines | |||
| 1146 | 1182 | ||
| 1147 | NL80211_CMD_UPDATE_CONNECT_PARAMS, | 1183 | NL80211_CMD_UPDATE_CONNECT_PARAMS, |
| 1148 | 1184 | ||
| 1185 | NL80211_CMD_SET_PMK, | ||
| 1186 | NL80211_CMD_DEL_PMK, | ||
| 1187 | |||
| 1149 | /* add new commands above here */ | 1188 | /* add new commands above here */ |
| 1150 | 1189 | ||
| 1151 | /* used to define NL80211_CMD_MAX below */ | 1190 | /* used to define NL80211_CMD_MAX below */ |
| @@ -1870,11 +1909,10 @@ enum nl80211_commands { · 718 unmodified lines | |||
| 1870 | * that configured the indoor setting, and the indoor operation would be | 1909 | * that configured the indoor setting, and the indoor operation would be |
| 1871 | * cleared when the socket is closed. | 1910 | * cleared when the socket is closed. |
| 1872 | * If set during NAN interface creation, the interface will be destroyed | 1911 | * If set during NAN interface creation, the interface will be destroyed |
| 1873 | * if the socket is closed just like any other interface. Moreover, only | 1912 | * if the socket is closed just like any other interface. Moreover, NAN |
| 1874 | * the netlink socket that created the interface will be allowed to add | 1913 | * notifications will be sent in unicast to that socket. Without this |
| 1875 | * and remove functions. NAN notifications will be sent in unicast to that | 1914 | * attribute, the notifications will be sent to the %NL80211_MCGRP_NAN |
| 1876 | * socket. Without this attribute, any socket can add functions and the | 1915 | * multicast group. |
| 1877 | * notifications will be sent to the %NL80211_MCGRP_NAN multicast group. | ||
| 1878 | * If set during %NL80211_CMD_ASSOCIATE or %NL80211_CMD_CONNECT the | 1916 | * If set during %NL80211_CMD_ASSOCIATE or %NL80211_CMD_CONNECT the |
| 1879 | * station will deauthenticate when the socket is closed. | 1917 | * station will deauthenticate when the socket is closed. |
| 1880 | * | 1918 | * |
| @@ -2080,14 +2118,27 @@ enum nl80211_commands { · 199 unmodified lines | |||
| 2080 | * identifying the scope of PMKSAs. This is used with | 2118 | * identifying the scope of PMKSAs. This is used with |
| 2081 | * @NL80211_CMD_SET_PMKSA and @NL80211_CMD_DEL_PMKSA. | 2119 | * @NL80211_CMD_SET_PMKSA and @NL80211_CMD_DEL_PMKSA. |
| 2082 | * | 2120 | * |
| 2083 | * @NL80211_ATTR_PMK: PMK for the PMKSA identified by %NL80211_ATTR_PMKID. | 2121 | * @NL80211_ATTR_PMK: attribute for passing PMK key material. Used with |
| 2084 | * This is used with @NL80211_CMD_SET_PMKSA. | 2122 | * %NL80211_CMD_SET_PMKSA for the PMKSA identified by %NL80211_ATTR_PMKID. |
| 2123 | * For %NL80211_CMD_CONNECT it is used to provide PSK for offloading 4-way | ||
| 2124 | * handshake for WPA/WPA2-PSK networks. For 802.1X authentication it is | ||
| 2125 | * used with %NL80211_CMD_SET_PMK. For offloaded FT support this attribute | ||
| 2126 | * specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME is included as well. | ||
| 2085 | * | 2127 | * |
| 2086 | * @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to | 2128 | * @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to |
| 2087 | * indicate that it supports multiple active scheduled scan requests. | 2129 | * indicate that it supports multiple active scheduled scan requests. |
| 2088 | * @NL80211_ATTR_SCHED_SCAN_MAX_REQS: indicates maximum number of scheduled | 2130 | * @NL80211_ATTR_SCHED_SCAN_MAX_REQS: indicates maximum number of scheduled |
| 2089 | * scan request that may be active for the device (u32). | 2131 | * scan request that may be active for the device (u32). |
| 2090 | * | 2132 | * |
| 2133 | * @NL80211_ATTR_WANT_1X_4WAY_HS: flag attribute which user-space can include | ||
| 2134 | * in %NL80211_CMD_CONNECT to indicate that for 802.1X authentication it | ||
| 2135 | * wants to use the supported offload of the 4-way handshake. | ||
| 2136 | * @NL80211_ATTR_PMKR0_NAME: PMK-R0 Name for offloaded FT. | ||
| 2137 | * @NL80211_ATTR_PORT_AUTHORIZED: flag attribute used in %NL80211_CMD_ROAMED | ||
| 2138 | * notification indicating that that 802.1X authentication was done by | ||
| 2139 | * the driver or is not needed (because roaming used the Fast Transition | ||
| 2140 | * protocol). | ||
| 2141 | * | ||
| 2091 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available | 2142 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2092 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 2143 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 2093 | * @__NL80211_ATTR_AFTER_LAST: internal use | 2144 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -2510,6 +2561,10 @@ enum nl80211_attrs { · 416 unmodified lines | |||
| 2510 | NL80211_ATTR_SCHED_SCAN_MULTI, | 2561 | NL80211_ATTR_SCHED_SCAN_MULTI, |
| 2511 | NL80211_ATTR_SCHED_SCAN_MAX_REQS, | 2562 | NL80211_ATTR_SCHED_SCAN_MAX_REQS, |
| 2512 | 2563 | ||
| 2564 | NL80211_ATTR_WANT_1X_4WAY_HS, | ||
| 2565 | NL80211_ATTR_PMKR0_NAME, | ||
| 2566 | NL80211_ATTR_PORT_AUTHORIZED, | ||
| 2567 | |||
| 2513 | /* add attributes here, update the policy in nl80211.c */ | 2568 | /* add attributes here, update the policy in nl80211.c */ |
| 2514 | 2569 | ||
| 2515 | __NL80211_ATTR_AFTER_LAST, | 2570 | __NL80211_ATTR_AFTER_LAST, |
| @@ -4852,6 +4907,13 @@ enum nl80211_feature_flags { · 2336 unmodified lines | |||
| 4852 | * RSSI threshold values to monitor rather than exactly one threshold. | 4907 | * RSSI threshold values to monitor rather than exactly one threshold. |
| 4853 | * @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD: Driver SME supports FILS shared key | 4908 | * @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD: Driver SME supports FILS shared key |
| 4854 | * authentication with %NL80211_CMD_CONNECT. | 4909 | * authentication with %NL80211_CMD_CONNECT. |
| 4910 | * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK: Device wants to do 4-way | ||
| 4911 | * handshake with PSK in station mode (PSK is passed as part of the connect | ||
| 4912 | * and associate commands), doing it in the host might not be supported. | ||
| 4913 | * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X: Device wants to do doing 4-way | ||
| 4914 | * handshake with 802.1X in station mode (will pass EAP frames to the host | ||
| 4915 | * and accept the set_pmk/del_pmk commands), doing it in the host might not | ||
| 4916 | * be supported. | ||
| 4855 | * | 4917 | * |
| 4856 | * @NUM_NL80211_EXT_FEATURES: number of extended features. | 4918 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 4857 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. | 4919 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| @@ -4872,6 +4934,8 @@ enum nl80211_ext_feature_index { · 14 unmodified lines | |||
| 4872 | NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI, | 4934 | NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI, |
| 4873 | NL80211_EXT_FEATURE_CQM_RSSI_LIST, | 4935 | NL80211_EXT_FEATURE_CQM_RSSI_LIST, |
| 4874 | NL80211_EXT_FEATURE_FILS_SK_OFFLOAD, | 4936 | NL80211_EXT_FEATURE_FILS_SK_OFFLOAD, |
| 4937 | NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK, | ||
| 4938 | NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X, | ||
| 4875 | 4939 | ||
| 4876 | /* add new features before the definition below */ | 4940 | /* add new features before the definition below */ |
| 4877 | NUM_NL80211_EXT_FEATURES, | 4941 | NUM_NL80211_EXT_FEATURES, |
| @@ -517,6 +517,7 @@ · 516 unmodified lines | |||
| 517 | #define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */ | 517 | #define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */ |
| 518 | #define PCI_EXP_LNKCAP_SLS_2_5GB 0x00000001 /* LNKCAP2 SLS Vector bit 0 */ | 518 | #define PCI_EXP_LNKCAP_SLS_2_5GB 0x00000001 /* LNKCAP2 SLS Vector bit 0 */ |
| 519 | #define PCI_EXP_LNKCAP_SLS_5_0GB 0x00000002 /* LNKCAP2 SLS Vector bit 1 */ | 519 | #define PCI_EXP_LNKCAP_SLS_5_0GB 0x00000002 /* LNKCAP2 SLS Vector bit 1 */ |
| 520 | #define PCI_EXP_LNKCAP_SLS_8_0GB 0x00000003 /* LNKCAP2 SLS Vector bit 2 */ | ||
| 520 | #define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */ | 521 | #define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */ |
| 521 | #define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */ | 522 | #define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */ |
| 522 | #define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */ | 523 | #define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */ |
| @@ -37,6 +37,13 @@ enum { · 36 unmodified lines | |||
| 37 | #define TC_ACT_QUEUED 5 | 37 | #define TC_ACT_QUEUED 5 |
| 38 | #define TC_ACT_REPEAT 6 | 38 | #define TC_ACT_REPEAT 6 |
| 39 | #define TC_ACT_REDIRECT 7 | 39 | #define TC_ACT_REDIRECT 7 |
| 40 | #define TC_ACT_TRAP 8 /* For hw path, this means "trap to cpu" | ||
| 41 | * and don't further process the frame | ||
| 42 | * in hardware. For sw path, this is | ||
| 43 | * equivalent of TC_ACT_STOLEN - drop | ||
| 44 | * the skb and act like everything | ||
| 45 | * is alright. | ||
| 46 | */ | ||
| 40 | 47 | ||
| 41 | /* There is a special kind of actions called "extended actions", | 48 | /* There is a special kind of actions called "extended actions", |
| 42 | * which need a value parameter. These have a local opcode located in | 49 | * which need a value parameter. These have a local opcode located in |
| @@ -51,6 +58,7 @@ enum { · 8 unmodified lines | |||
| 51 | (((combined) & (~TC_ACT_EXT_VAL_MASK)) == opcode) | 58 | (((combined) & (~TC_ACT_EXT_VAL_MASK)) == opcode) |
| 52 | 59 | ||
| 53 | #define TC_ACT_JUMP __TC_ACT_EXT(1) | 60 | #define TC_ACT_JUMP __TC_ACT_EXT(1) |
| 61 | #define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2) | ||
| 54 | 62 | ||
| 55 | /* Action type identifiers*/ | 63 | /* Action type identifiers*/ |
| 56 | enum { | 64 | enum { |
| @@ -361,6 +369,7 @@ enum { · 304 unmodified lines | |||
| 361 | TCA_BPF_FLAGS, | 369 | TCA_BPF_FLAGS, |
| 362 | TCA_BPF_FLAGS_GEN, | 370 | TCA_BPF_FLAGS_GEN, |
| 363 | TCA_BPF_TAG, | 371 | TCA_BPF_TAG, |
| 372 | TCA_BPF_ID, | ||
| 364 | __TCA_BPF_MAX, | 373 | __TCA_BPF_MAX, |
| 365 | }; | 374 | }; |
| 366 | 375 | ||
| @@ -450,6 +459,14 @@ enum { · 83 unmodified lines | |||
| 450 | TCA_FLOWER_KEY_MPLS_TC, /* u8 - 3 bits */ | 459 | TCA_FLOWER_KEY_MPLS_TC, /* u8 - 3 bits */ |
| 451 | TCA_FLOWER_KEY_MPLS_LABEL, /* be32 - 20 bits */ | 460 | TCA_FLOWER_KEY_MPLS_LABEL, /* be32 - 20 bits */ |
| 452 | 461 | ||
| 462 | TCA_FLOWER_KEY_TCP_FLAGS, /* be16 */ | ||
| 463 | TCA_FLOWER_KEY_TCP_FLAGS_MASK, /* be16 */ | ||
| 464 | |||
| 465 | TCA_FLOWER_KEY_IP_TOS, /* u8 */ | ||
| 466 | TCA_FLOWER_KEY_IP_TOS_MASK, /* u8 */ | ||
| 467 | TCA_FLOWER_KEY_IP_TTL, /* u8 */ | ||
| 468 | TCA_FLOWER_KEY_IP_TTL_MASK, /* u8 */ | ||
| 469 | |||
| 453 | __TCA_FLOWER_MAX, | 470 | __TCA_FLOWER_MAX, |
| 454 | }; | 471 | }; |
| 455 | 472 | ||
| @@ -146,6 +146,9 @@ enum { · 145 unmodified lines | |||
| 146 | RTM_GETSTATS = 94, | 146 | RTM_GETSTATS = 94, |
| 147 | #define RTM_GETSTATS RTM_GETSTATS | 147 | #define RTM_GETSTATS RTM_GETSTATS |
| 148 | 148 | ||
| 149 | RTM_NEWCACHEREPORT = 96, | ||
| 150 | #define RTM_NEWCACHEREPORT RTM_NEWCACHEREPORT | ||
| 151 | |||
| 149 | __RTM_MAX, | 152 | __RTM_MAX, |
| 150 | #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1) | 153 | #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1) |
| 151 | }; | 154 | }; |
| @@ -278,6 +281,7 @@ enum rt_scope_t { · 126 unmodified lines | |||
| 278 | #define RTM_F_EQUALIZE 0x400 /* Multipath equalizer: NI */ | 281 | #define RTM_F_EQUALIZE 0x400 /* Multipath equalizer: NI */ |
| 279 | #define RTM_F_PREFIX 0x800 /* Prefix addresses */ | 282 | #define RTM_F_PREFIX 0x800 /* Prefix addresses */ |
| 280 | #define RTM_F_LOOKUP_TABLE 0x1000 /* set rtm_table to FIB lookup result */ | 283 | #define RTM_F_LOOKUP_TABLE 0x1000 /* set rtm_table to FIB lookup result */ |
| 284 | #define RTM_F_FIB_MATCH 0x2000 /* return full fib lookup match */ | ||
| 281 | 285 | ||
| 282 | /* Reserved table identifiers */ | 286 | /* Reserved table identifiers */ |
| 283 | 287 | ||
| @@ -549,6 +553,7 @@ enum { · 265 unmodified lines | |||
| 549 | TCA_STAB, | 553 | TCA_STAB, |
| 550 | TCA_PAD, | 554 | TCA_PAD, |
| 551 | TCA_DUMP_INVISIBLE, | 555 | TCA_DUMP_INVISIBLE, |
| 556 | TCA_CHAIN, | ||
| 552 | __TCA_MAX | 557 | __TCA_MAX |
| 553 | }; | 558 | }; |
| 554 | 559 | ||
| @@ -664,6 +669,10 @@ enum rtnetlink_groups { · 109 unmodified lines | |||
| 664 | #define RTNLGRP_NSID RTNLGRP_NSID | 669 | #define RTNLGRP_NSID RTNLGRP_NSID |
| 665 | RTNLGRP_MPLS_NETCONF, | 670 | RTNLGRP_MPLS_NETCONF, |
| 666 | #define RTNLGRP_MPLS_NETCONF RTNLGRP_MPLS_NETCONF | 671 | #define RTNLGRP_MPLS_NETCONF RTNLGRP_MPLS_NETCONF |
| 672 | RTNLGRP_IPV4_MROUTE_R, | ||
| 673 | #define RTNLGRP_IPV4_MROUTE_R RTNLGRP_IPV4_MROUTE_R | ||
| 674 | RTNLGRP_IPV6_MROUTE_R, | ||
| 675 | #define RTNLGRP_IPV6_MROUTE_R RTNLGRP_IPV6_MROUTE_R | ||
| 667 | __RTNLGRP_MAX | 676 | __RTNLGRP_MAX |
| 668 | }; | 677 | }; |
| 669 | #define RTNLGRP_MAX (__RTNLGRP_MAX - 1) | 678 | #define RTNLGRP_MAX (__RTNLGRP_MAX - 1) |
| @@ -54,21 +54,21 @@ struct sched_param { · 53 unmodified lines | |||
| 54 | * available in the scheduling class file or in Documentation/. | 54 | * available in the scheduling class file or in Documentation/. |
| 55 | */ | 55 | */ |
| 56 | struct sched_attr { | 56 | struct sched_attr { |
| 57 | u32 size; | 57 | __u32 size; |
| 58 | 58 | ||
| 59 | u32 sched_policy; | 59 | __u32 sched_policy; |
| 60 | u64 sched_flags; | 60 | __u64 sched_flags; |
| 61 | 61 | ||
| 62 | /* SCHED_NORMAL, SCHED_BATCH */ | 62 | /* SCHED_NORMAL, SCHED_BATCH */ |
| 63 | s32 sched_nice; | 63 | __s32 sched_nice; |
| 64 | 64 | ||
| 65 | /* SCHED_FIFO, SCHED_RR */ | 65 | /* SCHED_FIFO, SCHED_RR */ |
| 66 | u32 sched_priority; | 66 | __u32 sched_priority; |
| 67 | 67 | ||
| 68 | /* SCHED_DEADLINE */ | 68 | /* SCHED_DEADLINE */ |
| 69 | u64 sched_runtime; | 69 | __u64 sched_runtime; |
| 70 | u64 sched_deadline; | 70 | __u64 sched_deadline; |
| 71 | u64 sched_period; | 71 | __u64 sched_period; |
| 72 | }; | 72 | }; |
| 73 | 73 | ||
| 74 | #endif /* _UAPI_LINUX_SCHED_TYPES_H */ | 74 | #endif /* _UAPI_LINUX_SCHED_TYPES_H */ |
| @@ -121,6 +121,7 @@ typedef __s32 sctp_assoc_t; · 120 unmodified lines | |||
| 121 | #define SCTP_RESET_STREAMS 119 | 121 | #define SCTP_RESET_STREAMS 119 |
| 122 | #define SCTP_RESET_ASSOC 120 | 122 | #define SCTP_RESET_ASSOC 120 |
| 123 | #define SCTP_ADD_STREAMS 121 | 123 | #define SCTP_ADD_STREAMS 121 |
| 124 | #define SCTP_SOCKOPT_PEELOFF_FLAGS 122 | ||
| 124 | 125 | ||
| 125 | /* PR-SCTP policies */ | 126 | /* PR-SCTP policies */ |
| 126 | #define SCTP_PR_SCTP_NONE 0x0000 | 127 | #define SCTP_PR_SCTP_NONE 0x0000 |
| @@ -978,6 +979,11 @@ typedef struct { · 851 unmodified lines | |||
| 978 | int sd; | 979 | int sd; |
| 979 | } sctp_peeloff_arg_t; | 980 | } sctp_peeloff_arg_t; |
| 980 | 981 | ||
| 982 | typedef struct { | ||
| 983 | sctp_peeloff_arg_t p_arg; | ||
| 984 | unsigned flags; | ||
| 985 | } sctp_peeloff_flags_arg_t; | ||
| 986 | |||
| 981 | /* | 987 | /* |
| 982 | * Peer Address Thresholds socket option | 988 | * Peer Address Thresholds socket option |
| 983 | */ | 989 | */ |
| @@ -23,7 +23,7 @@ · 22 unmodified lines | |||
| 23 | struct semid_ds { | 23 | struct semid_ds { |
| 24 | struct ipc_perm sem_perm; /* permissions .. see ipc.h */ | 24 | struct ipc_perm sem_perm; /* permissions .. see ipc.h */ |
| 25 | __kernel_time_t sem_otime; /* last semop time */ | 25 | __kernel_time_t sem_otime; /* last semop time */ |
| 26 | __kernel_time_t sem_ctime; /* last change time */ | 26 | __kernel_time_t sem_ctime; /* create/last semctl() time */ |
| 27 | struct sem *sem_base; /* ptr to first semaphore in array */ | 27 | struct sem *sem_base; /* ptr to first semaphore in array */ |
| 28 | struct sem_queue *sem_pending; /* pending operations to be processed */ | 28 | struct sem_queue *sem_pending; /* pending operations to be processed */ |
| 29 | struct sem_queue **sem_pending_last; /* last pending operation */ | 29 | struct sem_queue **sem_pending_last; /* last pending operation */ |
| @@ -122,6 +122,9 @@ struct serial_rs485 { · 121 unmodified lines | |||
| 122 | #define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for | 122 | #define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for |
| 123 | RTS pin after sent*/ | 123 | RTS pin after sent*/ |
| 124 | #define SER_RS485_RX_DURING_TX (1 << 4) | 124 | #define SER_RS485_RX_DURING_TX (1 << 4) |
| 125 | #define SER_RS485_TERMINATE_BUS (1 << 5) /* Enable bus | ||
| 126 | termination | ||
| 127 | (if supported) */ | ||
| 125 | __u32 delay_rts_before_send; /* Delay before send (milliseconds) */ | 128 | __u32 delay_rts_before_send; /* Delay before send (milliseconds) */ |
| 126 | __u32 delay_rts_after_send; /* Delay after send (milliseconds) */ | 129 | __u32 delay_rts_after_send; /* Delay after send (milliseconds) */ |
| 127 | __u32 padding[5]; /* Memory is cheap, new structs | 130 | __u32 padding[5]; /* Memory is cheap, new structs |
| @@ -83,7 +83,7 @@ · 82 unmodified lines | |||
| 83 | /* Parisc type numbers. */ | 83 | /* Parisc type numbers. */ |
| 84 | #define PORT_MUX 48 | 84 | #define PORT_MUX 48 |
| 85 | 85 | ||
| 86 | /* Atmel AT91 / AT32 SoC */ | 86 | /* Atmel AT91 SoC */ |
| 87 | #define PORT_ATMEL 49 | 87 | #define PORT_ATMEL 49 |
| 88 | 88 | ||
| 89 | /* Macintosh Zilog type numbers */ | 89 | /* Macintosh Zilog type numbers */ |
| @@ -228,6 +228,7 @@ enum · 227 unmodified lines | |||
| 228 | LINUX_MIB_TCPABORTONLINGER, /* TCPAbortOnLinger */ | 228 | LINUX_MIB_TCPABORTONLINGER, /* TCPAbortOnLinger */ |
| 229 | LINUX_MIB_TCPABORTFAILED, /* TCPAbortFailed */ | 229 | LINUX_MIB_TCPABORTFAILED, /* TCPAbortFailed */ |
| 230 | LINUX_MIB_TCPMEMORYPRESSURES, /* TCPMemoryPressures */ | 230 | LINUX_MIB_TCPMEMORYPRESSURES, /* TCPMemoryPressures */ |
| 231 | LINUX_MIB_TCPMEMORYPRESSURESCHRONO, /* TCPMemoryPressuresChrono */ | ||
| 231 | LINUX_MIB_TCPSACKDISCARD, /* TCPSACKDiscard */ | 232 | LINUX_MIB_TCPSACKDISCARD, /* TCPSACKDiscard */ |
| 232 | LINUX_MIB_TCPDSACKIGNOREDOLD, /* TCPSACKIgnoredOld */ | 233 | LINUX_MIB_TCPDSACKIGNOREDOLD, /* TCPSACKIgnoredOld */ |
| 233 | LINUX_MIB_TCPDSACKIGNOREDNOUNDO, /* TCPSACKIgnoredNoUndo */ | 234 | LINUX_MIB_TCPDSACKIGNOREDNOUNDO, /* TCPSACKIgnoredNoUndo */ |
| @@ -39,6 +39,9 @@ struct switchtec_ioctl_flash_info { · 38 unmodified lines | |||
| 39 | __u32 padding; | 39 | __u32 padding; |
| 40 | }; | 40 | }; |
| 41 | 41 | ||
| 42 | #define SWITCHTEC_IOCTL_PART_ACTIVE 1 | ||
| 43 | #define SWITCHTEC_IOCTL_PART_RUNNING 2 | ||
| 44 | |||
| 42 | struct switchtec_ioctl_flash_part_info { | 45 | struct switchtec_ioctl_flash_part_info { |
| 43 | __u32 flash_partition; | 46 | __u32 flash_partition; |
| 44 | __u32 address; | 47 | __u32 address; |
| @@ -130,6 +130,11 @@ enum tcmu_genl_cmd { · 129 unmodified lines | |||
| 130 | TCMU_CMD_UNSPEC, | 130 | TCMU_CMD_UNSPEC, |
| 131 | TCMU_CMD_ADDED_DEVICE, | 131 | TCMU_CMD_ADDED_DEVICE, |
| 132 | TCMU_CMD_REMOVED_DEVICE, | 132 | TCMU_CMD_REMOVED_DEVICE, |
| 133 | TCMU_CMD_RECONFIG_DEVICE, | ||
| 134 | TCMU_CMD_ADDED_DEVICE_DONE, | ||
| 135 | TCMU_CMD_REMOVED_DEVICE_DONE, | ||
| 136 | TCMU_CMD_RECONFIG_DEVICE_DONE, | ||
| 137 | TCMU_CMD_SET_FEATURES, | ||
| 133 | __TCMU_CMD_MAX, | 138 | __TCMU_CMD_MAX, |
| 134 | }; | 139 | }; |
| 135 | #define TCMU_CMD_MAX (__TCMU_CMD_MAX - 1) | 140 | #define TCMU_CMD_MAX (__TCMU_CMD_MAX - 1) |
| @@ -138,6 +143,13 @@ enum tcmu_genl_attr { · 2 unmodified lines | |||
| 138 | TCMU_ATTR_UNSPEC, | 143 | TCMU_ATTR_UNSPEC, |
| 139 | TCMU_ATTR_DEVICE, | 144 | TCMU_ATTR_DEVICE, |
| 140 | TCMU_ATTR_MINOR, | 145 | TCMU_ATTR_MINOR, |
| 146 | TCMU_ATTR_PAD, | ||
| 147 | TCMU_ATTR_DEV_CFG, | ||
| 148 | TCMU_ATTR_DEV_SIZE, | ||
| 149 | TCMU_ATTR_WRITECACHE, | ||
| 150 | TCMU_ATTR_CMD_STATUS, | ||
| 151 | TCMU_ATTR_DEVICE_ID, | ||
| 152 | TCMU_ATTR_SUPP_KERN_CMD_REPLY, | ||
| 141 | __TCMU_ATTR_MAX, | 153 | __TCMU_ATTR_MAX, |
| 142 | }; | 154 | }; |
| 143 | #define TCMU_ATTR_MAX (__TCMU_ATTR_MAX - 1) | 155 | #define TCMU_ATTR_MAX (__TCMU_ATTR_MAX - 1) |
| @@ -28,6 +28,7 @@ enum { · 27 unmodified lines | |||
| 28 | TCA_ACT_BPF_NAME, | 28 | TCA_ACT_BPF_NAME, |
| 29 | TCA_ACT_BPF_PAD, | 29 | TCA_ACT_BPF_PAD, |
| 30 | TCA_ACT_BPF_TAG, | 30 | TCA_ACT_BPF_TAG, |
| 31 | TCA_ACT_BPF_ID, | ||
| 31 | __TCA_ACT_BPF_MAX, | 32 | __TCA_ACT_BPF_MAX, |
| 32 | }; | 33 | }; |
| 33 | #define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1) | 34 | #define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1) |
| @@ -34,6 +34,7 @@ enum { · 33 unmodified lines | |||
| 34 | TCA_TUNNEL_KEY_ENC_KEY_ID, /* be64 */ | 34 | TCA_TUNNEL_KEY_ENC_KEY_ID, /* be64 */ |
| 35 | TCA_TUNNEL_KEY_PAD, | 35 | TCA_TUNNEL_KEY_PAD, |
| 36 | TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */ | 36 | TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */ |
| 37 | TCA_TUNNEL_KEY_NO_CSUM, /* u8 */ | ||
| 37 | __TCA_TUNNEL_KEY_MAX, | 38 | __TCA_TUNNEL_KEY_MAX, |
| 38 | }; | 39 | }; |
| 39 | 40 | ||
| @@ -117,6 +117,8 @@ enum { · 116 unmodified lines | |||
| 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 | #define TCP_REPAIR_WINDOW 29 /* Get/set window parameters */ |
| 119 | #define TCP_FASTOPEN_CONNECT 30 /* Attempt FastOpen with connect */ | 119 | #define TCP_FASTOPEN_CONNECT 30 /* Attempt FastOpen with connect */ |
| 120 | #define TCP_ULP 31 /* Attach a ULP to a TCP connection */ | ||
| 121 | #define TCP_MD5SIG_EXT 32 /* TCP MD5 Signature with extensions */ | ||
| 120 | 122 | ||
| 121 | struct tcp_repair_opt { | 123 | struct tcp_repair_opt { |
| 122 | __u32 opt_code; | 124 | __u32 opt_code; |
| @@ -234,11 +236,15 @@ enum { · 111 unmodified lines | |||
| 234 | /* for TCP_MD5SIG socket option */ | 236 | /* for TCP_MD5SIG socket option */ |
| 235 | #define TCP_MD5SIG_MAXKEYLEN 80 | 237 | #define TCP_MD5SIG_MAXKEYLEN 80 |
| 236 | 238 | ||
| 239 | /* tcp_md5sig extension flags for TCP_MD5SIG_EXT */ | ||
| 240 | #define TCP_MD5SIG_FLAG_PREFIX 1 /* address prefix length */ | ||
| 241 | |||
| 237 | struct tcp_md5sig { | 242 | struct tcp_md5sig { |
| 238 | struct __kernel_sockaddr_storage tcpm_addr; /* address associated */ | 243 | struct __kernel_sockaddr_storage tcpm_addr; /* address associated */ |
| 239 | __u16 __tcpm_pad1; /* zero */ | 244 | __u8 tcpm_flags; /* extension flags */ |
| 245 | __u8 tcpm_prefixlen; /* address prefix */ | ||
| 240 | __u16 tcpm_keylen; /* key length */ | 246 | __u16 tcpm_keylen; /* key length */ |
| 241 | __u32 __tcpm_pad2; /* zero */ | 247 | __u32 __tcpm_pad; /* zero */ |
| 242 | __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* key (binary) */ | 248 | __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* key (binary) */ |
| 243 | }; | 249 | }; |
| 244 | 250 | ||
| @@ -0,0 +1,79 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2016-2017, Mellanox Technologies. All rights reserved. | ||
| 3 | * | ||
| 4 | * This software is available to you under a choice of one of two | ||
| 5 | * licenses. You may choose to be licensed under the terms of the GNU | ||
| 6 | * General Public License (GPL) Version 2, available from the file | ||
| 7 | * COPYING in the main directory of this source tree, or the | ||
| 8 | * OpenIB.org BSD license below: | ||
| 9 | * | ||
| 10 | * Redistribution and use in source and binary forms, with or | ||
| 11 | * without modification, are permitted provided that the following | ||
| 12 | * conditions are met: | ||
| 13 | * | ||
| 14 | * - Redistributions of source code must retain the above | ||
| 15 | * copyright notice, this list of conditions and the following | ||
| 16 | * disclaimer. | ||
| 17 | * | ||
| 18 | * - Redistributions in binary form must reproduce the above | ||
| 19 | * copyright notice, this list of conditions and the following | ||
| 20 | * disclaimer in the documentation and/or other materials | ||
| 21 | * provided with the distribution. | ||
| 22 | * | ||
| 23 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| 24 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 25 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
| 26 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
| 27 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
| 28 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
| 29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| 30 | * SOFTWARE. | ||
| 31 | */ | ||
| 32 | |||
| 33 | #ifndef _UAPI_LINUX_TLS_H | ||
| 34 | #define _UAPI_LINUX_TLS_H | ||
| 35 | |||
| 36 | #include <linux/types.h> | ||
| 37 | #include <asm/byteorder.h> | ||
| 38 | #include <linux/socket.h> | ||
| 39 | #include <linux/tcp.h> | ||
| 40 | #include <net/tcp.h> | ||
| 41 | |||
| 42 | /* TLS socket options */ | ||
| 43 | #define TLS_TX 1 /* Set transmit parameters */ | ||
| 44 | |||
| 45 | /* Supported versions */ | ||
| 46 | #define TLS_VERSION_MINOR(ver) ((ver) & 0xFF) | ||
| 47 | #define TLS_VERSION_MAJOR(ver) (((ver) >> 8) & 0xFF) | ||
| 48 | |||
| 49 | #define TLS_VERSION_NUMBER(id) ((((id##_VERSION_MAJOR) & 0xFF) << 8) | \ | ||
| 50 | ((id##_VERSION_MINOR) & 0xFF)) | ||
| 51 | |||
| 52 | #define TLS_1_2_VERSION_MAJOR 0x3 | ||
| 53 | #define TLS_1_2_VERSION_MINOR 0x3 | ||
| 54 | #define TLS_1_2_VERSION TLS_VERSION_NUMBER(TLS_1_2) | ||
| 55 | |||
| 56 | /* Supported ciphers */ | ||
| 57 | #define TLS_CIPHER_AES_GCM_128 51 | ||
| 58 | #define TLS_CIPHER_AES_GCM_128_IV_SIZE 8 | ||
| 59 | #define TLS_CIPHER_AES_GCM_128_KEY_SIZE 16 | ||
| 60 | #define TLS_CIPHER_AES_GCM_128_SALT_SIZE 4 | ||
| 61 | #define TLS_CIPHER_AES_GCM_128_TAG_SIZE 16 | ||
| 62 | #define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE 8 | ||
| 63 | |||
| 64 | #define TLS_SET_RECORD_TYPE 1 | ||
| 65 | |||
| 66 | struct tls_crypto_info { | ||
| 67 | __u16 version; | ||
| 68 | __u16 cipher_type; | ||
| 69 | }; | ||
| 70 | |||
| 71 | struct tls12_crypto_info_aes_gcm_128 { | ||
| 72 | struct tls_crypto_info info; | ||
| 73 | unsigned char iv[TLS_CIPHER_AES_GCM_128_IV_SIZE]; | ||
| 74 | unsigned char key[TLS_CIPHER_AES_GCM_128_KEY_SIZE]; | ||
| 75 | unsigned char salt[TLS_CIPHER_AES_GCM_128_SALT_SIZE]; | ||
| 76 | unsigned char rec_seq[TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE]; | ||
| 77 | }; | ||
| 78 | |||
| 79 | #endif /* _UAPI_LINUX_TLS_H */ | ||
| @@ -35,5 +35,7 @@ · 34 unmodified lines | |||
| 35 | #define N_TRACESINK 23 /* Trace data routing for MIPI P1149.7 */ | 35 | #define N_TRACESINK 23 /* Trace data routing for MIPI P1149.7 */ |
| 36 | #define N_TRACEROUTER 24 /* Trace data routing for MIPI P1149.7 */ | 36 | #define N_TRACEROUTER 24 /* Trace data routing for MIPI P1149.7 */ |
| 37 | #define N_NCI 25 /* NFC NCI UART */ | 37 | #define N_NCI 25 /* NFC NCI UART */ |
| 38 | #define N_SPEAKUP 26 /* Speakup communication with synths */ | ||
| 39 | #define N_NULL 27 /* Null ldisc used for error handling */ | ||
| 38 | 40 | ||
| 39 | #endif /* _UAPI_LINUX_TTY_H */ | 41 | #endif /* _UAPI_LINUX_TTY_H */ |
| @@ -333,7 +333,7 @@ struct uac_processing_unit_descriptor { · 332 unmodified lines | |||
| 333 | __u8 bDescriptorType; | 333 | __u8 bDescriptorType; |
| 334 | __u8 bDescriptorSubtype; | 334 | __u8 bDescriptorSubtype; |
| 335 | __u8 bUnitID; | 335 | __u8 bUnitID; |
| 336 | __u16 wProcessType; | 336 | __le16 wProcessType; |
| 337 | __u8 bNrInPins; | 337 | __u8 bNrInPins; |
| 338 | __u8 baSourceID[]; | 338 | __u8 baSourceID[]; |
| 339 | } __attribute__ ((packed)); | 339 | } __attribute__ ((packed)); |
| @@ -491,8 +491,8 @@ struct uac_format_type_ii_ext_descriptor { · 151 unmodified lines | |||
| 491 | __u8 bDescriptorType; | 491 | __u8 bDescriptorType; |
| 492 | __u8 bDescriptorSubtype; | 492 | __u8 bDescriptorSubtype; |
| 493 | __u8 bFormatType; | 493 | __u8 bFormatType; |
| 494 | __u16 wMaxBitRate; | 494 | __le16 wMaxBitRate; |
| 495 | __u16 wSamplesPerFrame; | 495 | __le16 wSamplesPerFrame; |
| 496 | __u8 bHeaderLength; | 496 | __u8 bHeaderLength; |
| 497 | __u8 bSideBandProtocol; | 497 | __u8 bSideBandProtocol; |
| 498 | } __attribute__((packed)); | 498 | } __attribute__((packed)); |
| @@ -275,13 +275,14 @@ struct usb_functionfs_event { · 274 unmodified lines | |||
| 275 | #define FUNCTIONFS_INTERFACE_REVMAP _IO('g', 128) | 275 | #define FUNCTIONFS_INTERFACE_REVMAP _IO('g', 128) |
| 276 | 276 | ||
| 277 | /* | 277 | /* |
| 278 | * Returns real bEndpointAddress of an endpoint. If function is not | 278 | * Returns real bEndpointAddress of an endpoint. If endpoint shuts down |
| 279 | * active returns -ENODEV. | 279 | * during the call, returns -ESHUTDOWN. |
| 280 | */ | 280 | */ |
| 281 | #define FUNCTIONFS_ENDPOINT_REVMAP _IO('g', 129) | 281 | #define FUNCTIONFS_ENDPOINT_REVMAP _IO('g', 129) |
| 282 | 282 | ||
| 283 | /* | 283 | /* |
| 284 | * Returns endpoint descriptor. If function is not active returns -ENODEV. | 284 | * Returns endpoint descriptor. If endpoint shuts down during the call, |
| 285 | * returns -ESHUTDOWN. | ||
| 285 | */ | 286 | */ |
| 286 | #define FUNCTIONFS_ENDPOINT_DESC _IOR('g', 130, \ | 287 | #define FUNCTIONFS_ENDPOINT_DESC _IOR('g', 130, \ |
| 287 | struct usb_endpoint_descriptor) | 288 | struct usb_endpoint_descriptor) |
| @@ -156,6 +156,11 @@ struct usbdevfs_streams { · 155 unmodified lines | |||
| 156 | unsigned char eps[0]; | 156 | unsigned char eps[0]; |
| 157 | }; | 157 | }; |
| 158 | 158 | ||
| 159 | /* | ||
| 160 | * USB_SPEED_* values returned by USBDEVFS_GET_SPEED are defined in | ||
| 161 | * linux/usb/ch9.h | ||
| 162 | */ | ||
| 163 | |||
| 159 | #define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer) | 164 | #define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer) |
| 160 | #define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32) | 165 | #define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32) |
| 161 | #define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer) | 166 | #define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer) |
| @@ -190,5 +195,6 @@ struct usbdevfs_streams { · 28 unmodified lines | |||
| 190 | #define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams) | 195 | #define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams) |
| 191 | #define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams) | 196 | #define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams) |
| 192 | #define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32) | 197 | #define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32) |
| 198 | #define USBDEVFS_GET_SPEED _IO('U', 31) | ||
| 193 | 199 | ||
| 194 | #endif /* _UAPI_LINUX_USBDEVICE_FS_H */ | 200 | #endif /* _UAPI_LINUX_USBDEVICE_FS_H */ |
| @@ -180,6 +180,15 @@ enum v4l2_colorfx { · 179 unmodified lines | |||
| 180 | * We reserve 16 controls for this driver. */ | 180 | * We reserve 16 controls for this driver. */ |
| 181 | #define V4L2_CID_USER_TC358743_BASE (V4L2_CID_USER_BASE + 0x1080) | 181 | #define V4L2_CID_USER_TC358743_BASE (V4L2_CID_USER_BASE + 0x1080) |
| 182 | 182 | ||
| 183 | /* The base for the max217x driver controls. | ||
| 184 | * We reserve 32 controls for this driver | ||
| 185 | */ | ||
| 186 | #define V4L2_CID_USER_MAX217X_BASE (V4L2_CID_USER_BASE + 0x1090) | ||
| 187 | |||
| 188 | /* The base for the imx driver controls. | ||
| 189 | * We reserve 16 controls for this driver. */ | ||
| 190 | #define V4L2_CID_USER_IMX_BASE (V4L2_CID_USER_BASE + 0x1090) | ||
| 191 | |||
| 183 | /* MPEG-class control IDs */ | 192 | /* MPEG-class control IDs */ |
| 184 | /* The MPEG controls are applicable to all codec controls | 193 | /* The MPEG controls are applicable to all codec controls |
| 185 | * and the 'MPEG' part of the define is historical */ | 194 | * and the 'MPEG' part of the define is historical */ |
| @@ -893,7 +902,7 @@ enum v4l2_jpeg_chroma_subsampling { · 707 unmodified lines | |||
| 893 | #define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2) | 902 | #define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2) |
| 894 | #define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3) | 903 | #define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3) |
| 895 | #define V4L2_CID_DEINTERLACING_MODE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4) | 904 | #define V4L2_CID_DEINTERLACING_MODE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4) |
| 896 | 905 | #define V4L2_CID_DIGITAL_GAIN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 5) | |
| 897 | 906 | ||
| 898 | /* DV-class control IDs defined by V4L2 */ | 907 | /* DV-class control IDs defined by V4L2 */ |
| 899 | #define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900) | 908 | #define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900) |
| @@ -669,6 +669,9 @@ struct v4l2_pix_format { · 668 unmodified lines | |||
| 669 | #define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */ | 669 | #define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */ |
| 670 | #define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */ | 670 | #define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */ |
| 671 | #define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */ | 671 | #define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */ |
| 672 | #define V4L2_SDR_FMT_PCU16BE v4l2_fourcc('P', 'C', '1', '6') /* planar complex u16be */ | ||
| 673 | #define V4L2_SDR_FMT_PCU18BE v4l2_fourcc('P', 'C', '1', '8') /* planar complex u18be */ | ||
| 674 | #define V4L2_SDR_FMT_PCU20BE v4l2_fourcc('P', 'C', '2', '0') /* planar complex u20be */ | ||
| 672 | 675 | ||
| 673 | /* Touch formats - used for Touch devices */ | 676 | /* Touch formats - used for Touch devices */ |
| 674 | #define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6') /* 16-bit signed deltas */ | 677 | #define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6') /* 16-bit signed deltas */ |
| @@ -46,4 +46,8 @@ struct vtpm_proxy_new_dev { · 45 unmodified lines | |||
| 46 | 46 | ||
| 47 | #define VTPM_PROXY_IOC_NEW_DEV _IOWR(0xa1, 0x00, struct vtpm_proxy_new_dev) | 47 | #define VTPM_PROXY_IOC_NEW_DEV _IOWR(0xa1, 0x00, struct vtpm_proxy_new_dev) |
| 48 | 48 | ||
| 49 | /* vendor specific commands to set locality */ | ||
| 50 | #define TPM2_CC_SET_LOCALITY 0x20001000 | ||
| 51 | #define TPM_ORD_SET_LOCALITY 0x20001000 | ||
| 52 | |||
| 49 | #endif /* _UAPI_LINUX_VTPM_PROXY_H */ | 53 | #endif /* _UAPI_LINUX_VTPM_PROXY_H */ |
| @@ -1,87 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2014 Qualcomm Atheros, Inc. | ||
| 3 | * | ||
| 4 | * Permission to use, copy, modify, and/or distribute this software for any | ||
| 5 | * purpose with or without fee is hereby granted, provided that the above | ||
| 6 | * copyright notice and this permission notice appear in all copies. | ||
| 7 | * | ||
| 8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
| 9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
| 10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
| 11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| 12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
| 13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
| 14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #ifndef __WIL6210_UAPI_H__ | ||
| 18 | #define __WIL6210_UAPI_H__ | ||
| 19 | |||
| 20 | #if !defined(__KERNEL__) | ||
| 21 | #define __user | ||
| 22 | #endif | ||
| 23 | |||
| 24 | #include <linux/sockios.h> | ||
| 25 | |||
| 26 | /* Numbers SIOCDEVPRIVATE and SIOCDEVPRIVATE + 1 | ||
| 27 | * are used by Android devices to implement PNO (preferred network offload). | ||
| 28 | * Albeit it is temporary solution, use different numbers to avoid conflicts | ||
| 29 | */ | ||
| 30 | |||
| 31 | /** | ||
| 32 | * Perform 32-bit I/O operation to the card memory | ||
| 33 | * | ||
| 34 | * User code should arrange data in memory like this: | ||
| 35 | * | ||
| 36 | * struct wil_memio io; | ||
| 37 | * struct ifreq ifr = { | ||
| 38 | * .ifr_data = &io, | ||
| 39 | * }; | ||
| 40 | */ | ||
| 41 | #define WIL_IOCTL_MEMIO (SIOCDEVPRIVATE + 2) | ||
| 42 | |||
| 43 | /** | ||
| 44 | * Perform block I/O operation to the card memory | ||
| 45 | * | ||
| 46 | * User code should arrange data in memory like this: | ||
| 47 | * | ||
| 48 | * void *buf; | ||
| 49 | * struct wil_memio_block io = { | ||
| 50 | * .block = buf, | ||
| 51 | * }; | ||
| 52 | * struct ifreq ifr = { | ||
| 53 | * .ifr_data = &io, | ||
| 54 | * }; | ||
| 55 | */ | ||
| 56 | #define WIL_IOCTL_MEMIO_BLOCK (SIOCDEVPRIVATE + 3) | ||
| 57 | |||
| 58 | /** | ||
| 59 | * operation to perform | ||
| 60 | * | ||
| 61 | * @wil_mmio_op_mask - bits defining operation, | ||
| 62 | * @wil_mmio_addr_mask - bits defining addressing mode | ||
| 63 | */ | ||
| 64 | enum wil_memio_op { | ||
| 65 | wil_mmio_read = 0, | ||
| 66 | wil_mmio_write = 1, | ||
| 67 | wil_mmio_op_mask = 0xff, | ||
| 68 | wil_mmio_addr_linker = 0 << 8, | ||
| 69 | wil_mmio_addr_ahb = 1 << 8, | ||
| 70 | wil_mmio_addr_bar = 2 << 8, | ||
| 71 | wil_mmio_addr_mask = 0xff00, | ||
| 72 | }; | ||
| 73 | |||
| 74 | struct wil_memio { | ||
| 75 | uint32_t op; /* enum wil_memio_op */ | ||
| 76 | uint32_t addr; /* should be 32-bit aligned */ | ||
| 77 | uint32_t val; | ||
| 78 | }; | ||
| 79 | |||
| 80 | struct wil_memio_block { | ||
| 81 | uint32_t op; /* enum wil_memio_op */ | ||
| 82 | uint32_t addr; /* should be 32-bit aligned */ | ||
| 83 | uint32_t size; /* should be multiple of 4 */ | ||
| 84 | void __user *block; /* block address */ | ||
| 85 | }; | ||
| 86 | |||
| 87 | #endif /* __WIL6210_UAPI_H__ */ | ||