static void set_sgflags(struct ktermios *termios, int flags)
{
- termios.c_iflag = ICRNL | IXON;
- termios.c_oflag = 0;
- termios.c_lflag = ISIG | ICANON;
+ termios->c_iflag = ICRNL | IXON;
+ termios->c_oflag = 0;
+ termios->c_lflag = ISIG | ICANON;
if (flags & 0x02) { /* cbreak */
- termios.c_iflag = 0;
- termios.c_lflag &= ~ICANON;
+ termios->c_iflag = 0;
+ termios->c_lflag &= ~ICANON;
}
if (flags & 0x08) { /* echo */
- termios.c_lflag |= ECHO | ECHOE | ECHOK |
+ termios->c_lflag |= ECHO | ECHOE | ECHOK |
ECHOCTL | ECHOKE | IEXTEN;
}
if (flags & 0x10) { /* crmod */
- termios.c_oflag |= OPOST | ONLCR;
+ termios->c_oflag |= OPOST | ONLCR;
}
if (flags & 0x20) { /* raw */
- termios.c_iflag = 0;
- termios.c_lflag &= ~(ISIG | ICANON);
+ termios->c_iflag = 0;
+ termios->c_lflag &= ~(ISIG | ICANON);
}
- if (!(termios.c_lflag & ICANON)) {
- termios.c_cc[VMIN] = 1;
- termios.c_cc[VTIME] = 0;
+ if (!(termios->c_lflag & ICANON)) {
+ termios->c_cc[VMIN] = 1;
+ termios->c_cc[VTIME] = 0;
}
}