OpenCloudOS-Kernel/drivers/char/rio/rioinfo.h

97 lines
3.0 KiB
C
Raw Normal View History

/*
** -----------------------------------------------------------------------------
**
** Perle Specialix driver for Linux
** Ported from existing RIO Driver for SCO sources.
*
* (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**
** Module : rioinfo.h
** SID : 1.2
** Last Modified : 11/6/98 14:07:49
** Retrieved : 11/6/98 14:07:50
**
** ident @(#)rioinfo.h 1.2
**
** -----------------------------------------------------------------------------
*/
#ifndef __rioinfo_h
#define __rioinfo_h
#ifdef SCCS_LABELS
static char *_rioinfo_h_sccs_ = "@(#)rioinfo.h 1.2";
#endif
/*
** Host card data structure
*/
struct RioHostInfo {
long location; /* RIO Card Base I/O address */
long vector; /* RIO Card IRQ vector */
int bus; /* ISA/EISA/MCA/PCI */
int mode; /* pointer to host mode - INTERRUPT / POLLED */
struct old_sgttyb
*Sg; /* pointer to default term characteristics */
};
/* Mode in rio device info */
#define INTERRUPTED_MODE 0x01 /* Interrupt is generated */
#define POLLED_MODE 0x02 /* No interrupt */
#define AUTO_MODE 0x03 /* Auto mode */
#define WORD_ACCESS_MODE 0x10 /* Word Access Mode */
#define BYTE_ACCESS_MODE 0x20 /* Byte Access Mode */
/* Bus type that RIO supports */
#define ISA_BUS 0x01 /* The card is ISA */
#define EISA_BUS 0x02 /* The card is EISA */
#define MCA_BUS 0x04 /* The card is MCA */
#define PCI_BUS 0x08 /* The card is PCI */
/*
** 11.11.1998 ARG - ESIL ???? part fix
** Moved definition for 'CHAN' here from rioinfo.c (it is now
** called 'DEF_TERM_CHARACTERISTICS').
*/
#define DEF_TERM_CHARACTERISTICS \
{ \
B19200, B19200, /* input and output speed */ \
'H' - '@', /* erase char */ \
-1, /* 2nd erase char */ \
'U' - '@', /* kill char */ \
ECHO | CRMOD, /* mode */ \
'C' - '@', /* interrupt character */ \
'\\' - '@', /* quit char */ \
'Q' - '@', /* start char */ \
'S' - '@', /* stop char */ \
'D' - '@', /* EOF */ \
-1, /* brk */ \
(LCRTBS | LCRTERA | LCRTKIL | LCTLECH), /* local mode word */ \
'Z' - '@', /* process stop */ \
'Y' - '@', /* delayed stop */ \
'R' - '@', /* reprint line */ \
'O' - '@', /* flush output */ \
'W' - '@', /* word erase */ \
'V' - '@' /* literal next char */ \
}
#endif /* __rioinfo_h */