File: videodev2.c

package info (click to toggle)
trinity 1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 3,252 kB
  • ctags: 2,738
  • sloc: ansic: 24,011; sh: 322; makefile: 141
file content (148 lines) | stat: -rw-r--r-- 3,449 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <linux/videodev2.h>

#include "utils.h"
#include "ioctls.h"

static const struct ioctl videodev2_ioctls[] = {
	IOCTL(VIDIOC_QUERYCAP),
	IOCTL(VIDIOC_RESERVED),
	IOCTL(VIDIOC_ENUM_FMT),
	IOCTL(VIDIOC_G_FMT),
	IOCTL(VIDIOC_S_FMT),
	IOCTL(VIDIOC_REQBUFS),
	IOCTL(VIDIOC_QUERYBUF),
	IOCTL(VIDIOC_G_FBUF),
	IOCTL(VIDIOC_S_FBUF),
	IOCTL(VIDIOC_OVERLAY),
	IOCTL(VIDIOC_QBUF),
#ifdef VIDIOC_EXPBUF
	IOCTL(VIDIOC_EXPBUF),
#endif
	IOCTL(VIDIOC_DQBUF),
	IOCTL(VIDIOC_STREAMON),
	IOCTL(VIDIOC_STREAMOFF),
	IOCTL(VIDIOC_G_PARM),
	IOCTL(VIDIOC_S_PARM),
	IOCTL(VIDIOC_G_STD),
	IOCTL(VIDIOC_S_STD),
	IOCTL(VIDIOC_ENUMSTD),
	IOCTL(VIDIOC_ENUMINPUT),
	IOCTL(VIDIOC_G_CTRL),
	IOCTL(VIDIOC_S_CTRL),
	IOCTL(VIDIOC_G_TUNER),
	IOCTL(VIDIOC_S_TUNER),
	IOCTL(VIDIOC_G_AUDIO),
	IOCTL(VIDIOC_S_AUDIO),
	IOCTL(VIDIOC_QUERYCTRL),
	IOCTL(VIDIOC_QUERYMENU),
	IOCTL(VIDIOC_G_INPUT),
	IOCTL(VIDIOC_S_INPUT),
	IOCTL(VIDIOC_G_OUTPUT),
	IOCTL(VIDIOC_S_OUTPUT),
	IOCTL(VIDIOC_ENUMOUTPUT),
	IOCTL(VIDIOC_G_AUDOUT),
	IOCTL(VIDIOC_S_AUDOUT),
	IOCTL(VIDIOC_G_MODULATOR),
	IOCTL(VIDIOC_S_MODULATOR),
	IOCTL(VIDIOC_G_FREQUENCY),
	IOCTL(VIDIOC_S_FREQUENCY),
	IOCTL(VIDIOC_CROPCAP),
	IOCTL(VIDIOC_G_CROP),
	IOCTL(VIDIOC_S_CROP),
	IOCTL(VIDIOC_G_JPEGCOMP),
	IOCTL(VIDIOC_S_JPEGCOMP),
	IOCTL(VIDIOC_QUERYSTD),
	IOCTL(VIDIOC_TRY_FMT),
	IOCTL(VIDIOC_ENUMAUDIO),
	IOCTL(VIDIOC_ENUMAUDOUT),
	IOCTL(VIDIOC_G_PRIORITY),
	IOCTL(VIDIOC_S_PRIORITY),
	IOCTL(VIDIOC_G_SLICED_VBI_CAP),
	IOCTL(VIDIOC_LOG_STATUS),
	IOCTL(VIDIOC_G_EXT_CTRLS),
	IOCTL(VIDIOC_S_EXT_CTRLS),
	IOCTL(VIDIOC_TRY_EXT_CTRLS),
	IOCTL(VIDIOC_ENUM_FRAMESIZES),
	IOCTL(VIDIOC_ENUM_FRAMEINTERVALS),
	IOCTL(VIDIOC_G_ENC_INDEX),
	IOCTL(VIDIOC_ENCODER_CMD),
	IOCTL(VIDIOC_TRY_ENCODER_CMD),
	IOCTL(VIDIOC_DBG_S_REGISTER),
	IOCTL(VIDIOC_DBG_G_REGISTER),
#ifdef VIDIOC_DBG_G_CHIP_IDENT
	IOCTL(VIDIOC_DBG_G_CHIP_IDENT),
#endif
	IOCTL(VIDIOC_S_HW_FREQ_SEEK),
#ifdef VIDIOC_ENUM_DV_PRESETS
	IOCTL(VIDIOC_ENUM_DV_PRESETS),
#endif
#ifdef VIDIOC_S_DV_PRESET
	IOCTL(VIDIOC_S_DV_PRESET),
#endif
#ifdef VIDIOC_G_DV_PRESET
	IOCTL(VIDIOC_G_DV_PRESET),
#endif
#ifdef VIDIOC_QUERY_DV_PRESET
	IOCTL(VIDIOC_QUERY_DV_PRESET),
#endif
#ifdef VIDIOC_S_DV_TIMINGS
	IOCTL(VIDIOC_S_DV_TIMINGS),
#endif
#ifdef VIDIOC_G_DV_TIMINGS
	IOCTL(VIDIOC_G_DV_TIMINGS),
#endif
#ifdef VIDIOC_DQEVENT
	IOCTL(VIDIOC_DQEVENT),
#endif
#ifdef VIDIOC_SUBSCRIBE_EVENT
	IOCTL(VIDIOC_SUBSCRIBE_EVENT),
#endif
#ifdef VIDIOC_UNSUBSCRIBE_EVENT
	IOCTL(VIDIOC_UNSUBSCRIBE_EVENT),
#endif
#ifdef VIDIOC_CREATE_BUFS
	IOCTL(VIDIOC_CREATE_BUFS),
#endif
#ifdef VIDIOC_PREPARE_BUF
	IOCTL(VIDIOC_PREPARE_BUF),
#endif
#ifdef VIDIOC_G_SELECTION
	IOCTL(VIDIOC_G_SELECTION),
#endif
#ifdef VIDIOC_S_SELECTION
	IOCTL(VIDIOC_S_SELECTION),
#endif
#ifdef VIDIOC_DECODER_CMD
	IOCTL(VIDIOC_DECODER_CMD),
#endif
#ifdef VIDIOC_TRY_DECODER_CMD
	IOCTL(VIDIOC_TRY_DECODER_CMD),
#endif
#ifdef VIDIOC_ENUM_DV_TIMINGS
	IOCTL(VIDIOC_ENUM_DV_TIMINGS),
#endif
#ifdef VIDIOC_QUERY_DV_TIMINGS
	IOCTL(VIDIOC_QUERY_DV_TIMINGS),
#endif
#ifdef VIDIOC_DV_TIMINGS_CAP
	IOCTL(VIDIOC_DV_TIMINGS_CAP),
#endif
#ifdef VIDIOC_ENUM_FREQ_BANDS
	IOCTL(VIDIOC_ENUM_FREQ_BANDS),
#endif
};

static const char *const videodev2_devs[] = {
	"video4linux",
};

static const struct ioctl_group videodev2_grp = {
	.devtype = DEV_MISC,
	.devs = videodev2_devs,
	.devs_cnt = ARRAY_SIZE(videodev2_devs),
	.sanitise = pick_random_ioctl,
	.ioctls = videodev2_ioctls,
	.ioctls_cnt = ARRAY_SIZE(videodev2_ioctls),
};

REG_IOCTL_GROUP(videodev2_grp)