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 typedef enum 26 { 27 DMX_OUT_DECODER, 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 DMX_OUT_TAP, 30 DMX_OUT_TS_TAP, 31 DMX_OUT_TSDEMUX_TAP 32 } dmx_output_t; 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 typedef enum 35 { 36 DMX_IN_FRONTEND, 37 DMX_IN_DVR 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 } dmx_input_t; 40 typedef enum dmx_ts_pes 41 { 42 DMX_PES_AUDIO0, 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 DMX_PES_VIDEO0, 45 DMX_PES_TELETEXT0, 46 DMX_PES_SUBTITLE0, 47 DMX_PES_PCR0, 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 DMX_PES_AUDIO1, 50 DMX_PES_VIDEO1, 51 DMX_PES_TELETEXT1, 52 DMX_PES_SUBTITLE1, 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 DMX_PES_PCR1, 55 DMX_PES_AUDIO2, 56 DMX_PES_VIDEO2, 57 DMX_PES_TELETEXT2, 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 DMX_PES_SUBTITLE2, 60 DMX_PES_PCR2, 61 DMX_PES_AUDIO3, 62 DMX_PES_VIDEO3, 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 DMX_PES_TELETEXT3, 65 DMX_PES_SUBTITLE3, 66 DMX_PES_PCR3, 67 DMX_PES_OTHER 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 } dmx_pes_type_t; 70 #define DMX_PES_AUDIO DMX_PES_AUDIO0 71 #define DMX_PES_VIDEO DMX_PES_VIDEO0 72 #define DMX_PES_TELETEXT DMX_PES_TELETEXT0 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 #define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0 75 #define DMX_PES_PCR DMX_PES_PCR0 76 typedef struct dmx_filter 77 { 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 __u8 filter[DMX_FILTER_SIZE]; 80 __u8 mask[DMX_FILTER_SIZE]; 81 __u8 mode[DMX_FILTER_SIZE]; 82 } dmx_filter_t; 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 struct dmx_sct_filter_params 85 { 86 __u16 pid; 87 dmx_filter_t filter; 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 __u32 timeout; 90 __u32 flags; 91 #define DMX_CHECK_CRC 1 92 #define DMX_ONESHOT 2 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 #define DMX_IMMEDIATE_START 4 95 #define DMX_KERNEL_CLIENT 0x8000 96 }; 97 struct dmx_pes_filter_params 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 { 100 __u16 pid; 101 dmx_input_t input; 102 dmx_output_t output; 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 dmx_pes_type_t pes_type; 105 __u32 flags; 106 }; 107 typedef struct dmx_caps { 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 __u32 caps; 110 int num_decoders; 111 } dmx_caps_t; 112 typedef enum { 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 DMX_SOURCE_FRONT0 = 0, 115 DMX_SOURCE_FRONT1, 116 DMX_SOURCE_FRONT2, 117 DMX_SOURCE_FRONT3, 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 DMX_SOURCE_DVR0 = 16, 120 DMX_SOURCE_DVR1, 121 DMX_SOURCE_DVR2, 122 DMX_SOURCE_DVR3 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 } dmx_source_t; 125 struct dmx_stc { 126 unsigned int num; 127 unsigned int base; 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 __u64 stc; 130 }; 131 #define DMX_START _IO('o', 41) 132 #define DMX_STOP _IO('o', 42) 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 #define DMX_SET_FILTER _IOW('o', 43, struct dmx_sct_filter_params) 135 #define DMX_SET_PES_FILTER _IOW('o', 44, struct dmx_pes_filter_params) 136 #define DMX_SET_BUFFER_SIZE _IO('o', 45) 137 #define DMX_GET_PES_PIDS _IOR('o', 47, __u16[5]) 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 #define DMX_GET_CAPS _IOR('o', 48, dmx_caps_t) 140 #define DMX_SET_SOURCE _IOW('o', 49, dmx_source_t) 141 #define DMX_GET_STC _IOWR('o', 50, struct dmx_stc) 142 #define DMX_ADD_PID _IOW('o', 51, __u16) 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 #define DMX_REMOVE_PID _IOW('o', 52, __u16) 145 #endif 146