rioinfo.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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 : rioinfo.h
  24. ** SID : 1.2
  25. ** Last Modified : 11/6/98 14:07:49
  26. ** Retrieved : 11/6/98 14:07:50
  27. **
  28. ** ident @(#)rioinfo.h 1.2
  29. **
  30. ** -----------------------------------------------------------------------------
  31. */
  32. #ifndef __rioinfo_h
  33. #define __rioinfo_h
  34. #ifdef SCCS_LABELS
  35. static char *_rioinfo_h_sccs_ = "@(#)rioinfo.h 1.2";
  36. #endif
  37. /*
  38. ** Host card data structure
  39. */
  40. struct RioHostInfo {
  41. long location; /* RIO Card Base I/O address */
  42. long vector; /* RIO Card IRQ vector */
  43. int bus; /* ISA/EISA/MCA/PCI */
  44. int mode; /* pointer to host mode - INTERRUPT / POLLED */
  45. struct old_sgttyb
  46. *Sg; /* pointer to default term characteristics */
  47. };
  48. /* Mode in rio device info */
  49. #define INTERRUPTED_MODE 0x01 /* Interrupt is generated */
  50. #define POLLED_MODE 0x02 /* No interrupt */
  51. #define AUTO_MODE 0x03 /* Auto mode */
  52. #define WORD_ACCESS_MODE 0x10 /* Word Access Mode */
  53. #define BYTE_ACCESS_MODE 0x20 /* Byte Access Mode */
  54. /* Bus type that RIO supports */
  55. #define ISA_BUS 0x01 /* The card is ISA */
  56. #define EISA_BUS 0x02 /* The card is EISA */
  57. #define MCA_BUS 0x04 /* The card is MCA */
  58. #define PCI_BUS 0x08 /* The card is PCI */
  59. /*
  60. ** 11.11.1998 ARG - ESIL ???? part fix
  61. ** Moved definition for 'CHAN' here from rioinfo.c (it is now
  62. ** called 'DEF_TERM_CHARACTERISTICS').
  63. */
  64. #define DEF_TERM_CHARACTERISTICS \
  65. { \
  66. B19200, B19200, /* input and output speed */ \
  67. 'H' - '@', /* erase char */ \
  68. -1, /* 2nd erase char */ \
  69. 'U' - '@', /* kill char */ \
  70. ECHO | CRMOD, /* mode */ \
  71. 'C' - '@', /* interrupt character */ \
  72. '\\' - '@', /* quit char */ \
  73. 'Q' - '@', /* start char */ \
  74. 'S' - '@', /* stop char */ \
  75. 'D' - '@', /* EOF */ \
  76. -1, /* brk */ \
  77. (LCRTBS | LCRTERA | LCRTKIL | LCTLECH), /* local mode word */ \
  78. 'Z' - '@', /* process stop */ \
  79. 'Y' - '@', /* delayed stop */ \
  80. 'R' - '@', /* reprint line */ \
  81. 'O' - '@', /* flush output */ \
  82. 'W' - '@', /* word erase */ \
  83. 'V' - '@' /* literal next char */ \
  84. }
  85. #endif /* __rioinfo_h */