Subversion Repositories planix.SVN

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/*
 * turn raw (no echo, etc.) on and off.
 * ptyfs is gone, so don't even try tcsetattr, etc.
 */
#define _POSIX_SOURCE
#define _RESEARCH_SOURCE

#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>
#include <libv.h>

static int ctlfd = -1;

/* fd is ignored */

tty_echooff(int)
{
        if(ctlfd >= 0)
                return 0;
        ctlfd = open("/dev/consctl", O_WRONLY);
        if(ctlfd < 0)
                return -1;
        write(ctlfd, "rawon", 5);
        return 0;
}

tty_echoon(int)
{
        if(ctlfd >= 0){
                write(ctlfd, "rawoff", 6);
                close(ctlfd);
                ctlfd = -1;
                return 0;
        }
        return -1;
}