Annotation of gcl520h/gsci.h, revision 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.