dmx.h revision 05d08e9716b5974d6ed08973f44930804890b902
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_DVBDMX_H_
20#define _UAPI_DVBDMX_H_
21#include <linux/types.h>
22#include <time.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define DMX_FILTER_SIZE 16
25enum dmx_output {
26  DMX_OUT_DECODER,
27  DMX_OUT_TAP,
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29  DMX_OUT_TS_TAP,
30  DMX_OUT_TSDEMUX_TAP
31};
32typedef enum dmx_output dmx_output_t;
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34typedef enum dmx_input {
35  DMX_IN_FRONTEND,
36  DMX_IN_DVR
37} dmx_input_t;
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39typedef enum dmx_ts_pes {
40  DMX_PES_AUDIO0,
41  DMX_PES_VIDEO0,
42  DMX_PES_TELETEXT0,
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  DMX_PES_SUBTITLE0,
45  DMX_PES_PCR0,
46  DMX_PES_AUDIO1,
47  DMX_PES_VIDEO1,
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  DMX_PES_TELETEXT1,
50  DMX_PES_SUBTITLE1,
51  DMX_PES_PCR1,
52  DMX_PES_AUDIO2,
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  DMX_PES_VIDEO2,
55  DMX_PES_TELETEXT2,
56  DMX_PES_SUBTITLE2,
57  DMX_PES_PCR2,
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59  DMX_PES_AUDIO3,
60  DMX_PES_VIDEO3,
61  DMX_PES_TELETEXT3,
62  DMX_PES_SUBTITLE3,
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  DMX_PES_PCR3,
65  DMX_PES_OTHER
66} dmx_pes_type_t;
67#define DMX_PES_AUDIO DMX_PES_AUDIO0
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define DMX_PES_VIDEO DMX_PES_VIDEO0
70#define DMX_PES_TELETEXT DMX_PES_TELETEXT0
71#define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0
72#define DMX_PES_PCR DMX_PES_PCR0
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74typedef struct dmx_filter {
75  __u8 filter[DMX_FILTER_SIZE];
76  __u8 mask[DMX_FILTER_SIZE];
77  __u8 mode[DMX_FILTER_SIZE];
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79} dmx_filter_t;
80struct dmx_sct_filter_params {
81  __u16 pid;
82  dmx_filter_t filter;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  __u32 timeout;
85  __u32 flags;
86#define DMX_CHECK_CRC 1
87#define DMX_ONESHOT 2
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define DMX_IMMEDIATE_START 4
90#define DMX_KERNEL_CLIENT 0x8000
91};
92struct dmx_pes_filter_params {
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  __u16 pid;
95  dmx_input_t input;
96  dmx_output_t output;
97  dmx_pes_type_t pes_type;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  __u32 flags;
100};
101typedef struct dmx_caps {
102  __u32 caps;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  int num_decoders;
105} dmx_caps_t;
106typedef enum dmx_source {
107  DMX_SOURCE_FRONT0 = 0,
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  DMX_SOURCE_FRONT1,
110  DMX_SOURCE_FRONT2,
111  DMX_SOURCE_FRONT3,
112  DMX_SOURCE_DVR0 = 16,
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  DMX_SOURCE_DVR1,
115  DMX_SOURCE_DVR2,
116  DMX_SOURCE_DVR3
117} dmx_source_t;
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119struct dmx_stc {
120  unsigned int num;
121  unsigned int base;
122  __u64 stc;
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124};
125#define DMX_START _IO('o', 41)
126#define DMX_STOP _IO('o', 42)
127#define DMX_SET_FILTER _IOW('o', 43, struct dmx_sct_filter_params)
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129#define DMX_SET_PES_FILTER _IOW('o', 44, struct dmx_pes_filter_params)
130#define DMX_SET_BUFFER_SIZE _IO('o', 45)
131#define DMX_GET_PES_PIDS _IOR('o', 47, __u16[5])
132#define DMX_GET_CAPS _IOR('o', 48, dmx_caps_t)
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134#define DMX_SET_SOURCE _IOW('o', 49, dmx_source_t)
135#define DMX_GET_STC _IOWR('o', 50, struct dmx_stc)
136#define DMX_ADD_PID _IOW('o', 51, __u16)
137#define DMX_REMOVE_PID _IOW('o', 52, __u16)
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139#endif
140