cmdblk.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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 : cmdblk.h
  24. ** SID : 1.2
  25. ** Last Modified : 11/6/98 11:34:09
  26. ** Retrieved : 11/6/98 11:34:20
  27. **
  28. ** ident @(#)cmdblk.h 1.2
  29. **
  30. ** -----------------------------------------------------------------------------
  31. */
  32. #ifndef __rio_cmdblk_h__
  33. #define __rio_cmdblk_h__
  34. #ifdef SCCS_LABELS
  35. #ifndef lint
  36. static char *_cmdblk_h_sccs_ = "@(#)cmdblk.h 1.2";
  37. #endif
  38. #endif
  39. /*
  40. ** the structure of a command block, used to queue commands destined for
  41. ** a rup.
  42. */
  43. struct CmdBlk {
  44. struct CmdBlk *NextP; /* Pointer to next command block */
  45. struct PKT Packet; /* A packet, to copy to the rup */
  46. /* The func to call to check if OK */
  47. int (*PreFuncP) (unsigned long, struct CmdBlk *);
  48. int PreArg; /* The arg for the func */
  49. /* The func to call when completed */
  50. int (*PostFuncP) (unsigned long, struct CmdBlk *);
  51. int PostArg; /* The arg for the func */
  52. };
  53. #define NUM_RIO_CMD_BLKS (3 * (MAX_RUP * 4 + LINKS_PER_UNIT * 4))
  54. #endif