blob: e08421c9558e488a5a03ccc911e702192bd8891a [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
37static char *_rioinfo_h_sccs_ = "@(#)rioinfo.h 1.2";
38#endif
39
40/*
41** Host card data structure
42*/
43struct 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 */