40 Errorline (
"in begin_raw: already in mode raw\n");
45 Errorline (
"in begin_raw: cannot get the input parameters\n");
47 bcopy ((
char*)&
param_input, (
char*)¶m,
sizeof (param));
51 param.sg_flags |= CBREAK |
TANDEM | RAW;
53 param.sg_flags |= CBREAK |
TANDEM;
56 param.sg_flags &= ~ECHO;
59 Errorline (
"in begin_raw: cannot set the input parameters\n");
62 Errorline (
"in begin_raw: cannot get the terminal\n");
67 argio.c_lflag &= ~(ICANON|ISIG);
69 argio.c_cc[VTIME] = 0;
72 argio.c_iflag &= ~(ISTRIP|IXON);
75 argio.c_oflag |= OPOST|ONLCR;
77 argio.c_iflag &= ~(ISTRIP);
81 Errorline (
"in begin_raw: cannot set the terminal\n");
83 (void)setvbuf (stdin,
bufbuf, _IOFBF, BUFSIZ);
108 fd_set readfd, writefd, exceptfd;
109 struct timeval timeout;
120 if ((
int)strlen (
bufbuf) == 0)
122 level = (
unsigned long)
aim->c;
132 timeout.tv_usec = 100000;
134 nfds = select (32, &readfd, &writefd, &exceptfd, &timeout);
139 Errorline (
"it is not possible to read characters or X events\n");
149 if (x_exist_event ())
164 if ((c = fgetc (stdin)) != 0)
172 Errorline (
"in select: unknown descriptor\n");
174 }
while (!(char_flag || event_flag));
214 (void)putchar ((
char) val[0]);
215 (void)fflush (stdout);
237 Errorline (
"in c_end_raw: not in mode raw\n");
242 Errorline (
"in end_raw: cannot reset mode raw\n");
244 (void)setvbuf (stdin,
bufbuf, _IONBF, BUFSIZ);
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
void Errorline(char *format,...)
void raw_setup_builtins()
static char bufbuf[BUFSIZ+1]
static struct sgttyb param_input
long c_reset_window_flag()
long unify_real_result(ptr_psi_term t, REAL v)
unify_real_result
ptr_psi_term xevent_existing
#define include_var_builtin(NBARGS)