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