drv_dtv_external.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  1. #ifndef _DTV_IOCTL_H_
  2. #define _DTV_IOCTL_H_
  3. #include <linux/ioctl.h>
  4. #include "drv_types.h"
  5. #define MPO_IMAGE 0
  6. // ******************************
  7. // mmap region selection
  8. // ******************************
  9. #define DTVDEMUX_MMAP_CC 0
  10. #define DTVDEMUX_MMAP_TIMESHIFT_RECORD 1
  11. #define DTVDEMUX_MMAP_TIMESHIFT_RW_POINT_INFO 2
  12. #define MAPMEM_POWER_RECORD 10 //2(10) x 4096 = 4MB
  13. #define MAPMEM_SIZE_RECORD 4096 //4KB
  14. #define MAPMEM_POWER_RWPOINTINFO 0 //2(0) x 4096 = 4KB
  15. #define MAPMEM_SIZE_RWPOINTINFO 4096 //4KB
  16. typedef struct _DMIOC_IOData
  17. {
  18. // for reallocated I/O
  19. UINT16 port;
  20. UINT8 index;
  21. UINT8 value;
  22. } DMIOC_IOData, *DMIOC_IODataPtr;
  23. typedef struct _DMIOC_MMIOData
  24. {
  25. UINT32 addr;
  26. UINT32 value;
  27. } DMIOC_MMIOData, *DMIOC_MMIODataPtr;
  28. #define INITIAL_RING_NUM 0xFF
  29. // ******************************
  30. // Subtitle
  31. // ******************************
  32. typedef enum __attribute__ ((__packed__))
  33. {
  34. GET_CMD_BUF,
  35. START_SUBTITLE,
  36. STOP_SUBTITLE,
  37. GET_VIDEO_OFFSET,
  38. } SUBTITLE_OPS;
  39. typedef enum __attribute__ ((__packed__))
  40. {
  41. SUB_OPS_OK,
  42. SUB_OPS_NO_SUB, // no subtitle data now
  43. SUB_OPS_BUFFSIZE_SMALL, // cmdBufSize is too small
  44. } SUB_OPS_STATE;
  45. typedef struct _DMIOC_SUBTITLEData
  46. {
  47. SUBTITLE_OPS ops;
  48. SUB_OPS_STATE ops_state;
  49. UINT8* cmdBuf;
  50. UINT32 cmdBufSize; // cmdBuf buffer size (AP --> driver)
  51. UINT32 Size; // data size in cmdBuf buffer (driver --> AP)
  52. UINT32 PTS;
  53. //UINT32 PTS_High; unused now
  54. UINT32 VideoOffset;
  55. } DMIOC_SUBTITLEData, *DMIOC_SUBTITLEDataPtr;
  56. // ******************************
  57. // CC Data
  58. // ******************************
  59. #define CAPTION_CMDBUF_SIZE 16*1024 // cmdbuf_num = (CAPTION_CMDBUF_SIZE-4)/sizeof(CCDataStruc) = 117
  60. #define CAPTION_DATA_SIZE 128
  61. #define CCTYPE_DTVCC 1
  62. #define CCTYPE_SCTE_20 3
  63. #define CCTYPE_SCTE_21 2
  64. typedef struct _CCDataStruct
  65. {
  66. UINT8 Flag;
  67. UINT8 CCTYPE;
  68. UINT8 Reserved;
  69. UINT8 PTS_High;
  70. UINT8 Top_Field_First; //20091012 lwhite add
  71. UINT32 PTS;
  72. UINT32 dwSize;
  73. UINT8 pBuffer[CAPTION_DATA_SIZE];
  74. } CCDataStruct, *CCDataStructPtr;
  75. // ******************************
  76. // Timeshift/PVR
  77. // ******************************
  78. typedef struct _tagTimeShift
  79. {
  80. UINT8 m_nCommand;
  81. UINT8 m_nTsStatus;
  82. UINT32 FrameRate;
  83. UINT32 record_mem_size;
  84. UINT8 m_bRecFullTs;
  85. UINT8 m_nPids;
  86. UINT16 * m_pPids;
  87. }TIME_SHIFT,*PTIME_SHIFT,
  88. DMIOC_TimeShift_IOControl, *DMIOC_TimeShift_IOControlPtr;
  89. typedef enum
  90. {
  91. TSS_FAIL,
  92. TSS_SUCCESS,
  93. TSS_WAIT,
  94. }TIME_SHIFT_STATUS;
  95. typedef enum
  96. {
  97. IOCTL_RECORD_GET_MEMSIZE,
  98. IOCTL_RECORD_INIT,
  99. IOCTL_RECORD_EXIT,
  100. IOCTL_PLAY_INIT,
  101. IOCTL_PLAY_EXIT,
  102. IOCTL_RECORD_ADD_PID,
  103. IOCTL_RECORD_DEL_PID,
  104. }TIME_SHIFT_COMMAND;
  105. enum
  106. {
  107. TS_SYNCBYTE_NOT_FOUND,
  108. TS_SYNCBYTE_FOUND,
  109. TS_CROSSING_BUFF_MODE,
  110. };
  111. typedef struct _tagRW_POINT_INFO
  112. {
  113. UINT32 m_dwTogStart;
  114. UINT32 m_dwPointer;
  115. UINT32 m_pReserved[5];
  116. UINT32 m_dwTogEnd;
  117. }RW_POINT_INFO,*PRW_POINT_INFO;
  118. typedef struct _TS_MAP_MEMORY_RWPTR_STRUCT
  119. {
  120. union{
  121. UINT32 play_write_ptr[8];
  122. struct{
  123. UINT32 pw_tog_start;
  124. UINT32 pw_write_ptr;
  125. UINT32 pw_isEOF;
  126. UINT32 pw_reserved[4];
  127. UINT32 pw_tog_end;
  128. };
  129. };
  130. union{
  131. UINT32 play_read_ptr[8];
  132. struct{
  133. UINT32 pr_tog_start;
  134. UINT32 pr_write_ptr;
  135. UINT32 pr_isPlayEOF;
  136. UINT32 pr_reserved[4];
  137. UINT32 pr_tog_end;
  138. };
  139. };
  140. UINT32 reserved1[8];
  141. UINT32 reserved2[8];
  142. union{
  143. UINT32 record_write_ptr[8];
  144. struct{
  145. UINT32 rw_tog_start;
  146. UINT32 rw_write_ptr;
  147. UINT32 rw_reserved[5];
  148. UINT32 rw_tog_end;
  149. };
  150. };
  151. union{
  152. UINT32 record_read_ptr[8];
  153. struct{
  154. UINT32 rr_tog_start;
  155. UINT32 rr_write_ptr;
  156. UINT32 rr_reserved[5];
  157. UINT32 rr_tog_end;
  158. };
  159. };
  160. UINT32 reserved3[8];
  161. UINT32 reserved4[8];
  162. } TS_MAP_MEMORY_RWPTR_STRUCT, *TS_MAP_MEMORY_RWPTR_STRUCT_PTR;
  163. typedef struct _TS_HEADER
  164. {
  165. union{
  166. struct
  167. {
  168. UINT32 continuity_counter:4;
  169. UINT32 adaptation_field_control:2;
  170. UINT32 transport_scrambling_control:2;
  171. UINT32 PID:13;
  172. UINT32 transport_priority:1;
  173. UINT32 payload_unit_start_indicator:1;
  174. UINT32 transport_err_byte:1;
  175. UINT32 sync_byte:8;
  176. };
  177. UINT32 dw;
  178. };
  179. union{
  180. struct
  181. {
  182. UINT8 adapt_field_extern_flag:1;
  183. UINT8 ts_private_data_flag:1;
  184. UINT8 splicing_point_flag:1;
  185. UINT8 OPCR_FLAG:1;
  186. UINT8 PCR_FLAG:1;
  187. UINT8 elementary_stream_priority_indicator:1;
  188. UINT8 random_access_indicator:1;
  189. UINT8 discontinuity_indicator:1;
  190. };
  191. UINT8 adapt_control_bytes;
  192. };
  193. }TS_HEADER, *TS_HEADERPTR;
  194. // ******************************
  195. // MPO
  196. // ******************************
  197. #ifdef MPO_IMAGE
  198. typedef struct _MPOaddr
  199. {
  200. ULONG addrY;
  201. ULONG addrUV;
  202. }MPOaddr,*MPOaddrPtr;
  203. typedef struct _MPO_Data
  204. {
  205. UINT8 MPO_isStart;
  206. ULONG Width;
  207. ULONG Height;
  208. MPOaddr Outputaddr[2];
  209. }DMIOC_MPO_Data,*DMIOC_MPO_DataPtr;
  210. #endif
  211. /***************************************/
  212. /* Demux */
  213. /***************************************/
  214. #define DMIOC_MAGIC 's'
  215. enum {
  216. ENUM_DTV_IOCTL_R_IO,
  217. ENUM_DTV_IOCTL_W_IO,
  218. ENUM_DTV_IOCTL_R_MIO,
  219. ENUM_DTV_IOCTL_W_MIO,
  220. ENUM_DTV_IOCTL_SUBTITLE_OPS,
  221. ENUM_DTV_IOCTL_GET_STC,
  222. ENUM_DTV_IOCTL_TIMESHIFT,
  223. ENUM_DTV_IOCTL_MPO,
  224. ENUM_DTV_IOCTL_DTV_INIT,
  225. ENUM_DTV_IOCTL_DTV_EXIT,
  226. ENUM_DTV_IOCTL_SetPCR,
  227. ENUM_DTV_IOCTL_RingConfig,
  228. ENUM_DTV_IOCTL_SetRing,
  229. ENUM_DTV_IOCTL_SetSectFilter,
  230. ENUM_DTV_IOCTL_CopyFilterSection,
  231. ENUM_DTV_IOCTL_SET_DECRYPTIONKEY,
  232. ENUM_DTV_IOCTL_SET_CAMSTATUS,
  233. ENUM_DTV_IOCTL_Set_Video_Freeze,
  234. ENUM_DTV_IOCTL_VIDEO_MUTE_CONTROL,
  235. ENUM_DTV_IOCTL_Get_Video_Info,
  236. ENUM_DTV_IOCTL_MHEG_AUDIO_CMD,
  237. ENUM_DTV_IOCTL_AUDIO_MUTE_CONTROL,
  238. ENUM_DTV_IOCTL_MHEG_VIDEO_CMD,
  239. #ifdef CONFIG_SUPPORT_SCART_OUT
  240. ENUM_DTV_IOCTL_Set_Audio_ADInfo,
  241. #endif
  242. #ifdef CONFIG_SUPPORT_EWS
  243. ENUM_DTV_IOCTL_Set_EWS_Data,
  244. #endif
  245. #ifdef CONFIG_SUPPORT_INDONESIA_EWS
  246. ENUM_DTV_IOCTL_EWS_AUDIO_CMD,
  247. #endif
  248. ENUM_DTV_IOCTL_MAXINDEX
  249. };
  250. #define DMIOC_R_IO _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_R_IO, DMIOC_IOData)
  251. #define DMIOC_W_IO _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_W_IO, DMIOC_IOData)
  252. #define DMIOC_R_MIO _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_R_MIO, DMIOC_MMIOData)
  253. #define DMIOC_W_MIO _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_W_MIO, DMIOC_MMIOData)
  254. #define DMIOC_SUBTITLE_OPS _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_SUBTITLE_OPS, DMIOC_SUBTITLEData)
  255. #define DMIOC_GET_STC _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_GET_STC, UINT8 *)
  256. #define DMIOC_TIMESHIFT _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_TIMESHIFT, DMIOC_TimeShift_IOControl)
  257. #ifdef MPO_IMAGE
  258. #define DMIOC_Show_MPO_Data _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_MPO, DMIOC_MPO_Data)
  259. #endif
  260. #define DTV_IOCTL_INIT _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_DTV_INIT, DMIOC_DTV_PARAM)
  261. #define DTV_IOCTL_EXIT _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_DTV_EXIT, DMIOC_DTV_PARAM)
  262. #define DTV_IOCTL_SetPCR _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_SetPCR, DMIOC_SETPCR_PARAM)
  263. #define DTV_IOCTL_RingConfig _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_RingConfig, DMIOC_RINGCFG_PARAM)
  264. #define DTV_IOCTL_SetRing _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_SetRing, DMIOC_SETRING_PARAM)
  265. #define DTV_IOCTL_SetSectFilter _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_SetSectFilter, DMIOC_SetSectFilter_PARAM)
  266. #define DTV_IOCTL_CopyFilterSection _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_CopyFilterSection, DMIOC_COPYFILTERSEC_PARAM)
  267. #define DTV_IOCTL_SetVideoFreeze _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_Set_Video_Freeze, DMIOC_SETVIDEOFREEZE_PARAM)
  268. #define DTV_IOCTL_SET_DECRYPTIONKEY _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_SET_DECRYPTIONKEY, DMIOC_DTV_PARAMPTR)
  269. #define DTV_IOCTL_SET_CAMSTATUS _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_SET_CAMSTATUS, DMIOC_DTV_PARAMPTR)
  270. #define DTV_IOCTL_VIDEO_MUTE_CONTROL _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_VIDEO_MUTE_CONTROL, DMIOC_VIDEMUTECONTROL_PARAM)
  271. #define DTV_IOCTL_GetVideoInfo _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_Get_Video_Info, DMIOC_GETVIDEOINFO_PARAM)
  272. #ifdef CONFIG_SUPPORT_MHEG5
  273. #define DTV_IOCTL_MHEG_AUDIO_CMD _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_MHEG_AUDIO_CMD, DMIOC_MPEG_AUDIO_PARAM)
  274. #define DTV_IOCTL_AUDIO_MUTE_CONTROL _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_AUDIO_MUTE_CONTROL, UINT8)
  275. #define DTV_IOCTL_MHEG_VIDEO_CMD _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_MHEG_VIDEO_CMD, DMIOC_MHEG_VIDEO_PARAM)
  276. #endif
  277. #ifdef CONFIG_SUPPORT_SCART_OUT
  278. #define DTV_IOCTL_SetAUDIO_ADINFO _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_Set_Audio_ADInfo, DMIOC_AUDIO_ADINFO_PARAM)
  279. #endif
  280. #ifdef CONFIG_SUPPORT_EWS
  281. #define DTV_IOCTL_Set_EWS_Data _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_Set_EWS_Data, DMIOC_SET_EWS_PARAM)
  282. #endif
  283. #ifdef CONFIG_SUPPORT_INDONESIA_EWS
  284. #define DTV_IOCTL_handle_EWS_File_Sound _IOWR(DMIOC_MAGIC, ENUM_DTV_IOCTL_EWS_AUDIO_CMD, DMIOC_MPEG_AUDIO_PARAM)
  285. #endif
  286. // ******************************
  287. //
  288. // Demux Interface
  289. //
  290. // ******************************
  291. #define SISDEMUX_DEV_FILE "/dev/sisdemux0"
  292. #define SISDEMUX_DEV_NUM 1 // Max number of device
  293. #define SISDEMUX_DEVDATA_SIZE 4096 // 4K Device Data
  294. #define DEMUX_SECTION_FILTER_LENGTH 10
  295. #define DEMUX_SECTION_FILTER_CRC_LENGTH 4
  296. #define MAX_PIDFLT_NUM 128
  297. typedef struct _DMIOC_DTV_POWER_PARAM_
  298. {
  299. UINT8 bEnable;
  300. }DMIOC_DTV_POWER_PARAM, *DMIOC_DTV_POWER_PARAMPTR;
  301. typedef struct _DMIOC_DTV_PARAM_
  302. {
  303. INT32 DemuxUnit;
  304. UINT8 bSerial;
  305. UINT8 bExternal_TS;
  306. UINT64 Decryption_Key;
  307. UINT8 bPanelInvert_Mode;
  308. UINT8 bCamExist;
  309. }DMIOC_DTV_PARAM, *DMIOC_DTV_PARAMPTR;
  310. typedef struct _DMIOC_SETPCR_PARAM_
  311. {
  312. INT32 DemuxUnit;
  313. UINT32 PCR_PID;
  314. }DMIOC_SETPCR_PARAM, *DMIOC_SETPCR_PARAMPTR;
  315. typedef struct _DMIOC_SetAPPID_PARAM_
  316. {
  317. UINT32 AP_PID;
  318. }DMIOC_SetAPPID_PARAM, *DMIOC_SetAPPID_PARAMPTR;
  319. typedef struct _DMIOC_RINGCFG_PARAM_
  320. {
  321. INT32 DemuxUnit;
  322. INT32 StreamType;
  323. INT32 RingType;
  324. UINT32 PID;
  325. UINT16 filter_id;
  326. void * Queue_ID; //by middleware used
  327. UINT8 AudioType;
  328. INT32 retval;
  329. }DMIOC_RINGCFG_PARAM, *DMIOC_RINGCFG_PARAMPTR;
  330. typedef struct _DMIOC_SETRING_PARAM_
  331. {
  332. UINT8 bEnable;
  333. INT32 Config_idx;
  334. }DMIOC_SETRING_PARAM, *DMIOC_SETRING_PARAMPTR;
  335. typedef struct _DMIOC_SetSectFilter_PARAM_
  336. {
  337. UINT8 bModify;
  338. INT32 Config_idx;
  339. UINT8 match[DEMUX_SECTION_FILTER_LENGTH];
  340. UINT8 mask[DEMUX_SECTION_FILTER_LENGTH];
  341. UINT8 bNegmask;
  342. UINT8 negmask[DEMUX_SECTION_FILTER_LENGTH];
  343. UINT8 bNegmask_CRC;
  344. UINT8 negmask_CRC[DEMUX_SECTION_FILTER_CRC_LENGTH];
  345. UINT8 not_equal_byte_index;
  346. UINT8 crc;
  347. UINT8 skip_conti_crc;
  348. }DMIOC_SetSectFilter_PARAM, *DMIOC_SetSectFilter_PARAMPTR;
  349. typedef struct _DMIOC_COPYFILTERSEC_PARAM_
  350. {
  351. UINT8 * buffer;
  352. INT32 size;
  353. UINT16 Filt_ID;
  354. UINT8 retval;
  355. }DMIOC_COPYFILTERSEC_PARAM, *DMIOC_COPYFILTERSEC_PARAMPTR;
  356. typedef struct _DMIOC_SETVIDEOFREEZE_PARAM
  357. {
  358. UINT8 bEnable;
  359. }DMIOC_SETVIDEOFREEZE_PARAM, *DMIOC_SETVIDEOFREEZE_PARAMPTR;
  360. typedef struct _DMIOC_VIDEMUTECONTROL_PARAM
  361. {
  362. UINT8 bEnable;
  363. }DMIOC_VIDEMUTECONTROL_PARAM, *DMIOC_VIDEMUTECONTROL_PARAMPTR;
  364. typedef struct _DMIOC_GETVIDEOINFO_PARAM
  365. {
  366. UINT32 dHorizontalSize; /*!< Horizontal Size of Video*/
  367. UINT32 dVerticalSize; /*!< Vertical Size of Video*/
  368. UINT32 dFrameRate; /*!< Frame Rate of Video*/
  369. UINT8 aspect_ratio; /*!< Aspect Ratio of Video*/
  370. UINT8 progressive_sequence; /*!< Interface or progressive of Video*/
  371. UINT8 bAVSPLUS; /*!< video type is avsplus?*/
  372. }DMIOC_GETVIDEOINFO_PARAM, *DMIOC_GETVIDEOINFO_PARAMPTR;
  373. #ifdef CONFIG_SUPPORT_SCART_OUT
  374. typedef struct _DMIOC_AUDIO_ADINFO_PARAM
  375. {
  376. UINT32 audioPID;
  377. UINT8 audioType;
  378. UINT8 bActive;
  379. }DMIOC_AUDIO_ADINFO_PARAM, *DMIOC_AUDIO_ADINFO_PARAMPTR;
  380. #endif
  381. typedef struct _PTI_SECTIONINFO
  382. {
  383. INT32 DemuxUnit;
  384. UINT8 demuxring;
  385. UINT32 pid;
  386. UINT8 table_id;
  387. UINT8 section_number;
  388. UINT16 filter_id;
  389. UINT16 section_len;
  390. void * Queue_ID;
  391. } PTI_SECTIONINFO;
  392. typedef enum
  393. {
  394. MHEG_AUDIO_CMD_INIT,
  395. MHEG_AUDIO_CMD_PLAY,
  396. MHEG_AUDIO_CMD_STOP,
  397. MHEG_AUDIO_CMD_PAUSE,
  398. MHEG_AUDIO_CMD_RESUME,
  399. }MHEG_Audio_DECK_CMD;
  400. typedef enum
  401. {
  402. MHEG_VIDEO_CMD_START,
  403. MHEG_VIDEO_CMD_STOP,
  404. }MHEG_VideoIframe_DECK_CMD;
  405. #ifdef CONFIG_SUPPORT_INDONESIA_EWS
  406. typedef enum
  407. {
  408. DTV_MS_CMD_INIT,
  409. DTV_MS_CMD_PLAY,
  410. DTV_MS_CMD_STOP,
  411. DTV_MS_CMD_PAUSE,
  412. DTV_MS_CMD_RESUME,
  413. }DTV_MPEG_SOUND_CMD;
  414. #endif
  415. typedef struct _DMIOC_MPEG_AUDIO_PARAM_
  416. {
  417. UINT8 cmd;
  418. UINT8 *data_ptr;
  419. INT32 data_length;
  420. UINT32 loop_count;
  421. }DMIOC_MPEG_AUDIO_PARAM, *DMIOC_MPEG_AUDIO_PARAMPTR;
  422. typedef struct _DMIOC_MHEG_VIDEO_PARAM_
  423. {
  424. UINT8 cmd;
  425. UINT8 streamtype;
  426. UINT8 *data_ptr;
  427. UINT32 data_length;
  428. UINT8 retval;
  429. }DMIOC_MHEG_VIDEO_PARAM, *DMIOC_MHEG_VIDEO_PARAMPTR;
  430. //set monitor ews pid.
  431. #ifdef CONFIG_SUPPORT_EWS
  432. typedef struct _DMIOC_SET_EWS_PARAM
  433. {
  434. UINT32 PID;
  435. UINT8 bActive;
  436. UINT8 clear_ews_flag;
  437. }DMIOC_SET_EWS_PARAM, *DMIOC_SET_EWS_PARAMPTR;
  438. #endif
  439. #endif /* _DTV_IOCTL_H_ */