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 #ifdef SCCS_LABELS
37 static char *_rioinfo_h_sccs_ = "@(#)rioinfo.h	1.2";
38 #endif
39 
40 /*
41 ** Host card data structure
42 */
43 struct RioHostInfo {
44 	long	location;	/* RIO Card Base I/O address */
45 	long	vector;		/* RIO Card IRQ vector */
46 	int	bus;		/* ISA/EISA/MCA/PCI */
47 	int	mode;		/* pointer to host mode - INTERRUPT / POLLED */
48 	struct old_sgttyb
49 		* Sg;		/* pointer to default term characteristics */
50 };
51 
52 
53 /* Mode in rio device info */
54 #define INTERRUPTED_MODE	0x01		/* Interrupt is generated */
55 #define POLLED_MODE		0x02		/* No interrupt */
56 #define AUTO_MODE		0x03		/* Auto mode */
57 
58 #define WORD_ACCESS_MODE	0x10		/* Word Access Mode */
59 #define BYTE_ACCESS_MODE	0x20		/* Byte Access Mode */
60 
61 
62 /* Bus type that RIO supports */
63 #define ISA_BUS			0x01		/* The card is ISA */
64 #define EISA_BUS		0x02		/* The card is EISA */
65 #define MCA_BUS			0x04		/* The card is MCA */
66 #define PCI_BUS			0x08		/* The card is PCI */
67 
68 /*
69 ** 11.11.1998 ARG - ESIL ???? part fix
70 ** Moved definition for 'CHAN' here from rioinfo.c (it is now
71 ** called 'DEF_TERM_CHARACTERISTICS').
72 */
73 
74 #define DEF_TERM_CHARACTERISTICS \
75 { \
76 	B19200, B19200,				/* input and output speed */ \
77 	'H' - '@',				/* erase char */ \
78 	-1,					/* 2nd erase char */ \
79 	'U' - '@',				/* kill char */ \
80 	ECHO | CRMOD,				/* mode */ \
81 	'C' - '@',				/* interrupt character */ \
82 	'\\' - '@',				/* quit char */ \
83 	'Q' - '@',				/* start char */ \
84 	'S' - '@',				/* stop char */ \
85 	'D' - '@',				/* EOF */ \
86 	-1,					/* brk */ \
87 	(LCRTBS | LCRTERA | LCRTKIL | LCTLECH),	/* local mode word */ \
88 	'Z' - '@',				/* process stop */ \
89 	'Y' - '@',				/* delayed stop */ \
90 	'R' - '@',				/* reprint line */ \
91 	'O' - '@',				/* flush output */ \
92 	'W' - '@',				/* word erase */ \
93 	'V' - '@'				/* literal next char */ \
94 }
95 
96 #endif /* __rioinfo_h */
97