| 1234567891011121314151617181920212223242526 |
- DEFINITION MODULE FOR "C" tvtty;
- (* Minimal libc binding used by the terminal backend. This is the only
- non-Modula-2 dependency of the TVision-style library: the ISO language
- has no way to put a tty in raw mode or to query its size, so we call
- tcgetattr/tcsetattr/ioctl/read/write directly. Everything else is plain
- GNU Modula-2. *)
- FROM SYSTEM IMPORT ADDRESS;
- EXPORT UNQUALIFIED tcgetattr, tcsetattr, ioctl, read, write, signal,
- fopen, fgets, fputs, fputc, fclose;
- PROCEDURE tcgetattr(fd : INTEGER; termios : ADDRESS) : INTEGER;
- PROCEDURE tcsetattr(fd, action : INTEGER; termios : ADDRESS) : INTEGER;
- PROCEDURE ioctl(fd : INTEGER; request : CARDINAL; arg : ADDRESS) : INTEGER;
- PROCEDURE read(fd : INTEGER; buf : ADDRESS; count : CARDINAL) : INTEGER;
- PROCEDURE write(fd : INTEGER; buf : ADDRESS; count : CARDINAL) : INTEGER;
- PROCEDURE signal(sig : INTEGER; handler : ADDRESS) : ADDRESS;
- PROCEDURE fopen(path, mode : ARRAY OF CHAR) : ADDRESS;
- PROCEDURE fgets(buf : ADDRESS; n : INTEGER; f : ADDRESS) : ADDRESS;
- PROCEDURE fputs(s : ARRAY OF CHAR; f : ADDRESS) : INTEGER;
- PROCEDURE fputc(c : INTEGER; f : ADDRESS) : INTEGER;
- PROCEDURE fclose(f : ADDRESS) : INTEGER;
- END tvtty.
|