Annotation of gcl520h/gsci.h, revision 1.1.1.1

1.1       root        1: #ifndef GSCI_DOT_H
                      2: #define GSCI_DOT_H
                      3: 
                      4: /*
                      5:  * GSCI.H             5.20A  June 8, 1995
                      6:  *
                      7:  * The Greenleaf Comm Library
                      8:  *
                      9:  * Copyright (C) 1984-1995 Greenleaf Software Inc.  All Rights Reserved.
                     10:  *
                     11:  * NOTES
                     12:  *
                     13:  *  This file contains all the structure definitions and function
                     14:  *  prototypes needed by user modules that are going to access GSCI
                     15:  *  Level 1 functions.
                     16:  *
                     17:  * MODIFICATIONS
                     18:  *
                     19:  * December 12, 1992  4.00A : Initial release
                     20:  *
                     21:  */
                     22: #include "commlib.h"
                     23: 
                     24: #define MAX_PORT        35
                     25: #define MAX_BUF_SIZE    65535U
                     26: #define MIN_BUF_SIZE    2
                     27: 
                     28: /*
                     29:  * port operating modes
                     30:  */
                     31: #define ASIN            1
                     32: #define ASOUT           2
                     33: #define ASINOUT         3
                     34: #define BINARY          0
                     35: #define ASCII           4
                     36: #define NORMALRX        0
                     37: #define WIDETRACKRX     128
                     38: 
                     39: /*
                     40:  *Parity types
                     41:  */
                     42: #define P_NONE          0
                     43: #define P_ODD           1
                     44: #define P_EVEN          2
                     45: #define P_S_STICK       3
                     46: #define P_M_STICK       4
                     47: 
                     48: 
                     49: 
                     50: /*
                     51:  * Error masks for widetrack rx buffer
                     52:  */
                     53: #define OVERRUN_ERR       2
                     54: #define PARITY_ERR        4
                     55: #define FRAMING_ERR       8
                     56: #define CTS_STATE        16
                     57: #define DSR_STATE        32
                     58: #define RI_STATE         64
                     59: #define CD_STATE        128
                     60: 
                     61: /*
                     62:  * Argument values for asicheck()
                     63:  */
                     64: #define ALERT_FLAG_STOPS_RX_AND_TX       1
                     65: #define CTS_LOW_STOPS_TX_INTERRUPTS      2
                     66: #define DSR_LOW_DISCARDS_RX_DATA         4
                     67: #define CD_LOW_DISCARDS_RX_DATA          8
                     68: #define MODEM_STATUS_CHANGES_SET_ALERT   16
                     69: #define LINE_STATUS_ERRORS_SET_ALERT     32
                     70: 
                     71: /*
                     72:  * For asirchk()
                     73:  */
                     74: #define CHKDISABLE 0
                     75: #define CHKDISCARD 1
                     76: #define CHKFLAGDISCARD 2
                     77: #define CHKFLAG 3
                     78: #define CHKRESET 4
                     79: 
                     80: /*
                     81:  *Define status modes for all those is...() functions
                     82:  */
                     83: #define IMMEDIATE       0
                     84: #define CUMULATIVE      1
                     85: 
                     86: /*
                     87:  *Buffer Flags (Masks)
                     88:  */
                     89: #define ALERT   1
                     90: #define RXEMPTY 2
                     91: #define RXFULL  4
                     92: #define RXOVFLOW 8
                     93: #define TXEMPTY 16
                     94: #define TXFULL  32
                     95: #define LINERR  64
                     96: #define MODCHG  128
                     97: 
                     98: /*
                     99:  * Names used as parameters passed to asicheck()
                    100:  */
                    101: 
                    102: #define IGALERT         1
                    103: #define IGCTS           2
                    104: #define IGDSR           4
                    105: #define IGCD            8
                    106: #define IGMSTAT         16
                    107: #define IGLSTAT         32
                    108: 
                    109: /*
                    110:  * Old argument values for the is...() functions
                    111:  */
                    112: #define DIRECT          0
                    113: #define STATIC          1
                    114: 
                    115: /*************************************************************************
                    116:  *  SUPPORT POLICY RE ALL STRUCTURES FROM HERE ON:                       *
                    117:  *                                                                       *
                    118:  *  These structures are used internally by the Comm functions and the   *
                    119:  *  interrupts.  Feel free to look around, but it's not a good idea to   *
                    120:  *  change anything here!                                                *
                    121:  *                                                                       *
                    122:  ************************************************************************/
                    123: 
                    124: /*
                    125:  * Port Status Bits (from interrupt process)
                    126:  */
                    127: struct AS_STBITS {
                    128:     unsigned alert     : 1;
                    129:     unsigned rxempty   : 1;
                    130:     unsigned rxfull    : 1;
                    131:     unsigned rxovflow  : 1;
                    132:     unsigned txempty   : 1;
                    133:     unsigned txfull    : 1;
                    134:     unsigned linerr    : 1;
                    135:     unsigned modchg    : 1;
                    136:     unsigned xchrun    : 1;
                    137:     unsigned rchrun    : 1;
                    138:     unsigned txwxon    : 1;
                    139:     unsigned txwcts    : 1;
                    140:     unsigned txwalert  : 1;
                    141:     unsigned xoffsent  : 1;
                    142:     unsigned rtsactive : 1;
                    143:     unsigned txiflag   : 1;
                    144: };
                    145: 
                    146: /*
                    147:  *Interrupt Options (written from application side, read by interrupts)
                    148:  */
                    149: struct AS_MODEBITS {
                    150:     unsigned is_txint                       : 1;
                    151:     unsigned is_rxint                       : 1;
                    152:     unsigned is_ascii                       : 1;
                    153:     unsigned is_rxerror                     : 1;
                    154:     unsigned is_receiver_xoffmode           : 1;
                    155:     unsigned cts_low_holds_tx_interrupts    : 1;
                    156:     unsigned alert_flag_stops_rx_and_tx     : 1;
                    157:     unsigned dsr_low_discards_rx_data       : 1;
                    158:     unsigned cd_low_discards_rx_data        : 1;
                    159:     unsigned modem_status_changes_set_alert : 1;
                    160:     unsigned line_errors_set_alert          : 1;
                    161:     unsigned is_16550                       : 1;
                    162:     unsigned is_blocking                    : 1;
                    163:     unsigned is_rchking                     : 1;
                    164:     unsigned is_rtscontrol                  : 1;
                    165:     unsigned is_transmitter_xoffmode        : 1;
                    166: };
                    167: 
                    168: /*
                    169:  *Port Information Table
                    170:  */
                    171: struct PORT_TABLE {
                    172:     int intrpt_num;                  /* 8250 interrupt no. 0C...            */
                    173:     unsigned base_8250;              /* base i/o address of 8250            */
                    174:     int p_8250[ 5 ];                 /* previous values for 8250 registers:
                    175:                                         0 = line control register,
                    176:                                         1 = modem control register, bits 5-7 are FCR
                    177:                                         2 = interrupt enable register,
                    178:                                         3 = divisor latch LSB,
                    179:                                         4 = divisor latch MSB
                    180:                                       */
                    181:     void ( GF_FAR * p_vector )( void ); /* previous value for interrupt vector */
                    182:     unsigned int line_stat;          /* Cumulative line status              */
                    183:     unsigned int modem_stat;         /* Cumulative modem status             */
                    184:     unsigned int wide_stat;          /* Current wide-track status           */
                    185: 
                    186:     int irq_8259;                    /* Interrupt # in 8259 (com0 = 4)      */
                    187:     int saved_8259_bits;             /* Previous value of irq_8259 bit      */
                    188:     unsigned int port_8259;          /* I/O Address of 8259                 */
                    189: 
                    190:     unsigned int rx_cell;            /* size of rx cell ( for wide-track )  */
                    191:     unsigned int rx_size;            /* size of receive buffer              */
                    192:     unsigned int rx_count;           /* number of bytes in receive buffer   */
                    193:     unsigned int rx_head;            /* offset of receive buffer head       */
                    194:     unsigned int rx_tail;            /* offset of receive buffer tail       */
                    195: #ifdef VGFD
                    196:     char GF_FAR *rx_buffer;          /* always points to base of rx buffer  */
                    197: #else
                    198:     char GF_DLL_FAR *rx_buffer;      /* always points to base of rx buffer  */
                    199: #endif
                    200:     unsigned int tx_cell;            /* size of tx cell (always 1)          */
                    201:     unsigned int tx_size;            /* size of transmit buffer             */
                    202:     unsigned int tx_count;           /* number of bytes in transmit buffer  */
                    203:     unsigned int tx_head;            /* offset of transmit buffer head      */
                    204:     unsigned int tx_tail;            /* offset of transmit buffer tail      */
                    205: 
                    206: #ifdef VGFD
                    207:     char GF_FAR *tx_buffer;          /* points to base of transmit buffer   */
                    208: #else
                    209:     char GF_DLL_FAR *tx_buffer;      /* points to base of transmit buffer   */
                    210: #endif
                    211:     struct AS_STBITS chst_bits;      /* port status bits                    */
                    212:     struct AS_MODEBITS chmode_bits;  /* port mode bits IN,OUT,XON,etc       */
                    213: 
                    214:     unsigned int rts_lowater;        /* when to assert RTS                  */
                    215:     unsigned int rts_hiwater;        /* when to de-assert RTS               */
                    216:     unsigned int rx_accum;           /* counter for received characters     */
                    217:     unsigned int rx_lowater;         /* When to send an XON                 */
                    218:     unsigned int rx_hiwater;         /* When to send an XOFF                */
                    219:     int stop_xmt;                    /* The incoming XOFF character         */
                    220:     int start_xmt;                   /* The incoming XON character          */
                    221:     int stop_rem_xmt;                /* The outbound XOFF character         */
                    222:     int start_rem_xmt;               /* The outbound XON character          */
                    223: 
                    224:     int break_delay;                 /* The number of ticks in a break      */
                    225: 
                    226:     int aswmodem;                    /* Polled mode timeout values          */
                    227:     int aswtime;
                    228:     int asrtime;
                    229: 
                    230:     unsigned int chkchr[ 3 ];        /* Each character occupies the low
                    231:                                         8 bits, the high order bit (bit 15)
                    232:                                         is set to 1 if rx-interrupts are to
                    233:                                         look at this character, bit 14 is set
                    234:                                         by interrupt routines and is to be
                    235:                                         checked by asirchk().  Bit 8 & 9
                    236:                                         determine the mode or option of what
                    237:                                         to do                               */
                    238:     unsigned int mscount;            /* Modem status interrupt counter      */
                    239:     unsigned int lscount;            /* Line status interrupt counter       */
                    240:     unsigned int txcount;            /* Transmit interrupt counter          */
                    241:     unsigned int rxcount;            /* Receive interrupt counter           */
                    242:     int out12_mask;                  /* The OUT1/OUT2 mask                  */
                    243:     int ls_ms_ier;                   /* The interrupt enable initial mask   */
                    244:     PORT GF_DLL_FAR *generic_driver; /* Pointer to Level 2 structure        */
                    245: 
                    246: #ifndef VGFD
                    247:     unsigned int tx_16550_limit;     /* FIFO buffer limit for 16550         */
                    248: #endif
                    249: 
                    250: #ifdef VGFD
                    251:     long reserved1; /* for VGFD */
                    252:     long reserved2; /* for VGFD */
                    253: #endif
                    254: 
                    255: };
                    256: 
                    257: /*************************************************************************
                    258:  *  ARRAYS OF FUNDAMENTAL THINGS THAT MUST BE KNOWN AT INTERRUPT TIME.   *
                    259:  *                                                                       *
                    260:  *  1.  Pointer to main parameter structure for the port.                *
                    261:  *  2.  I/O Address of status reg if shared-int hardware, zero if not.   *
                    262:  *  3.  If shared hardware, this is bitmask to compare for the port.     *
                    263:  *      Note:  when the int. reads the status port it searches for a     *
                    264:  *      match against an entry in this column in the array.              *
                    265:  *  4.  Value to be XOR'ed with value read from shared port, this will   *
                    266:  *      cover the case where bits in the board's interrupt I.D. register *
                    267:  *      are active when 0 instead of active when 1.                      *
                    268:  ************************************************************************/
                    269: 
                    270: enum GSCI_HANDLER_TYPE { GSCI_STANDARD_HANDLER = 0,
                    271:                          GSCI_SHARED_IRQ_HANDLER = 1,
                    272:                          GSCI_USER_INSTALLED_HANDLER = 2,
                    273:                          GSCI_DEFUNCT_HANDLER = 3 };
                    274: 
                    275: struct PORTINFO {
                    276: #ifdef VGFD
                    277:     struct PORT_TABLE GF_FAR *ptb;
                    278: #else
                    279:     struct PORT_TABLE GF_DLL_FAR *ptb;
                    280: #endif
                    281:     unsigned as_shport;
                    282:     unsigned as_shbits;
                    283:     unsigned as_mask;
                    284:     unsigned as_xorv;
                    285:     enum GSCI_HANDLER_TYPE handler_type;
                    286: #ifdef VGFD
                    287:     unsigned task_handle_port;  /* VGFD task handle */
                    288:     int vm_id_port;             /* VGFD VM id */
                    289:     long reserved2;             /* for VGFD */
                    290: #endif
                    291: };
                    292: 
                    293: #ifdef __cplusplus
                    294: extern "C" {
                    295: #endif
                    296: 
                    297: #ifdef VGFD
                    298: extern struct PORTINFO GF_FAR *as_chnl;
                    299: #else
                    300: extern struct PORTINFO as_chnl[ MAX_PORT ];
                    301: #endif
                    302: extern int _aserror, _asoprt, _asmask, _asxorv, _comvers;
                    303: 
                    304: #ifdef __cplusplus
                    305: }
                    306: #endif
                    307: 
                    308: 
                    309: #define isalert( p )                        _iswhat( ( p ), 1 )  /* Tag: GSCI public */
                    310: #define isrxempty( p )                      _iswhat( ( p ), 2 )  /* Tag: GSCI public */
                    311: #define isrxfull( p )                       _iswhat( ( p ), 3 )  /* Tag: GSCI public */
                    312: #define isrxovflow( p )                     _iswhat( ( p ), 4 )  /* Tag: GSCI public */
                    313: #define istxempty( p )                      _iswhat( ( p ), 5 )  /* Tag: GSCI public */
                    314: #define istxfull( p )                       _iswhat( ( p ), 6 )  /* Tag: GSCI public */
                    315: #define islinerr( p )                       _iswhat( ( p ), 7 )  /* Tag: GSCI public */
                    316: #define ismodemerr( p )                     _iswhat( ( p ), 8 )  /* Tag: GSCI public */
                    317: #define istxintrunning( p )                 _iswhat( ( p ), 9 )  /* Tag: GSCI public */
                    318: #define isrxintrunning( p )                 _iswhat( ( p ), 10 ) /* Tag: GSCI public */
                    319: #define AlertFlagStopsRXAndTX( p )          _iswhat( ( p ), 11 ) /* Tag: GSCI public */
                    320: #define CTSLowHoldsTXInterrupts( p )        _iswhat( ( p ), 12 ) /* Tag: GSCI public */
                    321: #define DSRLowDiscardsRXData( p )           _iswhat( ( p ), 13 ) /* Tag: GSCI public */
                    322: #define CDLowDiscardsRXData( p )            _iswhat( ( p ), 14 ) /* Tag: GSCI public */
                    323: #define ModemStatusChangesSetAlert( p )     _iswhat( ( p ), 15 ) /* Tag: GSCI public */
                    324: #define LineStatusErrorsSetAlert( p )       _iswhat( ( p ), 16 ) /* Tag: GSCI public */
                    325: 
                    326: #define isoverrun( p, o )          _isstat( ( p ), o, 1 )        /* Tag: GSCI public */
                    327: #define isparityerr( p, o )        _isstat( ( p ), o, 2 )        /* Tag: GSCI public */
                    328: #define isframerr( p, o )          _isstat( ( p ), o, 3 )        /* Tag: GSCI public */
                    329: #define isbreak( p, o )            _isstat( ( p ), o, 4 )        /* Tag: GSCI public */
                    330: #define iscts( p, o )              _isstat( ( p ), o, 5 )        /* Tag: GSCI public */
                    331: #define isdsr( p, o )              _isstat( ( p ), o, 6 )        /* Tag: GSCI public */
                    332: #define iscd( p, o )               _isstat( ( p ), o, 7 )        /* Tag: GSCI public */
                    333: #define isri( p, o )               _isstat( ( p ), o, 8 )        /* Tag: GSCI public */
                    334: #define ischgcts( p, o )           _isstat( ( p ), o, 9 )        /* Tag: GSCI public */
                    335: #define ischgdsr( p, o )           _isstat( ( p ), o, 10 )       /* Tag: GSCI public */
                    336: #define ischgcd( p, o )            _isstat( ( p ), o, 11 )       /* Tag: GSCI public */
                    337: #define ischgri( p, o )            _isstat( ( p ), o, 12 )       /* Tag: GSCI public */
                    338: 
                    339: #define isncts( p )                 _iswhat( ( p ), 17 )         /* Tag: GSCI public */
                    340: #define isndsr( p )                 _iswhat( ( p ), 18 )         /* Tag: GSCI public */
                    341: #define isncd( p )                  _iswhat( ( p ), 19 )         /* Tag: GSCI public */
                    342: #define isring( p )                 _iswhat( ( p ), 20 )         /* Tag: Defunct Public */
                    343: #define isxmrxing( p )              _iswhat( ( p ), 21 )         /* Tag: GSCI public */
                    344: #define isxoffblocked( p )          _iswhat( ( p ), 22 )         /* Tag: GSCI public */
                    345: #define isctsblocked( p )           _iswhat( ( p ), 23 )         /* Tag: GSCI public */
                    346: #define is16550( p )                _iswhat( ( p ), 24 )         /* Tag: GSCI public */
                    347: /*
                    348:  * The old Hayes Modem function names
                    349:  */
                    350: #define hmreset     HMReset                                      /* Tag: Modem Defunct */
                    351: #define hmregset    HMSetRegister                                /* Tag: Modem Defunct */
                    352: #define hmringnum   HMSetAutoAnswerRingCount                     /* Tag: Modem Defunct */
                    353: #define hmringcnt   HMGetIncomingRingCount                       /* Tag: Modem Defunct */
                    354: #define hmescset    HMSetEscapeCode                              /* Tag: Modem Defunct */
                    355: #define hms3set     HMSetEndOfLineCharacter                      /* Tag: Modem Defunct */
                    356: #define hms4set     HMSetLineFeedCharacter                       /* Tag: Modem Defunct */
                    357: #define hms5set     HMSetBackspaceCharacter                      /* Tag: Modem Defunct */
                    358: #define hmdialset   HMSetWaitForDialToneTime                     /* Tag: Modem Defunct */
                    359: #define hmcarrset   HMSetWaitTimeForCarrier                      /* Tag: Modem Defunct */
                    360: #define hmcomaset   HMSetPauseTimeForComma                       /* Tag: Modem Defunct */
                    361: #define hmcarrec    HMSetCDResponseTime                          /* Tag: Modem Defunct */
                    362: #define hmcarrdisc  HMSetCarrierDisconnectTime                   /* Tag: Modem Defunct */
                    363: #define hmdialrate  HMSetTouchToneDuration                       /* Tag: Modem Defunct */
                    364: #define hmescguard  HMSetEscapeCodeGuardTime                     /* Tag: Modem Defunct */
                    365: #define hmuart      HMGetUARTStatus                              /* Tag: Modem Defunct */
                    366: #define hmoption    HMGetOptionRegister                          /* Tag: Modem Defunct */
                    367: #define hmflags     HMGetFlagRegister                            /* Tag: Modem Defunct */
                    368: #define hmonline    HMGoOnline                                   /* Tag: Modem Defunct */
                    369: #define hmdialmode  HMSetDialingMethod                           /* Tag: Modem Defunct */
                    370: #define hmdial      HMDial                                       /* Tag: Modem Defunct */
                    371: #define hmrepeat    HMRepeatLastCommand                          /* Tag: Modem Defunct */
                    372: #define hmreverse   HMDialInAnswerMode                           /* Tag: Modem Defunct */
                    373: #define hmanswer    HMAnswer                                     /* Tag: Modem Defunct */
                    374: #define hmcarron    HMSetCarrier                                 /* Tag: Modem Defunct */
                    375: #define hmecho      HMSetEchoMode                                /* Tag: Modem Defunct */
                    376: #define hmduplex    HMSetFullDuplexMode                          /* Tag: Modem Defunct */
                    377: #define hmhook      HMSetHookSwitch                              /* Tag: Modem Defunct */
                    378: #define hmspeak     HMSetSpeaker                                 /* Tag: Modem Defunct */
                    379: #define hmquiet     HMReturnNoResultCodes                        /* Tag: Modem Defunct */
                    380: #define hmextend    HMSelectExtendedResultCodes                  /* Tag: Modem Defunct */
                    381: #define hmverbose   HMSetVerboseMode                             /* Tag: Modem Defunct */
                    382: #define hmstr       HMSendString                                 /* Tag: Modem Defunct */
                    383: #define hmregread   HMGetRegister                                /* Tag: Modem Defunct */
                    384: 
                    385: 
                    386: #ifdef __cplusplus
                    387: extern "C" {
                    388: #endif
                    389: 
                    390: 
                    391: int               GF_CONV asiflow( int port_number,
                    392:                                    int low_water,
                    393:                                    int hi_water,
                    394:                                    int rts_on_off,
                    395:                                    int cts_on_off );
                    396: struct PORT_TABLE * GF_CONV _aschkcnl( int port_number);
                    397: int               GF_CONV asdtr( int port_number, int on_off );
                    398: int               GF_CONV asgetc( int port_number );
                    399: int               GF_CONV asibreak( int port_number, int length_in_ticks );
                    400: unsigned int      GF_CONV asibstat( int port_number );
                    401: int               GF_CONV asiclear( int port_number, int option );
                    402: int               GF_CONV asidiag( int port_number, int on_off );
                    403: unsigned int      GF_CONV asierst( int port_number );
                    404: int               GF_CONV asifirst( int port_number,
                    405:                                     unsigned int operating_mode,
                    406:                                     unsigned int rx_buffer_length,
                    407:                                     unsigned int tx_buffer_length );
                    408: unsigned          int GF_CONV asigetb( int port_number,
                    409:                                        char GF_DLL_FAR *buffer,
                    410:                                        unsigned int length );
                    411: unsigned          int GF_CONV asigetb_timed( int port_number,
                    412:                                              char GF_DLL_FAR *buffer,
                    413:                                              unsigned int length,
                    414:                                              int ticks );
                    415: int               GF_CONV asigetc( int port_number );
                    416: int               GF_CONV asigetc_timed( int port_number, int ticks );
                    417: int               GF_CONV asigetparms( int port_number,
                    418:                                        long GF_DLL_FAR *baud_rate,
                    419:                                        int GF_DLL_FAR *word_length,
                    420:                                        int GF_DLL_FAR *parity,
                    421:                                        int GF_DLL_FAR *stop_bits,
                    422:                                        int GF_DLL_FAR *dtr,
                    423:                                        int GF_DLL_FAR *rts );
                    424: unsigned int      GF_CONV asigets( int port_number,
                    425:                                    char GF_DLL_FAR *buffer,
                    426:                                    unsigned int maximum_length,
                    427:                                    int terminating_character );
                    428: unsigned int     GF_CONV asigets_timed( int port_number,
                    429:                                         char GF_DLL_FAR *buffer,
                    430:                                         unsigned int maximum_length,
                    431:                                         int terminating_character,
                    432:                                         int ticks );
                    433: int               GF_CONV asihold( int port_number, unsigned int mode );
                    434: int               GF_CONV asicheck( int port_number, int condition,
                    435:                                     int on_off );
                    436: int               GF_CONV asiinit( int port_number,
                    437:                                    long baud_rate,
                    438:                                    int parity,
                    439:                                    int stop_bits,
                    440:                                    int word_length );
                    441: unsigned int      GF_CONV asilrst( int port_number );
                    442: unsigned int      GF_CONV asilstat( int port_number, 
                    443:                                     int immediate_or_cumulative);
                    444: unsigned int      GF_CONV asimrst( int port_number );
                    445: unsigned int      GF_CONV asimstat( int port_number, 
                    446:                                     int immediate_or_cumulative );
                    447: int               GF_CONV asiopen( int port_number,
                    448:                                    unsigned int mode,
                    449:                                    unsigned int rx_buffer_length,
                    450:                                    unsigned int tx_buffer_length,
                    451:                                    long baud_rate,
                    452:                                    int parity,
                    453:                                    int stop_bits,
                    454:                                    int word_length,
                    455:                                    int dtr,
                    456:                                    int rts );
                    457: int               GF_CONV asipeek( int port_number );
                    458: unsigned int      GF_CONV asiputb( int port_number, char * buffer,
                    459:                                    unsigned int length );
                    460: int               GF_CONV asiputc( int port_number, int character );
                    461: unsigned int      GF_CONV  asiputs( int port_number,
                    462:                                     char GF_DLL_FAR *output_string,
                    463:                                     int termination_sequence );
                    464: int               GF_CONV asiquit( int port_number );
                    465: int               GF_CONV asirchk( int port_number,
                    466:                                    int code_number,
                    467:                                    unsigned int code_to_check,
                    468:                                    int operation );
                    469: int               GF_CONV asireset( int port_number );
                    470: int               GF_CONV asiresume( int port_number, unsigned int mode );
                    471: 
                    472: 
                    473: int               GF_CONV asistart( int port_number, unsigned int option );
                    474: unsigned int      GF_CONV asiwgetb( int port_number,
                    475:                                     char GF_DLL_FAR *character_buffer,
                    476:                                     unsigned int maximum_length,
                    477:                                     char GF_DLL_FAR *status_buffer );
                    478: unsigned int      GF_CONV asiwgetb_timed( int port_number,
                    479:                                           char GF_DLL_FAR *character_buffer,
                    480:                                           unsigned int maximum_length,
                    481:                                           char GF_DLL_FAR *status_buffer,
                    482:                                           int ticks );
                    483: int               GF_CONV asiwgetc( int port_number,
                    484:                                     char GF_DLL_FAR *wide_track_buf );
                    485: int               GF_CONV asiwgetc_timed( int port_number,
                    486:                                           char GF_DLL_FAR *wide_track_buffer,
                    487:                                           int ticks );
                    488: unsigned int      GF_CONV asiwgets( int port_number,
                    489:                                     char GF_DLL_FAR *destination_string,
                    490:                                     unsigned int maximum_length,
                    491:                                     int terminating_character,
                    492:                                     char GF_DLL_FAR *status_buffer );
                    493: unsigned int      GF_CONV asiwgets_timed( int port_number,
                    494:                                           char GF_DLL_FAR *destination_string,
                    495:                                           unsigned int maximum_length,
                    496:                                           int terminating_character,
                    497:                                           char GF_DLL_FAR *status_buffer,
                    498:                                           int ticks );
                    499: int               GF_CONV asiwpeek( int port_number,
                    500:                                     char GF_DLL_FAR *status_buffer );
                    501: int               GF_CONV asixoff( int port_number );
                    502: int               GF_CONV asixon( int port_number,
                    503:                                   int low_water_mark,
                    504:                                   int high_water_mark,
                    505:                                   int xon_character,
                    506:                                   int xoff_character );
                    507: unsigned int      GF_CONV asixrst( int port_number );
                    508: int               GF_CONV asputc( int port_number, int character );
                    509: unsigned int      GF_CONV asputs(  int port_number,
                    510:                                    char GF_DLL_FAR *output_string,
                    511:                                    int termination_sequence );
                    512: int               GF_CONV asrts( int port_number, int on_or_off );
                    513: unsigned int      GF_CONV getrxcnt( int port_number );
                    514: unsigned int      GF_CONV gettxfree( int port_number );
                    515: int               GF_CONV isrchk( int port_number, int code_number );
                    516: int               GF_CONV _isstat( int port_number,
                    517:                                    int what_to_check,
                    518:                                    int what_to_do );
                    519: int               GF_CONV isxmrxcnt( int port_number, unsigned int count );
                    520: int               GF_CONV _iswhat( int port_number, int what_to_check );
                    521: int               GF_CONV ClearTXWaitConditions( int port );
                    522: #if defined( VGFD )
                    523: void              GF_CONV UseInterruptCounters( int engage );
                    524: #else
                    525: void              GF_CDECL UseInterruptCounters( int engage );
                    526: void              GF_CONV GreenleafSet16550UseTXFifos( int port, int control );
                    527: #endif
                    528: int               GF_CONV GreenleafSet16550TriggerLevel( TRIGGER_LEVEL level );
                    529: int               GF_CONV GreenleafUseRXXonXoff( int port,
                    530:                                                  int low_water,
                    531:                                                  int hi_water,
                    532:                                                  int xon,
                    533:                                                  int xoff );
                    534: int               GF_CONV GreenleafUseTXXonXoff( int port, int xon, int xoff );
                    535: int               GF_CONV GreenleafUseXonXoff( int port,
                    536:                                                int low_water,
                    537:                                                int hi_water,
                    538:                                                int xon,
                    539:                                                int xoff );
                    540: int               GF_CONV GreenleafDisableRXXonXoff( int port );
                    541: int               GF_CONV GreenleafDisableTXXonXoff( int port );
                    542: int               GF_CONV GreenleafDisableXonXoff( int port );
                    543: int               GF_CONV SetWidetrackMode( int port, int control );
                    544: int               GF_CONV GreenleafSetPortHardware( int port,
                    545:                                                     int irq,
                    546:                                                     int address );
                    547: int               GF_CONV GreenleafGetPortHardware( int port,
                    548:                                                     int GF_DLL_FAR *irq,
                    549:                                                     int GF_DLL_FAR *address );
                    550: int               GF_CONV GreenleafGetSavedPortParameters(
                    551:                                                 int port,
                    552:                                                 long GF_DLL_FAR *baud_rate,
                    553:                                                 char GF_DLL_FAR *parity,
                    554:                                                 int GF_DLL_FAR *word_length,
                    555:                                                 int GF_DLL_FAR *stop_bits,
                    556:                                                 int GF_DLL_FAR *dtr,
                    557:                                                 int GF_DLL_FAR *rts,
                    558:                                                 int GF_DLL_FAR *trigger_level );
                    559: int               GF_CONV GreenleafSetSavedPortParameters( int port,
                    560:                                                            long baud_rate,
                    561:                                                            char parity,
                    562:                                                            int word_length,
                    563:                                                            int stop_bits,
                    564:                                                            int dtr,
                    565:                                                            int rts,
                    566:                                                            int trigger_level );
                    567: 
                    568: #ifdef __cplusplus
                    569: }
                    570: #endif
                    571: 
                    572: #ifdef VGFD
                    573: #include "sacommon.h"
                    574: #endif
                    575: 
                    576: #define GREENLEAF_HANDLE_TO_PORT( h )  ( as_chnl[ h ].ptb )->generic_driver   /* Tag: GSCI public */
                    577: 
                    578: #endif /* #ifndef GSCI_DOT_H */

unix.superglobalmegacorp.com

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