xref: /aosp_15_r20/prebuilts/build-tools/sysroots/arm-unknown-linux-musleabihf/include/linux/uvcvideo.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker /*
2*cda5da8dSAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*cda5da8dSAndroid Build Coastguard Worker  *
4*cda5da8dSAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*cda5da8dSAndroid Build Coastguard Worker  * for more information.
6*cda5da8dSAndroid Build Coastguard Worker  */
7*cda5da8dSAndroid Build Coastguard Worker #ifndef __LINUX_UVCVIDEO_H_
8*cda5da8dSAndroid Build Coastguard Worker #define __LINUX_UVCVIDEO_H_
9*cda5da8dSAndroid Build Coastguard Worker #include <linux/ioctl.h>
10*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h>
11*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_DATA_TYPE_RAW 0
12*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_DATA_TYPE_SIGNED 1
13*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_DATA_TYPE_UNSIGNED 2
14*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_DATA_TYPE_BOOLEAN 3
15*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_DATA_TYPE_ENUM 4
16*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_DATA_TYPE_BITMASK 5
17*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_FLAG_SET_CUR (1 << 0)
18*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_FLAG_GET_CUR (1 << 1)
19*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_FLAG_GET_MIN (1 << 2)
20*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_FLAG_GET_MAX (1 << 3)
21*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_FLAG_GET_RES (1 << 4)
22*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_FLAG_GET_DEF (1 << 5)
23*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_FLAG_RESTORE (1 << 6)
24*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_FLAG_AUTO_UPDATE (1 << 7)
25*cda5da8dSAndroid Build Coastguard Worker #define UVC_CTRL_FLAG_ASYNCHRONOUS (1 << 8)
26*cda5da8dSAndroid Build Coastguard Worker #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)
27*cda5da8dSAndroid Build Coastguard Worker #define UVC_MENU_NAME_LEN 32
28*cda5da8dSAndroid Build Coastguard Worker struct uvc_menu_info {
29*cda5da8dSAndroid Build Coastguard Worker   __u32 value;
30*cda5da8dSAndroid Build Coastguard Worker   __u8 name[UVC_MENU_NAME_LEN];
31*cda5da8dSAndroid Build Coastguard Worker };
32*cda5da8dSAndroid Build Coastguard Worker struct uvc_xu_control_mapping {
33*cda5da8dSAndroid Build Coastguard Worker   __u32 id;
34*cda5da8dSAndroid Build Coastguard Worker   __u8 name[32];
35*cda5da8dSAndroid Build Coastguard Worker   __u8 entity[16];
36*cda5da8dSAndroid Build Coastguard Worker   __u8 selector;
37*cda5da8dSAndroid Build Coastguard Worker   __u8 size;
38*cda5da8dSAndroid Build Coastguard Worker   __u8 offset;
39*cda5da8dSAndroid Build Coastguard Worker   __u32 v4l2_type;
40*cda5da8dSAndroid Build Coastguard Worker   __u32 data_type;
41*cda5da8dSAndroid Build Coastguard Worker   struct uvc_menu_info  * menu_info;
42*cda5da8dSAndroid Build Coastguard Worker   __u32 menu_count;
43*cda5da8dSAndroid Build Coastguard Worker   __u32 reserved[4];
44*cda5da8dSAndroid Build Coastguard Worker };
45*cda5da8dSAndroid Build Coastguard Worker struct uvc_xu_control_query {
46*cda5da8dSAndroid Build Coastguard Worker   __u8 unit;
47*cda5da8dSAndroid Build Coastguard Worker   __u8 selector;
48*cda5da8dSAndroid Build Coastguard Worker   __u8 query;
49*cda5da8dSAndroid Build Coastguard Worker   __u16 size;
50*cda5da8dSAndroid Build Coastguard Worker   __u8  * data;
51*cda5da8dSAndroid Build Coastguard Worker };
52*cda5da8dSAndroid Build Coastguard Worker #define UVCIOC_CTRL_MAP _IOWR('u', 0x20, struct uvc_xu_control_mapping)
53*cda5da8dSAndroid Build Coastguard Worker #define UVCIOC_CTRL_QUERY _IOWR('u', 0x21, struct uvc_xu_control_query)
54*cda5da8dSAndroid Build Coastguard Worker struct uvc_meta_buf {
55*cda5da8dSAndroid Build Coastguard Worker   __u64 ns;
56*cda5da8dSAndroid Build Coastguard Worker   __u16 sof;
57*cda5da8dSAndroid Build Coastguard Worker   __u8 length;
58*cda5da8dSAndroid Build Coastguard Worker   __u8 flags;
59*cda5da8dSAndroid Build Coastguard Worker   __u8 buf[];
60*cda5da8dSAndroid Build Coastguard Worker } __attribute__((__packed__));
61*cda5da8dSAndroid Build Coastguard Worker #endif
62