videotext.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:4k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. #ifndef _VTX_H
  2. #define _VTX_H
  3. /* $Id: videotext.h,v 1.1 1998/03/30 22:26:39 alan Exp $
  4.  *
  5.  * Copyright (c) 1994-97 Martin Buck  <martin-2.buck@student.uni-ulm.de>
  6.  * Read COPYING for more information
  7.  *
  8.  */
  9. /*
  10.  * Videotext ioctls
  11.  */
  12. #define VTXIOCGETINFO  0x7101  /* get version of driver & capabilities of vtx-chipset */
  13. #define VTXIOCCLRPAGE  0x7102  /* clear page-buffer */
  14. #define VTXIOCCLRFOUND 0x7103  /* clear bits indicating that page was found */
  15. #define VTXIOCPAGEREQ  0x7104  /* search for page */
  16. #define VTXIOCGETSTAT  0x7105  /* get status of page-buffer */
  17. #define VTXIOCGETPAGE  0x7106  /* get contents of page-buffer */
  18. #define VTXIOCSTOPDAU  0x7107  /* stop data acquisition unit */
  19. #define VTXIOCPUTPAGE  0x7108  /* display page on TV-screen */
  20. #define VTXIOCSETDISP  0x7109  /* set TV-mode */
  21. #define VTXIOCPUTSTAT  0x710a  /* set status of TV-output-buffer */
  22. #define VTXIOCCLRCACHE 0x710b  /* clear cache on VTX-interface (if avail.) */
  23. #define VTXIOCSETVIRT  0x710c  /* turn on virtual mode (this disables TV-display) */
  24. /* 
  25.  * Definitions for VTXIOCGETINFO
  26.  */
  27.  
  28. #define SAA5243 0
  29. #define SAA5246 1
  30. #define SAA5249 2
  31. #define SAA5248 3
  32. #define XSTV5346 4
  33. typedef struct {
  34. int version_major, version_minor; /* version of driver; if version_major changes, driver */
  35. /* is not backward compatible!!! CHECK THIS!!! */  
  36. int numpages; /* number of page-buffers of vtx-chipset */
  37. int cct_type; /* type of vtx-chipset (SAA5243, SAA5246, SAA5248 or
  38.     * SAA5249) */
  39. }
  40. vtx_info_t;
  41. /*
  42.  * Definitions for VTXIOC{CLRPAGE,CLRFOUND,PAGEREQ,GETSTAT,GETPAGE,STOPDAU,PUTPAGE,SETDISP}
  43.  */
  44. #define MIN_UNIT   (1<<0)
  45. #define MIN_TEN    (1<<1)
  46. #define HR_UNIT    (1<<2)
  47. #define HR_TEN     (1<<3)
  48. #define PG_UNIT    (1<<4)
  49. #define PG_TEN     (1<<5)
  50. #define PG_HUND    (1<<6)
  51. #define PGMASK_MAX (1<<7)
  52. #define PGMASK_PAGE (PG_HUND | PG_TEN | PG_UNIT)
  53. #define PGMASK_HOUR (HR_TEN | HR_UNIT)
  54. #define PGMASK_MINUTE (MIN_TEN | MIN_UNIT)
  55. typedef struct 
  56. {
  57. int page; /* number of requested page (hexadecimal) */
  58. int hour; /* requested hour (hexadecimal) */
  59. int minute; /* requested minute (hexadecimal) */
  60. int pagemask; /* mask defining which values of the above are set */
  61. int pgbuf; /* buffer where page will be stored */
  62. int start; /* start of requested part of page */
  63. int end; /* end of requested part of page */
  64. void *buffer; /* pointer to beginning of destination buffer */
  65. }
  66. vtx_pagereq_t;
  67. /*
  68.  * Definitions for VTXIOC{GETSTAT,PUTSTAT}
  69.  */
  70.  
  71. #define VTX_PAGESIZE (40 * 24)
  72. #define VTX_VIRTUALSIZE (40 * 49)
  73. typedef struct 
  74. {
  75. int pagenum; /* number of page (hexadecimal) */
  76. int hour; /* hour (hexadecimal) */
  77. int minute; /* minute (hexadecimal) */
  78. int charset; /* national charset */
  79. unsigned delete : 1; /* delete page (C4) */
  80. unsigned headline : 1; /* insert headline (C5) */
  81. unsigned subtitle : 1; /* insert subtitle (C6) */
  82. unsigned supp_header : 1; /* suppress header (C7) */
  83. unsigned update : 1; /* update page (C8) */
  84. unsigned inter_seq : 1; /* interrupted sequence (C9) */
  85. unsigned dis_disp : 1; /* disable/suppress display (C10) */
  86. unsigned serial : 1; /* serial mode (C11) */
  87. unsigned notfound : 1; /* /FOUND */
  88. unsigned pblf : 1; /* PBLF */
  89. unsigned hamming : 1; /* hamming-error occurred */
  90. }
  91. vtx_pageinfo_t;
  92. /*
  93.  * Definitions for VTXIOCSETDISP
  94.  */
  95.  
  96. typedef enum { 
  97. DISPOFF, DISPNORM, DISPTRANS, DISPINS, INTERLACE_OFFSET 
  98. } vtxdisp_t;
  99. /*
  100.  * Tuner ioctls
  101.  */
  102.  
  103. #define TUNIOCGETINFO  0x7201  /* get version of driver & capabilities of tuner */
  104. #define TUNIOCRESET    0x7202  /* reset tuner */
  105. #define TUNIOCSETFREQ  0x7203  /* set tuning frequency (unit: kHz) */
  106. #define TUNIOCGETFREQ  0x7204  /* get tuning frequency (unit: kHz) */
  107. #define TUNIOCSETCHAN  0x7205  /* set tuning channel */
  108. #define TUNIOCGETCHAN  0x7206  /* get tuning channel */
  109. typedef struct 
  110. {
  111. int version_major, version_minor; /* version of driver; if version_major changes, driver */
  112. /* is not backward compatible!!! CHECK THIS!!! */  
  113. unsigned freq : 1; /* tuner can be set to given frequency */
  114. unsigned chan : 1; /* tuner stores several channels */
  115. unsigned scan : 1; /* tuner supports scanning */
  116. unsigned autoscan : 1; /* tuner supports scanning with automatic stop */
  117. unsigned afc : 1; /* tuner supports AFC */
  118. unsigned dummy1, dummy2, dummy3, dummy4, dummy5, dummy6, dummy7, dummy8, dummy9, dummy10,
  119.   dummy11 : 1;
  120. int dummy12, dummy13, dummy14, dummy15, dummy16, dummy17, dummy18, dummy19;
  121. } tuner_info_t;
  122. #endif /* _VTX_H */