Home | History | Annotate | Download | only in linux
      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