File:
[gforth] /
gforth /
Attic /
io.h
Revision
1.7:
download - view:
text,
annotated -
select for diffs
Thu Jan 25 16:45:53 1996 UTC (27 years ago) by
anton
Branches:
MAIN
CVS tags:
HEAD
eliminated "make realclean"; it's dangerous and useless.
eliminated relocation stuff in the kernal; was buggy and useless.
SIGPIPE now returns control to Forth.
Implemented form, rows, and cols; SIGWINCH updates these (on good OS's).
changed popen and pclose to open-pipe and close-pipe.
1: /* Input driver header
2:
3: Copyright (C) 1995 Free Software Foundation, Inc.
4:
5: This file is part of Gforth.
6:
7: Gforth is free software; you can redistribute it and/or
8: modify it under the terms of the GNU General Public License
9: as published by the Free Software Foundation; either version 2
10: of the License, or (at your option) any later version.
11:
12: This program is distributed in the hope that it will be useful,
13: but WITHOUT ANY WARRANTY; without even the implied warranty of
14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: GNU General Public License for more details.
16:
17: You should have received a copy of the GNU General Public License
18: along with this program; if not, write to the Free Software
19: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20: */
21:
22: #include <setjmp.h>
23:
24: extern jmp_buf throw_jmp_buf;
25:
26: #ifdef MSDOS
27: # define prep_terminal()
28: # define deprep_terminal()
29: # define install_signal_handlers()
30:
31: # include <conio.h>
32:
33: # define key() getch()
34: # define key_query FLAG(kbhit())
35: #else
36: unsigned char getkey(FILE *);
37: long key_avail(FILE *);
38: void prep_terminal();
39: void deprep_terminal();
40: void install_signal_handlers(void);
41: void get_winsize(void);
42:
43: extern int terminal_prepped;
44: extern UCell rows, cols;
45:
46: # define key() getkey(stdin)
47: # define key_query -(!!key_avail(stdin)) /* !! FLAG(...)? - anton */
48: /* flag was originally wrong -- lennart */
49: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>