2005-04-17 02:20:36 +04:00
/*
* * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* *
* * 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 0213 9 , USA .
* *
* * Module : func . h
* * SID : 1.3
* * Last Modified : 11 / 6 / 98 11 : 34 : 10
* * Retrieved : 11 / 6 / 98 11 : 34 : 21
* *
* * ident @ ( # ) func . h 1.3
* *
* * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
# ifndef __func_h_def
# define __func_h_def
# include <linux/kdev_t.h>
/* rioboot.c */
int RIOBootCodeRTA ( struct rio_info * , struct DownLoad * ) ;
2006-03-24 14:18:28 +03:00
int RIOBootCodeHOST ( struct rio_info * , struct DownLoad * ) ;
2005-04-17 02:20:36 +04:00
int RIOBootCodeUNKNOWN ( struct rio_info * , struct DownLoad * ) ;
void msec_timeout ( struct Host * ) ;
2006-05-27 08:08:25 +04:00
int RIOBootRup ( struct rio_info * , unsigned int , struct Host * , struct PKT __iomem * ) ;
2006-03-24 14:18:28 +03:00
int RIOBootOk ( struct rio_info * , struct Host * , unsigned long ) ;
int RIORtaBound ( struct rio_info * , unsigned int ) ;
2006-03-24 14:18:31 +03:00
void rio_fill_host_slot ( int , int , unsigned int , struct Host * ) ;
2005-04-17 02:20:36 +04:00
/* riocmd.c */
int RIOFoadRta ( struct Host * , struct Map * ) ;
int RIOZombieRta ( struct Host * , struct Map * ) ;
2006-03-24 14:18:28 +03:00
int RIOCommandRta ( struct rio_info * , unsigned long , int ( * func ) ( struct Host * , struct Map * ) ) ;
2006-05-27 08:08:25 +04:00
int RIOIdentifyRta ( struct rio_info * , void __user * ) ;
int RIOKillNeighbour ( struct rio_info * , void __user * ) ;
2005-04-17 02:20:36 +04:00
int RIOSuspendBootRta ( struct Host * , int , int ) ;
int RIOFoadWakeup ( struct rio_info * ) ;
2006-01-11 23:17:49 +03:00
struct CmdBlk * RIOGetCmdBlk ( void ) ;
2005-04-17 02:20:36 +04:00
void RIOFreeCmdBlk ( struct CmdBlk * ) ;
2006-03-24 14:18:28 +03:00
int RIOQueueCmdBlk ( struct Host * , unsigned int , struct CmdBlk * ) ;
2005-04-17 02:20:36 +04:00
void RIOPollHostCommands ( struct rio_info * , struct Host * ) ;
2006-03-24 14:18:28 +03:00
int RIOWFlushMark ( unsigned long , struct CmdBlk * ) ;
int RIORFlushEnable ( unsigned long , struct CmdBlk * ) ;
int RIOUnUse ( unsigned long , struct CmdBlk * ) ;
2005-04-17 02:20:36 +04:00
/* rioctrl.c */
2006-05-27 08:08:25 +04:00
int riocontrol ( struct rio_info * , dev_t , int , unsigned long , int ) ;
2006-03-24 14:18:28 +03:00
int RIOPreemptiveCmd ( struct rio_info * , struct Port * , unsigned char ) ;
2005-04-17 02:20:36 +04:00
/* rioinit.c */
void rioinit ( struct rio_info * , struct RioHostInfo * ) ;
void RIOInitHosts ( struct rio_info * , struct RioHostInfo * ) ;
2006-01-11 23:17:49 +03:00
void RIOISAinit ( struct rio_info * , int ) ;
2005-04-17 02:20:36 +04:00
int RIODoAT ( struct rio_info * , int , int ) ;
caddr_t RIOCheckForATCard ( int ) ;
2006-05-27 08:08:25 +04:00
int RIOAssignAT ( struct rio_info * , int , void __iomem * , int ) ;
int RIOBoardTest ( unsigned long , void __iomem * , unsigned char , int ) ;
2005-04-17 02:20:36 +04:00
void RIOAllocDataStructs ( struct rio_info * ) ;
void RIOSetupDataStructs ( struct rio_info * ) ;
2006-03-24 14:18:28 +03:00
int RIODefaultName ( struct rio_info * , struct Host * , unsigned int ) ;
2006-01-11 23:17:49 +03:00
struct rioVersion * RIOVersid ( void ) ;
2006-05-27 08:08:25 +04:00
void RIOHostReset ( unsigned int , struct DpRam __iomem * , unsigned int ) ;
2005-04-17 02:20:36 +04:00
/* riointr.c */
void RIOTxEnable ( char * ) ;
2006-10-06 23:00:58 +04:00
void RIOServiceHost ( struct rio_info * , struct Host * ) ;
2006-03-24 14:18:28 +03:00
int riotproc ( struct rio_info * , struct ttystatics * , int , int ) ;
2005-04-17 02:20:36 +04:00
/* rioparam.c */
int RIOParam ( struct Port * , int , int , int ) ;
int RIODelay ( struct Port * PortP , int ) ;
int RIODelay_ni ( struct Port * PortP , int ) ;
void ms_timeout ( struct Port * ) ;
2006-05-27 08:08:25 +04:00
int can_add_transmit ( struct PKT __iomem * * , struct Port * ) ;
2005-04-17 02:20:36 +04:00
void add_transmit ( struct Port * ) ;
2006-05-27 08:08:25 +04:00
void put_free_end ( struct Host * , struct PKT __iomem * ) ;
int can_remove_receive ( struct PKT __iomem * * , struct Port * ) ;
2005-04-17 02:20:36 +04:00
void remove_receive ( struct Port * ) ;
/* rioroute.c */
2006-05-27 08:08:25 +04:00
int RIORouteRup ( struct rio_info * , unsigned int , struct Host * , struct PKT __iomem * ) ;
2006-03-24 14:18:28 +03:00
void RIOFixPhbs ( struct rio_info * , struct Host * , unsigned int ) ;
unsigned int GetUnitType ( unsigned int ) ;
2005-04-17 02:20:36 +04:00
int RIOSetChange ( struct rio_info * ) ;
2006-03-24 14:18:28 +03:00
int RIOFindFreeID ( struct rio_info * , struct Host * , unsigned int * , unsigned int * ) ;
2005-04-17 02:20:36 +04:00
/* riotty.c */
2006-01-11 23:17:49 +03:00
int riotopen ( struct tty_struct * tty , struct file * filp ) ;
int riotclose ( void * ptr ) ;
2006-03-24 14:18:28 +03:00
int riotioctl ( struct rio_info * , struct tty_struct * , int , caddr_t ) ;
2005-04-17 02:20:36 +04:00
void ttyseth ( struct Port * , struct ttystatics * , struct old_sgttyb * sg ) ;
/* riotable.c */
int RIONewTable ( struct rio_info * ) ;
int RIOApel ( struct rio_info * ) ;
int RIODeleteRta ( struct rio_info * , struct Map * ) ;
int RIOAssignRta ( struct rio_info * , struct Map * ) ;
int RIOReMapPorts ( struct rio_info * , struct Host * , struct Map * ) ;
2006-01-11 23:17:49 +03:00
int RIOChangeName ( struct rio_info * , struct Map * ) ;
2005-04-17 02:20:36 +04:00
#if 0
/* riodrvr.c */
2006-01-11 23:17:49 +03:00
struct rio_info * rio_install ( struct RioHostInfo * ) ;
2006-03-24 14:18:28 +03:00
int rio_uninstall ( struct rio_info * ) ;
2005-04-17 02:20:36 +04:00
int rio_open ( struct rio_info * , int , struct file * ) ;
int rio_close ( struct rio_info * , struct file * ) ;
int rio_read ( struct rio_info * , struct file * , char * , int ) ;
2006-01-11 23:17:49 +03:00
int rio_write ( struct rio_info * , struct file * f , char * , int ) ;
2005-04-17 02:20:36 +04:00
int rio_ioctl ( struct rio_info * , struct file * , int , char * ) ;
2006-01-11 23:17:49 +03:00
int rio_select ( struct rio_info * , struct file * f , int , struct sel * ) ;
int rio_intr ( char * ) ;
int rio_isr_thread ( char * ) ;
struct rio_info * rio_info_store ( int cmd , struct rio_info * p ) ;
2005-04-17 02:20:36 +04:00
# endif
2006-05-27 08:15:09 +04:00
extern void rio_copy_to_card ( void * from , void __iomem * to , int len ) ;
2006-01-11 23:17:49 +03:00
extern int rio_minor ( struct tty_struct * tty ) ;
extern int rio_ismodem ( struct tty_struct * tty ) ;
2005-04-17 02:20:36 +04:00
2006-01-11 23:17:49 +03:00
extern void rio_start_card_running ( struct Host * HostP ) ;
2005-04-17 02:20:36 +04:00
2006-01-11 23:17:49 +03:00
# endif /* __func_h_def */