Annotation of sbbs/src/sbbs3/riodefs.h, revision 1.1.1.1

1.1       root        1: /* riodefs.h */
                      2: 
                      3: /* Synchronet legacy (v2) remote I/O constants */
                      4: 
                      5: /* $Id: riodefs.h,v 1.1.1.1 2000/10/10 11:26:24 rswindell Exp $ */
                      6: 
                      7: /****************************************************************************
                      8:  * @format.tab-size 4          (Plain Text/Source Code File Header)                    *
                      9:  * @format.use-tabs true       (see http://www.synchro.net/ptsc_hdr.html)              *
                     10:  *                                                                                                                                                     *
                     11:  * Copyright 2000 Rob Swindell - http://www.synchro.net/copyright.html         *
                     12:  *                                                                                                                                                     *
                     13:  * This program is free software; you can redistribute it and/or                       *
                     14:  * modify it under the terms of the GNU General Public License                         *
                     15:  * as published by the Free Software Foundation; either version 2                      *
                     16:  * of the License, or (at your option) any later version.                                      *
                     17:  * See the GNU General Public License for more details: gpl.txt or                     *
                     18:  * http://www.fsf.org/copyleft/gpl.html                                                                                *
                     19:  *                                                                                                                                                     *
                     20:  * Anonymous FTP access to the most recent released source is available at     *
                     21:  * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net     *
                     22:  *                                                                                                                                                     *
                     23:  * Anonymous CVS access to the development source and modification history     *
                     24:  * is available at cvs.synchro.net:/cvsroot/sbbs, example:                                     *
                     25:  * cvs -d :pserver:[email protected]:/cvsroot/sbbs login                       *
                     26:  *     (just hit return, no password is necessary)                                                     *
                     27:  * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src                *
                     28:  *                                                                                                                                                     *
                     29:  * For Synchronet coding style and modification guidelines, see                                *
                     30:  * http://www.synchro.net/source.html                                                                          *
                     31:  *                                                                                                                                                     *
                     32:  * You are encouraged to submit any modifications (preferably in Unix diff     *
                     33:  * format) via e-mail to [email protected]                                                                      *
                     34:  *                                                                                                                                                     *
                     35:  * Note: If this box doesn't appear square, then you need to fix your tabs.    *
                     36:  ****************************************************************************/
                     37: 
                     38: #ifndef _RIODEFS_H
                     39: #define _RIODEFS_H
                     40: 
                     41: 
                     42: /************************/
                     43: /* Remote I/O Constants */
                     44: /************************/
                     45: 
                     46:                             /* i/o mode and state flags */
                     47: #define CTSCK  0x1000          /*.check cts (mode only) */
                     48: #define RTSCK  0x2000          /*.check rts (mode only) */
                     49: #define TXBOF  0x0800          /*.transmit buffer overflow (outcom only) */
                     50: #define ABORT  0x0400          /*.check for ^C (mode), aborting (state) */
                     51: #define PAUSE  0x0200          /*.check for ^S (mode), pausing (state) */
                     52: #define NOINP  0x0100          /*.input buffer empty (incom only) */
                     53: 
                     54:                             /* status flags */
                     55: #define DCD    0x0080          /*.DCD on */
                     56: #define RI             0x0040          /*.Ring indicate */
                     57: #define DSR    0x0020          /*.Dataset ready */
                     58: #define CTS    0x0010          /*.CTS on */
                     59: #define FERR   0x0008          /*.Frameing error */
                     60: #define PERR   0x0004          /*.Parity error */
                     61: #define OVRR   0x0002          /*.Overrun */
                     62: #define RXLOST 0x0001          /*.Receive buffer overflow */
                     63: 
                     64: /* rioctl() arguments */
                     65: /* returns mode or state flags in high 8 bits, status flags in low 8 bits */
                     66: 
                     67:                             /* the following return mode in high 8 bits */
                     68: #define IOMODE 0x0000          /*.no operation */
                     69: #define IOSM   0x0001          /*.i/o set mode flags */
                     70: #define IOCM   0x0002          /*.i/o clear mode flags */
                     71: 
                     72: #define GVERS  0x0007          /*.get version */
                     73: #define GUART  0x0107          /*.get uart */
                     74: #define GIRQN  0x0207          /*.get IRQ number */
                     75: #define GBAUD  0x0307          /*.get baud */
                     76: 
                     77:                             /* the following return state in high 8 bits */
                     78: #define IOSTATE 0x0004         /*.no operation */
                     79: #define IOSS   0x0005          /*.i/o set state flags */
                     80: #define IOCS   0x0006          /*.i/o clear state flags */
                     81: #define IOFB   0x0308          /*.i/o buffer flush */
                     82: #define IOFI   0x0208          /*.input buffer flush */
                     83: #define IOFO   0x0108          /*.output buffer flush */
                     84: #define IOCE   0x0009          /* i/o clear error flags */
                     85: 
                     86: 
                     87:                             /* return count (16bit) */
                     88: #define RXBC   0x000a          /*.get receive buffer count */
                     89: #define RXBS   0x010a          /*.get receive buffer size */
                     90: #define TXBC   0x000b          /*.get transmit buffer count */
                     91: #define TXBS   0x010b          /*.get transmit buffer size */
                     92: #define TXBF   0x020b          /*.get transmit buffer free space */
                     93: #define TXSYNC 0x000c          /*.sync transmition (seconds<<8|0x0c) */
                     94: #define IDLE    0x000d      /* suspend communication routines */
                     95: #define RESUME  0x010d      /* return from suspended state */
                     96: #define RLERC   0x000e      /* read line error count and clear */
                     97: #define CPTON   0x0110      /* set input translation flag for ctrl-p on */
                     98: #define CPTOFF  0x0010      /* set input translation flag for ctrl-p off */
                     99: #define GETCPT  0x8010      /* return the status of ctrl-p translation */
                    100: #define MSR     0x0011      /* read modem status register */
                    101: #define FIFOCTL 0x0012         /*.FIFO UART control */
                    102: #define TSTYPE  0x0013      /* Time-slice API type */
                    103: #define GETTST  0x8013      /* Get Time-slice API type */
                    104: 
                    105: #define I14DB   0x001d      /* DigiBoard int 14h driver */
                    106: #define I14PC   0x011d      /* PC int 14h driver */
                    107: #define I14PS   0x021d      /* PS/2 int 14h driver */
                    108: #define I14FO   0x031d      /* FOSSIL int 14h driver */
                    109: 
                    110: #define SMSMK   0x0014      /* set modem status mask */
                    111: #define SMLCR   0x0015      /* set modem line control register */
                    112: #define LFN81  0x0315          /*.set line format N81 */
                    113: #define LFE71  0x1A15          /*.set line format E71 */
                    114: #define SRXHL   0x001E      /* set receive flow control high limit */
                    115: #define SRXLL   0x001F      /* set receive flow control low limit */
                    116: #define IGCLS   0x0020      /* input gate close */
                    117: #define IGOPN   0xFF20      /* input gate open */
                    118: 
                    119: 
                    120:                             /* ivhctl() arguments */
                    121: #define INT29R 0x0001          /* copy int 29h output to remote */
                    122: #define INT29L 0x0002          /* Use _putlc for int 29h */
                    123: #define INT16  0x0010          /* return remote chars to int 16h calls */
                    124: #define INTCLR 0x0000          /* release int 16h, int 29h */
                    125: 
                    126: #define TS_INT28        1
                    127: #define TS_WINOS2    2
                    128: #define TS_NODV      4
                    129: 
                    130: #define RIO_OUTCOM_STKLEN      4096    /* outcom_thread() stack size   */
                    131: #define RIO_OUTCOM_BUFLEN      4096    /* outcom() buffer length               */
                    132: #define RIO_INCOM_BUFLEN       1024    /* incom() buffer length                */
                    133: 
                    134: 
                    135: #endif /* Don't add anything after this line */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.