OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [uvcvideo.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
#ifndef __LINUX_UVCVIDEO_H_
2
#define __LINUX_UVCVIDEO_H_
3
 
4
#include <linux/ioctl.h>
5
#include <linux/types.h>
6
 
7
/*
8
 * Dynamic controls
9
 */
10
 
11
/* Data types for UVC control data */
12
#define UVC_CTRL_DATA_TYPE_RAW          0
13
#define UVC_CTRL_DATA_TYPE_SIGNED       1
14
#define UVC_CTRL_DATA_TYPE_UNSIGNED     2
15
#define UVC_CTRL_DATA_TYPE_BOOLEAN      3
16
#define UVC_CTRL_DATA_TYPE_ENUM         4
17
#define UVC_CTRL_DATA_TYPE_BITMASK      5
18
 
19
/* Control flags */
20
#define UVC_CTRL_FLAG_SET_CUR           (1 << 0)
21
#define UVC_CTRL_FLAG_GET_CUR           (1 << 1)
22
#define UVC_CTRL_FLAG_GET_MIN           (1 << 2)
23
#define UVC_CTRL_FLAG_GET_MAX           (1 << 3)
24
#define UVC_CTRL_FLAG_GET_RES           (1 << 4)
25
#define UVC_CTRL_FLAG_GET_DEF           (1 << 5)
26
/* Control should be saved at suspend and restored at resume. */
27
#define UVC_CTRL_FLAG_RESTORE           (1 << 6)
28
/* Control can be updated by the camera. */
29
#define UVC_CTRL_FLAG_AUTO_UPDATE       (1 << 7)
30
 
31
#define UVC_CTRL_FLAG_GET_RANGE \
32
        (UVC_CTRL_FLAG_GET_CUR | UVC_CTRL_FLAG_GET_MIN | \
33
         UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | \
34
         UVC_CTRL_FLAG_GET_DEF)
35
 
36
struct uvc_menu_info {
37
        __u32 value;
38
        __u8 name[32];
39
};
40
 
41
struct uvc_xu_control_mapping {
42
        __u32 id;
43
        __u8 name[32];
44
        __u8 entity[16];
45
        __u8 selector;
46
 
47
        __u8 size;
48
        __u8 offset;
49
        __u32 v4l2_type;
50
        __u32 data_type;
51
 
52
        struct uvc_menu_info *menu_info;
53
        __u32 menu_count;
54
 
55
        __u32 reserved[4];
56
};
57
 
58
struct uvc_xu_control_query {
59
        __u8 unit;
60
        __u8 selector;
61
        __u8 query;             /* Video Class-Specific Request Code, */
62
                                /* defined in linux/usb/video.h A.8.  */
63
        __u16 size;
64
        __u8 *data;
65
};
66
 
67
#define UVCIOC_CTRL_MAP         _IOWR('u', 0x20, struct uvc_xu_control_mapping)
68
#define UVCIOC_CTRL_QUERY       _IOWR('u', 0x21, struct uvc_xu_control_query)
69
 
70
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.