Annotation of researchv9/sys/h/ttyld.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * TTY line discipline processing
                      3:  */
                      4: struct ttyld
                      5: {
                      6:        short   t_flags;        /* mode, settable by ioctl call */
                      7:        short   t_state;        /* internal state, not visible externally */
                      8:        char    t_delct;        /* number of delimiters in input q */
                      9:        char    t_col;          /* printing column of device */
                     10:        char    t_erase;        /* erase character */
                     11:        char    t_kill;         /* kill character */
                     12:        struct  tchars t_chr;
                     13: };
                     14: 
                     15: union stmsg {
                     16:        struct ioc0 {
                     17:                int     com;
                     18:        } ioc0;
                     19:        struct ioc1 {
                     20:                int     com;
                     21:                struct  sgttyb  sb;
                     22:        } ioc1;
                     23:        struct ioc2 {
                     24:                int     com;
                     25:                struct  tchars  sb;
                     26:        } ioc2;
                     27:        struct ioc3 {
                     28:                int     com;
                     29:                struct  ttydevb sb;
                     30:        } ioc3;
                     31:        struct {
                     32:                int     com;
                     33:                char    xxx[16];
                     34:        } iocx;
                     35: };
                     36: 
                     37: #define        CTRL(c) ('c'&037)
                     38: 
                     39: /* default special characters */
                     40: #define        CERASE  '\010'
                     41: #define        CEOT    CTRL(d)
                     42: #define        CKILL   '@'
                     43: #define        CQUIT   034             /* FS, cntl shift L */
                     44: #define        CINTR   0177            /* DEL */
                     45: #define        CSTOP   CTRL(s)
                     46: #define        CSTART  CTRL(q)
                     47: #define        CBRK    0377
                     48: 
                     49: /* define partab character types */
                     50: #define        ORDINARY        0
                     51: #define        CONTROL         1
                     52: #define        BACKSPACE       2
                     53: #define        NEWLINE         3
                     54: #define        TAB             4
                     55: #define        VTAB            5
                     56: #define        RETURN          6
                     57: 
                     58: /* states */
                     59: #define        TTSTOP  01              /* stopped by CTL S */
                     60: #define        TTESC   02              /* have just seen \ */
                     61: #define        TTCR    04              /* turning LF into CRLF */
                     62: #define        TTUSE   010             /* this structure in use */
                     63: #define        TTBLOCK 020             /* have sent tandem STOP */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.