• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* This file is auto-generated by sync-with-kernel.sh */
2 #include "linux/dvb/dmx.h"
3 #include "linux/dvb/frontend.h"
4 #include "linux/v4l2-subdev.h"
5 #include "linux/videodev2.h"
6 #include "ioctl_32.h"
7 #include "ioctl_64.h"
8 
9 union v4l_parms {
10 	int		i;
11 	unsigned long	ulong;
12 	u_int32_t	u32;
13 	v4l2_std_id	id;
14 	enum v4l2_priority prio;
15 
16 	/* ioctl structs */
17 	struct dmx_buffer			p_dmx_buffer;
18 	struct dmx_exportbuffer			p_dmx_exportbuffer;
19 	struct dmx_pes_filter_params		p_dmx_pes_filter_params;
20 	struct dmx_requestbuffers		p_dmx_requestbuffers;
21 	struct dmx_sct_filter_params		p_dmx_sct_filter_params;
22 	struct dmx_stc				p_dmx_stc;
23 	struct dtv_properties			p_dtv_properties;
24 	struct dvb_diseqc_master_cmd		p_dvb_diseqc_master_cmd;
25 	struct dvb_diseqc_slave_reply		p_dvb_diseqc_slave_reply;
26 	struct dvb_frontend_event		p_dvb_frontend_event;
27 	struct dvb_frontend_info		p_dvb_frontend_info;
28 	struct dvb_frontend_parameters		p_dvb_frontend_parameters;
29 	struct v4l2_audio			p_v4l2_audio;
30 	struct v4l2_audioout			p_v4l2_audioout;
31 	struct v4l2_buffer			p_v4l2_buffer;
32 	struct v4l2_capability			p_v4l2_capability;
33 	struct v4l2_control			p_v4l2_control;
34 	struct v4l2_create_buffers		p_v4l2_create_buffers;
35 	struct v4l2_crop			p_v4l2_crop;
36 	struct v4l2_cropcap			p_v4l2_cropcap;
37 	struct v4l2_dbg_chip_info		p_v4l2_dbg_chip_info;
38 	struct v4l2_dbg_register		p_v4l2_dbg_register;
39 	struct v4l2_decoder_cmd			p_v4l2_decoder_cmd;
40 	struct v4l2_dv_timings			p_v4l2_dv_timings;
41 	struct v4l2_dv_timings_cap		p_v4l2_dv_timings_cap;
42 	struct v4l2_edid			p_v4l2_edid;
43 	struct v4l2_enc_idx			p_v4l2_enc_idx;
44 	struct v4l2_encoder_cmd			p_v4l2_encoder_cmd;
45 	struct v4l2_enum_dv_timings		p_v4l2_enum_dv_timings;
46 	struct v4l2_event			p_v4l2_event;
47 	struct v4l2_event_subscription		p_v4l2_event_subscription;
48 	struct v4l2_exportbuffer		p_v4l2_exportbuffer;
49 	struct v4l2_ext_controls		p_v4l2_ext_controls;
50 	struct v4l2_fmtdesc			p_v4l2_fmtdesc;
51 	struct v4l2_format			p_v4l2_format;
52 	struct v4l2_framebuffer			p_v4l2_framebuffer;
53 	struct v4l2_frequency			p_v4l2_frequency;
54 	struct v4l2_frequency_band		p_v4l2_frequency_band;
55 	struct v4l2_frmivalenum			p_v4l2_frmivalenum;
56 	struct v4l2_frmsizeenum			p_v4l2_frmsizeenum;
57 	struct v4l2_hw_freq_seek		p_v4l2_hw_freq_seek;
58 	struct v4l2_input			p_v4l2_input;
59 	struct v4l2_jpegcompression		p_v4l2_jpegcompression;
60 	struct v4l2_modulator			p_v4l2_modulator;
61 	struct v4l2_output			p_v4l2_output;
62 	struct v4l2_query_ext_ctrl		p_v4l2_query_ext_ctrl;
63 	struct v4l2_queryctrl			p_v4l2_queryctrl;
64 	struct v4l2_querymenu			p_v4l2_querymenu;
65 	struct v4l2_remove_buffers		p_v4l2_remove_buffers;
66 	struct v4l2_requestbuffers		p_v4l2_requestbuffers;
67 	struct v4l2_selection			p_v4l2_selection;
68 	struct v4l2_sliced_vbi_cap		p_v4l2_sliced_vbi_cap;
69 	struct v4l2_standard			p_v4l2_standard;
70 	struct v4l2_streamparm			p_v4l2_streamparm;
71 	struct v4l2_subdev_capability		p_v4l2_subdev_capability;
72 	struct v4l2_subdev_client_capability	p_v4l2_subdev_client_capability;
73 	struct v4l2_subdev_crop			p_v4l2_subdev_crop;
74 	struct v4l2_subdev_format		p_v4l2_subdev_format;
75 	struct v4l2_subdev_frame_interval	p_v4l2_subdev_frame_interval;
76 	struct v4l2_subdev_frame_interval_enum	p_v4l2_subdev_frame_interval_enum;
77 	struct v4l2_subdev_frame_size_enum	p_v4l2_subdev_frame_size_enum;
78 	struct v4l2_subdev_mbus_code_enum	p_v4l2_subdev_mbus_code_enum;
79 	struct v4l2_subdev_routing		p_v4l2_subdev_routing;
80 	struct v4l2_subdev_selection		p_v4l2_subdev_selection;
81 	struct v4l2_tuner			p_v4l2_tuner;
82 };
83 #define ioc(type, cmd) { CMD32_##cmd, CMD64_##cmd, cmd, #type, #cmd }
84 
85 /* All defined ioctls */
86 static const struct {
87 	u_int32_t cmd32;	/* The 32-bit ioctl value, should never change */
88 	u_int32_t cmd64;	/* The 64-bit ioctl value, should never change */
89 	u_int32_t cmd;
90 	const char *type;
91 	const char *name;
92 } ioctls[] = {
93 	/* ioctl structs */
94 	ioc(demux, DMX_ADD_PID),							/*  __u16 */
95 	ioc(demux, DMX_DQBUF),								/*  struct dmx_buffer */
96 	ioc(demux, DMX_EXPBUF),								/*  struct dmx_exportbuffer */
97 	ioc(demux, DMX_GET_PES_PIDS),							/*  __u16[5] */
98 	ioc(demux, DMX_GET_STC),							/*  struct dmx_stc */
99 	ioc(demux, DMX_QBUF),								/*  struct dmx_buffer */
100 	ioc(demux, DMX_QUERYBUF),							/*  struct dmx_buffer */
101 	ioc(demux, DMX_REMOVE_PID),							/*  __u16 */
102 	ioc(demux, DMX_REQBUFS),							/*  struct dmx_requestbuffers */
103 	ioc(demux, DMX_SET_BUFFER_SIZE),						/*  void */
104 	ioc(demux, DMX_SET_FILTER),							/*  struct dmx_sct_filter_params */
105 	ioc(demux, DMX_SET_PES_FILTER),							/*  struct dmx_pes_filter_params */
106 	ioc(demux, DMX_START),								/*  void */
107 	ioc(demux, DMX_STOP),								/*  void */
108 	ioc(frontend, FE_DISEQC_RECV_SLAVE_REPLY),					/*  struct dvb_diseqc_slave_reply */
109 	ioc(frontend, FE_DISEQC_RESET_OVERLOAD),					/*  void */
110 	ioc(frontend, FE_DISEQC_SEND_BURST),						/*  void */
111 	ioc(frontend, FE_DISEQC_SEND_MASTER_CMD),					/*  struct dvb_diseqc_master_cmd */
112 	ioc(frontend, FE_DISHNETWORK_SEND_LEGACY_CMD),					/*  void */
113 	ioc(frontend, FE_ENABLE_HIGH_LNB_VOLTAGE),					/*  void */
114 	ioc(frontend, FE_GET_EVENT),							/*  struct dvb_frontend_event */
115 	ioc(frontend, FE_GET_FRONTEND),							/*  struct dvb_frontend_parameters */
116 	ioc(frontend, FE_GET_INFO),							/*  struct dvb_frontend_info */
117 	ioc(frontend, FE_GET_PROPERTY),							/*  struct dtv_properties */
118 	ioc(frontend, FE_READ_BER),							/*  __u32 */
119 	ioc(frontend, FE_READ_SIGNAL_STRENGTH),						/*  __u16 */
120 	ioc(frontend, FE_READ_SNR),							/*  __u16 */
121 	ioc(frontend, FE_READ_STATUS),							/*  fe_status_t */
122 	ioc(frontend, FE_READ_UNCORRECTED_BLOCKS),					/*  __u32 */
123 	ioc(frontend, FE_SET_FRONTEND),							/*  struct dvb_frontend_parameters */
124 	ioc(frontend, FE_SET_FRONTEND_TUNE_MODE),					/*  void */
125 	ioc(frontend, FE_SET_PROPERTY),							/*  struct dtv_properties */
126 	ioc(frontend, FE_SET_TONE),							/*  void */
127 	ioc(frontend, FE_SET_VOLTAGE),							/*  void */
128 	ioc(video, VIDIOC_CREATE_BUFS),							/*  struct v4l2_create_buffers */
129 	ioc(video, VIDIOC_CROPCAP),							/*  struct v4l2_cropcap */
130 	ioc(video, VIDIOC_DBG_G_CHIP_INFO),						/*  struct v4l2_dbg_chip_info */
131 	ioc(video, VIDIOC_DBG_G_REGISTER),						/*  struct v4l2_dbg_register */
132 	ioc(video, VIDIOC_DBG_S_REGISTER),						/*  struct v4l2_dbg_register */
133 	ioc(video, VIDIOC_DECODER_CMD),							/*  struct v4l2_decoder_cmd */
134 	ioc(video, VIDIOC_DQBUF),							/*  struct v4l2_buffer */
135 	ioc(video, VIDIOC_DQEVENT),							/*  struct v4l2_event */
136 	ioc(video, VIDIOC_DV_TIMINGS_CAP),						/*  struct v4l2_dv_timings_cap */
137 	ioc(video, VIDIOC_ENCODER_CMD),							/*  struct v4l2_encoder_cmd */
138 	ioc(video, VIDIOC_ENUMAUDIO),							/*  struct v4l2_audio */
139 	ioc(video, VIDIOC_ENUMAUDOUT),							/*  struct v4l2_audioout */
140 	ioc(video, VIDIOC_ENUMINPUT),							/*  struct v4l2_input */
141 	ioc(video, VIDIOC_ENUMOUTPUT),							/*  struct v4l2_output */
142 	ioc(video, VIDIOC_ENUMSTD),							/*  struct v4l2_standard */
143 	ioc(video, VIDIOC_ENUM_DV_TIMINGS),						/*  struct v4l2_enum_dv_timings */
144 	ioc(video, VIDIOC_ENUM_FMT),							/*  struct v4l2_fmtdesc */
145 	ioc(video, VIDIOC_ENUM_FRAMEINTERVALS),						/*  struct v4l2_frmivalenum */
146 	ioc(video, VIDIOC_ENUM_FRAMESIZES),						/*  struct v4l2_frmsizeenum */
147 	ioc(video, VIDIOC_ENUM_FREQ_BANDS),						/*  struct v4l2_frequency_band */
148 	ioc(video, VIDIOC_EXPBUF),							/*  struct v4l2_exportbuffer */
149 	ioc(video, VIDIOC_G_AUDIO),							/*  struct v4l2_audio */
150 	ioc(video, VIDIOC_G_AUDOUT),							/*  struct v4l2_audioout */
151 	ioc(video, VIDIOC_G_CROP),							/*  struct v4l2_crop */
152 	ioc(video, VIDIOC_G_CTRL),							/*  struct v4l2_control */
153 	ioc(video, VIDIOC_G_DV_TIMINGS),						/*  struct v4l2_dv_timings */
154 	ioc(video, VIDIOC_G_EDID),							/*  struct v4l2_edid */
155 	ioc(video, VIDIOC_G_ENC_INDEX),							/*  struct v4l2_enc_idx */
156 	ioc(video, VIDIOC_G_EXT_CTRLS),							/*  struct v4l2_ext_controls */
157 	ioc(video, VIDIOC_G_FBUF),							/*  struct v4l2_framebuffer */
158 	ioc(video, VIDIOC_G_FMT),							/*  struct v4l2_format */
159 	ioc(video, VIDIOC_G_FREQUENCY),							/*  struct v4l2_frequency */
160 	ioc(video, VIDIOC_G_INPUT),							/*  int */
161 	ioc(video, VIDIOC_G_JPEGCOMP),							/*  struct v4l2_jpegcompression */
162 	ioc(video, VIDIOC_G_MODULATOR),							/*  struct v4l2_modulator */
163 	ioc(video, VIDIOC_G_OUTPUT),							/*  int */
164 	ioc(video, VIDIOC_G_PARM),							/*  struct v4l2_streamparm */
165 	ioc(video, VIDIOC_G_PRIORITY),							/*  __u32 */
166 	ioc(video, VIDIOC_G_SELECTION),							/*  struct v4l2_selection */
167 	ioc(video, VIDIOC_G_SLICED_VBI_CAP),						/*  struct v4l2_sliced_vbi_cap */
168 	ioc(video, VIDIOC_G_STD),							/*  v4l2_std_id */
169 	ioc(video, VIDIOC_G_TUNER),							/*  struct v4l2_tuner */
170 	ioc(video, VIDIOC_LOG_STATUS),							/*  void */
171 	ioc(video, VIDIOC_OVERLAY),							/*  int */
172 	ioc(video, VIDIOC_PREPARE_BUF),							/*  struct v4l2_buffer */
173 	ioc(video, VIDIOC_QBUF),							/*  struct v4l2_buffer */
174 	ioc(video, VIDIOC_QUERYBUF),							/*  struct v4l2_buffer */
175 	ioc(video, VIDIOC_QUERYCAP),							/*  struct v4l2_capability */
176 	ioc(video, VIDIOC_QUERYCTRL),							/*  struct v4l2_queryctrl */
177 	ioc(video, VIDIOC_QUERYMENU),							/*  struct v4l2_querymenu */
178 	ioc(video, VIDIOC_QUERYSTD),							/*  v4l2_std_id */
179 	ioc(video, VIDIOC_QUERY_DV_TIMINGS),						/*  struct v4l2_dv_timings */
180 	ioc(video, VIDIOC_QUERY_EXT_CTRL),						/*  struct v4l2_query_ext_ctrl */
181 	ioc(video, VIDIOC_REMOVE_BUFS),							/*  struct v4l2_remove_buffers */
182 	ioc(video, VIDIOC_REQBUFS),							/*  struct v4l2_requestbuffers */
183 	ioc(video, VIDIOC_STREAMOFF),							/*  int */
184 	ioc(video, VIDIOC_STREAMON),							/*  int */
185 	ioc(subdev, VIDIOC_SUBDEV_DV_TIMINGS_CAP),					/*  struct v4l2_dv_timings_cap */
186 	ioc(subdev, VIDIOC_SUBDEV_ENUMSTD),						/*  struct v4l2_standard */
187 	ioc(subdev, VIDIOC_SUBDEV_ENUM_DV_TIMINGS),					/*  struct v4l2_enum_dv_timings */
188 	ioc(subdev, VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL),					/*  struct v4l2_subdev_frame_interval_enum */
189 	ioc(subdev, VIDIOC_SUBDEV_ENUM_FRAME_SIZE),					/*  struct v4l2_subdev_frame_size_enum */
190 	ioc(subdev, VIDIOC_SUBDEV_ENUM_MBUS_CODE),					/*  struct v4l2_subdev_mbus_code_enum */
191 	ioc(subdev, VIDIOC_SUBDEV_G_CLIENT_CAP),					/*  struct v4l2_subdev_client_capability */
192 	ioc(subdev, VIDIOC_SUBDEV_G_CROP),						/*  struct v4l2_subdev_crop */
193 	ioc(subdev, VIDIOC_SUBDEV_G_DV_TIMINGS),					/*  struct v4l2_dv_timings */
194 	ioc(subdev, VIDIOC_SUBDEV_G_EDID),						/*  struct v4l2_edid */
195 	ioc(subdev, VIDIOC_SUBDEV_G_FMT),						/*  struct v4l2_subdev_format */
196 	ioc(subdev, VIDIOC_SUBDEV_G_FRAME_INTERVAL),					/*  struct v4l2_subdev_frame_interval */
197 	ioc(subdev, VIDIOC_SUBDEV_G_ROUTING),						/*  struct v4l2_subdev_routing */
198 	ioc(subdev, VIDIOC_SUBDEV_G_SELECTION),						/*  struct v4l2_subdev_selection */
199 	ioc(subdev, VIDIOC_SUBDEV_G_STD),						/*  v4l2_std_id */
200 	ioc(subdev, VIDIOC_SUBDEV_QUERYCAP),						/*  struct v4l2_subdev_capability */
201 	ioc(subdev, VIDIOC_SUBDEV_QUERYSTD),						/*  v4l2_std_id */
202 	ioc(subdev, VIDIOC_SUBDEV_QUERY_DV_TIMINGS),					/*  struct v4l2_dv_timings */
203 	ioc(subdev, VIDIOC_SUBDEV_S_CLIENT_CAP),					/*  struct v4l2_subdev_client_capability */
204 	ioc(subdev, VIDIOC_SUBDEV_S_CROP),						/*  struct v4l2_subdev_crop */
205 	ioc(subdev, VIDIOC_SUBDEV_S_DV_TIMINGS),					/*  struct v4l2_dv_timings */
206 	ioc(subdev, VIDIOC_SUBDEV_S_EDID),						/*  struct v4l2_edid */
207 	ioc(subdev, VIDIOC_SUBDEV_S_FMT),						/*  struct v4l2_subdev_format */
208 	ioc(subdev, VIDIOC_SUBDEV_S_FRAME_INTERVAL),					/*  struct v4l2_subdev_frame_interval */
209 	ioc(subdev, VIDIOC_SUBDEV_S_ROUTING),						/*  struct v4l2_subdev_routing */
210 	ioc(subdev, VIDIOC_SUBDEV_S_SELECTION),						/*  struct v4l2_subdev_selection */
211 	ioc(subdev, VIDIOC_SUBDEV_S_STD),						/*  v4l2_std_id */
212 	ioc(video, VIDIOC_SUBSCRIBE_EVENT),						/*  struct v4l2_event_subscription */
213 	ioc(video, VIDIOC_S_AUDIO),							/*  struct v4l2_audio */
214 	ioc(video, VIDIOC_S_AUDOUT),							/*  struct v4l2_audioout */
215 	ioc(video, VIDIOC_S_CROP),							/*  struct v4l2_crop */
216 	ioc(video, VIDIOC_S_CTRL),							/*  struct v4l2_control */
217 	ioc(video, VIDIOC_S_DV_TIMINGS),						/*  struct v4l2_dv_timings */
218 	ioc(video, VIDIOC_S_EDID),							/*  struct v4l2_edid */
219 	ioc(video, VIDIOC_S_EXT_CTRLS),							/*  struct v4l2_ext_controls */
220 	ioc(video, VIDIOC_S_FBUF),							/*  struct v4l2_framebuffer */
221 	ioc(video, VIDIOC_S_FMT),							/*  struct v4l2_format */
222 	ioc(video, VIDIOC_S_FREQUENCY),							/*  struct v4l2_frequency */
223 	ioc(video, VIDIOC_S_HW_FREQ_SEEK),						/*  struct v4l2_hw_freq_seek */
224 	ioc(video, VIDIOC_S_INPUT),							/*  int */
225 	ioc(video, VIDIOC_S_JPEGCOMP),							/*  struct v4l2_jpegcompression */
226 	ioc(video, VIDIOC_S_MODULATOR),							/*  struct v4l2_modulator */
227 	ioc(video, VIDIOC_S_OUTPUT),							/*  int */
228 	ioc(video, VIDIOC_S_PARM),							/*  struct v4l2_streamparm */
229 	ioc(video, VIDIOC_S_PRIORITY),							/*  __u32 */
230 	ioc(video, VIDIOC_S_SELECTION),							/*  struct v4l2_selection */
231 	ioc(video, VIDIOC_S_STD),							/*  v4l2_std_id */
232 	ioc(video, VIDIOC_S_TUNER),							/*  struct v4l2_tuner */
233 	ioc(video, VIDIOC_TRY_DECODER_CMD),						/*  struct v4l2_decoder_cmd */
234 	ioc(video, VIDIOC_TRY_ENCODER_CMD),						/*  struct v4l2_encoder_cmd */
235 	ioc(video, VIDIOC_TRY_EXT_CTRLS),						/*  struct v4l2_ext_controls */
236 	ioc(video, VIDIOC_TRY_FMT),							/*  struct v4l2_format */
237 	ioc(video, VIDIOC_UNSUBSCRIBE_EVENT),						/*  struct v4l2_event_subscription */
238 };
239 #define S_IOCTLS sizeof(ioctls)/sizeof(ioctls[0])
240