[BACK]Return to newterm.c CVS log [TXT][DIR] Up to [contributed] / early-roguelike / srogue

Annotation of early-roguelike/srogue/newterm.c, Revision 1.1.1.1

1.1       rubenllo    1: /*
                      2:  * Super-Rogue
                      3:  * Copyright (C) 1984 Robert D. Kindelberger
                      4:  * All rights reserved.
                      5:  *
                      6:  * See the file LICENSE.TXT for full copyright and licensing information.
                      7:  */
                      8:
                      9: #include "rogue.h"
                     10:
                     11: extern SGTTY _tty, _res_flg;
                     12: extern bool NONL;
                     13:
                     14: raw()
                     15: {
                     16: /*
                     17:        VERSION 5.0
                     18:        _tty.c_lflag &= ~ICANON;
                     19:        _tty.c_cc[VMIN] = 1;
                     20:        _tty.c_cc[VTIME] = 255;
                     21:        _tty.c_oflag &= ~OPOST;
                     22: */
                     23:        _rawmode = TRUE;
                     24:        _tty.sg_flags |= CBREAK;
                     25:        ioctl(_tty_ch, TIOCSETP, &_tty);
                     26: }
                     27:
                     28:
                     29: noraw()
                     30: {
                     31: /*
                     32:        VERSION 5.0
                     33:        _tty.c_lflag |= ICANON;
                     34:        _tty.c_cc[VMIN] = _res_flg.c_cc[VMIN];
                     35:        _tty.c_cc[VTIME] = _res_flg.c_cc[VTIME];
                     36:        _tty.c_oflag |= OPOST;
                     37: */
                     38:        _rawmode = FALSE;
                     39:        _tty.sg_flags &= ~CBREAK;
                     40:        ioctl(_tty_ch, TIOCSETP, &_tty);
                     41: }
                     42:
                     43:
                     44: crmode()
                     45: {
                     46: /*
                     47:        VERSION 5.0
                     48:        _tty.c_lflag &= ~ICANON;
                     49:        _tty.c_oflag |= ONLCR;
                     50:        _tty.c_cc[VMIN] = 1;
                     51:        _tty.c_cc[VTIME]=255;
                     52: */
                     53:        _rawmode = TRUE;
                     54:        _tty.sg_flags |= (CBREAK | CRMOD);
                     55:        ioctl(_tty_ch, TIOCSETP, &_tty);
                     56: }
                     57:
                     58:
                     59: nocrmode()
                     60: {
                     61: /*
                     62:        _tty.c_lflag |= ICANON;
                     63:        _tty.c_cc[VMIN]=_res_flg.c_cc[VMIN];
                     64:        _tty.c_cc[VTIME]=_res_flg.c_cc[VTIME];
                     65: */
                     66:        _rawmode = FALSE;
                     67:        _tty.sg_flags &= ~CBREAK;
                     68:        ioctl(_tty_ch, TIOCSETP, &_tty);
                     69: }
                     70:
                     71:
                     72: echo()
                     73: {
                     74:        _tty.sg_flags |= ECHO;
                     75:        _echoit=TRUE;
                     76:        ioctl(_tty_ch, TIOCSETP, &_tty);
                     77: }
                     78:
                     79: noecho()
                     80: {
                     81:        _tty.sg_flags &= ~ECHO;
                     82:        _echoit = FALSE;
                     83:        ioctl(_tty_ch, TIOCSETP, &_tty);
                     84: }
                     85:
                     86:
                     87: nl()
                     88: {
                     89: /*
                     90:        VERSION 5.0
                     91:        _tty.c_iflag |= ICRNL;
                     92:        _tty.c_oflag |= ONLCR;
                     93: */
                     94:        _tty.sg_flags |= CRMOD;
                     95:        NONL = TRUE;
                     96:        ioctl(_tty_ch, TIOCSETP, &_tty);
                     97: }
                     98:
                     99:
                    100: nonl()
                    101: {
                    102: /*
                    103:        VERSION 5.0
                    104:        _tty.c_iflag &= ~ICRNL;
                    105:        _tty.c_oflag &= ~ONLCR;
                    106: */
                    107:        _tty.sg_flags &= ~CRMOD;
                    108:        NONL = FALSE;
                    109:        ioctl(_tty_ch, TIOCSETP, &_tty);
                    110: }
                    111:
                    112: savetty()
                    113: {
                    114:        ioctl(_tty_ch, TIOCGETP, &_tty);
                    115:        _res_flg = _tty;
                    116: }
                    117:
                    118: resetty()
                    119: {
                    120:        _tty = _res_flg;
                    121:        ioctl(_tty_ch, TIOCSETP, &_tty);
                    122: }

CVSweb