• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/include/linux/
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
58typedef 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}
65vtx_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
84typedef 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}
95vtx_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
105typedef 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}
123vtx_pageinfo_t;
124
125#endif /* _VTX_H */
126