cmdblk.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. {
  45. struct CmdBlk *NextP; /* Pointer to next command block */
  46. struct PKT Packet; /* A packet, to copy to the rup */
  47. /* The func to call to check if OK */
  48. int (*PreFuncP)(int, struct CmdBlk *);
  49. int PreArg; /* The arg for the func */
  50. /* The func to call when completed */
  51. int (*PostFuncP)(int, struct CmdBlk *);
  52. int PostArg; /* The arg for the func */
  53. };
  54. #define NUM_RIO_CMD_BLKS (3 * (MAX_RUP * 4 + LINKS_PER_UNIT * 4))
  55. #endif