This commit was generated by cvs2svn to compensate for changes in r2, which
included commits to RCS files with non-trunk default branches.
This commit is contained in:
109
tty.h
Normal file
109
tty.h
Normal file
@@ -0,0 +1,109 @@
|
||||
/* $OpenBSD: tty.h,v 1.2 1996/11/21 07:59:36 downsj Exp $ */
|
||||
|
||||
/*
|
||||
tty.h -- centralized definitions for a variety of terminal interfaces
|
||||
|
||||
created by DPK, Oct. 1986
|
||||
|
||||
Rearranged to work with autoconf, added TTY_state, get_tty/set_tty
|
||||
Michael Rendell, May '94
|
||||
|
||||
last edit: 30-Jul-1987 D A Gwyn
|
||||
*/
|
||||
|
||||
/* some useful #defines */
|
||||
#ifdef EXTERN
|
||||
# define I__(i) = i
|
||||
#else
|
||||
# define I__(i)
|
||||
# define EXTERN extern
|
||||
# define EXTERN_DEFINED
|
||||
#endif
|
||||
|
||||
/* Don't know of a system on which including sys/ioctl.h with termios.h
|
||||
* causes problems. If there is one, these lines need to be deleted and
|
||||
* aclocal.m4 needs to have stuff un-commented.
|
||||
*/
|
||||
#ifdef SYS_IOCTL_WITH_TERMIOS
|
||||
# define SYS_IOCTL_WITH_TERMIOS
|
||||
#endif /* SYS_IOCTL_WITH_TERMIOS */
|
||||
#ifdef SYS_IOCTL_WITH_TERMIO
|
||||
# define SYS_IOCTL_WITH_TERMIO
|
||||
#endif /* SYS_IOCTL_WITH_TERMIO */
|
||||
|
||||
#ifdef HAVE_TERMIOS_H
|
||||
# include <termios.h>
|
||||
# ifdef SYS_IOCTL_WITH_TERMIOS
|
||||
# if !(defined(sun) && !defined(__svr4__)) /* too many warnings on sunos */
|
||||
/* Need to include sys/ioctl.h on some systems to get the TIOCGWINSZ
|
||||
* stuff (eg, digital unix).
|
||||
*/
|
||||
# include <sys/ioctl.h>
|
||||
# endif /* !(sun && !__svr4__) */
|
||||
# endif /* SYS_IOCTL_WITH_TERMIOS */
|
||||
typedef struct termios TTY_state;
|
||||
#else
|
||||
# ifdef HAVE_TERMIO_H
|
||||
# include <termio.h>
|
||||
# ifdef SYS_IOCTL_WITH_TERMIO
|
||||
# include <sys/ioctl.h> /* see comment above in termios stuff */
|
||||
# endif /* SYS_IOCTL_WITH_TERMIO */
|
||||
# if _BSD_SYSV /* BRL UNIX System V emulation */
|
||||
# ifndef NTTYDISC
|
||||
# define TIOCGETD _IOR( 't', 0, int )
|
||||
# define TIOCSETD _IOW( 't', 1, int )
|
||||
# define NTTYDISC 2
|
||||
# endif
|
||||
# ifndef TIOCSTI
|
||||
# define TIOCSTI _IOW( 't', 114, char )
|
||||
# endif
|
||||
# ifndef TIOCSPGRP
|
||||
# define TIOCSPGRP _IOW( 't', 118, int )
|
||||
# endif
|
||||
# endif /* _BSD_SYSV */
|
||||
typedef struct termio TTY_state;
|
||||
# else /* HAVE_TERMIO_H */
|
||||
/* Assume BSD tty stuff. Uses TIOCGETP, TIOCSETN; uses TIOCGATC/TIOCSATC if
|
||||
* available, otherwise it uses TIOCGETC/TIOCSETC (also uses TIOCGLTC/TIOCSLTC
|
||||
* if available)
|
||||
*/
|
||||
# ifdef _MINIX
|
||||
# include <sgtty.h>
|
||||
# define TIOCSETN TIOCSETP
|
||||
# else
|
||||
# include <sys/ioctl.h>
|
||||
# endif
|
||||
typedef struct {
|
||||
struct sgttyb sgttyb;
|
||||
# ifdef TIOCGATC
|
||||
struct lchars lchars;
|
||||
# else /* TIOCGATC */
|
||||
struct tchars tchars;
|
||||
# ifdef TIOCGLTC
|
||||
struct ltchars ltchars;
|
||||
# endif /* TIOCGLTC */
|
||||
# endif /* TIOCGATC */
|
||||
} TTY_state;
|
||||
# endif /* HAVE_TERMIO_H */
|
||||
#endif /* HAVE_TERMIOS_H */
|
||||
|
||||
/* Flags for set_tty() */
|
||||
#define TF_NONE 0x00
|
||||
#define TF_WAIT 0x01 /* drain output, even it requires sleep() */
|
||||
#define TF_MIPSKLUDGE 0x02 /* kludge to unwedge RISC/os 5.0 tty driver */
|
||||
|
||||
EXTERN int tty_fd I__(-1); /* dup'd tty file descriptor */
|
||||
EXTERN int tty_devtty; /* true if tty_fd is from /dev/tty */
|
||||
EXTERN TTY_state tty_state; /* saved tty state */
|
||||
|
||||
extern int get_tty ARGS((int fd, TTY_state *ts));
|
||||
extern int set_tty ARGS((int fd, TTY_state *ts, int flags));
|
||||
extern void tty_init ARGS((int init_ttystate));
|
||||
extern void tty_close ARGS((void));
|
||||
|
||||
/* be sure not to interfere with anyone else's idea about EXTERN */
|
||||
#ifdef EXTERN_DEFINED
|
||||
# undef EXTERN_DEFINED
|
||||
# undef EXTERN
|
||||
#endif
|
||||
#undef I__
|
Reference in New Issue
Block a user