home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (c) 1990 Michael A. Cooper.
- * This software may be freely distributed provided it is not sold for
- * profit and the author is credited appropriately.
- */
-
- /*
- * $Header: /src/common/usc/bin/qterm/RCS/qterm.h,v 5.1 1991/03/12 00:46:24 mcooper Exp $
- *------------------------------------------------------------------
- *
- * $Source: /src/common/usc/bin/qterm/RCS/qterm.h,v $
- * $Revision: 5.1 $
- * $Date: 1991/03/12 00:46:24 $
- * $State: Exp $
- * $Author: mcooper $
- * $Locker: $
- *
- *------------------------------------------------------------------
- *
- * Michael A. Cooper
- * Research and Development Group
- * University Computing Services
- * University of Southern California
- * (mcooper@usc.edu)
- *
- *------------------------------------------------------------------
- * $Log: qterm.h,v $
- * Revision 5.1 1991/03/12 00:46:24 mcooper
- * - Changed CMASK to CHAR_CMASK to avoid conflict
- * under AIX 3.1.
- * - Expand tabs.
- *
- * Revision 5.0 1990/12/15 18:30:45 mcooper
- * Version 5.
- *
- * Revision 4.1 90/12/15 18:14:27 mcooper
- * Add copywrite.
- *
- * Revision 4.0 88/03/08 19:31:23 mcooper
- * Version 4.
- *
- * Revision 3.2 88/03/08 19:28:52 mcooper
- * Major rewrite.
- *
- * Revision 3.1 88/03/08 15:32:16 mcooper
- * Changed around user's qtermtab
- * file names.
- *
- * Revision 3.0 87/06/30 19:09:04 mcooper
- * Release of version 3.
- *
- * Revision 2.4 87/06/30 19:02:28 mcooper
- * WAIT changed to 2 for slow systems.
- *
- *------------------------------------------------------------------
- */
-
-
-
- #ifndef TABFILE
- # define TABFILE "/usr/local/lib/qtermtab" /* Default qtermtab file */
- #endif
- #define USRFILE ".qtermtab" /* User's qtermtab file */
- #define OLDUSRFILE ".qterm" /* Old user qtermtab file */
- #define ALTSEND "\033[c" /* Alternate query string */
- #define WAIT 2 /* Timeout (in seconds) */
- #define SIZE 512 /* Receive buffer size */
- #define CHAR_MASK 0377 /* Character mask */
- #define ESC '\033' /* ESCAPE */
-
- #ifdef TRUE
- #undef TRUE
- #endif
- #ifdef FALSE
- #undef FALSE
- #endif
- #define TRUE 1
- #define FALSE 0
-
- #ifdef USG5
- # define crmode() (_ntty.c_lflag &= ~ICANON,\
- _ntty.c_cc[VMIN] = 1, _ntty.c_cc[VTIME] = 0,\
- ioctl(_tty_ch, TCSETAF, &_ntty))
- # define nocrmode() (_ntty.c_lflag |= ICANON,\
- _ntty.c_cc[VMIN] = _otty.c_cc[VMIN],\
- _ntty.c_cc[VTIME] = _otty.c_cc[VTIME],\
- ioctl(_tty_ch, TCSETAF, &_ntty))
- # define echo() (_ntty.c_lflag |= ECHO,\
- ioctl(_tty_ch, TCSETAF, &_ntty))
- # define noecho() (_ntty.c_lflag &= ~ECHO,\
- ioctl(_tty_ch, TCSETAF, &_ntty))
- #else /* !USG5 */
- # define crmode() (_tty.sg_flags |= CBREAK,\
- ioctl(_tty_ch, TIOCSETP, &_tty))
- # define nocrmode() (_tty.sg_flags &= ~CBREAK,\
- ioctl(_tty_ch, TIOCSETP, &_tty))
- # define echo() (_tty.sg_flags |= ECHO, \
- ioctl(_tty_ch, TIOCSETP, &_tty))
- # define noecho() (_tty.sg_flags &= ~ECHO, \
- ioctl(_tty_ch, TIOCSETP, &_tty))
- #endif /* USG5 */
-
- /*
- * Terminal table structure
- */
- struct termtable {
- char *qt_sendstr; /* String to send to terminal */
- char *qt_recvstr; /* String expected in response */
- char *qt_termname; /* Terminal name */
- char *qt_fullname; /* Full terminal name & description */
- struct termtable *nxt; /* Next structure */
- };
- struct termtable *termtab = NULL;
-