From 8d8cfca38a560e38de8c4759edea90352fe9429f Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Mon, 4 Feb 2013 17:59:11 -0200 Subject: [PATCH] ioctl-test: expand it to also test DVB frontend/demux Signed-off-by: Mauro Carvalho Chehab --- contrib/test/gen_ioctl_list.pl | 50 +++++--- contrib/test/ioctl-test.c | 4 + contrib/test/ioctl-test.h | 278 ++++++++++++++++++++++++----------------- contrib/test/ioctl_32.h | 31 +++++ contrib/test/ioctl_64.h | 31 +++++ 5 files changed, 258 insertions(+), 136 deletions(-) diff --git a/contrib/test/gen_ioctl_list.pl b/contrib/test/gen_ioctl_list.pl index f390f74..d7033fe 100755 --- a/contrib/test/gen_ioctl_list.pl +++ b/contrib/test/gen_ioctl_list.pl @@ -3,11 +3,14 @@ use strict; my %headers = ( "video" => "videodev2.h", + "frontend" => "dvb/frontend.h", + "demux" => "dvb/dmx.h", ); my %structs; my %ioc; -my $maxsize = 0; +my $size_ioc = 0; +my $size_struct = 0; sub print_union() { @@ -17,12 +20,12 @@ sub print_union() printf "\tu_int32_t u32;\n"; printf "\tv4l2_std_id id;\n"; printf "\tenum v4l2_priority prio;\n"; - printf "\n\t/* V4L2 structs */\n"; - foreach my $s (keys %structs) { + printf "\n\t/* ioctl structs */\n"; + foreach my $s (sort keys %structs) { next if (!($s =~ m/struct/)); $s =~ s/struct\s*//; - my $ntabs = ($maxsize - length($s) - 7) / 8; + my $ntabs = ($size_struct - length($s) - 7) / 8; my $tab = ""; for (my $i = 0; $i < $ntabs; $i++) { $tab .= "\t"; @@ -36,23 +39,30 @@ sub print_union() sub print_ioc() { - printf "#define ioc(cmd) { CMD32_##cmd, CMD64_##cmd, cmd, #cmd }\n"; + printf "#define ioc(type, cmd) { CMD32_##cmd, CMD64_##cmd, cmd, #type, #cmd }\n"; printf "\n/* All defined ioctls */\n"; printf "static const struct {\n"; printf "\tu_int32_t cmd32;\t/* The 32-bit ioctl value, should never change */\n"; printf "\tu_int32_t cmd64;\t/* The 64-bit ioctl value, should never change */\n"; printf "\tu_int32_t cmd;\n"; + printf "\tconst char *type;\n"; printf "\tconst char *name;\n"; printf "} ioctls[] = {\n"; - printf "\t/* V4L2 ioctls */\n"; - foreach my $ioctl (keys %ioc) { - my $ntabs = ($maxsize - length($ioctl) - 6) / 8; + printf "\t/* ioctl structs */\n"; + foreach my $ioctl (sort keys %ioc) { + my $struct = $ioc{$ioctl}; + $struct =~ s/.*\://; + + my $type = $ioc{$ioctl}; + $type =~ s/\:.*//; + + my $ntabs = ($size_ioc - 8 - length($ioctl) - length($type)) / 8; my $tab = ""; for (my $i = 0; $i < $ntabs; $i++) { $tab .= "\t"; } - printf "\tioc(%s),%s/* %s */\n", $ioctl, $tab, $ioc{$ioctl}; + printf "\tioc(%s, %s),%s/* %s */\n", $type, $ioctl, $tab, $struct; } printf "};\n"; printf "#define S_IOCTLS sizeof(ioctls)/sizeof(ioctls[0])\n"; @@ -60,26 +70,30 @@ sub print_ioc() printf "/* This file is auto-generated by make sync-with-kernel */\n"; -foreach my $h (keys %headers) { - printf "#include \"linux/%s\"\n\n", $headers{$h}; +foreach my $h (sort keys %headers) { + printf "#include \"linux/%s\"\n", $headers{$h}; open IN, "../../include/linux/" . $headers{$h}; while () { if (m/\#define\s+([A-Z][A-Z0-9_]+)\s+\_IO.+\(.*\,\s*([^\)]+)\)/) { $structs{$2} = 1; - $ioc{$1} = $2; - if ($maxsize < length($1)) { - $maxsize = length($1); + $ioc{$1} = "$h: $2"; + if ($size_ioc < length($1)) { + $size_ioc = length($1); + } + if ($size_struct < length($2)) { + $size_struct = length($2); } } if (m/\#define\s+([A-Z][A-Z0-9_]+)\s+\_IO\(.*\)/) { - $ioc{$1} = "void"; - if ($maxsize < length($1)) { - $maxsize = length($1); + $ioc{$1} = "$h: void"; + if ($size_ioc < length($1)) { + $size_ioc = length($1); } } } - $maxsize = int(($maxsize + 7) / 8) * 8; + $size_ioc = int((9 + $size_ioc + 7) / 8) * 8; + $size_struct = int(($size_struct + 7) / 8) * 8; } my $arg = shift; diff --git a/contrib/test/ioctl-test.c b/contrib/test/ioctl-test.c index 6f3e51c..0320ed4 100644 --- a/contrib/test/ioctl-test.c +++ b/contrib/test/ioctl-test.c @@ -93,6 +93,10 @@ int main(int argc, char **argv) int nr = _IOC_NR(cmd); int sz = _IOC_SIZE(cmd); + /* Only apply the pertinent ioctl's to the device */ + if (!strstr(device, ioctls[i].type)) + continue; + /* Check whether the front and back markers aren't overwritten. Useful to verify the compat32 code. */ memset(&p, 0, sizeof(p)); diff --git a/contrib/test/ioctl-test.h b/contrib/test/ioctl-test.h index d2a498c..12e4936 100644 --- a/contrib/test/ioctl-test.h +++ b/contrib/test/ioctl-test.h @@ -1,6 +1,7 @@ /* This file is auto-generated by make sync-with-kernel */ +#include "linux/dvb/dmx.h" +#include "linux/dvb/frontend.h" #include "linux/videodev2.h" - #include "ioctl_32.h" #include "ioctl_64.h" @@ -11,143 +12,184 @@ union v4l_parms { v4l2_std_id id; enum v4l2_priority prio; - /* V4L2 structs */ - struct v4l2_decoder_cmd p_v4l2_decoder_cmd; - struct v4l2_event_subscription p_v4l2_event_subscription; - struct v4l2_dbg_chip_ident p_v4l2_dbg_chip_ident; - struct v4l2_tuner p_v4l2_tuner; + /* ioctl structs */ + struct dmx_pes_filter_params p_dmx_pes_filter_params; + struct dmx_sct_filter_params p_dmx_sct_filter_params; + struct dmx_stc p_dmx_stc; + struct dtv_properties p_dtv_properties; + struct dvb_diseqc_master_cmd p_dvb_diseqc_master_cmd; + struct dvb_diseqc_slave_reply p_dvb_diseqc_slave_reply; + struct dvb_frontend_event p_dvb_frontend_event; + struct dvb_frontend_info p_dvb_frontend_info; + struct dvb_frontend_parameters p_dvb_frontend_parameters; + struct v4l2_audio p_v4l2_audio; + struct v4l2_audioout p_v4l2_audioout; + struct v4l2_buffer p_v4l2_buffer; struct v4l2_capability p_v4l2_capability; - struct v4l2_input p_v4l2_input; - struct v4l2_exportbuffer p_v4l2_exportbuffer; - struct v4l2_sliced_vbi_cap p_v4l2_sliced_vbi_cap; struct v4l2_control p_v4l2_control; - struct v4l2_frmsizeenum p_v4l2_frmsizeenum; - struct v4l2_streamparm p_v4l2_streamparm; - struct v4l2_jpegcompression p_v4l2_jpegcompression; - struct v4l2_audioout p_v4l2_audioout; - struct v4l2_requestbuffers p_v4l2_requestbuffers; - struct v4l2_dv_preset p_v4l2_dv_preset; - struct v4l2_audio p_v4l2_audio; - struct v4l2_output p_v4l2_output; - struct v4l2_fmtdesc p_v4l2_fmtdesc; + struct v4l2_create_buffers p_v4l2_create_buffers; struct v4l2_crop p_v4l2_crop; + struct v4l2_cropcap p_v4l2_cropcap; + struct v4l2_dbg_chip_ident p_v4l2_dbg_chip_ident; + struct v4l2_dbg_register p_v4l2_dbg_register; + struct v4l2_decoder_cmd p_v4l2_decoder_cmd; struct v4l2_dv_enum_preset p_v4l2_dv_enum_preset; + struct v4l2_dv_preset p_v4l2_dv_preset; + struct v4l2_dv_timings p_v4l2_dv_timings; struct v4l2_dv_timings_cap p_v4l2_dv_timings_cap; - struct v4l2_dbg_register p_v4l2_dbg_register; + struct v4l2_enc_idx p_v4l2_enc_idx; + struct v4l2_encoder_cmd p_v4l2_encoder_cmd; + struct v4l2_enum_dv_timings p_v4l2_enum_dv_timings; struct v4l2_event p_v4l2_event; - struct v4l2_queryctrl p_v4l2_queryctrl; - struct v4l2_create_buffers p_v4l2_create_buffers; - struct v4l2_modulator p_v4l2_modulator; - struct v4l2_frmivalenum p_v4l2_frmivalenum; + struct v4l2_event_subscription p_v4l2_event_subscription; + struct v4l2_exportbuffer p_v4l2_exportbuffer; struct v4l2_ext_controls p_v4l2_ext_controls; - struct v4l2_buffer p_v4l2_buffer; + struct v4l2_fmtdesc p_v4l2_fmtdesc; struct v4l2_format p_v4l2_format; - struct v4l2_enum_dv_timings p_v4l2_enum_dv_timings; - struct v4l2_dv_timings p_v4l2_dv_timings; + struct v4l2_framebuffer p_v4l2_framebuffer; struct v4l2_frequency p_v4l2_frequency; + struct v4l2_frequency_band p_v4l2_frequency_band; + struct v4l2_frmivalenum p_v4l2_frmivalenum; + struct v4l2_frmsizeenum p_v4l2_frmsizeenum; + struct v4l2_hw_freq_seek p_v4l2_hw_freq_seek; + struct v4l2_input p_v4l2_input; + struct v4l2_jpegcompression p_v4l2_jpegcompression; + struct v4l2_modulator p_v4l2_modulator; + struct v4l2_output p_v4l2_output; + struct v4l2_queryctrl p_v4l2_queryctrl; struct v4l2_querymenu p_v4l2_querymenu; - struct v4l2_enc_idx p_v4l2_enc_idx; - struct v4l2_cropcap p_v4l2_cropcap; - struct v4l2_encoder_cmd p_v4l2_encoder_cmd; + struct v4l2_requestbuffers p_v4l2_requestbuffers; struct v4l2_selection p_v4l2_selection; - struct v4l2_hw_freq_seek p_v4l2_hw_freq_seek; - struct v4l2_frequency_band p_v4l2_frequency_band; + struct v4l2_sliced_vbi_cap p_v4l2_sliced_vbi_cap; struct v4l2_standard p_v4l2_standard; - struct v4l2_framebuffer p_v4l2_framebuffer; + struct v4l2_streamparm p_v4l2_streamparm; + struct v4l2_tuner p_v4l2_tuner; }; -#define ioc(cmd) { CMD32_##cmd, CMD64_##cmd, cmd, #cmd } +#define ioc(type, cmd) { CMD32_##cmd, CMD64_##cmd, cmd, #type, #cmd } /* All defined ioctls */ static const struct { u_int32_t cmd32; /* The 32-bit ioctl value, should never change */ u_int32_t cmd64; /* The 64-bit ioctl value, should never change */ u_int32_t cmd; + const char *type; const char *name; } ioctls[] = { - /* V4L2 ioctls */ - ioc(VIDIOC_G_OUTPUT), /* int */ - ioc(VIDIOC_STREAMON), /* int */ - ioc(VIDIOC_RESERVED), /* void */ - ioc(VIDIOC_QUERYCAP), /* struct v4l2_capability */ - ioc(VIDIOC_S_TUNER), /* struct v4l2_tuner */ - ioc(VIDIOC_G_FREQUENCY), /* struct v4l2_frequency */ - ioc(VIDIOC_S_DV_TIMINGS), /* struct v4l2_dv_timings */ - ioc(VIDIOC_ENUM_DV_PRESETS), /* struct v4l2_dv_enum_preset */ - ioc(VIDIOC_S_PRIORITY), /* __u32 */ - ioc(VIDIOC_G_PRIORITY), /* __u32 */ - ioc(VIDIOC_S_AUDIO), /* struct v4l2_audio */ - ioc(VIDIOC_S_INPUT), /* int */ - ioc(VIDIOC_QUERYCTRL), /* struct v4l2_queryctrl */ - ioc(VIDIOC_QUERYMENU), /* struct v4l2_querymenu */ - ioc(VIDIOC_DV_TIMINGS_CAP), /* struct v4l2_dv_timings_cap */ - ioc(VIDIOC_S_JPEGCOMP), /* struct v4l2_jpegcompression */ - ioc(VIDIOC_S_OUTPUT), /* int */ - ioc(VIDIOC_ENUMAUDOUT), /* struct v4l2_audioout */ - ioc(VIDIOC_S_FREQUENCY), /* struct v4l2_frequency */ - ioc(VIDIOC_ENUM_FREQ_BANDS), /* struct v4l2_frequency_band */ - ioc(VIDIOC_ENCODER_CMD), /* struct v4l2_encoder_cmd */ - ioc(VIDIOC_QBUF), /* struct v4l2_buffer */ - ioc(VIDIOC_S_MODULATOR), /* struct v4l2_modulator */ - ioc(VIDIOC_G_FBUF), /* struct v4l2_framebuffer */ - ioc(VIDIOC_G_AUDIO), /* struct v4l2_audio */ - ioc(VIDIOC_S_CROP), /* struct v4l2_crop */ - ioc(VIDIOC_CROPCAP), /* struct v4l2_cropcap */ - ioc(VIDIOC_REQBUFS), /* struct v4l2_requestbuffers */ - ioc(VIDIOC_G_CROP), /* struct v4l2_crop */ - ioc(VIDIOC_S_DV_PRESET), /* struct v4l2_dv_preset */ - ioc(VIDIOC_G_SLICED_VBI_CAP), /* struct v4l2_sliced_vbi_cap */ - ioc(VIDIOC_G_ENC_INDEX), /* struct v4l2_enc_idx */ - ioc(VIDIOC_STREAMOFF), /* int */ - ioc(VIDIOC_DQEVENT), /* struct v4l2_event */ - ioc(VIDIOC_SUBSCRIBE_EVENT), /* struct v4l2_event_subscription */ - ioc(VIDIOC_S_HW_FREQ_SEEK), /* struct v4l2_hw_freq_seek */ - ioc(VIDIOC_S_AUDOUT), /* struct v4l2_audioout */ - ioc(VIDIOC_G_DV_PRESET), /* struct v4l2_dv_preset */ - ioc(VIDIOC_QUERY_DV_TIMINGS), /* struct v4l2_dv_timings */ - ioc(VIDIOC_QUERY_DV_PRESET), /* struct v4l2_dv_preset */ - ioc(VIDIOC_G_TUNER), /* struct v4l2_tuner */ - ioc(VIDIOC_DBG_S_REGISTER), /* struct v4l2_dbg_register */ - ioc(VIDIOC_G_SELECTION), /* struct v4l2_selection */ - ioc(VIDIOC_G_STD), /* v4l2_std_id */ - ioc(VIDIOC_S_CTRL), /* struct v4l2_control */ - ioc(VIDIOC_DBG_G_CHIP_IDENT), /* struct v4l2_dbg_chip_ident */ - ioc(VIDIOC_TRY_FMT), /* struct v4l2_format */ - ioc(VIDIOC_DBG_G_REGISTER), /* struct v4l2_dbg_register */ - ioc(VIDIOC_G_DV_TIMINGS), /* struct v4l2_dv_timings */ - ioc(VIDIOC_G_PARM), /* struct v4l2_streamparm */ - ioc(VIDIOC_S_FBUF), /* struct v4l2_framebuffer */ - ioc(VIDIOC_TRY_ENCODER_CMD), /* struct v4l2_encoder_cmd */ - ioc(VIDIOC_CREATE_BUFS), /* struct v4l2_create_buffers */ - ioc(VIDIOC_ENUM_FRAMEINTERVALS),/* struct v4l2_frmivalenum */ - ioc(VIDIOC_G_CTRL), /* struct v4l2_control */ - ioc(VIDIOC_S_EXT_CTRLS), /* struct v4l2_ext_controls */ - ioc(VIDIOC_DQBUF), /* struct v4l2_buffer */ - ioc(VIDIOC_DECODER_CMD), /* struct v4l2_decoder_cmd */ - ioc(VIDIOC_S_SELECTION), /* struct v4l2_selection */ - ioc(VIDIOC_QUERYBUF), /* struct v4l2_buffer */ - ioc(VIDIOC_G_EXT_CTRLS), /* struct v4l2_ext_controls */ - ioc(VIDIOC_G_AUDOUT), /* struct v4l2_audioout */ - ioc(VIDIOC_ENUMINPUT), /* struct v4l2_input */ - ioc(VIDIOC_EXPBUF), /* struct v4l2_exportbuffer */ - ioc(VIDIOC_S_PARM), /* struct v4l2_streamparm */ - ioc(VIDIOC_ENUMOUTPUT), /* struct v4l2_output */ - ioc(VIDIOC_PREPARE_BUF), /* struct v4l2_buffer */ - ioc(VIDIOC_UNSUBSCRIBE_EVENT), /* struct v4l2_event_subscription */ - ioc(VIDIOC_ENUMSTD), /* struct v4l2_standard */ - ioc(VIDIOC_G_FMT), /* struct v4l2_format */ - ioc(VIDIOC_LOG_STATUS), /* void */ - ioc(VIDIOC_S_STD), /* v4l2_std_id */ - ioc(VIDIOC_ENUM_FMT), /* struct v4l2_fmtdesc */ - ioc(VIDIOC_ENUM_DV_TIMINGS), /* struct v4l2_enum_dv_timings */ - ioc(VIDIOC_ENUMAUDIO), /* struct v4l2_audio */ - ioc(VIDIOC_TRY_EXT_CTRLS), /* struct v4l2_ext_controls */ - ioc(VIDIOC_G_JPEGCOMP), /* struct v4l2_jpegcompression */ - ioc(VIDIOC_OVERLAY), /* int */ - ioc(VIDIOC_S_FMT), /* struct v4l2_format */ - ioc(VIDIOC_ENUM_FRAMESIZES), /* struct v4l2_frmsizeenum */ - ioc(VIDIOC_G_MODULATOR), /* struct v4l2_modulator */ - ioc(VIDIOC_TRY_DECODER_CMD), /* struct v4l2_decoder_cmd */ - ioc(VIDIOC_G_INPUT), /* int */ - ioc(VIDIOC_QUERYSTD), /* v4l2_std_id */ + /* ioctl structs */ + ioc(demux, DMX_ADD_PID), /* __u16 */ + ioc(demux, DMX_GET_CAPS), /* dmx_caps_t */ + ioc(demux, DMX_GET_PES_PIDS), /* __u16[5] */ + ioc(demux, DMX_GET_STC), /* struct dmx_stc */ + ioc(demux, DMX_REMOVE_PID), /* __u16 */ + ioc(demux, DMX_SET_BUFFER_SIZE), /* void */ + ioc(demux, DMX_SET_FILTER), /* struct dmx_sct_filter_params */ + ioc(demux, DMX_SET_PES_FILTER), /* struct dmx_pes_filter_params */ + ioc(demux, DMX_SET_SOURCE), /* dmx_source_t */ + ioc(demux, DMX_START), /* void */ + ioc(demux, DMX_STOP), /* void */ + ioc(frontend, FE_DISEQC_RECV_SLAVE_REPLY), /* struct dvb_diseqc_slave_reply */ + ioc(frontend, FE_DISEQC_RESET_OVERLOAD), /* void */ + ioc(frontend, FE_DISEQC_SEND_BURST), /* void */ + ioc(frontend, FE_DISEQC_SEND_MASTER_CMD), /* struct dvb_diseqc_master_cmd */ + ioc(frontend, FE_DISHNETWORK_SEND_LEGACY_CMD), /* void */ + ioc(frontend, FE_ENABLE_HIGH_LNB_VOLTAGE), /* void */ + ioc(frontend, FE_GET_EVENT), /* struct dvb_frontend_event */ + ioc(frontend, FE_GET_FRONTEND), /* struct dvb_frontend_parameters */ + ioc(frontend, FE_GET_INFO), /* struct dvb_frontend_info */ + ioc(frontend, FE_GET_PROPERTY), /* struct dtv_properties */ + ioc(frontend, FE_READ_BER), /* __u32 */ + ioc(frontend, FE_READ_SIGNAL_STRENGTH), /* __u16 */ + ioc(frontend, FE_READ_SNR), /* __u16 */ + ioc(frontend, FE_READ_STATUS), /* fe_status_t */ + ioc(frontend, FE_READ_UNCORRECTED_BLOCKS), /* __u32 */ + ioc(frontend, FE_SET_FRONTEND), /* struct dvb_frontend_parameters */ + ioc(frontend, FE_SET_FRONTEND_TUNE_MODE), /* void */ + ioc(frontend, FE_SET_PROPERTY), /* struct dtv_properties */ + ioc(frontend, FE_SET_TONE), /* void */ + ioc(frontend, FE_SET_VOLTAGE), /* void */ + ioc(video, VIDIOC_CREATE_BUFS), /* struct v4l2_create_buffers */ + ioc(video, VIDIOC_CROPCAP), /* struct v4l2_cropcap */ + ioc(video, VIDIOC_DBG_G_CHIP_IDENT), /* struct v4l2_dbg_chip_ident */ + ioc(video, VIDIOC_DBG_G_REGISTER), /* struct v4l2_dbg_register */ + ioc(video, VIDIOC_DBG_S_REGISTER), /* struct v4l2_dbg_register */ + ioc(video, VIDIOC_DECODER_CMD), /* struct v4l2_decoder_cmd */ + ioc(video, VIDIOC_DQBUF), /* struct v4l2_buffer */ + ioc(video, VIDIOC_DQEVENT), /* struct v4l2_event */ + ioc(video, VIDIOC_DV_TIMINGS_CAP), /* struct v4l2_dv_timings_cap */ + ioc(video, VIDIOC_ENCODER_CMD), /* struct v4l2_encoder_cmd */ + ioc(video, VIDIOC_ENUMAUDIO), /* struct v4l2_audio */ + ioc(video, VIDIOC_ENUMAUDOUT), /* struct v4l2_audioout */ + ioc(video, VIDIOC_ENUMINPUT), /* struct v4l2_input */ + ioc(video, VIDIOC_ENUMOUTPUT), /* struct v4l2_output */ + ioc(video, VIDIOC_ENUMSTD), /* struct v4l2_standard */ + ioc(video, VIDIOC_ENUM_DV_PRESETS), /* struct v4l2_dv_enum_preset */ + ioc(video, VIDIOC_ENUM_DV_TIMINGS), /* struct v4l2_enum_dv_timings */ + ioc(video, VIDIOC_ENUM_FMT), /* struct v4l2_fmtdesc */ + ioc(video, VIDIOC_ENUM_FRAMEINTERVALS), /* struct v4l2_frmivalenum */ + ioc(video, VIDIOC_ENUM_FRAMESIZES), /* struct v4l2_frmsizeenum */ + ioc(video, VIDIOC_ENUM_FREQ_BANDS), /* struct v4l2_frequency_band */ + ioc(video, VIDIOC_EXPBUF), /* struct v4l2_exportbuffer */ + ioc(video, VIDIOC_G_AUDIO), /* struct v4l2_audio */ + ioc(video, VIDIOC_G_AUDOUT), /* struct v4l2_audioout */ + ioc(video, VIDIOC_G_CROP), /* struct v4l2_crop */ + ioc(video, VIDIOC_G_CTRL), /* struct v4l2_control */ + ioc(video, VIDIOC_G_DV_PRESET), /* struct v4l2_dv_preset */ + ioc(video, VIDIOC_G_DV_TIMINGS), /* struct v4l2_dv_timings */ + ioc(video, VIDIOC_G_ENC_INDEX), /* struct v4l2_enc_idx */ + ioc(video, VIDIOC_G_EXT_CTRLS), /* struct v4l2_ext_controls */ + ioc(video, VIDIOC_G_FBUF), /* struct v4l2_framebuffer */ + ioc(video, VIDIOC_G_FMT), /* struct v4l2_format */ + ioc(video, VIDIOC_G_FREQUENCY), /* struct v4l2_frequency */ + ioc(video, VIDIOC_G_INPUT), /* int */ + ioc(video, VIDIOC_G_JPEGCOMP), /* struct v4l2_jpegcompression */ + ioc(video, VIDIOC_G_MODULATOR), /* struct v4l2_modulator */ + ioc(video, VIDIOC_G_OUTPUT), /* int */ + ioc(video, VIDIOC_G_PARM), /* struct v4l2_streamparm */ + ioc(video, VIDIOC_G_PRIORITY), /* __u32 */ + ioc(video, VIDIOC_G_SELECTION), /* struct v4l2_selection */ + ioc(video, VIDIOC_G_SLICED_VBI_CAP), /* struct v4l2_sliced_vbi_cap */ + ioc(video, VIDIOC_G_STD), /* v4l2_std_id */ + ioc(video, VIDIOC_G_TUNER), /* struct v4l2_tuner */ + ioc(video, VIDIOC_LOG_STATUS), /* void */ + ioc(video, VIDIOC_OVERLAY), /* int */ + ioc(video, VIDIOC_PREPARE_BUF), /* struct v4l2_buffer */ + ioc(video, VIDIOC_QBUF), /* struct v4l2_buffer */ + ioc(video, VIDIOC_QUERYBUF), /* struct v4l2_buffer */ + ioc(video, VIDIOC_QUERYCAP), /* struct v4l2_capability */ + ioc(video, VIDIOC_QUERYCTRL), /* struct v4l2_queryctrl */ + ioc(video, VIDIOC_QUERYMENU), /* struct v4l2_querymenu */ + ioc(video, VIDIOC_QUERYSTD), /* v4l2_std_id */ + ioc(video, VIDIOC_QUERY_DV_PRESET), /* struct v4l2_dv_preset */ + ioc(video, VIDIOC_QUERY_DV_TIMINGS), /* struct v4l2_dv_timings */ + ioc(video, VIDIOC_REQBUFS), /* struct v4l2_requestbuffers */ + ioc(video, VIDIOC_RESERVED), /* void */ + ioc(video, VIDIOC_STREAMOFF), /* int */ + ioc(video, VIDIOC_STREAMON), /* int */ + ioc(video, VIDIOC_SUBSCRIBE_EVENT), /* struct v4l2_event_subscription */ + ioc(video, VIDIOC_S_AUDIO), /* struct v4l2_audio */ + ioc(video, VIDIOC_S_AUDOUT), /* struct v4l2_audioout */ + ioc(video, VIDIOC_S_CROP), /* struct v4l2_crop */ + ioc(video, VIDIOC_S_CTRL), /* struct v4l2_control */ + ioc(video, VIDIOC_S_DV_PRESET), /* struct v4l2_dv_preset */ + ioc(video, VIDIOC_S_DV_TIMINGS), /* struct v4l2_dv_timings */ + ioc(video, VIDIOC_S_EXT_CTRLS), /* struct v4l2_ext_controls */ + ioc(video, VIDIOC_S_FBUF), /* struct v4l2_framebuffer */ + ioc(video, VIDIOC_S_FMT), /* struct v4l2_format */ + ioc(video, VIDIOC_S_FREQUENCY), /* struct v4l2_frequency */ + ioc(video, VIDIOC_S_HW_FREQ_SEEK), /* struct v4l2_hw_freq_seek */ + ioc(video, VIDIOC_S_INPUT), /* int */ + ioc(video, VIDIOC_S_JPEGCOMP), /* struct v4l2_jpegcompression */ + ioc(video, VIDIOC_S_MODULATOR), /* struct v4l2_modulator */ + ioc(video, VIDIOC_S_OUTPUT), /* int */ + ioc(video, VIDIOC_S_PARM), /* struct v4l2_streamparm */ + ioc(video, VIDIOC_S_PRIORITY), /* __u32 */ + ioc(video, VIDIOC_S_SELECTION), /* struct v4l2_selection */ + ioc(video, VIDIOC_S_STD), /* v4l2_std_id */ + ioc(video, VIDIOC_S_TUNER), /* struct v4l2_tuner */ + ioc(video, VIDIOC_TRY_DECODER_CMD), /* struct v4l2_decoder_cmd */ + ioc(video, VIDIOC_TRY_ENCODER_CMD), /* struct v4l2_encoder_cmd */ + ioc(video, VIDIOC_TRY_EXT_CTRLS), /* struct v4l2_ext_controls */ + ioc(video, VIDIOC_TRY_FMT), /* struct v4l2_format */ + ioc(video, VIDIOC_UNSUBSCRIBE_EVENT), /* struct v4l2_event_subscription */ }; #define S_IOCTLS sizeof(ioctls)/sizeof(ioctls[0]) diff --git a/contrib/test/ioctl_32.h b/contrib/test/ioctl_32.h index 3db21bb..7da55db 100644 --- a/contrib/test/ioctl_32.h +++ b/contrib/test/ioctl_32.h @@ -1,5 +1,36 @@ /* This file is auto-generated by make sync-with-kernel */ +#define CMD32_DMX_ADD_PID 0x40026f33 +#define CMD32_DMX_GET_CAPS 0x80086f30 +#define CMD32_DMX_GET_PES_PIDS 0x800a6f2f +#define CMD32_DMX_GET_STC 0xc0106f32 +#define CMD32_DMX_REMOVE_PID 0x40026f34 +#define CMD32_DMX_SET_BUFFER_SIZE 0x6f2d +#define CMD32_DMX_SET_FILTER 0x403c6f2b +#define CMD32_DMX_SET_PES_FILTER 0x40146f2c +#define CMD32_DMX_SET_SOURCE 0x40046f31 +#define CMD32_DMX_START 0x6f29 +#define CMD32_DMX_STOP 0x6f2a +#define CMD32_FE_DISEQC_RECV_SLAVE_REPLY 0x800c6f40 +#define CMD32_FE_DISEQC_RESET_OVERLOAD 0x6f3e +#define CMD32_FE_DISEQC_SEND_BURST 0x6f41 +#define CMD32_FE_DISEQC_SEND_MASTER_CMD 0x40076f3f +#define CMD32_FE_DISHNETWORK_SEND_LEGACY_CMD 0x6f50 +#define CMD32_FE_ENABLE_HIGH_LNB_VOLTAGE 0x6f44 +#define CMD32_FE_GET_EVENT 0x80286f4e +#define CMD32_FE_GET_FRONTEND 0x80246f4d +#define CMD32_FE_GET_INFO 0x80a86f3d +#define CMD32_FE_GET_PROPERTY 0x80086f53 +#define CMD32_FE_READ_BER 0x80046f46 +#define CMD32_FE_READ_SIGNAL_STRENGTH 0x80026f47 +#define CMD32_FE_READ_SNR 0x80026f48 +#define CMD32_FE_READ_STATUS 0x80046f45 +#define CMD32_FE_READ_UNCORRECTED_BLOCKS 0x80046f49 +#define CMD32_FE_SET_FRONTEND 0x40246f4c +#define CMD32_FE_SET_FRONTEND_TUNE_MODE 0x6f51 +#define CMD32_FE_SET_PROPERTY 0x40086f52 +#define CMD32_FE_SET_TONE 0x6f42 +#define CMD32_FE_SET_VOLTAGE 0x6f43 #define CMD32_VIDIOC_CREATE_BUFS 0xc0f8565c #define CMD32_VIDIOC_CROPCAP 0xc02c563a #define CMD32_VIDIOC_DBG_G_CHIP_IDENT 0xc02c5651 diff --git a/contrib/test/ioctl_64.h b/contrib/test/ioctl_64.h index 25a4220..b4354b1 100644 --- a/contrib/test/ioctl_64.h +++ b/contrib/test/ioctl_64.h @@ -1,5 +1,36 @@ /* This file is auto-generated by make sync-with-kernel */ +#define CMD64_DMX_ADD_PID 0x40026f33 +#define CMD64_DMX_GET_CAPS 0x80086f30 +#define CMD64_DMX_GET_PES_PIDS 0x800a6f2f +#define CMD64_DMX_GET_STC 0xc0106f32 +#define CMD64_DMX_REMOVE_PID 0x40026f34 +#define CMD64_DMX_SET_BUFFER_SIZE 0x6f2d +#define CMD64_DMX_SET_FILTER 0x403c6f2b +#define CMD64_DMX_SET_PES_FILTER 0x40146f2c +#define CMD64_DMX_SET_SOURCE 0x40046f31 +#define CMD64_DMX_START 0x6f29 +#define CMD64_DMX_STOP 0x6f2a +#define CMD64_FE_DISEQC_RECV_SLAVE_REPLY 0x800c6f40 +#define CMD64_FE_DISEQC_RESET_OVERLOAD 0x6f3e +#define CMD64_FE_DISEQC_SEND_BURST 0x6f41 +#define CMD64_FE_DISEQC_SEND_MASTER_CMD 0x40076f3f +#define CMD64_FE_DISHNETWORK_SEND_LEGACY_CMD 0x6f50 +#define CMD64_FE_ENABLE_HIGH_LNB_VOLTAGE 0x6f44 +#define CMD64_FE_GET_EVENT 0x80286f4e +#define CMD64_FE_GET_FRONTEND 0x80246f4d +#define CMD64_FE_GET_INFO 0x80a86f3d +#define CMD64_FE_GET_PROPERTY 0x80106f53 +#define CMD64_FE_READ_BER 0x80046f46 +#define CMD64_FE_READ_SIGNAL_STRENGTH 0x80026f47 +#define CMD64_FE_READ_SNR 0x80026f48 +#define CMD64_FE_READ_STATUS 0x80046f45 +#define CMD64_FE_READ_UNCORRECTED_BLOCKS 0x80046f49 +#define CMD64_FE_SET_FRONTEND 0x40246f4c +#define CMD64_FE_SET_FRONTEND_TUNE_MODE 0x6f51 +#define CMD64_FE_SET_PROPERTY 0x40106f52 +#define CMD64_FE_SET_TONE 0x6f42 +#define CMD64_FE_SET_VOLTAGE 0x6f43 #define CMD64_VIDIOC_CREATE_BUFS 0xc100565c #define CMD64_VIDIOC_CROPCAP 0xc02c563a #define CMD64_VIDIOC_DBG_G_CHIP_IDENT 0xc02c5651 -- 2.7.4