1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __LINUX_UVCVIDEO_H_
20 #define __LINUX_UVCVIDEO_H_
21 #include <linux/ioctl.h>
22 #include <linux/types.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define UVC_CTRL_DATA_TYPE_RAW 0
25 #define UVC_CTRL_DATA_TYPE_SIGNED 1
26 #define UVC_CTRL_DATA_TYPE_UNSIGNED 2
27 #define UVC_CTRL_DATA_TYPE_BOOLEAN 3
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define UVC_CTRL_DATA_TYPE_ENUM 4
30 #define UVC_CTRL_DATA_TYPE_BITMASK 5
31 #define UVC_CTRL_FLAG_SET_CUR (1 << 0)
32 #define UVC_CTRL_FLAG_GET_CUR (1 << 1)
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define UVC_CTRL_FLAG_GET_MIN (1 << 2)
35 #define UVC_CTRL_FLAG_GET_MAX (1 << 3)
36 #define UVC_CTRL_FLAG_GET_RES (1 << 4)
37 #define UVC_CTRL_FLAG_GET_DEF (1 << 5)
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define UVC_CTRL_FLAG_RESTORE (1 << 6)
40 #define UVC_CTRL_FLAG_AUTO_UPDATE (1 << 7)
41 #define UVC_CTRL_FLAG_GET_RANGE (UVC_CTRL_FLAG_GET_CUR | UVC_CTRL_FLAG_GET_MIN | UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | UVC_CTRL_FLAG_GET_DEF)
42 struct uvc_menu_info {
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   __u32 value;
45   __u8 name[32];
46 };
47 struct uvc_xu_control_mapping {
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   __u32 id;
50   __u8 name[32];
51   __u8 entity[16];
52   __u8 selector;
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   __u8 size;
55   __u8 offset;
56   __u32 v4l2_type;
57   __u32 data_type;
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   struct uvc_menu_info __user * menu_info;
60   __u32 menu_count;
61   __u32 reserved[4];
62 };
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 struct uvc_xu_control_query {
65   __u8 unit;
66   __u8 selector;
67   __u8 query;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   __u16 size;
70   __u8 __user * data;
71 };
72 #define UVCIOC_CTRL_MAP _IOWR('u', 0x20, struct uvc_xu_control_mapping)
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 #define UVCIOC_CTRL_QUERY _IOWR('u', 0x21, struct uvc_xu_control_query)
75 #endif
76