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 25 enum 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 }; 32 typedef enum dmx_output dmx_output_t; 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 typedef 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 */ 39 typedef 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 */ 74 typedef 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; 80 struct 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 }; 92 struct 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 }; 101 typedef 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; 106 typedef 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 */ 119 struct 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