rioinfo.h 2.9 KB

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