Annotation of 3BSD/cmd/reset.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * reset - set the teletype mode bits to be sensible
        !             3:  *
        !             4:  * Kurt Shoens
        !             5:  *
        !             6:  * Very useful after crapping out in raw.
        !             7:  * Modified by Mark Horton to know about tchars
        !             8:  * and to not mess with peoples chars unless they are null.
        !             9:  */
        !            10: #include <sgtty.h>
        !            11: #define chk(val, dft) (val==0 ? dft : val)
        !            12: 
        !            13: main()
        !            14: {
        !            15:        struct sgttyb buf;
        !            16:        struct tchars tbuf;
        !            17: 
        !            18:        gtty(2, &buf);
        !            19:        ioctl(2, TIOCGETC, &tbuf);
        !            20:        buf.sg_flags &= ~(RAW|CBREAK|VTDELAY|ALLDELAY);
        !            21:        buf.sg_flags |= XTABS|ECHO|CRMOD|ANYP;
        !            22:        buf.sg_erase = chk(buf.sg_erase, '\08');        /* ^H */
        !            23:        buf.sg_kill = chk(buf.sg_kill, '\30');          /* ^X */
        !            24:        tbuf.t_intrc = chk(tbuf.t_intrc, '\177');       /* ^? */
        !            25:        tbuf.t_quitc = chk(tbuf.t_quitc, '\34');        /* ^\ */
        !            26:        tbuf.t_startc = chk(tbuf.t_startc, '\22');      /* ^Q */
        !            27:        tbuf.t_stopc = chk(tbuf.t_stopc, '\24');        /* ^S */
        !            28:        tbuf.t_eofc = chk(tbuf.t_eofc, '\4');           /* ^D */
        !            29:        /* brkc is left alone */
        !            30:        ioctl(2, TIOCSETN, &buf);
        !            31:        ioctl(2, TIOCSETC, &tbuf);
        !            32: }

unix.superglobalmegacorp.com

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