diff options
| author | Ingo Molnar <mingo@kernel.org> | 2018-12-17 11:46:26 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2018-12-17 11:46:26 -0500 |
| commit | 76aea1eeb98d2d75d9297fda777efeffe3657aeb (patch) | |
| tree | 18fdf94ec846b553f1e60438279a3b449897189b /include/uapi | |
| parent | 43b9e4febc66b98d83cc1560196d56ac7fef3c32 (diff) | |
| parent | 7566ec393f4161572ba6f11ad5171fd5d59b0fbd (diff) | |
Merge tag 'v4.20-rc7' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/uapi')
| -rw-r--r-- | include/uapi/asm-generic/unistd.h | 4 | ||||
| -rw-r--r-- | include/uapi/linux/bpf.h | 56 | ||||
| -rw-r--r-- | include/uapi/linux/input-event-codes.h | 9 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-controls.h | 68 | ||||
| -rw-r--r-- | include/uapi/linux/videodev2.h | 4 |
5 files changed, 50 insertions, 91 deletions
diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h index 538546edbfbd..c7f3321fbe43 100644 --- a/include/uapi/asm-generic/unistd.h +++ b/include/uapi/asm-generic/unistd.h | |||
| @@ -760,8 +760,10 @@ __SYSCALL(__NR_rseq, sys_rseq) | |||
| 760 | #define __NR_ftruncate __NR3264_ftruncate | 760 | #define __NR_ftruncate __NR3264_ftruncate |
| 761 | #define __NR_lseek __NR3264_lseek | 761 | #define __NR_lseek __NR3264_lseek |
| 762 | #define __NR_sendfile __NR3264_sendfile | 762 | #define __NR_sendfile __NR3264_sendfile |
| 763 | #if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64) | ||
| 763 | #define __NR_newfstatat __NR3264_fstatat | 764 | #define __NR_newfstatat __NR3264_fstatat |
| 764 | #define __NR_fstat __NR3264_fstat | 765 | #define __NR_fstat __NR3264_fstat |
| 766 | #endif | ||
| 765 | #define __NR_mmap __NR3264_mmap | 767 | #define __NR_mmap __NR3264_mmap |
| 766 | #define __NR_fadvise64 __NR3264_fadvise64 | 768 | #define __NR_fadvise64 __NR3264_fadvise64 |
| 767 | #ifdef __NR3264_stat | 769 | #ifdef __NR3264_stat |
| @@ -776,8 +778,10 @@ __SYSCALL(__NR_rseq, sys_rseq) | |||
| 776 | #define __NR_ftruncate64 __NR3264_ftruncate | 778 | #define __NR_ftruncate64 __NR3264_ftruncate |
| 777 | #define __NR_llseek __NR3264_lseek | 779 | #define __NR_llseek __NR3264_lseek |
| 778 | #define __NR_sendfile64 __NR3264_sendfile | 780 | #define __NR_sendfile64 __NR3264_sendfile |
| 781 | #if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64) | ||
| 779 | #define __NR_fstatat64 __NR3264_fstatat | 782 | #define __NR_fstatat64 __NR3264_fstatat |
| 780 | #define __NR_fstat64 __NR3264_fstat | 783 | #define __NR_fstat64 __NR3264_fstat |
| 784 | #endif | ||
| 781 | #define __NR_mmap2 __NR3264_mmap | 785 | #define __NR_mmap2 __NR3264_mmap |
| 782 | #define __NR_fadvise64_64 __NR3264_fadvise64 | 786 | #define __NR_fadvise64_64 __NR3264_fadvise64 |
| 783 | #ifdef __NR3264_stat | 787 | #ifdef __NR3264_stat |
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index 852dc17ab47a..72c453a8bf50 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h | |||
| @@ -2170,7 +2170,7 @@ union bpf_attr { | |||
| 2170 | * Return | 2170 | * Return |
| 2171 | * 0 on success, or a negative error in case of failure. | 2171 | * 0 on success, or a negative error in case of failure. |
| 2172 | * | 2172 | * |
| 2173 | * struct bpf_sock *bpf_sk_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u32 netns, u64 flags) | 2173 | * struct bpf_sock *bpf_sk_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags) |
| 2174 | * Description | 2174 | * Description |
| 2175 | * Look for TCP socket matching *tuple*, optionally in a child | 2175 | * Look for TCP socket matching *tuple*, optionally in a child |
| 2176 | * network namespace *netns*. The return value must be checked, | 2176 | * network namespace *netns*. The return value must be checked, |
| @@ -2187,12 +2187,14 @@ union bpf_attr { | |||
| 2187 | * **sizeof**\ (*tuple*\ **->ipv6**) | 2187 | * **sizeof**\ (*tuple*\ **->ipv6**) |
| 2188 | * Look for an IPv6 socket. | 2188 | * Look for an IPv6 socket. |
| 2189 | * | 2189 | * |
| 2190 | * If the *netns* is zero, then the socket lookup table in the | 2190 | * If the *netns* is a negative signed 32-bit integer, then the |
| 2191 | * netns associated with the *ctx* will be used. For the TC hooks, | 2191 | * socket lookup table in the netns associated with the *ctx* will |
| 2192 | * this in the netns of the device in the skb. For socket hooks, | 2192 | * will be used. For the TC hooks, this is the netns of the device |
| 2193 | * this in the netns of the socket. If *netns* is non-zero, then | 2193 | * in the skb. For socket hooks, this is the netns of the socket. |
| 2194 | * it specifies the ID of the netns relative to the netns | 2194 | * If *netns* is any other signed 32-bit value greater than or |
| 2195 | * associated with the *ctx*. | 2195 | * equal to zero then it specifies the ID of the netns relative to |
| 2196 | * the netns associated with the *ctx*. *netns* values beyond the | ||
| 2197 | * range of 32-bit integers are reserved for future use. | ||
| 2196 | * | 2198 | * |
| 2197 | * All values for *flags* are reserved for future usage, and must | 2199 | * All values for *flags* are reserved for future usage, and must |
| 2198 | * be left at zero. | 2200 | * be left at zero. |
| @@ -2201,8 +2203,10 @@ union bpf_attr { | |||
| 2201 | * **CONFIG_NET** configuration option. | 2203 | * **CONFIG_NET** configuration option. |
| 2202 | * Return | 2204 | * Return |
| 2203 | * Pointer to *struct bpf_sock*, or NULL in case of failure. | 2205 | * Pointer to *struct bpf_sock*, or NULL in case of failure. |
| 2206 | * For sockets with reuseport option, the *struct bpf_sock* | ||
| 2207 | * result is from reuse->socks[] using the hash of the tuple. | ||
| 2204 | * | 2208 | * |
| 2205 | * struct bpf_sock *bpf_sk_lookup_udp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u32 netns, u64 flags) | 2209 | * struct bpf_sock *bpf_sk_lookup_udp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags) |
| 2206 | * Description | 2210 | * Description |
| 2207 | * Look for UDP socket matching *tuple*, optionally in a child | 2211 | * Look for UDP socket matching *tuple*, optionally in a child |
| 2208 | * network namespace *netns*. The return value must be checked, | 2212 | * network namespace *netns*. The return value must be checked, |
| @@ -2219,12 +2223,14 @@ union bpf_attr { | |||
| 2219 | * **sizeof**\ (*tuple*\ **->ipv6**) | 2223 | * **sizeof**\ (*tuple*\ **->ipv6**) |
| 2220 | * Look for an IPv6 socket. | 2224 | * Look for an IPv6 socket. |
| 2221 | * | 2225 | * |
| 2222 | * If the *netns* is zero, then the socket lookup table in the | 2226 | * If the *netns* is a negative signed 32-bit integer, then the |
| 2223 | * netns associated with the *ctx* will be used. For the TC hooks, | 2227 | * socket lookup table in the netns associated with the *ctx* will |
| 2224 | * this in the netns of the device in the skb. For socket hooks, | 2228 | * will be used. For the TC hooks, this is the netns of the device |
| 2225 | * this in the netns of the socket. If *netns* is non-zero, then | 2229 | * in the skb. For socket hooks, this is the netns of the socket. |
| 2226 | * it specifies the ID of the netns relative to the netns | 2230 | * If *netns* is any other signed 32-bit value greater than or |
| 2227 | * associated with the *ctx*. | 2231 | * equal to zero then it specifies the ID of the netns relative to |
| 2232 | * the netns associated with the *ctx*. *netns* values beyond the | ||
| 2233 | * range of 32-bit integers are reserved for future use. | ||
| 2228 | * | 2234 | * |
| 2229 | * All values for *flags* are reserved for future usage, and must | 2235 | * All values for *flags* are reserved for future usage, and must |
| 2230 | * be left at zero. | 2236 | * be left at zero. |
| @@ -2233,6 +2239,8 @@ union bpf_attr { | |||
| 2233 | * **CONFIG_NET** configuration option. | 2239 | * **CONFIG_NET** configuration option. |
| 2234 | * Return | 2240 | * Return |
| 2235 | * Pointer to *struct bpf_sock*, or NULL in case of failure. | 2241 | * Pointer to *struct bpf_sock*, or NULL in case of failure. |
| 2242 | * For sockets with reuseport option, the *struct bpf_sock* | ||
| 2243 | * result is from reuse->socks[] using the hash of the tuple. | ||
| 2236 | * | 2244 | * |
| 2237 | * int bpf_sk_release(struct bpf_sock *sk) | 2245 | * int bpf_sk_release(struct bpf_sock *sk) |
| 2238 | * Description | 2246 | * Description |
| @@ -2405,6 +2413,9 @@ enum bpf_func_id { | |||
| 2405 | /* BPF_FUNC_perf_event_output for sk_buff input context. */ | 2413 | /* BPF_FUNC_perf_event_output for sk_buff input context. */ |
| 2406 | #define BPF_F_CTXLEN_MASK (0xfffffULL << 32) | 2414 | #define BPF_F_CTXLEN_MASK (0xfffffULL << 32) |
| 2407 | 2415 | ||
| 2416 | /* Current network namespace */ | ||
| 2417 | #define BPF_F_CURRENT_NETNS (-1L) | ||
| 2418 | |||
| 2408 | /* Mode for BPF_FUNC_skb_adjust_room helper. */ | 2419 | /* Mode for BPF_FUNC_skb_adjust_room helper. */ |
| 2409 | enum bpf_adj_room_mode { | 2420 | enum bpf_adj_room_mode { |
| 2410 | BPF_ADJ_ROOM_NET, | 2421 | BPF_ADJ_ROOM_NET, |
| @@ -2422,6 +2433,12 @@ enum bpf_lwt_encap_mode { | |||
| 2422 | BPF_LWT_ENCAP_SEG6_INLINE | 2433 | BPF_LWT_ENCAP_SEG6_INLINE |
| 2423 | }; | 2434 | }; |
| 2424 | 2435 | ||
| 2436 | #define __bpf_md_ptr(type, name) \ | ||
| 2437 | union { \ | ||
| 2438 | type name; \ | ||
| 2439 | __u64 :64; \ | ||
| 2440 | } __attribute__((aligned(8))) | ||
| 2441 | |||
| 2425 | /* user accessible mirror of in-kernel sk_buff. | 2442 | /* user accessible mirror of in-kernel sk_buff. |
| 2426 | * new fields can only be added to the end of this structure | 2443 | * new fields can only be added to the end of this structure |
| 2427 | */ | 2444 | */ |
| @@ -2456,7 +2473,7 @@ struct __sk_buff { | |||
| 2456 | /* ... here. */ | 2473 | /* ... here. */ |
| 2457 | 2474 | ||
| 2458 | __u32 data_meta; | 2475 | __u32 data_meta; |
| 2459 | struct bpf_flow_keys *flow_keys; | 2476 | __bpf_md_ptr(struct bpf_flow_keys *, flow_keys); |
| 2460 | }; | 2477 | }; |
| 2461 | 2478 | ||
| 2462 | struct bpf_tunnel_key { | 2479 | struct bpf_tunnel_key { |
| @@ -2572,8 +2589,8 @@ enum sk_action { | |||
| 2572 | * be added to the end of this structure | 2589 | * be added to the end of this structure |
| 2573 | */ | 2590 | */ |
| 2574 | struct sk_msg_md { | 2591 | struct sk_msg_md { |
| 2575 | void *data; | 2592 | __bpf_md_ptr(void *, data); |
| 2576 | void *data_end; | 2593 | __bpf_md_ptr(void *, data_end); |
| 2577 | 2594 | ||
| 2578 | __u32 family; | 2595 | __u32 family; |
| 2579 | __u32 remote_ip4; /* Stored in network byte order */ | 2596 | __u32 remote_ip4; /* Stored in network byte order */ |
| @@ -2589,8 +2606,9 @@ struct sk_reuseport_md { | |||
| 2589 | * Start of directly accessible data. It begins from | 2606 | * Start of directly accessible data. It begins from |
| 2590 | * the tcp/udp header. | 2607 | * the tcp/udp header. |
| 2591 | */ | 2608 | */ |
| 2592 | void *data; | 2609 | __bpf_md_ptr(void *, data); |
| 2593 | void *data_end; /* End of directly accessible data */ | 2610 | /* End of directly accessible data */ |
| 2611 | __bpf_md_ptr(void *, data_end); | ||
| 2594 | /* | 2612 | /* |
| 2595 | * Total length of packet (starting from the tcp/udp header). | 2613 | * Total length of packet (starting from the tcp/udp header). |
| 2596 | * Note that the directly accessible bytes (data_end - data) | 2614 | * Note that the directly accessible bytes (data_end - data) |
diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h index 3eb5a4c3d60a..ae366b87426a 100644 --- a/include/uapi/linux/input-event-codes.h +++ b/include/uapi/linux/input-event-codes.h | |||
| @@ -752,6 +752,15 @@ | |||
| 752 | 752 | ||
| 753 | #define ABS_MISC 0x28 | 753 | #define ABS_MISC 0x28 |
| 754 | 754 | ||
| 755 | /* | ||
| 756 | * 0x2e is reserved and should not be used in input drivers. | ||
| 757 | * It was used by HID as ABS_MISC+6 and userspace needs to detect if | ||
| 758 | * the next ABS_* event is correct or is just ABS_MISC + n. | ||
| 759 | * We define here ABS_RESERVED so userspace can rely on it and detect | ||
| 760 | * the situation described above. | ||
| 761 | */ | ||
| 762 | #define ABS_RESERVED 0x2e | ||
| 763 | |||
| 755 | #define ABS_MT_SLOT 0x2f /* MT slot being modified */ | 764 | #define ABS_MT_SLOT 0x2f /* MT slot being modified */ |
| 756 | #define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */ | 765 | #define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */ |
| 757 | #define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */ | 766 | #define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */ |
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index 998983a6e6b7..3dcfc6148f99 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h | |||
| @@ -404,9 +404,6 @@ enum v4l2_mpeg_video_multi_slice_mode { | |||
| 404 | #define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228) | 404 | #define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228) |
| 405 | #define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229) | 405 | #define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229) |
| 406 | 406 | ||
| 407 | #define V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS (V4L2_CID_MPEG_BASE+250) | ||
| 408 | #define V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION (V4L2_CID_MPEG_BASE+251) | ||
| 409 | |||
| 410 | #define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) | 407 | #define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) |
| 411 | #define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) | 408 | #define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) |
| 412 | #define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302) | 409 | #define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302) |
| @@ -1097,69 +1094,4 @@ enum v4l2_detect_md_mode { | |||
| 1097 | #define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3) | 1094 | #define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3) |
| 1098 | #define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4) | 1095 | #define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4) |
| 1099 | 1096 | ||
| 1100 | #define V4L2_MPEG2_PICTURE_CODING_TYPE_I 1 | ||
| 1101 | #define V4L2_MPEG2_PICTURE_CODING_TYPE_P 2 | ||
| 1102 | #define V4L2_MPEG2_PICTURE_CODING_TYPE_B 3 | ||
| 1103 | #define V4L2_MPEG2_PICTURE_CODING_TYPE_D 4 | ||
| 1104 | |||
| 1105 | struct v4l2_mpeg2_sequence { | ||
| 1106 | /* ISO/IEC 13818-2, ITU-T Rec. H.262: Sequence header */ | ||
| 1107 | __u16 horizontal_size; | ||
| 1108 | __u16 vertical_size; | ||
| 1109 | __u32 vbv_buffer_size; | ||
| 1110 | |||
| 1111 | /* ISO/IEC 13818-2, ITU-T Rec. H.262: Sequence extension */ | ||
| 1112 | __u8 profile_and_level_indication; | ||
| 1113 | __u8 progressive_sequence; | ||
| 1114 | __u8 chroma_format; | ||
| 1115 | __u8 pad; | ||
| 1116 | }; | ||
| 1117 | |||
| 1118 | struct v4l2_mpeg2_picture { | ||
| 1119 | /* ISO/IEC 13818-2, ITU-T Rec. H.262: Picture header */ | ||
| 1120 | __u8 picture_coding_type; | ||
| 1121 | |||
| 1122 | /* ISO/IEC 13818-2, ITU-T Rec. H.262: Picture coding extension */ | ||
| 1123 | __u8 f_code[2][2]; | ||
| 1124 | __u8 intra_dc_precision; | ||
| 1125 | __u8 picture_structure; | ||
| 1126 | __u8 top_field_first; | ||
| 1127 | __u8 frame_pred_frame_dct; | ||
| 1128 | __u8 concealment_motion_vectors; | ||
| 1129 | __u8 q_scale_type; | ||
| 1130 | __u8 intra_vlc_format; | ||
| 1131 | __u8 alternate_scan; | ||
| 1132 | __u8 repeat_first_field; | ||
| 1133 | __u8 progressive_frame; | ||
| 1134 | __u8 pad; | ||
| 1135 | }; | ||
| 1136 | |||
| 1137 | struct v4l2_ctrl_mpeg2_slice_params { | ||
| 1138 | __u32 bit_size; | ||
| 1139 | __u32 data_bit_offset; | ||
| 1140 | |||
| 1141 | struct v4l2_mpeg2_sequence sequence; | ||
| 1142 | struct v4l2_mpeg2_picture picture; | ||
| 1143 | |||
| 1144 | /* ISO/IEC 13818-2, ITU-T Rec. H.262: Slice */ | ||
| 1145 | __u8 quantiser_scale_code; | ||
| 1146 | |||
| 1147 | __u8 backward_ref_index; | ||
| 1148 | __u8 forward_ref_index; | ||
| 1149 | __u8 pad; | ||
| 1150 | }; | ||
| 1151 | |||
| 1152 | struct v4l2_ctrl_mpeg2_quantization { | ||
| 1153 | /* ISO/IEC 13818-2, ITU-T Rec. H.262: Quant matrix extension */ | ||
| 1154 | __u8 load_intra_quantiser_matrix; | ||
| 1155 | __u8 load_non_intra_quantiser_matrix; | ||
| 1156 | __u8 load_chroma_intra_quantiser_matrix; | ||
| 1157 | __u8 load_chroma_non_intra_quantiser_matrix; | ||
| 1158 | |||
| 1159 | __u8 intra_quantiser_matrix[64]; | ||
| 1160 | __u8 non_intra_quantiser_matrix[64]; | ||
| 1161 | __u8 chroma_intra_quantiser_matrix[64]; | ||
| 1162 | __u8 chroma_non_intra_quantiser_matrix[64]; | ||
| 1163 | }; | ||
| 1164 | |||
| 1165 | #endif | 1097 | #endif |
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index c8e8ff810190..2ba2ad0e23fb 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h | |||
| @@ -1622,8 +1622,6 @@ struct v4l2_ext_control { | |||
| 1622 | __u8 __user *p_u8; | 1622 | __u8 __user *p_u8; |
| 1623 | __u16 __user *p_u16; | 1623 | __u16 __user *p_u16; |
| 1624 | __u32 __user *p_u32; | 1624 | __u32 __user *p_u32; |
| 1625 | struct v4l2_ctrl_mpeg2_slice_params __user *p_mpeg2_slice_params; | ||
| 1626 | struct v4l2_ctrl_mpeg2_quantization __user *p_mpeg2_quantization; | ||
| 1627 | void __user *ptr; | 1625 | void __user *ptr; |
| 1628 | }; | 1626 | }; |
| 1629 | } __attribute__ ((packed)); | 1627 | } __attribute__ ((packed)); |
| @@ -1669,8 +1667,6 @@ enum v4l2_ctrl_type { | |||
| 1669 | V4L2_CTRL_TYPE_U8 = 0x0100, | 1667 | V4L2_CTRL_TYPE_U8 = 0x0100, |
| 1670 | V4L2_CTRL_TYPE_U16 = 0x0101, | 1668 | V4L2_CTRL_TYPE_U16 = 0x0101, |
| 1671 | V4L2_CTRL_TYPE_U32 = 0x0102, | 1669 | V4L2_CTRL_TYPE_U32 = 0x0102, |
| 1672 | V4L2_CTRL_TYPE_MPEG2_SLICE_PARAMS = 0x0103, | ||
| 1673 | V4L2_CTRL_TYPE_MPEG2_QUANTIZATION = 0x0104, | ||
| 1674 | }; | 1670 | }; |
| 1675 | 1671 | ||
| 1676 | /* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ | 1672 | /* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ |
