func.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:7k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

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