xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/dvb/dmx.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_DVBDMX_H_
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_DVBDMX_H_
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <time.h>
11*8d67ca89SAndroid Build Coastguard Worker #define DMX_FILTER_SIZE 16
12*8d67ca89SAndroid Build Coastguard Worker enum dmx_output {
13*8d67ca89SAndroid Build Coastguard Worker   DMX_OUT_DECODER,
14*8d67ca89SAndroid Build Coastguard Worker   DMX_OUT_TAP,
15*8d67ca89SAndroid Build Coastguard Worker   DMX_OUT_TS_TAP,
16*8d67ca89SAndroid Build Coastguard Worker   DMX_OUT_TSDEMUX_TAP
17*8d67ca89SAndroid Build Coastguard Worker };
18*8d67ca89SAndroid Build Coastguard Worker enum dmx_input {
19*8d67ca89SAndroid Build Coastguard Worker   DMX_IN_FRONTEND,
20*8d67ca89SAndroid Build Coastguard Worker   DMX_IN_DVR
21*8d67ca89SAndroid Build Coastguard Worker };
22*8d67ca89SAndroid Build Coastguard Worker enum dmx_ts_pes {
23*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_AUDIO0,
24*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_VIDEO0,
25*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_TELETEXT0,
26*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_SUBTITLE0,
27*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_PCR0,
28*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_AUDIO1,
29*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_VIDEO1,
30*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_TELETEXT1,
31*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_SUBTITLE1,
32*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_PCR1,
33*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_AUDIO2,
34*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_VIDEO2,
35*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_TELETEXT2,
36*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_SUBTITLE2,
37*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_PCR2,
38*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_AUDIO3,
39*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_VIDEO3,
40*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_TELETEXT3,
41*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_SUBTITLE3,
42*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_PCR3,
43*8d67ca89SAndroid Build Coastguard Worker   DMX_PES_OTHER
44*8d67ca89SAndroid Build Coastguard Worker };
45*8d67ca89SAndroid Build Coastguard Worker #define DMX_PES_AUDIO DMX_PES_AUDIO0
46*8d67ca89SAndroid Build Coastguard Worker #define DMX_PES_VIDEO DMX_PES_VIDEO0
47*8d67ca89SAndroid Build Coastguard Worker #define DMX_PES_TELETEXT DMX_PES_TELETEXT0
48*8d67ca89SAndroid Build Coastguard Worker #define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0
49*8d67ca89SAndroid Build Coastguard Worker #define DMX_PES_PCR DMX_PES_PCR0
50*8d67ca89SAndroid Build Coastguard Worker struct dmx_filter {
51*8d67ca89SAndroid Build Coastguard Worker   __u8 filter[DMX_FILTER_SIZE];
52*8d67ca89SAndroid Build Coastguard Worker   __u8 mask[DMX_FILTER_SIZE];
53*8d67ca89SAndroid Build Coastguard Worker   __u8 mode[DMX_FILTER_SIZE];
54*8d67ca89SAndroid Build Coastguard Worker };
55*8d67ca89SAndroid Build Coastguard Worker struct dmx_sct_filter_params {
56*8d67ca89SAndroid Build Coastguard Worker   __u16 pid;
57*8d67ca89SAndroid Build Coastguard Worker   struct dmx_filter filter;
58*8d67ca89SAndroid Build Coastguard Worker   __u32 timeout;
59*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
60*8d67ca89SAndroid Build Coastguard Worker #define DMX_CHECK_CRC 1
61*8d67ca89SAndroid Build Coastguard Worker #define DMX_ONESHOT 2
62*8d67ca89SAndroid Build Coastguard Worker #define DMX_IMMEDIATE_START 4
63*8d67ca89SAndroid Build Coastguard Worker };
64*8d67ca89SAndroid Build Coastguard Worker struct dmx_pes_filter_params {
65*8d67ca89SAndroid Build Coastguard Worker   __u16 pid;
66*8d67ca89SAndroid Build Coastguard Worker   enum dmx_input input;
67*8d67ca89SAndroid Build Coastguard Worker   enum dmx_output output;
68*8d67ca89SAndroid Build Coastguard Worker   enum dmx_ts_pes pes_type;
69*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
70*8d67ca89SAndroid Build Coastguard Worker };
71*8d67ca89SAndroid Build Coastguard Worker struct dmx_stc {
72*8d67ca89SAndroid Build Coastguard Worker   unsigned int num;
73*8d67ca89SAndroid Build Coastguard Worker   unsigned int base;
74*8d67ca89SAndroid Build Coastguard Worker   __u64 stc;
75*8d67ca89SAndroid Build Coastguard Worker };
76*8d67ca89SAndroid Build Coastguard Worker enum dmx_buffer_flags {
77*8d67ca89SAndroid Build Coastguard Worker   DMX_BUFFER_FLAG_HAD_CRC32_DISCARD = 1 << 0,
78*8d67ca89SAndroid Build Coastguard Worker   DMX_BUFFER_FLAG_TEI = 1 << 1,
79*8d67ca89SAndroid Build Coastguard Worker   DMX_BUFFER_PKT_COUNTER_MISMATCH = 1 << 2,
80*8d67ca89SAndroid Build Coastguard Worker   DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED = 1 << 3,
81*8d67ca89SAndroid Build Coastguard Worker   DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR = 1 << 4,
82*8d67ca89SAndroid Build Coastguard Worker };
83*8d67ca89SAndroid Build Coastguard Worker struct dmx_buffer {
84*8d67ca89SAndroid Build Coastguard Worker   __u32 index;
85*8d67ca89SAndroid Build Coastguard Worker   __u32 bytesused;
86*8d67ca89SAndroid Build Coastguard Worker   __u32 offset;
87*8d67ca89SAndroid Build Coastguard Worker   __u32 length;
88*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
89*8d67ca89SAndroid Build Coastguard Worker   __u32 count;
90*8d67ca89SAndroid Build Coastguard Worker };
91*8d67ca89SAndroid Build Coastguard Worker struct dmx_requestbuffers {
92*8d67ca89SAndroid Build Coastguard Worker   __u32 count;
93*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
94*8d67ca89SAndroid Build Coastguard Worker };
95*8d67ca89SAndroid Build Coastguard Worker struct dmx_exportbuffer {
96*8d67ca89SAndroid Build Coastguard Worker   __u32 index;
97*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
98*8d67ca89SAndroid Build Coastguard Worker   __s32 fd;
99*8d67ca89SAndroid Build Coastguard Worker };
100*8d67ca89SAndroid Build Coastguard Worker #define DMX_START _IO('o', 41)
101*8d67ca89SAndroid Build Coastguard Worker #define DMX_STOP _IO('o', 42)
102*8d67ca89SAndroid Build Coastguard Worker #define DMX_SET_FILTER _IOW('o', 43, struct dmx_sct_filter_params)
103*8d67ca89SAndroid Build Coastguard Worker #define DMX_SET_PES_FILTER _IOW('o', 44, struct dmx_pes_filter_params)
104*8d67ca89SAndroid Build Coastguard Worker #define DMX_SET_BUFFER_SIZE _IO('o', 45)
105*8d67ca89SAndroid Build Coastguard Worker #define DMX_GET_PES_PIDS _IOR('o', 47, __u16[5])
106*8d67ca89SAndroid Build Coastguard Worker #define DMX_GET_STC _IOWR('o', 50, struct dmx_stc)
107*8d67ca89SAndroid Build Coastguard Worker #define DMX_ADD_PID _IOW('o', 51, __u16)
108*8d67ca89SAndroid Build Coastguard Worker #define DMX_REMOVE_PID _IOW('o', 52, __u16)
109*8d67ca89SAndroid Build Coastguard Worker typedef enum dmx_output dmx_output_t;
110*8d67ca89SAndroid Build Coastguard Worker typedef enum dmx_input dmx_input_t;
111*8d67ca89SAndroid Build Coastguard Worker typedef enum dmx_ts_pes dmx_pes_type_t;
112*8d67ca89SAndroid Build Coastguard Worker typedef struct dmx_filter dmx_filter_t;
113*8d67ca89SAndroid Build Coastguard Worker #define DMX_REQBUFS _IOWR('o', 60, struct dmx_requestbuffers)
114*8d67ca89SAndroid Build Coastguard Worker #define DMX_QUERYBUF _IOWR('o', 61, struct dmx_buffer)
115*8d67ca89SAndroid Build Coastguard Worker #define DMX_EXPBUF _IOWR('o', 62, struct dmx_exportbuffer)
116*8d67ca89SAndroid Build Coastguard Worker #define DMX_QBUF _IOWR('o', 63, struct dmx_buffer)
117*8d67ca89SAndroid Build Coastguard Worker #define DMX_DQBUF _IOWR('o', 64, struct dmx_buffer)
118*8d67ca89SAndroid Build Coastguard Worker #endif
119