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
|
# 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 <linux/ioctl.h>
include <linux/fcntl.h>
include <uapi/linux/dvb/dmx.h>
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
}
|