diff options
Diffstat (limited to 'include/linux/videotext.h')
-rw-r--r-- | include/linux/videotext.h | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/include/linux/videotext.h b/include/linux/videotext.h new file mode 100644 index 000000000000..018f92047ff8 --- /dev/null +++ b/include/linux/videotext.h | |||
@@ -0,0 +1,125 @@ | |||
1 | #ifndef _VTX_H | ||
2 | #define _VTX_H | ||
3 | |||
4 | /* | ||
5 | * Teletext (=Videotext) hardware decoders using interface /dev/vtx | ||
6 | * Do not confuse with drivers using /dev/vbi which decode videotext by software | ||
7 | * | ||
8 | * Videotext IOCTLs changed in order to use _IO() macros defined in <linux/ioctl.h>, | ||
9 | * unused tuner IOCTLs cleaned up by | ||
10 | * Michael Geng <linux@MichaelGeng.de> | ||
11 | * | ||
12 | * Copyright (c) 1994-97 Martin Buck <martin-2.buck@student.uni-ulm.de> | ||
13 | * Read COPYING for more information | ||
14 | * | ||
15 | */ | ||
16 | |||
17 | |||
18 | /* | ||
19 | * Videotext ioctls | ||
20 | */ | ||
21 | #define VTXIOCGETINFO _IOR (0x81, 1, vtx_info_t) | ||
22 | #define VTXIOCCLRPAGE _IOW (0x81, 2, vtx_pagereq_t) | ||
23 | #define VTXIOCCLRFOUND _IOW (0x81, 3, vtx_pagereq_t) | ||
24 | #define VTXIOCPAGEREQ _IOW (0x81, 4, vtx_pagereq_t) | ||
25 | #define VTXIOCGETSTAT _IOW (0x81, 5, vtx_pagereq_t) | ||
26 | #define VTXIOCGETPAGE _IOW (0x81, 6, vtx_pagereq_t) | ||
27 | #define VTXIOCSTOPDAU _IOW (0x81, 7, vtx_pagereq_t) | ||
28 | #define VTXIOCPUTPAGE _IO (0x81, 8) | ||
29 | #define VTXIOCSETDISP _IO (0x81, 9) | ||
30 | #define VTXIOCPUTSTAT _IO (0x81, 10) | ||
31 | #define VTXIOCCLRCACHE _IO (0x81, 11) | ||
32 | #define VTXIOCSETVIRT _IOW (0x81, 12, long) | ||
33 | |||
34 | /* for compatibility, will go away some day */ | ||
35 | #define VTXIOCGETINFO_OLD 0x7101 /* get version of driver & capabilities of vtx-chipset */ | ||
36 | #define VTXIOCCLRPAGE_OLD 0x7102 /* clear page-buffer */ | ||
37 | #define VTXIOCCLRFOUND_OLD 0x7103 /* clear bits indicating that page was found */ | ||
38 | #define VTXIOCPAGEREQ_OLD 0x7104 /* search for page */ | ||
39 | #define VTXIOCGETSTAT_OLD 0x7105 /* get status of page-buffer */ | ||
40 | #define VTXIOCGETPAGE_OLD 0x7106 /* get contents of page-buffer */ | ||
41 | #define VTXIOCSTOPDAU_OLD 0x7107 /* stop data acquisition unit */ | ||
42 | #define VTXIOCPUTPAGE_OLD 0x7108 /* display page on TV-screen */ | ||
43 | #define VTXIOCSETDISP_OLD 0x7109 /* set TV-mode */ | ||
44 | #define VTXIOCPUTSTAT_OLD 0x710a /* set status of TV-output-buffer */ | ||
45 | #define VTXIOCCLRCACHE_OLD 0x710b /* clear cache on VTX-interface (if avail.) */ | ||
46 | #define VTXIOCSETVIRT_OLD 0x710c /* turn on virtual mode (this disables TV-display) */ | ||
47 | |||
48 | /* | ||
49 | * Definitions for VTXIOCGETINFO | ||
50 | */ | ||
51 | |||
52 | #define SAA5243 0 | ||
53 | #define SAA5246 1 | ||
54 | #define SAA5249 2 | ||
55 | #define SAA5248 3 | ||
56 | #define XSTV5346 4 | ||
57 | |||
58 | typedef struct { | ||
59 | int version_major, version_minor; /* version of driver; if version_major changes, driver */ | ||
60 | /* is not backward compatible!!! CHECK THIS!!! */ | ||
61 | int numpages; /* number of page-buffers of vtx-chipset */ | ||
62 | int cct_type; /* type of vtx-chipset (SAA5243, SAA5246, SAA5248 or | ||
63 | * SAA5249) */ | ||
64 | } | ||
65 | vtx_info_t; | ||
66 | |||
67 | |||
68 | /* | ||
69 | * Definitions for VTXIOC{CLRPAGE,CLRFOUND,PAGEREQ,GETSTAT,GETPAGE,STOPDAU,PUTPAGE,SETDISP} | ||
70 | */ | ||
71 | |||
72 | #define MIN_UNIT (1<<0) | ||
73 | #define MIN_TEN (1<<1) | ||
74 | #define HR_UNIT (1<<2) | ||
75 | #define HR_TEN (1<<3) | ||
76 | #define PG_UNIT (1<<4) | ||
77 | #define PG_TEN (1<<5) | ||
78 | #define PG_HUND (1<<6) | ||
79 | #define PGMASK_MAX (1<<7) | ||
80 | #define PGMASK_PAGE (PG_HUND | PG_TEN | PG_UNIT) | ||
81 | #define PGMASK_HOUR (HR_TEN | HR_UNIT) | ||
82 | #define PGMASK_MINUTE (MIN_TEN | MIN_UNIT) | ||
83 | |||
84 | typedef struct | ||
85 | { | ||
86 | int page; /* number of requested page (hexadecimal) */ | ||
87 | int hour; /* requested hour (hexadecimal) */ | ||
88 | int minute; /* requested minute (hexadecimal) */ | ||
89 | int pagemask; /* mask defining which values of the above are set */ | ||
90 | int pgbuf; /* buffer where page will be stored */ | ||
91 | int start; /* start of requested part of page */ | ||
92 | int end; /* end of requested part of page */ | ||
93 | void __user *buffer; /* pointer to beginning of destination buffer */ | ||
94 | } | ||
95 | vtx_pagereq_t; | ||
96 | |||
97 | |||
98 | /* | ||
99 | * Definitions for VTXIOC{GETSTAT,PUTSTAT} | ||
100 | */ | ||
101 | |||
102 | #define VTX_PAGESIZE (40 * 24) | ||
103 | #define VTX_VIRTUALSIZE (40 * 49) | ||
104 | |||
105 | typedef struct | ||
106 | { | ||
107 | int pagenum; /* number of page (hexadecimal) */ | ||
108 | int hour; /* hour (hexadecimal) */ | ||
109 | int minute; /* minute (hexadecimal) */ | ||
110 | int charset; /* national charset */ | ||
111 | unsigned delete : 1; /* delete page (C4) */ | ||
112 | unsigned headline : 1; /* insert headline (C5) */ | ||
113 | unsigned subtitle : 1; /* insert subtitle (C6) */ | ||
114 | unsigned supp_header : 1; /* suppress header (C7) */ | ||
115 | unsigned update : 1; /* update page (C8) */ | ||
116 | unsigned inter_seq : 1; /* interrupted sequence (C9) */ | ||
117 | unsigned dis_disp : 1; /* disable/suppress display (C10) */ | ||
118 | unsigned serial : 1; /* serial mode (C11) */ | ||
119 | unsigned notfound : 1; /* /FOUND */ | ||
120 | unsigned pblf : 1; /* PBLF */ | ||
121 | unsigned hamming : 1; /* hamming-error occurred */ | ||
122 | } | ||
123 | vtx_pageinfo_t; | ||
124 | |||
125 | #endif /* _VTX_H */ | ||