18 static struct sgttyb param_input;
19 static long mode_raw =
FALSE;
20 static char bufbuf[BUFSIZ+1] = {0};
46 Errorline (
"in begin_raw: already in mode raw\n");
51 Errorline (
"in begin_raw: cannot get the input parameters\n");
53 bcopy ((
char*)¶m_input, (
char*)¶m,
sizeof (param));
57 param.sg_flags |= CBREAK |
TANDEM | RAW;
59 param.sg_flags |= CBREAK |
TANDEM;
62 param.sg_flags &= ~ECHO;
65 Errorline (
"in begin_raw: cannot set the input parameters\n");
68 Errorline (
"in begin_raw: cannot get the terminal\n");
73 argio.c_lflag &= ~(ICANON|ISIG);
75 argio.c_cc[VTIME] = 0;
78 argio.c_iflag &= ~(ISTRIP|IXON);
81 argio.c_oflag |= OPOST|ONLCR;
83 argio.c_iflag &= ~(ISTRIP);
87 Errorline (
"in begin_raw: cannot set the terminal\n");
89 (void)setvbuf (stdin, bufbuf, _IOFBF, BUFSIZ);
91 bzero (bufbuf, BUFSIZ+1);
112 fd_set readfd, writefd, exceptfd;
113 struct timeval timeout;
124 if ((
int)strlen (bufbuf) == 0)
126 level = (
unsigned long)
aim->c;
136 timeout.tv_usec = 100000;
138 nfds = select (32, &readfd, &writefd, &exceptfd, &timeout);
143 Errorline (
"it is not possible to read characters or X events\n");
168 if ((c = fgetc (stdin)) != 0)
176 Errorline (
"in select: unknown descriptor\n");
178 }
while (!(char_flag || event_flag));
188 bcopy (&bufbuf[1], bufbuf, BUFSIZ-1);
215 (void)putchar ((
char) val[0]);
216 (void)fflush (stdout);
234 Errorline (
"in c_end_raw: not in mode raw\n");
239 Errorline (
"in end_raw: cannot reset mode raw\n");
241 (void)setvbuf (stdin, bufbuf, _IONBF, BUFSIZ);
242 bzero (bufbuf, BUFSIZ);
long x_exist_event()
x_exist_event
void new_built_in(ptr_module m, char *s, def_type t, long(*r)())
new_built_in
void interrupt()
INTERRUPT()
void exit_life(long nl_flag)
exit_life
void unify_bool_result(ptr_psi_term t, long v)
unify_bool_result
#define begin_builtin(FUNCNAME, NBARGS, NBARGSIN, TYPES)
void release_resid(ptr_psi_term t)
release_resid
long c_reset_window_flag()
void Errorline(char *format,...)
Errorline.
void raw_setup_builtins()
raw_setup_builtins
long unify_real_result(ptr_psi_term t, REAL v)
unify_real_result
ptr_psi_term xevent_existing
#define include_var_builtin(NBARGS)