Converted to use termios, not sgtty. (pbetti@e-tech.net)
This commit is contained in:
parent
26889d3762
commit
4fdd9b83fc
|
@ -12,7 +12,9 @@
|
|||
*/
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
#include <sgtty.h>
|
||||
/*#include <sgtty.h>*/
|
||||
#include <termios.h>
|
||||
#include <unistd.h>
|
||||
#include <signal.h>
|
||||
#include <out.h>
|
||||
|
||||
|
@ -26,8 +28,10 @@ char hex[] = "0123456789ABCDEF";
|
|||
|
||||
char *progname;
|
||||
|
||||
struct sgttyb ttynormal;
|
||||
struct sgttyb ttyraw;
|
||||
/*struct sgttyb ttynormal;
|
||||
struct sgttyb ttyraw;*/
|
||||
struct termios ttynormal;
|
||||
struct termios ttyraw;
|
||||
int rawmode = 0;
|
||||
|
||||
struct outhead ohead;
|
||||
|
@ -35,7 +39,8 @@ struct outsect sect[MAXSECT];
|
|||
|
||||
stop(code) {
|
||||
if (rawmode)
|
||||
stty(1, &ttynormal);
|
||||
/*stty(1, &ttynormal);*/
|
||||
tcsetattr(1, TCSAFLUSH, &ttynormal);
|
||||
exit(code);
|
||||
}
|
||||
|
||||
|
@ -81,16 +86,22 @@ main(argc,argv) char **argv; {
|
|||
signal(SIGINT, SIG_IGN);
|
||||
signal(SIGQUIT, stop);
|
||||
signal(SIGTERM, stop);
|
||||
if (gtty(1, &ttynormal) < 0) {
|
||||
/*if (gtty(1, &ttynormal) < 0) {*/
|
||||
if (tcgetattr(1, &ttynormal) < 0) {
|
||||
fprintf(stderr, "no tty\n");
|
||||
stop(-1);
|
||||
}
|
||||
rawmode++;
|
||||
ttyraw = ttynormal;
|
||||
/*
|
||||
ttyraw.sg_flags |= RAW;
|
||||
ttyraw.sg_ispeed = B1200;
|
||||
ttyraw.sg_ospeed = B1200;
|
||||
stty(1, &ttyraw);
|
||||
*/
|
||||
cfmakeraw(&ttyraw);
|
||||
cfsetispeed(&ttyraw, B1200);
|
||||
cfsetospeed(&ttyraw, B1200);
|
||||
sleep(5);
|
||||
}
|
||||
rd_ohead(&ohead);
|
||||
|
|
Loading…
Reference in a new issue