218 lines
5.1 KiB
C
218 lines
5.1 KiB
C
|
#ifndef h_term
|
||
|
#define h_term
|
||
|
/******************************************************************************
|
||
|
*
|
||
|
* Terminal I/O function delcarations
|
||
|
*
|
||
|
* Module %M% Version %I% Date %H%
|
||
|
*
|
||
|
* (c) Copyright 1998 Ardent Software Inc. - All Rights Reserved
|
||
|
* This is unpublished proprietary source code of Ardent Software Inc.
|
||
|
* The copyright notice above does not evidence any actual or intented
|
||
|
* publication of such source code.
|
||
|
*
|
||
|
*******************************************************************************
|
||
|
*
|
||
|
* Maintenence log - insert most recent change descriptions at top
|
||
|
*
|
||
|
* Date.... GTAR# WHO Description.........................................
|
||
|
* 10/14/98 23801 SAP Change copyrights.
|
||
|
* 04/07/98 22583 RJE Added definition of cronly in crmode
|
||
|
* 01/05/96 17705 PGW Changed TTYPROT structure slightly for MSWIN
|
||
|
* 08/23/95 17242 AGM Replace COMPUTER==WINNT test by MSWIN test
|
||
|
* 05/15/95 16523 SJM Added CHAN_TYPE_* defines
|
||
|
* 02/11/95 15740 JC Added AUX map information to tty structure.
|
||
|
* 11/24/94 15740 JC Added map information to tty structure
|
||
|
* 10/21/94 15166 GMM ifdefed some BAUD and PARITY defs for NT
|
||
|
* 11/12/92 10001 WLC Add CC_TMC (text mark) & CC_SQLNULL constants.
|
||
|
* 10002
|
||
|
* 07/26/90 6272 JWT Add U6072 & U9072 per Ken Pike of Ultimate
|
||
|
* 07/24/89 6157 TJR fixed stty setting save (see ttysetget.c)
|
||
|
* 07/25/88 - - Maintenence log purged at 5.2.1, see release 5.1.10.
|
||
|
*
|
||
|
*****************************************************************************/
|
||
|
#include "NLS.h"
|
||
|
|
||
|
/* NT cannot differentiate between different types of channel simply
|
||
|
by file descriptor alone, hence an extra argument is needed when
|
||
|
calling ttyset/get. These are the defines for this argument */
|
||
|
|
||
|
#define CHAN_TYPE_CRT 0
|
||
|
#define CHAN_TYPE_FILE 1
|
||
|
#define CHAN_TYPE_LPTR 2
|
||
|
#define CHAN_TYPE_MTU 3
|
||
|
|
||
|
|
||
|
#define MODE_LINE 0
|
||
|
#define MODE_RAW 1
|
||
|
#define MODE_CHAR 2
|
||
|
#define MODE_EMULATE 3
|
||
|
|
||
|
#define CC_INTR 0
|
||
|
#define CC_QUIT 1
|
||
|
#define CC_SUSP 2
|
||
|
#define CC_DSUSP 3
|
||
|
#define CC_SWITCH 4
|
||
|
#define CC_ERASE 5
|
||
|
#define CC_WERASE 6
|
||
|
#define CC_KILL 7
|
||
|
#define CC_LNEXT 8
|
||
|
#define CC_REPRINT 9
|
||
|
#define CC_EOF 10
|
||
|
#define CC_EOL 11
|
||
|
#define CC_EOL2 12
|
||
|
#define CC_FLUSH 13
|
||
|
#define CC_START 14
|
||
|
#define CC_STOP 15
|
||
|
#define CC_LCONT 16
|
||
|
#define CC_FMC 17
|
||
|
#define CC_VMC 18
|
||
|
#define CC_SMC 19
|
||
|
#define CC_TMC 20
|
||
|
#define CC_SQLNULL 21
|
||
|
#define CC_CCDEL 22
|
||
|
#define CC_ARRAY_SIZE 23 /* size of cc array in TTYDEF stucture defined below
|
||
|
All CC_xx define must be less than this value */
|
||
|
|
||
|
#define BAUD_0 0
|
||
|
#define BAUD_50 1
|
||
|
#define BAUD_75 2
|
||
|
|
||
|
/*
|
||
|
* the following set of definitions are defined out for NT as they are
|
||
|
* already define in WINBASE.H
|
||
|
*/
|
||
|
#ifndef MSWIN
|
||
|
#define BAUD_110 3
|
||
|
#define BAUD_134 4
|
||
|
#define BAUD_150 5
|
||
|
#define BAUD_200 6
|
||
|
#define BAUD_300 7
|
||
|
#define BAUD_600 8
|
||
|
#define BAUD_1200 9
|
||
|
#define BAUD_1800 10
|
||
|
#define BAUD_2400 11
|
||
|
#define BAUD_4800 12
|
||
|
#define BAUD_9600 13
|
||
|
#define BAUD_19200 14
|
||
|
#define BAUD_38400 15
|
||
|
#endif
|
||
|
|
||
|
#define BAUD_EXTA BAUD_19200
|
||
|
#define BAUD_EXTB BAUD_38400
|
||
|
|
||
|
#define BREAK_IGNORE 0
|
||
|
#define BREAK_INTR 1
|
||
|
#define BREAK_NUL 2
|
||
|
|
||
|
#define FILL_DELAY 0
|
||
|
#define FILL_NUL 1
|
||
|
#define FILL_DEL 2
|
||
|
|
||
|
#define ECHOE_ERASE 0
|
||
|
#define ECHOE_BS 1
|
||
|
#define ECHOE_BSB 2
|
||
|
#define ECHOE_PRINTER 3
|
||
|
|
||
|
#define ECHOK_KILL 0
|
||
|
#define ECHOK_LF 1
|
||
|
#define ECHOK_BSB 2
|
||
|
|
||
|
#ifndef MSWIN
|
||
|
#define PARITY_NONE 0
|
||
|
#define PARITY_EVEN 1
|
||
|
#define PARITY_ODD 2
|
||
|
#endif
|
||
|
|
||
|
#define PARITY_DISABLE 0
|
||
|
#define PARITY_ERRIGN 1
|
||
|
#define PARITY_ERRMRK 2
|
||
|
#define PARITY_ERRNUL 3
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
BITMAP inlcr:1, igncr:1, icrnl:1, onlcr:1, ocrnl:1, onocr:1, onlret:1, cronly:1;
|
||
|
} TTYCR;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
BITMAP type:2, min:8, time:8;
|
||
|
} TTYMODE;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
BITMAP ucin:1, ucout:1, xcase:1, invert:1;
|
||
|
} TTYCASE;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
BITMAP on:1, erase:2, kill:2, ctrl:1, lf:1;
|
||
|
} TTYECHO;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
BITMAP xon:1, startany:1, tandem:1, dtr:1;
|
||
|
} TTYHAND;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
BITMAP enable:1, flush:1;
|
||
|
int brkkey;
|
||
|
} TTYSIG;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
BITMAP bs:1, cr:2, ff:1, lf:2, vt:1, tab:2, fill:2;
|
||
|
} TTYDEL;
|
||
|
|
||
|
typedef struct
|
||
|
{ int line;
|
||
|
int baud;
|
||
|
#ifdef MSWIN
|
||
|
BITMAP data:4, stop:2, output:4, input:4, strip:1;
|
||
|
char errorchar;
|
||
|
#else
|
||
|
BITMAP data:4, stop:2, outenp:1, outodd:1, inipck:1, inmark:1,
|
||
|
inigp:1, strip:1;
|
||
|
#endif
|
||
|
} TTYPROT;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
BITMAP post:1, tilde:1, bg:1, cs:1, tab:1;
|
||
|
} TTYOUT;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
BITMAP local:1, receive:1, hangup:1;
|
||
|
} TTYCAR;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
STRING mapname; /* Used to hold the text for map name */
|
||
|
CMAP* ipmap; /* Used to hold a pointer to the input map */
|
||
|
STRING auxmapname; /* Used to hold the text for AUX map name */
|
||
|
} TTYMAP;
|
||
|
|
||
|
typedef struct
|
||
|
{ TTYMODE mode;
|
||
|
char cc[CC_ARRAY_SIZE];
|
||
|
TTYPROT protocol;
|
||
|
TTYOUT output;
|
||
|
TTYCAR carrier;
|
||
|
TTYCR crmode;
|
||
|
TTYDEL delay;
|
||
|
TTYECHO echo;
|
||
|
TTYHAND handshake;
|
||
|
TTYSIG signals;
|
||
|
TTYCASE ucase;
|
||
|
TTYMAP map;
|
||
|
} TTYDEF;
|
||
|
|
||
|
EXTERN int ttyset(), ttyget();
|
||
|
EXTERN void terminit(),ttyunix(),ttyuv(),termset();
|
||
|
EXTERN void DATAadd();
|
||
|
EXTERN int DATAclear();
|
||
|
|
||
|
#endif /* end of term.h */
|