Subversion Repositories shark

Rev

Rev 422 | Details | Compare with Previous | Last modification | View Log | RSS feed

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