1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _UAPI_DVBDMX_H_
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _UAPI_DVBDMX_H_
21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h>
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <time.h>
23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_FILTER_SIZE 16
2505d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisenum dmx_output {
26d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_OUT_DECODER,
27d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_OUT_TAP,
28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_OUT_TS_TAP,
30d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_OUT_TSDEMUX_TAP
3105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris};
3205d08e9716b5974d6ed08973f44930804890b902Christopher Ferristypedef enum dmx_output dmx_output_t;
33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3405d08e9716b5974d6ed08973f44930804890b902Christopher Ferristypedef enum dmx_input {
35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_IN_FRONTEND,
36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_IN_DVR
37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} dmx_input_t;
38d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3905d08e9716b5974d6ed08973f44930804890b902Christopher Ferristypedef enum dmx_ts_pes {
40d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_AUDIO0,
41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_VIDEO0,
42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_TELETEXT0,
43d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  DMX_PES_SUBTITLE0,
45d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_PCR0,
46d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_AUDIO1,
47d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_VIDEO1,
48d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  DMX_PES_TELETEXT1,
50d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_SUBTITLE1,
51d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_PCR1,
52d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_AUDIO2,
53d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  DMX_PES_VIDEO2,
55d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_TELETEXT2,
56d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_SUBTITLE2,
57d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_PCR2,
58d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  DMX_PES_AUDIO3,
60d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_VIDEO3,
61d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_TELETEXT3,
62d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_SUBTITLE3,
63d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  DMX_PES_PCR3,
65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_PES_OTHER
66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} dmx_pes_type_t;
67655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_PES_AUDIO DMX_PES_AUDIO0
68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DMX_PES_VIDEO DMX_PES_VIDEO0
70d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DMX_PES_TELETEXT DMX_PES_TELETEXT0
71655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0
72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_PES_PCR DMX_PES_PCR0
73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7405d08e9716b5974d6ed08973f44930804890b902Christopher Ferristypedef struct dmx_filter {
75d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 filter[DMX_FILTER_SIZE];
76d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 mask[DMX_FILTER_SIZE];
77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 mode[DMX_FILTER_SIZE];
78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris} dmx_filter_t;
80d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baostruct dmx_sct_filter_params {
81d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u16 pid;
82d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  dmx_filter_t filter;
83655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u32 timeout;
85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 flags;
86655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_CHECK_CRC 1
87655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_ONESHOT 2
88d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DMX_IMMEDIATE_START 4
90655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_KERNEL_CLIENT 0x8000
91655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
92d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baostruct dmx_pes_filter_params {
93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u16 pid;
95d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  dmx_input_t input;
96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  dmx_output_t output;
97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  dmx_pes_type_t pes_type;
98655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u32 flags;
100655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
101655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct dmx_caps {
102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 caps;
103655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  int num_decoders;
105655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} dmx_caps_t;
10605d08e9716b5974d6ed08973f44930804890b902Christopher Ferristypedef enum dmx_source {
107d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_SOURCE_FRONT0 = 0,
108655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  DMX_SOURCE_FRONT1,
110d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_SOURCE_FRONT2,
111d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_SOURCE_FRONT3,
112d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_SOURCE_DVR0 = 16,
113655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  DMX_SOURCE_DVR1,
115d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_SOURCE_DVR2,
116d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  DMX_SOURCE_DVR3
117655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} dmx_source_t;
118655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11905d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct dmx_stc {
120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int num;
121d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int base;
122d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 stc;
123d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris};
125655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_START _IO('o', 41)
126655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_STOP _IO('o', 42)
127655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_SET_FILTER _IOW('o', 43, struct dmx_sct_filter_params)
128d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DMX_SET_PES_FILTER _IOW('o', 44, struct dmx_pes_filter_params)
130655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_SET_BUFFER_SIZE _IO('o', 45)
131655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_GET_PES_PIDS _IOR('o', 47, __u16[5])
132655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_GET_CAPS _IOR('o', 48, dmx_caps_t)
133d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DMX_SET_SOURCE _IOW('o', 49, dmx_source_t)
135655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_GET_STC _IOWR('o', 50, struct dmx_stc)
136655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_ADD_PID _IOW('o', 51, __u16)
137655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMX_REMOVE_PID _IOW('o', 52, __u16)
138d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#endif
140