xref: /linux-6.15/include/uapi/linux/dvb/dmx.h (revision 8478afa8)
1e2be04c7SGreg Kroah-Hartman /* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
2c57fd021SDavid Howells /*
3c57fd021SDavid Howells  * dmx.h
4c57fd021SDavid Howells  *
5c57fd021SDavid Howells  * Copyright (C) 2000 Marcus Metzler <[email protected]>
6c57fd021SDavid Howells  *                  & Ralph  Metzler <[email protected]>
7c57fd021SDavid Howells  *                    for convergence integrated media GmbH
8c57fd021SDavid Howells  */
9c57fd021SDavid Howells 
10c57fd021SDavid Howells #ifndef _UAPI_DVBDMX_H_
11c57fd021SDavid Howells #define _UAPI_DVBDMX_H_
12c57fd021SDavid Howells 
13c57fd021SDavid Howells #include <linux/types.h>
14c57fd021SDavid Howells #ifndef __KERNEL__
15c57fd021SDavid Howells #include <time.h>
16c57fd021SDavid Howells #endif
17c57fd021SDavid Howells 
18c57fd021SDavid Howells 
19c57fd021SDavid Howells #define DMX_FILTER_SIZE 16
20c57fd021SDavid Howells 
21bb98e6d2SMauro Carvalho Chehab /**
22bb98e6d2SMauro Carvalho Chehab  * enum dmx_output - Output for the demux.
23bb98e6d2SMauro Carvalho Chehab  *
24bb98e6d2SMauro Carvalho Chehab  * @DMX_OUT_DECODER:
25bb98e6d2SMauro Carvalho Chehab  *	Streaming directly to decoder.
26bb98e6d2SMauro Carvalho Chehab  * @DMX_OUT_TAP:
27bb98e6d2SMauro Carvalho Chehab  *	Output going to a memory buffer (to be retrieved via the read command).
28bb98e6d2SMauro Carvalho Chehab  *	Delivers the stream output to the demux device on which the ioctl
29bb98e6d2SMauro Carvalho Chehab  *	is called.
30bb98e6d2SMauro Carvalho Chehab  * @DMX_OUT_TS_TAP:
31bb98e6d2SMauro Carvalho Chehab  *	Output multiplexed into a new TS (to be retrieved by reading from the
32bb98e6d2SMauro Carvalho Chehab  *	logical DVR device). Routes output to the logical DVR device
33bb98e6d2SMauro Carvalho Chehab  *	``/dev/dvb/adapter?/dvr?``, which delivers a TS multiplexed from all
34bb98e6d2SMauro Carvalho Chehab  *	filters for which @DMX_OUT_TS_TAP was specified.
35bb98e6d2SMauro Carvalho Chehab  * @DMX_OUT_TSDEMUX_TAP:
36bb98e6d2SMauro Carvalho Chehab  *	Like @DMX_OUT_TS_TAP but retrieved from the DMX device.
37bb98e6d2SMauro Carvalho Chehab  */
38bb98e6d2SMauro Carvalho Chehab enum dmx_output {
39bb98e6d2SMauro Carvalho Chehab 	DMX_OUT_DECODER,
40bb98e6d2SMauro Carvalho Chehab 	DMX_OUT_TAP,
41bb98e6d2SMauro Carvalho Chehab 	DMX_OUT_TS_TAP,
42bb98e6d2SMauro Carvalho Chehab 	DMX_OUT_TSDEMUX_TAP
433256b36eSMauro Carvalho Chehab };
44c57fd021SDavid Howells 
45c57fd021SDavid Howells 
46bb98e6d2SMauro Carvalho Chehab /**
47bb98e6d2SMauro Carvalho Chehab  * enum dmx_input - Input from the demux.
48bb98e6d2SMauro Carvalho Chehab  *
49bb98e6d2SMauro Carvalho Chehab  * @DMX_IN_FRONTEND:	Input from a front-end device.
50bb98e6d2SMauro Carvalho Chehab  * @DMX_IN_DVR:		Input from the logical DVR device.
51bb98e6d2SMauro Carvalho Chehab  */
52bb98e6d2SMauro Carvalho Chehab enum dmx_input {
53bb98e6d2SMauro Carvalho Chehab 	DMX_IN_FRONTEND,
54bb98e6d2SMauro Carvalho Chehab 	DMX_IN_DVR
55bb98e6d2SMauro Carvalho Chehab };
56bb98e6d2SMauro Carvalho Chehab 
57bb98e6d2SMauro Carvalho Chehab /**
58bb98e6d2SMauro Carvalho Chehab  * enum dmx_ts_pes - type of the PES filter.
59bb98e6d2SMauro Carvalho Chehab  *
60bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_AUDIO0:	first audio PID. Also referred as @DMX_PES_AUDIO.
61bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_VIDEO0:	first video PID. Also referred as @DMX_PES_VIDEO.
62bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_TELETEXT0:	first teletext PID. Also referred as @DMX_PES_TELETEXT.
63bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_SUBTITLE0:	first subtitle PID. Also referred as @DMX_PES_SUBTITLE.
64bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_PCR0:	first Program Clock Reference PID.
65bb98e6d2SMauro Carvalho Chehab  *			Also referred as @DMX_PES_PCR.
66bb98e6d2SMauro Carvalho Chehab  *
67bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_AUDIO1:	second audio PID.
68bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_VIDEO1:	second video PID.
69bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_TELETEXT1:	second teletext PID.
70bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_SUBTITLE1:	second subtitle PID.
71bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_PCR1:	second Program Clock Reference PID.
72bb98e6d2SMauro Carvalho Chehab  *
73bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_AUDIO2:	third audio PID.
74bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_VIDEO2:	third video PID.
75bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_TELETEXT2:	third teletext PID.
76bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_SUBTITLE2:	third subtitle PID.
77bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_PCR2:	third Program Clock Reference PID.
78bb98e6d2SMauro Carvalho Chehab  *
79bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_AUDIO3:	fourth audio PID.
80bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_VIDEO3:	fourth video PID.
81bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_TELETEXT3:	fourth teletext PID.
82bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_SUBTITLE3:	fourth subtitle PID.
83bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_PCR3:	fourth Program Clock Reference PID.
84bb98e6d2SMauro Carvalho Chehab  *
85bb98e6d2SMauro Carvalho Chehab  * @DMX_PES_OTHER:	any other PID.
86bb98e6d2SMauro Carvalho Chehab  */
87bb98e6d2SMauro Carvalho Chehab 
88bb98e6d2SMauro Carvalho Chehab enum dmx_ts_pes {
89c57fd021SDavid Howells 	DMX_PES_AUDIO0,
90c57fd021SDavid Howells 	DMX_PES_VIDEO0,
91c57fd021SDavid Howells 	DMX_PES_TELETEXT0,
92c57fd021SDavid Howells 	DMX_PES_SUBTITLE0,
93c57fd021SDavid Howells 	DMX_PES_PCR0,
94c57fd021SDavid Howells 
95c57fd021SDavid Howells 	DMX_PES_AUDIO1,
96c57fd021SDavid Howells 	DMX_PES_VIDEO1,
97c57fd021SDavid Howells 	DMX_PES_TELETEXT1,
98c57fd021SDavid Howells 	DMX_PES_SUBTITLE1,
99c57fd021SDavid Howells 	DMX_PES_PCR1,
100c57fd021SDavid Howells 
101c57fd021SDavid Howells 	DMX_PES_AUDIO2,
102c57fd021SDavid Howells 	DMX_PES_VIDEO2,
103c57fd021SDavid Howells 	DMX_PES_TELETEXT2,
104c57fd021SDavid Howells 	DMX_PES_SUBTITLE2,
105c57fd021SDavid Howells 	DMX_PES_PCR2,
106c57fd021SDavid Howells 
107c57fd021SDavid Howells 	DMX_PES_AUDIO3,
108c57fd021SDavid Howells 	DMX_PES_VIDEO3,
109c57fd021SDavid Howells 	DMX_PES_TELETEXT3,
110c57fd021SDavid Howells 	DMX_PES_SUBTITLE3,
111c57fd021SDavid Howells 	DMX_PES_PCR3,
112c57fd021SDavid Howells 
113c57fd021SDavid Howells 	DMX_PES_OTHER
1143256b36eSMauro Carvalho Chehab };
115c57fd021SDavid Howells 
116c57fd021SDavid Howells #define DMX_PES_AUDIO    DMX_PES_AUDIO0
117c57fd021SDavid Howells #define DMX_PES_VIDEO    DMX_PES_VIDEO0
118c57fd021SDavid Howells #define DMX_PES_TELETEXT DMX_PES_TELETEXT0
119c57fd021SDavid Howells #define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0
120c57fd021SDavid Howells #define DMX_PES_PCR      DMX_PES_PCR0
121c57fd021SDavid Howells 
122c57fd021SDavid Howells 
123bb98e6d2SMauro Carvalho Chehab 
124bb98e6d2SMauro Carvalho Chehab /**
125bb98e6d2SMauro Carvalho Chehab  * struct dmx_filter - Specifies a section header filter.
126bb98e6d2SMauro Carvalho Chehab  *
127bb98e6d2SMauro Carvalho Chehab  * @filter: bit array with bits to be matched at the section header.
128bb98e6d2SMauro Carvalho Chehab  * @mask: bits that are valid at the filter bit array.
129bb98e6d2SMauro Carvalho Chehab  * @mode: mode of match: if bit is zero, it will match if equal (positive
130bb98e6d2SMauro Carvalho Chehab  *	  match); if bit is one, it will match if the bit is negated.
131bb98e6d2SMauro Carvalho Chehab  *
132bb98e6d2SMauro Carvalho Chehab  * Note: All arrays in this struct have a size of DMX_FILTER_SIZE (16 bytes).
133bb98e6d2SMauro Carvalho Chehab  */
134bb98e6d2SMauro Carvalho Chehab struct dmx_filter {
135c57fd021SDavid Howells 	__u8  filter[DMX_FILTER_SIZE];
136c57fd021SDavid Howells 	__u8  mask[DMX_FILTER_SIZE];
137c57fd021SDavid Howells 	__u8  mode[DMX_FILTER_SIZE];
1383256b36eSMauro Carvalho Chehab };
139c57fd021SDavid Howells 
140bb98e6d2SMauro Carvalho Chehab /**
141bb98e6d2SMauro Carvalho Chehab  * struct dmx_sct_filter_params - Specifies a section filter.
142bb98e6d2SMauro Carvalho Chehab  *
143bb98e6d2SMauro Carvalho Chehab  * @pid: PID to be filtered.
144bb98e6d2SMauro Carvalho Chehab  * @filter: section header filter, as defined by &struct dmx_filter.
145bb98e6d2SMauro Carvalho Chehab  * @timeout: maximum time to filter, in milliseconds.
146bb98e6d2SMauro Carvalho Chehab  * @flags: extra flags for the section filter.
147bb98e6d2SMauro Carvalho Chehab  *
148bb98e6d2SMauro Carvalho Chehab  * Carries the configuration for a MPEG-TS section filter.
149bb98e6d2SMauro Carvalho Chehab  *
150bb98e6d2SMauro Carvalho Chehab  * The @flags can be:
151bb98e6d2SMauro Carvalho Chehab  *
152bb98e6d2SMauro Carvalho Chehab  *	- %DMX_CHECK_CRC - only deliver sections where the CRC check succeeded;
153bb98e6d2SMauro Carvalho Chehab  *	- %DMX_ONESHOT - disable the section filter after one section
154bb98e6d2SMauro Carvalho Chehab  *	  has been delivered;
155bb98e6d2SMauro Carvalho Chehab  *	- %DMX_IMMEDIATE_START - Start filter immediately without requiring a
156bb98e6d2SMauro Carvalho Chehab  *	  :ref:`DMX_START`.
157bb98e6d2SMauro Carvalho Chehab  */
158bb98e6d2SMauro Carvalho Chehab struct dmx_sct_filter_params {
159c57fd021SDavid Howells 	__u16             pid;
1603256b36eSMauro Carvalho Chehab 	struct dmx_filter filter;
161c57fd021SDavid Howells 	__u32             timeout;
162c57fd021SDavid Howells 	__u32             flags;
163c57fd021SDavid Howells #define DMX_CHECK_CRC       1
164c57fd021SDavid Howells #define DMX_ONESHOT         2
165c57fd021SDavid Howells #define DMX_IMMEDIATE_START 4
166c57fd021SDavid Howells };
167c57fd021SDavid Howells 
168bb98e6d2SMauro Carvalho Chehab /**
169bb98e6d2SMauro Carvalho Chehab  * struct dmx_pes_filter_params - Specifies Packetized Elementary Stream (PES)
170bb98e6d2SMauro Carvalho Chehab  *	filter parameters.
171bb98e6d2SMauro Carvalho Chehab  *
172bb98e6d2SMauro Carvalho Chehab  * @pid:	PID to be filtered.
173bb98e6d2SMauro Carvalho Chehab  * @input:	Demux input, as specified by &enum dmx_input.
174bb98e6d2SMauro Carvalho Chehab  * @output:	Demux output, as specified by &enum dmx_output.
175bb98e6d2SMauro Carvalho Chehab  * @pes_type:	Type of the pes filter, as specified by &enum dmx_pes_type.
176bb98e6d2SMauro Carvalho Chehab  * @flags:	Demux PES flags.
177bb98e6d2SMauro Carvalho Chehab  */
178e4faa09bSMauro Carvalho Chehab struct dmx_pes_filter_params {
179c57fd021SDavid Howells 	__u16           pid;
1803256b36eSMauro Carvalho Chehab 	enum dmx_input  input;
1813256b36eSMauro Carvalho Chehab 	enum dmx_output output;
1823256b36eSMauro Carvalho Chehab 	enum dmx_ts_pes pes_type;
183c57fd021SDavid Howells 	__u32           flags;
184c57fd021SDavid Howells };
185c57fd021SDavid Howells 
186bb98e6d2SMauro Carvalho Chehab /**
187bb98e6d2SMauro Carvalho Chehab  * struct dmx_stc - Stores System Time Counter (STC) information.
188bb98e6d2SMauro Carvalho Chehab  *
189bb98e6d2SMauro Carvalho Chehab  * @num: input data: number of the STC, from 0 to N.
190bb98e6d2SMauro Carvalho Chehab  * @base: output: divisor for STC to get 90 kHz clock.
191bb98e6d2SMauro Carvalho Chehab  * @stc: output: stc in @base * 90 kHz units.
192bb98e6d2SMauro Carvalho Chehab  */
193c57fd021SDavid Howells struct dmx_stc {
194bb98e6d2SMauro Carvalho Chehab 	unsigned int num;
195bb98e6d2SMauro Carvalho Chehab 	unsigned int base;
196bb98e6d2SMauro Carvalho Chehab 	__u64 stc;
197c57fd021SDavid Howells };
198c57fd021SDavid Howells 
19957868accSSatendra Singh Thakur /**
200*9c171cdfSMauro Carvalho Chehab  * enum dmx_buffer_flags - DMX memory-mapped buffer flags
201*9c171cdfSMauro Carvalho Chehab  *
202*9c171cdfSMauro Carvalho Chehab  * @DMX_BUFFER_FLAG_HAD_CRC32_DISCARD:
203*9c171cdfSMauro Carvalho Chehab  *	Indicates that the Kernel discarded one or more frames due to wrong
204*9c171cdfSMauro Carvalho Chehab  *	CRC32 checksum.
205*9c171cdfSMauro Carvalho Chehab  * @DMX_BUFFER_FLAG_TEI:
206*9c171cdfSMauro Carvalho Chehab  *	Indicates that the Kernel has detected a Transport Error indicator
207*9c171cdfSMauro Carvalho Chehab  *	(TEI) on a filtered pid.
208*9c171cdfSMauro Carvalho Chehab  * @DMX_BUFFER_PKT_COUNTER_MISMATCH:
209*9c171cdfSMauro Carvalho Chehab  *	Indicates that the Kernel has detected a packet counter mismatch
210*9c171cdfSMauro Carvalho Chehab  *	on a filtered pid.
211*9c171cdfSMauro Carvalho Chehab  * @DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED:
212*9c171cdfSMauro Carvalho Chehab  *	Indicates that the Kernel has detected one or more frame discontinuity.
213*9c171cdfSMauro Carvalho Chehab  * @DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR:
214*9c171cdfSMauro Carvalho Chehab  *	Received at least one packet with a frame discontinuity indicator.
215*9c171cdfSMauro Carvalho Chehab  */
216*9c171cdfSMauro Carvalho Chehab 
217*9c171cdfSMauro Carvalho Chehab enum dmx_buffer_flags {
218*9c171cdfSMauro Carvalho Chehab 	DMX_BUFFER_FLAG_HAD_CRC32_DISCARD		= 1 << 0,
219*9c171cdfSMauro Carvalho Chehab 	DMX_BUFFER_FLAG_TEI				= 1 << 1,
220*9c171cdfSMauro Carvalho Chehab 	DMX_BUFFER_PKT_COUNTER_MISMATCH			= 1 << 2,
221*9c171cdfSMauro Carvalho Chehab 	DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED		= 1 << 3,
222*9c171cdfSMauro Carvalho Chehab 	DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR		= 1 << 4,
223*9c171cdfSMauro Carvalho Chehab };
224*9c171cdfSMauro Carvalho Chehab 
225*9c171cdfSMauro Carvalho Chehab /**
22657868accSSatendra Singh Thakur  * struct dmx_buffer - dmx buffer info
22757868accSSatendra Singh Thakur  *
22857868accSSatendra Singh Thakur  * @index:	id number of the buffer
22957868accSSatendra Singh Thakur  * @bytesused:	number of bytes occupied by data in the buffer (payload);
23057868accSSatendra Singh Thakur  * @offset:	for buffers with memory == DMX_MEMORY_MMAP;
23157868accSSatendra Singh Thakur  *		offset from the start of the device memory for this plane,
23257868accSSatendra Singh Thakur  *		(or a "cookie" that should be passed to mmap() as offset)
23357868accSSatendra Singh Thakur  * @length:	size in bytes of the buffer
234*9c171cdfSMauro Carvalho Chehab  * @flags:	bit array of buffer flags as defined by &enum dmx_buffer_flags.
235*9c171cdfSMauro Carvalho Chehab  *		Filled only at &DMX_DQBUF.
236*9c171cdfSMauro Carvalho Chehab  * @count:	monotonic counter for filled buffers. Helps to identify
237*9c171cdfSMauro Carvalho Chehab  *		data stream loses. Filled only at &DMX_DQBUF.
23857868accSSatendra Singh Thakur  *
23957868accSSatendra Singh Thakur  * Contains data exchanged by application and driver using one of the streaming
24057868accSSatendra Singh Thakur  * I/O methods.
241*9c171cdfSMauro Carvalho Chehab  *
242*9c171cdfSMauro Carvalho Chehab  * Please notice that, for &DMX_QBUF, only @index should be filled.
243*9c171cdfSMauro Carvalho Chehab  * On &DMX_DQBUF calls, all fields will be filled by the Kernel.
24457868accSSatendra Singh Thakur  */
24557868accSSatendra Singh Thakur struct dmx_buffer {
24657868accSSatendra Singh Thakur 	__u32			index;
24757868accSSatendra Singh Thakur 	__u32			bytesused;
24857868accSSatendra Singh Thakur 	__u32			offset;
24957868accSSatendra Singh Thakur 	__u32			length;
250*9c171cdfSMauro Carvalho Chehab 	__u32			flags;
251*9c171cdfSMauro Carvalho Chehab 	__u32			count;
25257868accSSatendra Singh Thakur };
25357868accSSatendra Singh Thakur 
25457868accSSatendra Singh Thakur /**
25557868accSSatendra Singh Thakur  * struct dmx_requestbuffers - request dmx buffer information
25657868accSSatendra Singh Thakur  *
25757868accSSatendra Singh Thakur  * @count:	number of requested buffers,
25857868accSSatendra Singh Thakur  * @size:	size in bytes of the requested buffer
25957868accSSatendra Singh Thakur  *
26057868accSSatendra Singh Thakur  * Contains data used for requesting a dmx buffer.
26157868accSSatendra Singh Thakur  * All reserved fields must be set to zero.
26257868accSSatendra Singh Thakur  */
26357868accSSatendra Singh Thakur struct dmx_requestbuffers {
26457868accSSatendra Singh Thakur 	__u32			count;
26557868accSSatendra Singh Thakur 	__u32			size;
26657868accSSatendra Singh Thakur };
26757868accSSatendra Singh Thakur 
26857868accSSatendra Singh Thakur /**
26957868accSSatendra Singh Thakur  * struct dmx_exportbuffer - export of dmx buffer as DMABUF file descriptor
27057868accSSatendra Singh Thakur  *
27157868accSSatendra Singh Thakur  * @index:	id number of the buffer
27257868accSSatendra Singh Thakur  * @flags:	flags for newly created file, currently only O_CLOEXEC is
27357868accSSatendra Singh Thakur  *		supported, refer to manual of open syscall for more details
27457868accSSatendra Singh Thakur  * @fd:		file descriptor associated with DMABUF (set by driver)
27557868accSSatendra Singh Thakur  *
27657868accSSatendra Singh Thakur  * Contains data used for exporting a dmx buffer as DMABUF file descriptor.
27757868accSSatendra Singh Thakur  * The buffer is identified by a 'cookie' returned by DMX_QUERYBUF
27857868accSSatendra Singh Thakur  * (identical to the cookie used to mmap() the buffer to userspace). All
27957868accSSatendra Singh Thakur  * reserved fields must be set to zero. The field reserved0 is expected to
28057868accSSatendra Singh Thakur  * become a structure 'type' allowing an alternative layout of the structure
28157868accSSatendra Singh Thakur  * content. Therefore this field should not be used for any other extensions.
28257868accSSatendra Singh Thakur  */
28357868accSSatendra Singh Thakur struct dmx_exportbuffer {
28457868accSSatendra Singh Thakur 	__u32		index;
28557868accSSatendra Singh Thakur 	__u32		flags;
28657868accSSatendra Singh Thakur 	__s32		fd;
28757868accSSatendra Singh Thakur };
28857868accSSatendra Singh Thakur 
289c57fd021SDavid Howells #define DMX_START                _IO('o', 41)
290c57fd021SDavid Howells #define DMX_STOP                 _IO('o', 42)
291c57fd021SDavid Howells #define DMX_SET_FILTER           _IOW('o', 43, struct dmx_sct_filter_params)
292c57fd021SDavid Howells #define DMX_SET_PES_FILTER       _IOW('o', 44, struct dmx_pes_filter_params)
293c57fd021SDavid Howells #define DMX_SET_BUFFER_SIZE      _IO('o', 45)
294c57fd021SDavid Howells #define DMX_GET_PES_PIDS         _IOR('o', 47, __u16[5])
295c57fd021SDavid Howells #define DMX_GET_STC              _IOWR('o', 50, struct dmx_stc)
296c57fd021SDavid Howells #define DMX_ADD_PID              _IOW('o', 51, __u16)
297c57fd021SDavid Howells #define DMX_REMOVE_PID           _IOW('o', 52, __u16)
298c57fd021SDavid Howells 
2993256b36eSMauro Carvalho Chehab #if !defined(__KERNEL__)
3003256b36eSMauro Carvalho Chehab 
3013256b36eSMauro Carvalho Chehab /* This is needed for legacy userspace support */
3023256b36eSMauro Carvalho Chehab typedef enum dmx_output dmx_output_t;
3033256b36eSMauro Carvalho Chehab typedef enum dmx_input dmx_input_t;
3043256b36eSMauro Carvalho Chehab typedef enum dmx_ts_pes dmx_pes_type_t;
3053256b36eSMauro Carvalho Chehab typedef struct dmx_filter dmx_filter_t;
3063256b36eSMauro Carvalho Chehab 
3073256b36eSMauro Carvalho Chehab #endif
3083256b36eSMauro Carvalho Chehab 
30957868accSSatendra Singh Thakur #define DMX_REQBUFS              _IOWR('o', 60, struct dmx_requestbuffers)
31057868accSSatendra Singh Thakur #define DMX_QUERYBUF             _IOWR('o', 61, struct dmx_buffer)
31157868accSSatendra Singh Thakur #define DMX_EXPBUF               _IOWR('o', 62, struct dmx_exportbuffer)
31257868accSSatendra Singh Thakur #define DMX_QBUF                 _IOWR('o', 63, struct dmx_buffer)
31357868accSSatendra Singh Thakur #define DMX_DQBUF                _IOWR('o', 64, struct dmx_buffer)
31457868accSSatendra Singh Thakur 
31557868accSSatendra Singh Thakur #endif /* _DVBDMX_H_ */
316