tvtty.def 1.2 KB

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