/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */ #ifndef _UAPI_EXT_DVBDMX_H_ #define _UAPI_EXT_DVBDMX_H_ #include #ifndef __KERNEL__ #include #endif enum dmx_input { DMX_IN_FRONTEND, DMX_IN_DVR }; enum dmx_output { DMX_OUT_DECODER, DMX_OUT_TAP, DMX_OUT_TS_TAP, DMX_OUT_TSDEMUX_TAP }; enum 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 }; struct dmx_pes_filter_params { __u16 pid; enum dmx_input input; enum dmx_output output; enum dmx_ts_pes pes_type; __u32 flags; }; #define DMX_START _IO('o', 41) #define DMX_STOP _IO('o', 42) #define DMX_SET_PES_FILTER _IOW('o', 44, struct dmx_pes_filter_params) #define DMX_SET_BUFFER_SIZE _IO('o', 45) /*bit 16~23 for output */ #define DMX_ES_OUTPUT (1 << 16) /** * struct dmx_non_sec_es_header - non-sec Elementary Stream (ES) Header * * @pts_dts_flag:[1:0], 01:pts valid, 10:dts valid * @pts: pts value * @dts: dts value * @len: data len */ struct dmx_non_sec_es_header { __u8 pts_dts_flag; __u64 pts; __u64 dts; __u32 len; }; #endif