Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.16 152 lines 5.7 kB view raw
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 : func.h 24** SID : 1.3 25** Last Modified : 11/6/98 11:34:10 26** Retrieved : 11/6/98 11:34:21 27** 28** ident @(#)func.h 1.3 29** 30** ----------------------------------------------------------------------------- 31*/ 32 33#ifndef __func_h_def 34#define __func_h_def 35 36#include <linux/kdev_t.h> 37 38#ifdef SCCS_LABELS 39#ifndef lint 40static char *_func_h_sccs_ = "@(#)func.h 1.3"; 41#endif 42#endif 43 44/* rioboot.c */ 45int RIOBootCodeRTA(struct rio_info *, struct DownLoad *); 46int RIOBootCodeHOST(struct rio_info *, register struct DownLoad *); 47int RIOBootCodeUNKNOWN(struct rio_info *, struct DownLoad *); 48void msec_timeout(struct Host *); 49int RIOBootRup(struct rio_info *, uint, struct Host *, struct PKT *); 50int RIOBootOk(struct rio_info *, struct Host *, ulong); 51int RIORtaBound(struct rio_info *, uint); 52void FillSlot(int, int, uint, struct Host *); 53 54/* riocmd.c */ 55int RIOFoadRta(struct Host *, struct Map *); 56int RIOZombieRta(struct Host *, struct Map *); 57int RIOCommandRta(struct rio_info *, uint, int (*func) (struct Host *, struct Map *)); 58int RIOIdentifyRta(struct rio_info *, caddr_t); 59int RIOKillNeighbour(struct rio_info *, caddr_t); 60int RIOSuspendBootRta(struct Host *, int, int); 61int RIOFoadWakeup(struct rio_info *); 62struct CmdBlk *RIOGetCmdBlk(void); 63void RIOFreeCmdBlk(struct CmdBlk *); 64int RIOQueueCmdBlk(struct Host *, uint, struct CmdBlk *); 65void RIOPollHostCommands(struct rio_info *, struct Host *); 66int RIOWFlushMark(int, struct CmdBlk *); 67int RIORFlushEnable(int, struct CmdBlk *); 68int RIOUnUse(int, struct CmdBlk *); 69void ShowPacket(uint, struct PKT *); 70 71/* rioctrl.c */ 72int copyin(int, caddr_t, int); 73int riocontrol(struct rio_info *, dev_t, int, caddr_t, int); 74int RIOPreemptiveCmd(struct rio_info *, struct Port *, uchar); 75 76/* rioinit.c */ 77void rioinit(struct rio_info *, struct RioHostInfo *); 78void RIOInitHosts(struct rio_info *, struct RioHostInfo *); 79void RIOISAinit(struct rio_info *, int); 80int RIODoAT(struct rio_info *, int, int); 81caddr_t RIOCheckForATCard(int); 82int RIOAssignAT(struct rio_info *, int, caddr_t, int); 83int RIOBoardTest(paddr_t, caddr_t, uchar, int); 84void RIOAllocDataStructs(struct rio_info *); 85void RIOSetupDataStructs(struct rio_info *); 86int RIODefaultName(struct rio_info *, struct Host *, uint); 87struct rioVersion *RIOVersid(void); 88int RIOMapin(paddr_t, int, caddr_t *); 89void RIOMapout(paddr_t, long, caddr_t); 90void RIOHostReset(uint, volatile struct DpRam *, uint); 91 92/* riointr.c */ 93void RIOTxEnable(char *); 94void RIOServiceHost(struct rio_info *, struct Host *, int); 95int riotproc(struct rio_info *, register struct ttystatics *, int, int); 96 97/* rioparam.c */ 98int RIOParam(struct Port *, int, int, int); 99int RIODelay(struct Port *PortP, int); 100int RIODelay_ni(struct Port *PortP, int); 101void ms_timeout(struct Port *); 102int can_add_transmit(struct PKT **, struct Port *); 103void add_transmit(struct Port *); 104void put_free_end(struct Host *, struct PKT *); 105int can_remove_receive(struct PKT **, struct Port *); 106void remove_receive(struct Port *); 107 108/* rioroute.c */ 109int RIORouteRup(struct rio_info *, uint, struct Host *, struct PKT *); 110void RIOFixPhbs(struct rio_info *, struct Host *, uint); 111uint GetUnitType(uint); 112int RIOSetChange(struct rio_info *); 113int RIOFindFreeID(struct rio_info *, struct Host *, uint *, uint *); 114 115 116/* riotty.c */ 117 118int riotopen(struct tty_struct *tty, struct file *filp); 119int riotclose(void *ptr); 120int riotioctl(struct rio_info *, struct tty_struct *, register int, register caddr_t); 121void ttyseth(struct Port *, struct ttystatics *, struct old_sgttyb *sg); 122 123/* riotable.c */ 124int RIONewTable(struct rio_info *); 125int RIOApel(struct rio_info *); 126int RIODeleteRta(struct rio_info *, struct Map *); 127int RIOAssignRta(struct rio_info *, struct Map *); 128int RIOReMapPorts(struct rio_info *, struct Host *, struct Map *); 129int RIOChangeName(struct rio_info *, struct Map *); 130 131#if 0 132/* riodrvr.c */ 133struct rio_info *rio_install(struct RioHostInfo *); 134int rio_uninstall(register struct rio_info *); 135int rio_open(struct rio_info *, int, struct file *); 136int rio_close(struct rio_info *, struct file *); 137int rio_read(struct rio_info *, struct file *, char *, int); 138int rio_write(struct rio_info *, struct file *f, char *, int); 139int rio_ioctl(struct rio_info *, struct file *, int, char *); 140int rio_select(struct rio_info *, struct file *f, int, struct sel *); 141int rio_intr(char *); 142int rio_isr_thread(char *); 143struct rio_info *rio_info_store(int cmd, struct rio_info *p); 144#endif 145 146extern int rio_pcicopy(char *src, char *dst, int n); 147extern int rio_minor(struct tty_struct *tty); 148extern int rio_ismodem(struct tty_struct *tty); 149 150extern void rio_start_card_running(struct Host *HostP); 151 152#endif /* __func_h_def */