ack/plat/em/include/sgtty.h

124 lines
3.3 KiB
C
Raw Permalink Normal View History

/* $Id$ */
/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*/
/* Data structures for ioctl/stty/gtty, sufficient for ACK libraries */
#ifndef _SGTTY_H
#define _SGTTY_H
struct sgttyb {
char sg_ispeed; /* input speed (not used) */
char sg_ospeed; /* output speed (not used) */
char sg_erase; /* erase character */
char sg_kill; /* kill character */
#if defined(__USG) && !defined(_XENIX)
int sg_flags; /* mode flags */
#else
short sg_flags; /* mode flags */
#endif
};
struct tchars {
char t_intrc; /* SIGINT char */
char t_quitc; /* SIGQUIT char */
char t_startc; /* start output (initially CTRL-Q) */
char t_stopc; /* stop output (initially CTRL-S) */
char t_eofc; /* EOF (initially CTRL-D) */
char t_brkc; /* input delimiter (like nl) */
};
/* Fields in t_flags. */
#define ALLDELAY 0177400
#define BSDELAY 0100000
# define BS0 0000000
# define BS1 0100000
#define VTDELAY 0040000
# define FF0 0000000
# define FF1 0040000
#define CRDELAY 0030000
# define CR0 0000000
# define CR1 0010000
# define CR2 0020000
# define CR3 0030000
#if defined(__USG) && !defined(_XENIX)
#define XTABS 0000002 /* do tab expansion */
#else
#define XTABS 0006000 /* do tab expansion */
#endif
#define TBDELAY 0006000
# define TAB0 0000000
# define TAB1 0002000
# define TAB2 0004000
#define NLDELAY 0001400
# define NL0 0000000
# define NL1 0000400
# define NL2 0001000
# define NL3 0001400
#define ANYP 0000300
#define EVENP 0000200
#define ODDP 0000100
#define RAW 0000040 /* enable raw mode */
#define CRMOD 0000020 /* map lf to cr + lf */
#define ECHO 0000010 /* echo input */
#define LCASE 0000004
#define CBREAK 0000002 /* enable cbreak mode */
#if defined(__BSD4_2) || defined(_XENIX)
#define TANDEM 0000001
#else
#define HUPCL 0000001 /* unused ??? */
#endif
/*#define COOKED 0000000 */ /* neither CBREAK nor RAW */
#ifdef __BDS4_2
#define TIOCGETP (('t'<<8) | 8 | (6 << 16) | 0x40000000)
#define TIOCSETP (('t'<<8) | 9 | (6 << 16) | 0x80000000)
#define TIOCSETN (('t'<<8) | 10 | (6 << 16) | 0x80000000)
#define TIOCEXCL (('t'<<8) | 13 | 0x20000000)
#define TIOCNXCL (('t'<<8) | 14 | 0x20000000)
#define TIOCHPCL (('t'<<8) | 2 | 0x20000000)
#define TIOCGETC (('t'<<8) | 18 | (6 << 16) | 0x40000000)
#define TIOCSETC (('t'<<8) | 17 | (6 << 16) | 0x80000000)
#else
#define TIOCGETP (('t'<<8) | 8)
#define TIOCSETP (('t'<<8) | 9)
#define TIOCSETN (('t'<<8) | 10)
#define TIOCEXCL (('t'<<8) | 13)
#define TIOCNXCL (('t'<<8) | 14)
#define TIOCHPCL (('t'<<8) | 2)
#define TIOCGETC (('t'<<8) | 18)
#define TIOCSETC (('t'<<8) | 17)
#endif
#define B0 0
#define B50 1
#define B75 2
#define B110 3
#define B134 4
#define B150 5
#define B200 6
#define B300 7
#define B600 8
#define B1200 9
#define B1800 10
#define B2400 11
#define B4800 12
#define B9600 13
#define EXTA 14
#define EXTB 15
2022-08-01 20:08:23 +00:00
extern int ioctl(int fd, unsigned int request, ...);
extern int gtty(int fildes, struct sgttyb* argp);
extern int stty(int fildes, struct sgttyb* argp);
#endif /* _SGTTY_H */