/*--------------------------------------------------------------------------*/ /* */ /* */ /* ------------ Bit-Bucket Software, Co. */ /* \ 10001101 / Writers and Distributors of */ /* \ 011110 / Freely Available Software. */ /* \ 1011 / */ /* ------ */ /* */ /* (C) Copyright 1987-96, Bit Bucket Software Co. */ /* */ /* This header file was written by Peter Fitzsimmons */ /* */ /* OS/2 Communications definitions for BinkleyTerm */ /* */ /* */ /* For complete details of the licensing restrictions, please refer */ /* to the License agreement, which is published in its entirety in */ /* the MAKEFILE and BT.C, and also contained in the file LICENSE.260. */ /* */ /* USE OF THIS FILE IS SUBJECT TO THE RESTRICTIONS CONTAINED IN THE */ /* BINKLEYTERM LICENSING AGREEMENT. IF YOU DO NOT FIND THE TEXT OF */ /* THIS AGREEMENT IN ANY OF THE AFOREMENTIONED FILES, OR IF YOU DO */ /* NOT HAVE THESE FILES, YOU SHOULD IMMEDIATELY CONTACT BIT BUCKET */ /* SOFTWARE CO. AT ONE OF THE ADDRESSES LISTED BELOW. IN NO EVENT */ /* SHOULD YOU PROCEED TO USE THIS FILE WITHOUT HAVING ACCEPTED THE */ /* TERMS OF THE BINKLEYTERM LICENSING AGREEMENT, OR SUCH OTHER */ /* AGREEMENT AS YOU ARE ABLE TO REACH WITH BIT BUCKET SOFTWARE, CO. */ /* */ /* */ /* You can contact Bit Bucket Software Co. at any one of the following */ /* addresses: */ /* */ /* Bit Bucket Software Co. FidoNet 1:104/501, 1:343/491 */ /* P.O. Box 460398 AlterNet 7:42/1491 */ /* Aurora, CO 80046 BBS-Net 86:2030/1 */ /* Internet f491.n343.z1.fidonet.org */ /* */ /* Please feel free to contact us at any time to share your comments about */ /* our software and/or licensing policies. */ /* */ /*--------------------------------------------------------------------------*/ #ifndef _ASYNC_H_INCLUDED #define _ASYNC_H_INCLUDED #define TRUE 1 #define FALSE 0 #define DCD_ON 0x80 #define ERROR_MORE_DATA 234 #define IOCTL_ASYNC 0x0001 #define IOCTL_SCR_AND_PTRDRAW 0x0003 #define IOCTL_KEYBOARD 0x0004 #define IOCTL_PRINTER 0x0005 #define IOCTL_LIGHTPEN 0x0006 #define IOCTL_POINTINGDEVICE 0x0007 #define IOCTL_DISK 0x0008 #define IOCTL_PHYSICALDISK 0x0009 #define IOCTL_MONITOR 0x000A #define IOCTL_GENERAL 0x000B /* General Device Control */ #define DEV_FLUSHINPUT 0x0001 #define DEV_FLUSHOUTPUT 0x0002 #define DEV_QUERYMONSUPPORT 0x0060 /* ASYNC_GETCOMMERROR, ASYNC_SETBREAKOFF, ASYNC_SETBREAKON, ASYNC_SETMODEMCTRL */ #define RX_QUE_OVERRUN 0x0001 #define RX_HARDWARE_OVERRUN 0x0002 #define PARITY_ERROR 0x0004 #define FRAMING_ERROR 0x0008 /* ASYNC_GETCOMMEVENT */ #define CHAR_RECEIVED 0x0001 #define LAST_CHAR_SENT 0x0004 #define CTS_CHANGED 0x0008 #define DSR_CHANGED 0x0010 #define DCD_CHANGED 0x0020 #define BREAK_DETECTED 0x0040 #define ERROR_OCCURRED 0x0080 #define RI_DETECTED 0x0100 /* ASYNC_GETCOMMSTATUS */ #define TX_WAITING_FOR_CTS 0x0001 #define TX_WAITING_FOR_DSR 0x0002 #define TX_WAITING_FOR_DCD 0x0004 #define TX_WAITING_FOR_XON 0x0008 #define TX_WAITING_TO_SEND_XON 0x0010 #define TX_WAITING_WHILE_BREAK_ON 0x0020 #define TX_WAITING_TO_SEND_IMM 0x0040 #define RX_WAITING_FOR_DSR 0x0080 /* ASYNC_GETLINESTATUS */ #define WRITE_REQUEST_QUEUED 0x0001 #define DATA_IN_TX_QUE 0x0002 #define HARDWARE_TRANSMITTING 0x0004 #define CHAR_READY_TO_SEND_IMM 0x0008 #define WAITING_TO_SEND_XON 0x0010 #define WAITING_TO_SEND_XOFF 0x0020 /* fbCtlHndShake */ #define MODE_DTR_CONTROL 0x01 #define MODE_DTR_HANDSHAKE 0x02 #define MODE_CTS_HANDSHAKE 0x08 #define MODE_DSR_HANDSHAKE 0x10 #define MODE_DCD_HANDSHAKE 0x20 #define MODE_DSR_SENSITIVITY 0x40 /* fbFlowReplace */ #define MODE_AUTO_TRANSMIT 0x01 #define MODE_AUTO_RECEIVE 0x02 #define MODE_ERROR_CHAR 0x04 #define MODE_NULL_STRIPPING 0x08 #define MODE_BREAK_CHAR 0x10 #define MODE_RTS_CONTROL 0x40 #define MODE_RTS_HANDSHAKE 0x80 #define MODE_TRANSMIT_TOGGLE 0xC0 /* fbTimeout */ #define MODE_NO_WRITE_TIMEOUT 0x01 #define MODE_READ_TIMEOUT 0x02 #define MODE_WAIT_READ_TIMEOUT 0x04 #define MODE_NOWAIT_READ_TIMEOUT 0x06 #if !defined (BSEDEV_INCLUDED) typedef struct _LINECONTROL { /* lnctl */ BYTE bDataBits; BYTE bParity; BYTE bStopBits; BYTE fTransBreak; } LINECONTROL; typedef LINECONTROL FAR *PLINECONTROL; typedef struct _MODEMSTATUS { /* mdmst */ BYTE fbModemOn; BYTE fbModemOff; } MODEMSTATUS; typedef MODEMSTATUS FAR *PMODEMSTATUS; #endif /* BSEDEV_INCLUDED not defined */ extern int com_getbuf (void); extern bool com_in_check (void); #endif /* _ASYNC_H_INCLUDED */