home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / BSRC_250.LZH / ASYNC.H < prev    next >
Text File  |  1991-09-15  |  7KB  |  155 lines

  1. #ifndef _ASYNC_H_INCLUDED
  2. #define _ASYNC_H_INCLUDED
  3. /*--------------------------------------------------------------------------*/
  4. /*                                                                          */
  5. /*                                                                          */
  6. /*      ------------         Bit-Bucket Software, Co.                       */
  7. /*      \ 10001101 /         Writers and Distributors of                    */
  8. /*       \ 011110 /          Freely Available<tm> Software.                 */
  9. /*        \ 1011 /                                                          */
  10. /*         ------                                                           */
  11. /*                                                                          */
  12. /*  (C) Copyright 1987-91, Bit Bucket Software Co., a Delaware Corporation. */
  13. /*                                                                          */
  14. /*                                                                          */
  15. /*            This header file was written by Peter Fitzsimmons             */
  16. /*             OS/2 Communications definitions for BinkleyTerm              */
  17. /*                                                                          */
  18. /*                                                                          */
  19. /*    For complete  details  of the licensing restrictions, please refer    */
  20. /*    to the License  agreement,  which  is published in its entirety in    */
  21. /*    the MAKEFILE and BT.C, and also contained in the file LICENSE.250.    */
  22. /*                                                                          */
  23. /*    USE  OF THIS FILE IS SUBJECT TO THE  RESTRICTIONS CONTAINED IN THE    */
  24. /*    BINKLEYTERM  LICENSING  AGREEMENT.  IF YOU DO NOT FIND THE TEXT OF    */
  25. /*    THIS  AGREEMENT IN ANY OF THE  AFOREMENTIONED FILES,  OR IF YOU DO    */
  26. /*    NOT HAVE THESE FILES,  YOU  SHOULD  IMMEDIATELY CONTACT BIT BUCKET    */
  27. /*    SOFTWARE CO.  AT ONE OF THE  ADDRESSES  LISTED BELOW.  IN NO EVENT    */
  28. /*    SHOULD YOU  PROCEED TO USE THIS FILE  WITHOUT HAVING  ACCEPTED THE    */
  29. /*    TERMS  OF  THE  BINKLEYTERM  LICENSING  AGREEMENT,  OR  SUCH OTHER    */
  30. /*    AGREEMENT AS YOU ARE ABLE TO REACH WITH BIT BUCKET SOFTWARE, CO.      */
  31. /*                                                                          */
  32. /*                                                                          */
  33. /* You can contact Bit Bucket Software Co. at any one of the following      */
  34. /* addresses:                                                               */
  35. /*                                                                          */
  36. /* Bit Bucket Software Co.        FidoNet  1:104/501, 1:343/491             */
  37. /* P.O. Box 460398                AlterNet 7:491/0                          */
  38. /* Aurora, CO 80046               BBS-Net  86:2030/1                        */
  39. /*                                Internet f491.n343.z1.fidonet.org         */
  40. /*                                                                          */
  41. /* Please feel free to contact us at any time to share your comments about  */
  42. /* our software and/or licensing policies.                                  */
  43. /*                                                                          */
  44. /*--------------------------------------------------------------------------*/
  45.  
  46. #define TRUE  1
  47. #define FALSE 0
  48. #define DCD_ON 0x80
  49. #define ERROR_MORE_DATA 234
  50.  
  51. #define IOCTL_ASYNC               0x0001
  52. #define IOCTL_SCR_AND_PTRDRAW     0x0003
  53. #define IOCTL_KEYBOARD            0x0004
  54. #define IOCTL_PRINTER             0x0005
  55. #define IOCTL_LIGHTPEN            0x0006
  56. #define IOCTL_POINTINGDEVICE      0x0007
  57. #define IOCTL_DISK                0x0008
  58. #define IOCTL_PHYSICALDISK        0x0009
  59. #define IOCTL_MONITOR             0x000A
  60. #define IOCTL_GENERAL             0x000B
  61.  
  62. /* General Device Control */
  63.  
  64. #define DEV_FLUSHINPUT            0x0001
  65. #define DEV_FLUSHOUTPUT           0x0002
  66. #define DEV_QUERYMONSUPPORT       0x0060
  67.  
  68. /* ASYNC_GETCOMMERROR, ASYNC_SETBREAKOFF, ASYNC_SETBREAKON, ASYNC_SETMODEMCTRL */
  69.  
  70. #define RX_QUE_OVERRUN            0x0001
  71. #define RX_HARDWARE_OVERRUN       0x0002
  72. #define PARITY_ERROR              0x0004
  73. #define FRAMING_ERROR             0x0008
  74.  
  75. /* ASYNC_GETCOMMEVENT */
  76.  
  77. #define CHAR_RECEIVED             0x0001
  78. #define LAST_CHAR_SENT            0x0004
  79. #define CTS_CHANGED               0x0008
  80. #define DSR_CHANGED               0x0010
  81. #define DCD_CHANGED               0x0020
  82. #define BREAK_DETECTED            0x0040
  83. #define ERROR_OCCURRED            0x0080
  84. #define RI_DETECTED               0x0100
  85.  
  86. /* ASYNC_GETCOMMSTATUS */
  87.  
  88. #define TX_WAITING_FOR_CTS        0x0001
  89. #define TX_WAITING_FOR_DSR        0x0002
  90. #define TX_WAITING_FOR_DCD        0x0004
  91. #define TX_WAITING_FOR_XON        0x0008
  92. #define TX_WAITING_TO_SEND_XON    0x0010
  93. #define TX_WAITING_WHILE_BREAK_ON 0x0020
  94. #define TX_WAITING_TO_SEND_IMM    0x0040
  95. #define RX_WAITING_FOR_DSR        0x0080
  96.  
  97. /* ASYNC_GETLINESTATUS */
  98.  
  99. #define WRITE_REQUEST_QUEUED      0x0001
  100. #define DATA_IN_TX_QUE            0x0002
  101. #define HARDWARE_TRANSMITTING     0x0004
  102. #define CHAR_READY_TO_SEND_IMM    0x0008
  103. #define WAITING_TO_SEND_XON       0x0010
  104. #define WAITING_TO_SEND_XOFF      0x0020
  105.  
  106. /* fbCtlHndShake */
  107.  
  108. #define MODE_DTR_CONTROL          0x01
  109. #define MODE_DTR_HANDSHAKE        0x02
  110. #define MODE_CTS_HANDSHAKE        0x08
  111. #define MODE_DSR_HANDSHAKE        0x10
  112. #define MODE_DCD_HANDSHAKE        0x20
  113. #define MODE_DSR_SENSITIVITY      0x40
  114.  
  115. /* fbFlowReplace */
  116.  
  117. #define MODE_AUTO_TRANSMIT        0x01
  118. #define MODE_AUTO_RECEIVE         0x02
  119. #define MODE_ERROR_CHAR           0x04
  120. #define MODE_NULL_STRIPPING       0x08
  121. #define MODE_BREAK_CHAR           0x10
  122. #define MODE_RTS_CONTROL          0x40
  123. #define MODE_RTS_HANDSHAKE        0x80
  124. #define MODE_TRANSMIT_TOGGLE      0xC0
  125.  
  126. /* fbTimeout */
  127.  
  128. #define MODE_NO_WRITE_TIMEOUT     0x01
  129. #define MODE_READ_TIMEOUT         0x02
  130. #define MODE_WAIT_READ_TIMEOUT    0x04
  131. #define MODE_NOWAIT_READ_TIMEOUT  0x06
  132.  
  133. #if !defined (BSEDEV_INCLUDED)
  134.  
  135. typedef struct _LINECONTROL {     /* lnctl */
  136.    BYTE bDataBits;
  137.    BYTE bParity;
  138.    BYTE bStopBits;
  139.    BYTE fTransBreak;
  140. } LINECONTROL;
  141. typedef LINECONTROL FAR *PLINECONTROL;
  142.  
  143. typedef struct _MODEMSTATUS {     /* mdmst */
  144.    BYTE fbModemOn;
  145.    BYTE fbModemOff;
  146. } MODEMSTATUS;
  147. typedef MODEMSTATUS FAR *PMODEMSTATUS;
  148.  
  149. #endif /* BSEDEV_INCLUDED not defined */
  150.  
  151. extern int com_getbuf(void);
  152. extern bool com_in_check(void);
  153. #endif /* _ASYNC_H_INCLUDED */
  154. 
  155.