📄 riodrvr.h
字号:
/*** -----------------------------------------------------------------------------**** 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 : riodrvr.h** SID : 1.3** Last Modified : 11/6/98 09:22:46** Retrieved : 11/6/98 09:22:46**** ident @(#)riodrvr.h 1.3**** -----------------------------------------------------------------------------*/#ifndef __riodrvr_h#define __riodrvr_h#include <asm/param.h> /* for HZ */#ifdef SCCS_LABELSstatic char *_riodrvr_h_sccs_ = "@(#)riodrvr.h 1.3";#endif#define MEMDUMP_SIZE 32#define MOD_DISABLE (RIO_NOREAD|RIO_NOWRITE|RIO_NOXPRINT)struct rio_info { int mode; /* Intr or polled, word/byte */ spinlock_t RIOIntrSem; /* Interrupt thread sem */ int current_chan; /* current channel */ int RIOFailed; /* Not initialised ? */ int RIOInstallAttempts; /* no. of rio-install() calls */ int RIOLastPCISearch; /* status of last search */ int RIONumHosts; /* Number of RIO Hosts */ struct Host * RIOHosts; /* RIO Host values */ struct Port **RIOPortp; /* RIO port values *//*** 02.03.1999 ARG - ESIL 0820 fix** We no longer use RIOBootMode** int RIOBootMode; * RIO boot mode ****/ int RIOPrintDisabled; /* RIO printing disabled ? */ int RIOPrintLogState; /* RIO printing state ? */ int RIOPolling; /* Polling ? *//*** 09.12.1998 ARG - ESIL 0776 part fix** The 'RIO_QUICK_CHECK' ioctl was using RIOHalted.** The fix for this ESIL introduces another member (RIORtaDisCons) here to be** updated in RIOConCon() - to keep track of RTA connections/disconnections.** 'RIO_QUICK_CHECK' now returns the value of RIORtaDisCons.*/ int RIOHalted; /* halted ? */ int RIORtaDisCons; /* RTA connections/disconnections */ uint RIOReadCheck; /* Rio read check */ uint RIONoMessage; /* To display message or not */ uint RIONumBootPkts; /* how many packets for an RTA */ uint RIOBootCount; /* size of RTA code */ uint RIOBooting; /* count of outstanding boots */ uint RIOSystemUp; /* Booted ?? */ uint RIOCounting; /* for counting interrupts */ uint RIOIntCount; /* # of intr since last check */ uint RIOTxCount; /* number of xmit intrs */ uint RIORxCount; /* number of rx intrs */ uint RIORupCount; /* number of rup intrs */ int RIXTimer; int RIOBufferSize; /* Buffersize */ int RIOBufferMask; /* Buffersize */ int RIOFirstMajor; /* First host card's major no */ uint RIOLastPortsMapped; /* highest port number known */ uint RIOFirstPortsMapped; /* lowest port number known */ uint RIOLastPortsBooted; /* highest port number running */ uint RIOFirstPortsBooted; /* lowest port number running */ uint RIOLastPortsOpened; /* highest port number running */ uint RIOFirstPortsOpened; /* lowest port number running */ /* Flag to say that the topology information has been changed. */ uint RIOQuickCheck; uint CdRegister; /* ??? */ int RIOSignalProcess; /* Signalling process */ int rio_debug; /* To debug ... */ int RIODebugWait; /* For what ??? */ int tpri; /* Thread prio */ int tid; /* Thread id */ uint _RIO_Polled; /* Counter for polling */ uint _RIO_Interrupted; /* Counter for interrupt */ int intr_tid; /* iointset return value */ int TxEnSem; /* TxEnable Semaphore */ struct Error RIOError; /* to Identify what went wrong */ struct Conf RIOConf; /* Configuration ??? */ struct ttystatics channel[RIO_PORTS]; /* channel information */ char RIOBootPackets[1+(SIXTY_FOUR_K/RTA_BOOT_DATA_SIZE)] [RTA_BOOT_DATA_SIZE]; struct Map RIOConnectTable[TOTAL_MAP_ENTRIES]; struct Map RIOSavedTable[TOTAL_MAP_ENTRIES]; /* RTA to host binding table for master/slave operation */ ulong RIOBindTab[MAX_RTA_BINDINGS]; /* RTA memory dump variable */ uchar RIOMemDump[MEMDUMP_SIZE]; struct ModuleInfo RIOModuleTypes[MAX_MODULE_TYPES];};#ifdef linux#define debug(x) printk x#else#define debug(x) kkprintf x#endif#define RIO_RESET_INT 0x7d80#define WRBYTE(x,y) *(volatile unsigned char *)((x)) = \ (unsigned char)(y)#endif /* __riodrvr.h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -