version 1.3, 2002/03/04 17:27:39 |
version 1.3.6.2, 2004/03/04 18:18:17 |
|
|
static struct termios _saved_tio; |
static struct termios _saved_tio; |
static int _in_raw_mode = 0; |
static int _in_raw_mode = 0; |
|
|
int |
|
in_raw_mode(void) |
|
{ |
|
return _in_raw_mode; |
|
} |
|
|
|
struct termios |
struct termios |
get_saved_tio(void) |
get_saved_tio(void) |
{ |
{ |
|
|
perror("tcsetattr"); |
perror("tcsetattr"); |
else |
else |
_in_raw_mode = 0; |
_in_raw_mode = 0; |
|
|
fatal_remove_cleanup((void (*) (void *)) leave_raw_mode, NULL); |
|
} |
} |
|
|
void |
void |
|
|
_saved_tio = tio; |
_saved_tio = tio; |
tio.c_iflag |= IGNPAR; |
tio.c_iflag |= IGNPAR; |
tio.c_iflag &= ~(ISTRIP | INLCR | IGNCR | ICRNL | IXON | IXANY | IXOFF); |
tio.c_iflag &= ~(ISTRIP | INLCR | IGNCR | ICRNL | IXON | IXANY | IXOFF); |
|
#ifdef IUCLC |
|
tio.c_iflag &= ~IUCLC; |
|
#endif |
tio.c_lflag &= ~(ISIG | ICANON | ECHO | ECHOE | ECHOK | ECHONL); |
tio.c_lflag &= ~(ISIG | ICANON | ECHO | ECHOE | ECHOK | ECHONL); |
#ifdef IEXTEN |
#ifdef IEXTEN |
tio.c_lflag &= ~IEXTEN; |
tio.c_lflag &= ~IEXTEN; |
|
|
perror("tcsetattr"); |
perror("tcsetattr"); |
else |
else |
_in_raw_mode = 1; |
_in_raw_mode = 1; |
|
|
fatal_add_cleanup((void (*) (void *)) leave_raw_mode, NULL); |
|
} |
} |