home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
bbs_mail
/
bsrc_250.arj
/
COM_DOS.H
< prev
next >
Wrap
C/C++ Source or Header
|
1991-09-15
|
12KB
|
191 lines
/*--------------------------------------------------------------------------*/
/* */
/* */
/* ------------ Bit-Bucket Software, Co. */
/* \ 10001101 / Writers and Distributors of */
/* \ 011110 / Freely Available<tm> Software. */
/* \ 1011 / */
/* ------ */
/* */
/* (C) Copyright 1987-91, Bit Bucket Software Co., a Delaware Corporation. */
/* */
/* */
/* Communications (FOSSIL) 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.250. */
/* */
/* 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:491/0 */
/* 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. */
/* */
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* MACROS that call the routines in COM_ASM */
/*--------------------------------------------------------------------------*/
extern unsigned Com_ (char, byte);
extern unsigned Cominit (int, int);
extern int READBYTE();
/*#define M_INSTALL(b) {Cominit(com_port);Com_(0x0f,0);Com_(0x0f,handshake_mask);new_baud(0,b);}*/
/*-----------------------------------------------*/
/* Service 0: SET BAUD(etc) */
/*-----------------------------------------------*/
/*#define MDM_ENABLE(b) (Com_(0x00,b|NO_PARITY|STOP_1|BITS_8))*/
/*-----------------------------------------------*/
/* Service 1: SEND CHAR (wait) */
/*-----------------------------------------------*/
/*#define SENDBYTE(x) (Com_(0x01,x))*/
/*-----------------------------------------------*/
/* Service 2: GET CHAR (wait) */
/*-----------------------------------------------*/
/*#define MODEM_IN() (Com_(0x02)&0x00ff)*/
/*-----------------------------------------------*/
/* Service 3: GET STATUS */
/*-----------------------------------------------*/
/*#define MODEM_STATUS() (Com_(0x03))*/
#define CARRIER (Com_(0x03,0)&carrier_mask)
#define CHAR_AVAIL() (MODEM_STATUS()&DATA_READY)
#define OUT_EMPTY() (Com_(0x03,0)&TX_SHIFT_EMPTY)
#define OUT_FULL() (!(Com_(0x03,0)&TX_HOLD_EMPTY))
/*-----------------------------------------------*/
/* Service 4: INIT/INSTALL */
/*-----------------------------------------------*/
/*-----------------------------------------------*/
/* Service 5: UNINSTALL */
/*-----------------------------------------------*/
/*#define MDM_DISABLE() (Com_(0x05,BAUD_2400|NO_PARITY|STOP_1|BITS_8))*/
/*-----------------------------------------------*/
/* Service 6: SET DTR */
/*-----------------------------------------------*/
#define LOWER_DTR() ((void) Com_(0x06,0))
#define RAISE_DTR() ((void) Com_(0x06,1))
/*-----------------------------------------------*/
/* Service 7: GET TIMER TICK PARMS */
/*-----------------------------------------------*/
/*-----------------------------------------------*/
/* Service 8: FLUSH OUTBOUND RING-BUFFER */
/*-----------------------------------------------*/
/*-----------------------------------------------*/
/* Service 9: NUKE OUTBOUND RING-BUFFER */
/*-----------------------------------------------*/
/*#define CLEAR_OUTBOUND() (Com_(0x09,0))*/
/*-----------------------------------------------*/
/* Service a: NUKE INBOUND RING-BUFFER */
/*-----------------------------------------------*/
/*#define CLEAR_INBOUND() (Com_(0x0a,0))*/
/*-----------------------------------------------*/
/* Service b: SEND CHAR (no wait) */
/*-----------------------------------------------*/
#define Com_Tx_NW(c) (Com_(0x0b,c))
/*-----------------------------------------------*/
/* Service c: GET CHAR (no wait) */
/*-----------------------------------------------*/
/*#define PEEKBYTE() (Com_(0x0c,0))*/
/*-----------------------------------------------*/
/* Service d: GET KEYBOARD STATUS */
/*-----------------------------------------------*/
#ifndef MILQ
#define KEYPRESS() (Com_(0x0d,0)!=(0xffff))
#define FOSSIL_PEEKKB() (Com_(0x0d,0))
#endif
/*-----------------------------------------------*/
/* Service e: GET KEYBOARD CHARACTER (wait) */
/*-----------------------------------------------*/
#ifndef MILQ
#define READKB() (Com_(0x0e,0)&0xff)
#define READSCAN() (Com_(0x0e,0))
#endif
#define FOSSIL_CHAR() READSCAN()
/*-----------------------------------------------*/
/* Service f: SET/GET FLOW CONTROL STATUS */
/*-----------------------------------------------*/
#define XON_ENABLE() ((void) Com_(0x0f,(byte)handshake_mask))
#define XON_DISABLE() ((void) Com_(0x0f,(byte)(handshake_mask&(~USE_XON))))
#define IN_XON_ENABLE() ((void) Com_(0x0f,(byte)(handshake_mask|OTHER_XON)))
#define IN_XON_DISABLE() ((void) Com_(0x0f,(byte)(handshake_mask&(~OTHER_XON))))
/*-----------------------------------------------*/
/* Service 10: SET/GET CTL-BREAK CONTROLS */
/* Note that the "break" here refers */
/* to ^C and ^K rather than the */
/* tradition modem BREAK. */
/*-----------------------------------------------*/
#define _BRK_ENABLE() (Com_(0x10,BRK))
#define _BRK_DISABLE() (Com_(0x10,0))
#define RECVD_BREAK() (Com_(0x10,BRK)&BRK)
/*-----------------------------------------------*/
/* Service 11: SET LOCAL VIDEO CURSOR POSITION */
/*-----------------------------------------------*/
/*-----------------------------------------------*/
/* Service 12: GET LOCAL VIDEO CURSOR POSITION */
/*-----------------------------------------------*/
/*-----------------------------------------------*/
/* Service 13: WRITE LOCAL ANSI CHARACTER */
/*-----------------------------------------------*/
#ifndef MILQ
#define WRITE_ANSI(c) ((void) Com_(0x13,(byte)(c)))
#endif
/*-----------------------------------------------*/
/* Service 14: WATCHDOG on/off */
/*-----------------------------------------------*/
#define FOSSIL_WATCHDOG(x) (Com_(0x14,x))
/*-----------------------------------------------*/
/* Service 15: BIOS write to screen */
/*-----------------------------------------------*/
#ifndef MILQ
#define WRITE_BIOS(c) (Com_(0x15,(byte)c))
#endif
/*--------------------------------------------------------------------------*/
/* */
/* A no-stall ReadByte routine might look like this: */
/* */
/* int READBYTE() */
/* { */
/* return( CHAR_AVAIL() ? MODEM_IN() : (-1) ); */
/* } */
/* */
/*--------------------------------------------------------------------------*/
/* END OF FILE: com.h */