Subversion Repositories planix.SVN

Rev

Rev 36 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/*
 * Structure for stty and gtty system calls.
 */

struct sgttyb {
        char    sg_ispeed;              /* input speed */
        char    sg_ospeed;              /* output speed */
        char    sg_erase;               /* erase character */
        char    sg_kill;                /* kill character */
        int     sg_flags;               /* mode flags */
};

/*
 * List of special characters
 */
struct tchars {
        char    t_intrc;        /* interrupt */
        char    t_quitc;        /* quit */
        char    t_startc;       /* start output */
        char    t_stopc;        /* stop output */
        char    t_eofc;         /* end-of-file */
        char    t_brkc;         /* input delimiter (like nl) */
};

/*
 * Modes
 */
#define TANDEM  01
#define CBREAK  02
#define LCASE   04
#define ECHO    010
#define CRMOD   020
#define RAW     040
#define ODDP    0100
#define EVENP   0200
#define ANYP    0300
#define NLDELAY 001400
#define TBDELAY 006000
#define XTABS   06000
#define CRDELAY 030000
#define VTDELAY 040000
#define BSDELAY 0100000
#define ALLDELAY 0177400

/*
 * Delay algorithms
 */
#define CR0     0
#define CR1     010000
#define CR2     020000
#define CR3     030000
#define NL0     0
#define NL1     000400
#define NL2     001000
#define NL3     001400
#define TAB0    0
#define TAB1    002000
#define TAB2    004000
#define FF0     0
#define FF1     040000
#define BS0     0
#define BS1     0100000

/*
 * Speeds
 */
#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

/*
 * tty ioctl commands
 */
#define TIOCGETD        (('t'<<8)|0)
#define TIOCSETD        (('t'<<8)|1)
#define TIOCHPCL        (('t'<<8)|2)
#define TIOCMODG        (('t'<<8)|3)
#define TIOCMODS        (('t'<<8)|4)
#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 TIOHMODE        (('t'<<8)|15)
#define TIOCTSTP        (('t'<<8)|16)
#define TIOCSETC        (('t'<<8)|17)
#define TIOCGETC        (('t'<<8)|18)
#define DIOCLSTN        (('d'<<8)|1)
#define DIOCNTRL        (('d'<<8)|2)
#define DIOCMPX         (('d'<<8)|3)
#define DIOCNMPX        (('d'<<8)|4)
#define DIOCSCALL       (('d'<<8)|5)
#define DIOCRCALL       (('d'<<8)|6)
#define DIOCPGRP        (('d'<<8)|7)
#define DIOCGETP        (('d'<<8)|8)
#define DIOCSETP        (('d'<<8)|9)
#define DIOCLOSE        (('d'<<8)|10)
#define DIOCTIME        (('d'<<8)|11)
#define DIOCRESET       (('d'<<8)|12)
#define FIOCLEX         (('f'<<8)|1)
#define FIONCLEX        (('f'<<8)|2)
#define MXLSTN          (('x'<<8)|1)
#define MXNBLK          (('x'<<8)|2)