• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #define UVC_CTRL_DATA_TYPE_RAW 0
24 #define UVC_CTRL_DATA_TYPE_SIGNED 1
25 #define UVC_CTRL_DATA_TYPE_UNSIGNED 2
26 #define UVC_CTRL_DATA_TYPE_BOOLEAN 3
27 #define UVC_CTRL_DATA_TYPE_ENUM 4
28 #define UVC_CTRL_DATA_TYPE_BITMASK 5
29 #define UVC_CTRL_FLAG_SET_CUR (1 << 0)
30 #define UVC_CTRL_FLAG_GET_CUR (1 << 1)
31 #define UVC_CTRL_FLAG_GET_MIN (1 << 2)
32 #define UVC_CTRL_FLAG_GET_MAX (1 << 3)
33 #define UVC_CTRL_FLAG_GET_RES (1 << 4)
34 #define UVC_CTRL_FLAG_GET_DEF (1 << 5)
35 #define UVC_CTRL_FLAG_RESTORE (1 << 6)
36 #define UVC_CTRL_FLAG_AUTO_UPDATE (1 << 7)
37 #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)
38 struct uvc_menu_info {
39   __u32 value;
40   __u8 name[32];
41 };
42 struct uvc_xu_control_mapping {
43   __u32 id;
44   __u8 name[32];
45   __u8 entity[16];
46   __u8 selector;
47   __u8 size;
48   __u8 offset;
49   __u32 v4l2_type;
50   __u32 data_type;
51   struct uvc_menu_info __user * menu_info;
52   __u32 menu_count;
53   __u32 reserved[4];
54 };
55 struct uvc_xu_control_query {
56   __u8 unit;
57   __u8 selector;
58   __u8 query;
59   __u16 size;
60   __u8 __user * data;
61 };
62 #define UVCIOC_CTRL_MAP _IOWR('u', 0x20, struct uvc_xu_control_mapping)
63 #define UVCIOC_CTRL_QUERY _IOWR('u', 0x21, struct uvc_xu_control_query)
64 #endif
65