- ioctl(0, TIOCGETP, (char *)&stbuf);
- if (f == 0) {
- stbuf.sg_flags &= ~CBREAK;
- stbuf.sg_flags |= defflags;
- ioctl(0, TIOCSETC, (char *)&deftchars);
- ioctl(0, TIOCSLTC, (char *)&defltchars);
- stbuf.sg_kill = defkill;
- stbuf.sg_erase = deferase;
- }
- if (f == 1) {
- stbuf.sg_flags |= CBREAK;
- stbuf.sg_flags &= ~(ECHO|CRMOD);
- ioctl(0, TIOCSETC, (char *)¬chars);
- ioctl(0, TIOCSLTC, (char *)&noltchars);
- stbuf.sg_kill = -1;
- stbuf.sg_erase = -1;
- }
- if (f == 2) {
- stbuf.sg_flags &= ~CBREAK;
- stbuf.sg_flags &= ~(ECHO|CRMOD);
- ioctl(0, TIOCSETC, (char *)&deftchars);
- ioctl(0, TIOCSLTC, (char *)&defltchars);
- stbuf.sg_kill = -1;
- stbuf.sg_erase = -1;