Merge branch 'for_rmk_17' of git://git.mnementh.co.uk/linux-2.6-im
[linux-2.6] / drivers / char / rio / rioinfo.h
1 /*
2 ** -----------------------------------------------------------------------------
3 **
4 **  Perle Specialix driver for Linux
5 **  Ported from existing RIO Driver for SCO sources.
6  *
7  *  (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
8  *
9  *      This program is free software; you can redistribute it and/or modify
10  *      it under the terms of the GNU General Public License as published by
11  *      the Free Software Foundation; either version 2 of the License, or
12  *      (at your option) any later version.
13  *
14  *      This program is distributed in the hope that it will be useful,
15  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
16  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  *      GNU General Public License for more details.
18  *
19  *      You should have received a copy of the GNU General Public License
20  *      along with this program; if not, write to the Free Software
21  *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 **
23 **      Module          : rioinfo.h
24 **      SID             : 1.2
25 **      Last Modified   : 11/6/98 14:07:49
26 **      Retrieved       : 11/6/98 14:07:50
27 **
28 **  ident @(#)rioinfo.h 1.2
29 **
30 ** -----------------------------------------------------------------------------
31 */
32
33 #ifndef __rioinfo_h
34 #define __rioinfo_h
35
36 /*
37 ** Host card data structure
38 */
39 struct RioHostInfo {
40         long location;          /* RIO Card Base I/O address */
41         long vector;            /* RIO Card IRQ vector */
42         int bus;                /* ISA/EISA/MCA/PCI */
43         int mode;               /* pointer to host mode - INTERRUPT / POLLED */
44         struct old_sgttyb
45         *Sg;                    /* pointer to default term characteristics */
46 };
47
48
49 /* Mode in rio device info */
50 #define INTERRUPTED_MODE        0x01    /* Interrupt is generated */
51 #define POLLED_MODE             0x02    /* No interrupt */
52 #define AUTO_MODE               0x03    /* Auto mode */
53
54 #define WORD_ACCESS_MODE        0x10    /* Word Access Mode */
55 #define BYTE_ACCESS_MODE        0x20    /* Byte Access Mode */
56
57
58 /* Bus type that RIO supports */
59 #define ISA_BUS                 0x01    /* The card is ISA */
60 #define EISA_BUS                0x02    /* The card is EISA */
61 #define MCA_BUS                 0x04    /* The card is MCA */
62 #define PCI_BUS                 0x08    /* The card is PCI */
63
64 /*
65 ** 11.11.1998 ARG - ESIL ???? part fix
66 ** Moved definition for 'CHAN' here from rioinfo.c (it is now
67 ** called 'DEF_TERM_CHARACTERISTICS').
68 */
69
70 #define DEF_TERM_CHARACTERISTICS \
71 { \
72         B19200, B19200,                         /* input and output speed */ \
73         'H' - '@',                              /* erase char */ \
74         -1,                                     /* 2nd erase char */ \
75         'U' - '@',                              /* kill char */ \
76         ECHO | CRMOD,                           /* mode */ \
77         'C' - '@',                              /* interrupt character */ \
78         '\\' - '@',                             /* quit char */ \
79         'Q' - '@',                              /* start char */ \
80         'S' - '@',                              /* stop char */ \
81         'D' - '@',                              /* EOF */ \
82         -1,                                     /* brk */ \
83         (LCRTBS | LCRTERA | LCRTKIL | LCTLECH), /* local mode word */ \
84         'Z' - '@',                              /* process stop */ \
85         'Y' - '@',                              /* delayed stop */ \
86         'R' - '@',                              /* reprint line */ \
87         'O' - '@',                              /* flush output */ \
88         'W' - '@',                              /* word erase */ \
89         'V' - '@'                               /* literal next char */ \
90 }
91
92 #endif                          /* __rioinfo_h */