Annotation of 41BSD/cmd/reset.c, revision 1.1.1.1

1.1       root        1: static char *sccsid = "@(#)reset.c     4.2 (Berkeley) 10/9/80";
                      2: /*
                      3:  * reset 
                      4:  */
                      5: #include <sgtty.h>
                      6: 
                      7: #define        CTRL(x) ('x'&037)
                      8: 
                      9: main()
                     10: {
                     11:        struct sgttyb buf;
                     12:        struct tchars tbuf;
                     13:        struct ltchars ltbuf;
                     14: 
                     15:        gtty(2, &buf);
                     16:        ioctl(2, TIOCGETC, &tbuf);
                     17:        ioctl(2, TIOCGLTC, &ltbuf);
                     18:        buf.sg_flags &= ~(RAW|CBREAK|VTDELAY|ALLDELAY);
                     19:        buf.sg_flags |= XTABS|ECHO|CRMOD|ANYP;
                     20:        reset(&buf.sg_erase, CTRL(h));
                     21:        reset(&buf.sg_kill, '@');
                     22:        reset(&tbuf.t_intrc, 0177);
                     23:        reset(&tbuf.t_quitc, CTRL(\\\\));
                     24:        reset(&tbuf.t_startc, CTRL(q));
                     25:        reset(&tbuf.t_stopc, CTRL(s));
                     26:        reset(&tbuf.t_eofc, CTRL(d));
                     27:        reset(&ltbuf.t_suspc, CTRL(z));
                     28:        reset(&ltbuf.t_dsuspc, CTRL(y));
                     29:        reset(&ltbuf.t_rprntc, CTRL(r));
                     30:        reset(&ltbuf.t_flushc, CTRL(o));
                     31:        reset(&ltbuf.t_lnextc, CTRL(v));
                     32:        reset(&ltbuf.t_werasc, CTRL(w));
                     33:        /* brkc is left alone */
                     34:        ioctl(2, TIOCSETN, &buf);
                     35:        ioctl(2, TIOCSETC, &tbuf);
                     36:        ioctl(2, TIOCSLTC, &ltbuf);
                     37: }
                     38: 
                     39: reset(cp, def)
                     40:        char *cp;
                     41:        int def;
                     42: {
                     43: 
                     44:        if (*cp == 0 || (*cp&0377)==0377)
                     45:                *cp = def;
                     46: }

unix.superglobalmegacorp.com

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