home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 202.img / SCO386N2.TD0 / usr / sys / io / sioconf.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-08-30  |  2.6 KB  |  108 lines

  1. /*
  2.  *    %Z% %M% %I% %D% %Q%
  3.  *
  4.  *    Copyright (C) The Santa Cruz Operation, 1985, 1986.
  5.  *    This Module contains Proprietary Information of
  6.  *    The Santa Cruz Operation and should be treated as Confidential.
  7.  *
  8.  */
  9.  
  10.  
  11.  
  12. typedef struct sio_device 
  13. {
  14.     char txbuffer;
  15.     char intrenable;
  16.     char intrident;
  17.     char linctrlreg;
  18.     char modemctrlreg;
  19.     char linstatreg;
  20.     char modemstatreg;
  21.     char _xpadx;
  22. } siodev_t;
  23.  
  24. #define rxbuffer    txbuffer
  25. #define lsbdivlatch    txbuffer
  26. #define msbdivlatch    intrenable
  27.  
  28. typedef struct sio_device * sd;
  29.  
  30.  
  31. typedef struct board {
  32.     int b_num;    /* board number */
  33.     int b_type;    /* each manufacturer gets a different one */
  34.     int b_pcnt;    /* port count on the board */
  35.     int b_vec;    /* interrupt vector */
  36.     int b_dev;    /* minor dev base */
  37.     sd  b_addr;    /* base address of board */
  38.     int b_poll;    /* interrupt poll addr */
  39.     int b_inc;    /* increment (spacing) of io ports on board */
  40.     int b_outbits;    /* value for OUT1/OUT2 bits in MCR */
  41. } board_t;
  42.  
  43. /* Modem Control Register defines */
  44. #define MCRDTR        0x01    /* Data Terminal Ready */
  45. #define MCRRTS        0x02    /* Request To Send */
  46. #define MCRBIT2        0x04    
  47. #define MCRBIT3        0x08    /* Interrupt control for 8250 level4 */
  48.  
  49. /* Board Number defines */
  50. #define IBM_BOARD    0
  51.  
  52. #define HOST_BOARD    1
  53. #define MITS_BOARD    2    /* mitsubishi (sperry) */
  54. #define ARNET_BOARD    3
  55. #define    AST_BOARD    4
  56. #define    AMI_BOARD    5
  57. #define    STARGATE    6
  58. #define    DIGIBOARD    7
  59. #define    KIMTRON        8
  60. #define    QUADRAM        9
  61. #define    CTC        10
  62. #define TANDON        11
  63.  
  64. /* stuff for kimtron board */
  65. #define    KIMTRON_POLL    0x8000
  66.  
  67. /* stuff for ctc board */
  68. #define    CTC_POLL    0x7
  69.  
  70. /* stuff for quadram board */
  71. #define    QUADRAM0_POLL    0x2d3        /* Not a displacement */
  72. #define    QUADRAM1_POLL    0x2db        /* Not a displacement */
  73.  
  74. /* stuff for hostess board */
  75. #define    HOSTESS_POLL    0x7
  76. #define    HOSTESS_MASK    0x7
  77.  
  78. /* stuff for mitsubishi (sperry) board */
  79. #define MITS_POLL    0x40    /* displacement to poll register */
  80. #define MITS_CNTRL    0x40
  81. #define MITS_IR        0x01    /* interrupt reset bit (CNTRL reg) */
  82. #define MITS_IE        0x02    /* interrupt enable bit (CNTRL reg) */
  83.  
  84. /* stuff for arnet board */
  85. #define ARNET_POLL    0x42
  86.  
  87. /* stuff for AST board */
  88. #define    AST_POLL    0x1f
  89.  
  90. /* stuff for AMI board */
  91. #define    AMI0_POLL    0x210    /* NOT A DISPLACEMENT! com1 port at 0x210 */
  92. #define    AMI1_POLL    0x212    /* NOT A DISPLACEMENT! com2 port at 0x220 */
  93.  
  94. /* stuff for stargate 4 and 8 port boards */
  95. /* displacement to interrupt status port */
  96. #define    STAR_POLL    0x40
  97.  
  98. /* stuff for tandon board */
  99. #define TANDON0_BRD    0x2a0
  100. #define    TANDON0_POLL    0x2a2        /* Not a displacement */
  101. #define TANDON0_ECHO    0x680
  102.  
  103. #define TANDON1_BRD    0x280
  104. #define    TANDON1_POLL    0x282        /* Not a displacement */
  105. #define TANDON1_ECHO    0x6a0
  106.  
  107.  
  108.