# Copyright 2026 syzkaller project authors. All rights reserved. # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. include include include resource fd_dvb_demux[fd] syz_open_dev$dvb_demux(dev ptr[in, string["/dev/dvb/adapter#/demux#"]], id intptr, flags flags[open_flags]) fd_dvb_demux ioctl$DVB_DEMUX_DMX_START(fd fd_dvb_demux, cmd const[DMX_START]) ioctl$DVB_DEMUX_DMX_STOP(fd fd_dvb_demux, cmd const[DMX_STOP]) ioctl$DVB_DEMUX_DMX_SET_FILTER(fd fd_dvb_demux, cmd const[DMX_SET_FILTER], arg ptr[in, dmx_sct_filter_params]) ioctl$DVB_DEMUX_DMX_SET_PES_FILTER(fd fd_dvb_demux, cmd const[DMX_SET_PES_FILTER], arg ptr[in, dmx_pes_filter_params]) ioctl$DVB_DEMUX_DMX_SET_BUFFER_SIZE(fd fd_dvb_demux, cmd const[DMX_SET_BUFFER_SIZE], arg intptr) ioctl$DVB_DEMUX_DMX_GET_PES_PIDS(fd fd_dvb_demux, cmd const[DMX_GET_PES_PIDS], arg ptr[out, array[int16, 5]]) ioctl$DVB_DEMUX_DMX_GET_STC(fd fd_dvb_demux, cmd const[DMX_GET_STC], arg ptr[inout, dmx_stc]) ioctl$DVB_DEMUX_DMX_ADD_PID(fd fd_dvb_demux, cmd const[DMX_ADD_PID], arg ptr[in, int16]) ioctl$DVB_DEMUX_DMX_REMOVE_PID(fd fd_dvb_demux, cmd const[DMX_REMOVE_PID], arg ptr[in, int16]) ioctl$DVB_DEMUX_DMX_REQBUFS(fd fd_dvb_demux, cmd const[DMX_REQBUFS], arg ptr[inout, dmx_requestbuffers]) ioctl$DVB_DEMUX_DMX_QUERYBUF(fd fd_dvb_demux, cmd const[DMX_QUERYBUF], arg ptr[inout, dmx_buffer]) ioctl$DVB_DEMUX_DMX_EXPBUF(fd fd_dvb_demux, cmd const[DMX_EXPBUF], arg ptr[inout, dmx_exportbuffer]) ioctl$DVB_DEMUX_DMX_QBUF(fd fd_dvb_demux, cmd const[DMX_QBUF], arg ptr[inout, dmx_buffer]) ioctl$DVB_DEMUX_DMX_DQBUF(fd fd_dvb_demux, cmd const[DMX_DQBUF], arg ptr[inout, dmx_buffer]) dmx_sct_filter_flags = DMX_CHECK_CRC, DMX_ONESHOT, DMX_IMMEDIATE_START dmx_input = DMX_IN_FRONTEND, DMX_IN_DVR dmx_output = DMX_OUT_DECODER, DMX_OUT_TAP, DMX_OUT_TS_TAP, DMX_OUT_TSDEMUX_TAP dmx_ts_pes = DMX_PES_AUDIO0, DMX_PES_VIDEO0, DMX_PES_TELETEXT0, DMX_PES_SUBTITLE0, DMX_PES_PCR0, DMX_PES_AUDIO1, DMX_PES_VIDEO1, DMX_PES_TELETEXT1, DMX_PES_SUBTITLE1, DMX_PES_PCR1, DMX_PES_AUDIO2, DMX_PES_VIDEO2, DMX_PES_TELETEXT2, DMX_PES_SUBTITLE2, DMX_PES_PCR2, DMX_PES_AUDIO3, DMX_PES_VIDEO3, DMX_PES_TELETEXT3, DMX_PES_SUBTITLE3, DMX_PES_PCR3, DMX_PES_OTHER dmx_pes_filter_flags = DMX_IMMEDIATE_START dmx_buffer_flags = DMX_BUFFER_FLAG_HAD_CRC32_DISCARD, DMX_BUFFER_FLAG_TEI, DMX_BUFFER_PKT_COUNTER_MISMATCH, DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED, DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR dmx_exportbuffer_flags = O_CLOEXEC dmx_sct_filter_params { pid int16 filter dmx_filter timeout int32 flags flags[dmx_sct_filter_flags, int32] } dmx_filter { filter array[int8, DMX_FILTER_SIZE] mask array[int8, DMX_FILTER_SIZE] mode array[int8, DMX_FILTER_SIZE] } dmx_pes_filter_params { pid int16 input flags[dmx_input, int32] output flags[dmx_output, int32] pes_type flags[dmx_ts_pes, int32] flags flags[dmx_pes_filter_flags, int32] } dmx_stc { num int32 (in) base int32 (out) stc int64 (out) } dmx_requestbuffers { count int32 size int32 } dmx_buffer { index int32 bytesused int32 offset int32 length int32 flags flags[dmx_buffer_flags, int32] count int32 } dmx_exportbuffer { index int32 flags flags[dmx_exportbuffer_flags, int32] fd fd }