home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Beijing Paradise BBS Backup
/
PARADISE.ISO
/
software
/
BBSDOORW
/
UUPC11XS.ZIP
/
UUCICO
/
COMM.H
< prev
next >
Wrap
Text File
|
1992-11-12
|
4KB
|
92 lines
/*
** declarations for comm.asm
**
** compilation must use the Ze switch to enable the
** "far" keyword for the small memory model
**
** Robin Rohlicek 3/86
** skl@van-bc.UUCP 5/88 (more prototypes and com_errors fix)
*/
void far select_port(int); /* select active port (1 or 2) */
void far save_com(void); /* save the interupt vectors */
void far restore_com(void); /* restore those vectors */
int far install_com(void); /* install our vectors */
void far open_com( /* open com port */
int, /* baud */
int, /* 'M'odem or 'D'irect */
int, /* Parity 'N'one, 'O'dd, 'E'ven, 'S'pace, 'M'ark */
int, /* stop bits (1 or 2) */
int); /* Xon/Xoff 'E'nable, 'D'isable */
void far ioctl_com( int flags, int operand, ...);
void far close_com(void); /* close com port */
void far dtr_off(void); /* clear DTR */
void far dtr_on(void); /* set DTR */
long far r_count(void); /* receive counts */
/* high word = total size of receive buffer */
/* low word = number of pending chars */
#define r_count_size() ((int)(r_count() >> 16))
#define r_count_pending() ((int)r_count())
int far receive_com(void); /* get one character */
/* return -1 if none available */
long far s_count(void); /* send counts */
/* high word = total size of transmit buffer */
/* low word = number of bytes free in transmit buffer */
#define s_count_size() ((int)(s_count() >> 16))
#define s_count_free() ((int)s_count())
void far send_com(int); /* send a character */
void far send_local(int); /* simulate receive of char */
void far sendi_com(int); /* send immediately */
void far break_com(void); /* send a BREAK */
int far * far com_errors(void); /* return far pointer to error counts
(in static area) */
#define COM_EOVFLOW 0 /* buffer overflows */
#define COM_EOVRUN 1 /* receive overruns */
#define COM_EBREAK 2 /* break chars */
#define COM_EFRAME 3 /* framing errors */
#define COM_EPARITY 4 /* parity errors */
#define COM_EXMIT 5 /* transmit erros */
#define COM_EDSR 6 /* data set ready errors */
#define COM_ECTS 7 /* clear to send errors */
/*--------------------------------------------------------------------*/
/* Macros based on modem status */
/*--------------------------------------------------------------------*/
int far modem_status( void ); /* Return current modem status */
#define is_dsr_high() ( modem_status() & MDM_DSR )
#define is_cts_high() ( modem_status() & MDM_DSR )
#define is_cd_high() ( modem_status() & MDM_CD )
/*--------------------------------------------------------------------*/
/* Bits returned by modem status */
/*--------------------------------------------------------------------*/
#define MDM_CD 0x80 /* CD (Carrier Detect) */
#define MDM_RI 0x40 /* RI (Ring Indicator) */
#define MDM_DSR 0x20 /* DSR (Data Set Ready) */
#define MDM_CTS 0x10 /* CTS (Clear to Send) */
#define MDM_CDC 0x08 /* Delta Carrier Detect (CD changed) */
#define MDM_TRI 0x04 /* Trailing edge of RI (RI went OFF) */
#define MDM_DSRC 0x02 /* Delta DSR (DSR changed) */
#define MDM_CTSC 0x01 /* Delta CTS (CTS changed) */