home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / proglc / serialm5.lzh / SERIAL.H < prev   
Text File  |  1989-03-07  |  4KB  |  113 lines

  1. /*
  2.         S E R I A L . H
  3.  
  4.         Copyright (c) 1988, 1989 by Oklahoma Software Systems
  5.  
  6.         These are the global variables, functions and "defines" used by the
  7.         SERIAL.C program.  This file should also be included in any other
  8.         files which may make use of these Serial-I/O Routines.
  9.  
  10.         If you have any questions you can contact me via EchoMAIL at 147/30
  11.         where I operate as a Point-mail system.
  12.  
  13.         Ron Merts
  14.  
  15.  
  16. */
  17.  
  18.  
  19. extern void closeserial(void);
  20. extern void far interrupt com_int (void);
  21. extern int getccb(void);
  22. extern void closeserial(void);
  23. extern void initserial (void);
  24. extern void i_disable (void);
  25. extern void i_enable (int pnum);
  26. extern void resvects (void);
  27. extern void setvects (void);
  28. extern void comon (void);
  29. extern int SerialOut (char x);
  30. extern int setserial (int Port,int Speed,int Parity,int Bits,int StopBit);
  31. extern int checkCD(void);
  32.  
  33. #define TRUE    1
  34. #define FALSE   0
  35. #define SBUFSIZ 0x2000
  36.  
  37. #define COM1BASE        0x3F8   /* base port for com1                   */
  38. #define COM2BASE        0x2F8   /* base port for com2                   */
  39.  
  40. /*                                                                      */
  41. /*      registers for serial port (not all used)                        */
  42. /*                                                                      */
  43.  
  44. #define TX      0       /*      Transmit register       */
  45. #define RX      0       /*      receive register        */
  46. #define IER     1       /*      Interrupt Enable        */
  47. #define IIR     2       /*      Interrupt ID            */
  48. #define LCR     3       /*      Line control            */
  49. #define MCR     4       /*      Modem control           */
  50. #define LSR     5       /*      Line Status             */
  51. #define MSR     6       /*      Modem Status            */
  52. #define DLL     0       /*      Divisor Latch Low       */
  53. #define DLH     1       /*      Divisor latch high      */
  54.  
  55. /*                                                                      */
  56. /*      Status values                                                   */
  57. /*                                                                      */
  58.  
  59. #define RCVRDY  0x01    /*      Data ready flag         */
  60. #define OVRERR  0x02    /*      Overrun error           */
  61. #define PRTYERR 0x04    /*      Parity error            */
  62. #define FRMERR  0x08    /*      Framing error           */
  63. #define BRKINT  0x10    /*      Break interrupt         */
  64. #define XMTRDY  0x20    /*      Transmit register empty */
  65. #define XMTRSR  0x40    /*      Tx shift register empty */
  66.  
  67. /*                                                      */
  68. /*      Status values for modem register                */
  69. /*                                                      */
  70.  
  71. #define CTS     0x10
  72. #define DSR     0x20
  73. #define RI      0x40
  74. #define CD      0x80
  75.  
  76. #define DTR     0x01
  77. #define RTS     0x02
  78. #define OUT2    0x08
  79.  
  80. #define IMR     0x21
  81. #define ICR     0x20
  82. #define EOI     0x20
  83. #define RX      0
  84. #define IIR     2
  85. #define RX_MASK 7
  86. #define RX_ID   4
  87.  
  88. #define IRQ3    0xf7
  89. #define IRQ4    0xef
  90.  
  91. #define MCR     4
  92. #define IER     1
  93. #define MC_INT  8
  94. #define RX_INT  1
  95. #define RX_MASK 7
  96. #define RX_ID   4
  97.  
  98. #define BUFOVFL 1       /* buffer overflowed    */
  99.  
  100. #define COM1 1
  101. #define COM2 2
  102.  
  103. #define NO_PAR 0
  104. #define EV_PAR 1
  105. #define OD_PAR 2
  106.  
  107. extern int SError;
  108. extern int portbase;
  109. extern void (interrupt far *oldvects[3])();
  110. extern char ccbuf[SBUFSIZ];
  111. extern int startbuf;
  112. extern int endbuf;
  113.