mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 02:52:24 +00:00
vt100 and crt units, some changes in Unix.Mod
This commit is contained in:
parent
c0b83a8ee9
commit
7f11185f6a
20 changed files with 384 additions and 21 deletions
BIN
ocat
BIN
ocat
Binary file not shown.
BIN
showdef
BIN
showdef
Binary file not shown.
|
|
@ -332,7 +332,7 @@ from man gettimeofday
|
||||||
PROCEDURE -includeUio()
|
PROCEDURE -includeUio()
|
||||||
"#include <sys/uio.h>";
|
"#include <sys/uio.h>";
|
||||||
|
|
||||||
(* for getpid(), lseek(), close(), fsync(), ftruncate(), read() *)
|
(* for getpid(), lseek(), close(), fsync(), ftruncate(), read(), sleep() *)
|
||||||
PROCEDURE -includeUnistd()
|
PROCEDURE -includeUnistd()
|
||||||
"#include <unistd.h>";
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
|
@ -482,6 +482,11 @@ from man gettimeofday
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : INTEGER): INTEGER
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): INTEGER
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,22 @@ TYPE
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
|
(* for read(), write() and sleep() *)
|
||||||
|
PROCEDURE -includeUnistd()
|
||||||
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
(* for system() *)
|
||||||
|
PROCEDURE -includeStdlib()
|
||||||
|
"#include <stdlib.h>";
|
||||||
|
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -367,6 +383,11 @@ TYPE
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : LONGINT): LONGINT
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): LONGINT
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,22 @@ TYPE
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
|
(* for read(), write() and sleep() *)
|
||||||
|
PROCEDURE -includeUnistd()
|
||||||
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
(* for system() *)
|
||||||
|
PROCEDURE -includeStdlib()
|
||||||
|
"#include <stdlib.h>";
|
||||||
|
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -367,6 +383,11 @@ TYPE
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : LONGINT): LONGINT
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): LONGINT
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,22 @@ TYPE
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
|
(* for read(), write() and sleep() *)
|
||||||
|
PROCEDURE -includeUnistd()
|
||||||
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
(* for system() *)
|
||||||
|
PROCEDURE -includeStdlib()
|
||||||
|
"#include <stdlib.h>";
|
||||||
|
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -367,6 +383,11 @@ TYPE
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : LONGINT): LONGINT
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): LONGINT
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,22 @@ TYPE
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
|
(* for read(), write() and sleep() *)
|
||||||
|
PROCEDURE -includeUnistd()
|
||||||
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
(* for system() *)
|
||||||
|
PROCEDURE -includeStdlib()
|
||||||
|
"#include <stdlib.h>";
|
||||||
|
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -367,6 +383,11 @@ TYPE
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : LONGINT): LONGINT
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): LONGINT
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,22 @@ TYPE
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
|
(* for read(), write() and sleep() *)
|
||||||
|
PROCEDURE -includeUnistd()
|
||||||
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
(* for system() *)
|
||||||
|
PROCEDURE -includeStdlib()
|
||||||
|
"#include <stdlib.h>";
|
||||||
|
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -367,6 +383,11 @@ TYPE
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : LONGINT): LONGINT
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): LONGINT
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -313,7 +313,7 @@ from man gettimeofday
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
(* for read(), write() *)
|
(* for read(), write() and sleep() *)
|
||||||
PROCEDURE -includeUnistd()
|
PROCEDURE -includeUnistd()
|
||||||
"#include <unistd.h>";
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
|
@ -321,6 +321,14 @@ from man gettimeofday
|
||||||
PROCEDURE -includeStdlib()
|
PROCEDURE -includeStdlib()
|
||||||
"#include <stdlib.h>";
|
"#include <stdlib.h>";
|
||||||
|
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -455,6 +463,11 @@ from man gettimeofday
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : INTEGER): INTEGER
|
||||||
|
"(INTEGER)sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): INTEGER
|
||||||
|
"(INTEGER)nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,23 @@ TYPE
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
|
(* for read(), write() and sleep() *)
|
||||||
|
PROCEDURE -includeUnistd()
|
||||||
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
(* for system() *)
|
||||||
|
(* commented, doesn't compile on 32bit GNU/Linux platforms
|
||||||
|
PROCEDURE -includeStdlib()
|
||||||
|
"#include <stdlib.h>";
|
||||||
|
*)
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -367,6 +384,11 @@ TYPE
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : LONGINT): LONGINT
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): LONGINT
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,23 @@ TYPE
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
|
(* for read(), write() and sleep() *)
|
||||||
|
PROCEDURE -includeUnistd()
|
||||||
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
(* for system() *)
|
||||||
|
(* commented, doesn't compile on 32bit GNU/Linux platforms
|
||||||
|
PROCEDURE -includeStdlib()
|
||||||
|
"#include <stdlib.h>";
|
||||||
|
*)
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -367,6 +384,11 @@ TYPE
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : LONGINT): LONGINT
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): LONGINT
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,23 @@ TYPE
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
|
(* for read(), write() and sleep() *)
|
||||||
|
PROCEDURE -includeUnistd()
|
||||||
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
(* for system() *)
|
||||||
|
(* commented, doesn't compile on 32bit GNU/Linux platforms
|
||||||
|
PROCEDURE -includeStdlib()
|
||||||
|
"#include <stdlib.h>";
|
||||||
|
*)
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -367,6 +384,11 @@ TYPE
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : LONGINT): LONGINT
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): LONGINT
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,23 @@ TYPE
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
|
(* for read(), write() and sleep() *)
|
||||||
|
PROCEDURE -includeUnistd()
|
||||||
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
(* for system() *)
|
||||||
|
(* commented, doesn't compile on 32bit GNU/Linux platforms
|
||||||
|
PROCEDURE -includeStdlib()
|
||||||
|
"#include <stdlib.h>";
|
||||||
|
*)
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -367,6 +384,11 @@ TYPE
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : LONGINT): LONGINT
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): LONGINT
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,23 @@ TYPE
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
|
(* for read(), write() and sleep() *)
|
||||||
|
PROCEDURE -includeUnistd()
|
||||||
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
(* for system() *)
|
||||||
|
(* commented, doesn't compile on 32bit GNU/Linux platforms
|
||||||
|
PROCEDURE -includeStdlib()
|
||||||
|
"#include <stdlib.h>";
|
||||||
|
*)
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -367,6 +384,11 @@ TYPE
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : LONGINT): LONGINT
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): LONGINT
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -313,6 +313,22 @@ from man gettimeofday
|
||||||
PROCEDURE -includeErrno()
|
PROCEDURE -includeErrno()
|
||||||
"#include <errno.h>";
|
"#include <errno.h>";
|
||||||
|
|
||||||
|
(* for read(), write() and sleep() *)
|
||||||
|
PROCEDURE -includeUnistd()
|
||||||
|
"#include <unistd.h>";
|
||||||
|
|
||||||
|
(* for system() *)
|
||||||
|
PROCEDURE -includeStdlib()
|
||||||
|
"#include <stdlib.h>";
|
||||||
|
|
||||||
|
(* for nanosleep() *)
|
||||||
|
PROCEDURE -includeTime()
|
||||||
|
"#include <time.h>";
|
||||||
|
|
||||||
|
(* for select() *)
|
||||||
|
PROCEDURE -includeSelect()
|
||||||
|
"#include <sys/select.h>";
|
||||||
|
|
||||||
PROCEDURE -err(): LONGINT
|
PROCEDURE -err(): LONGINT
|
||||||
"errno";
|
"errno";
|
||||||
|
|
||||||
|
|
@ -447,6 +463,11 @@ from man gettimeofday
|
||||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||||
"sigsetmask(mask)";
|
"sigsetmask(mask)";
|
||||||
|
|
||||||
|
PROCEDURE -Sleep*(ms : INTEGER): INTEGER
|
||||||
|
"sleep(ms)";
|
||||||
|
|
||||||
|
PROCEDURE -Nanosleep*(VAR req : Timeval; VAR rem : Timeval): INTEGER
|
||||||
|
"nanosleep(req, rem)";
|
||||||
|
|
||||||
(* TCP/IP networking *)
|
(* TCP/IP networking *)
|
||||||
|
|
||||||
|
|
|
||||||
64
src/test/vt100/crt.Mod
Normal file
64
src/test/vt100/crt.Mod
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
MODULE crt;
|
||||||
|
|
||||||
|
IMPORT vt100, Unix, Console,
|
||||||
|
Strings; (* strings to remove later ? *)
|
||||||
|
|
||||||
|
TYPE
|
||||||
|
PFdSet = POINTER TO Unix.FdSet;
|
||||||
|
|
||||||
|
VAR tmpstr : ARRAY 23 OF CHAR;
|
||||||
|
|
||||||
|
PROCEDURE EraseDisplay*;
|
||||||
|
BEGIN
|
||||||
|
vt100.ED(2);
|
||||||
|
END EraseDisplay;
|
||||||
|
|
||||||
|
PROCEDURE ClrScr*;
|
||||||
|
BEGIN
|
||||||
|
vt100.ED(2);
|
||||||
|
END ClrScr;
|
||||||
|
|
||||||
|
PROCEDURE ClrEol*;
|
||||||
|
BEGIN
|
||||||
|
vt100.EL(0);
|
||||||
|
END ClrEol;
|
||||||
|
|
||||||
|
PROCEDURE cursoroff*;
|
||||||
|
BEGIN
|
||||||
|
vt100.DECTCEMl;
|
||||||
|
END cursoroff;
|
||||||
|
|
||||||
|
PROCEDURE cursoron*;
|
||||||
|
BEGIN
|
||||||
|
vt100.DECTCEMh;
|
||||||
|
END cursoron;
|
||||||
|
|
||||||
|
PROCEDURE Delay*( ms : INTEGER);
|
||||||
|
VAR i : LONGINT;
|
||||||
|
tv : Unix.Timeval;
|
||||||
|
pfd : PFdSet;
|
||||||
|
BEGIN
|
||||||
|
tv.sec := 0;
|
||||||
|
tv.usec := ms * 1000;
|
||||||
|
pfd := NIL;
|
||||||
|
i := Unix.Select(0, pfd^, pfd^, pfd^, tv);
|
||||||
|
END Delay;
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE GotoXY* (x, y: INTEGER);
|
||||||
|
BEGIN
|
||||||
|
vt100.CUP (y, x);
|
||||||
|
END GotoXY;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
(* test *)
|
||||||
|
EraseDisplay;
|
||||||
|
GotoXY (0, 0);
|
||||||
|
COPY(vt100.CSI, tmpstr);
|
||||||
|
Strings.Append(vt100.Green, tmpstr);
|
||||||
|
Strings.Append("hello", tmpstr);
|
||||||
|
Console.String(tmpstr); Console.Ln;
|
||||||
|
Delay (2000);
|
||||||
|
|
||||||
|
|
||||||
|
END crt.
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
MODULE vt100;
|
MODULE vt100;
|
||||||
|
|
||||||
IMPORT Console, Strings, IntStr := oocIntStr;
|
IMPORT Console, Strings, IntStr := oocIntStr;
|
||||||
|
(* reference http://en.wikipedia.org/wiki/ANSI_escape_code *)
|
||||||
CONST
|
CONST
|
||||||
|
|
||||||
Escape* = 1BX;
|
Escape* = 1BX;
|
||||||
|
|
@ -30,10 +30,18 @@ CONST
|
||||||
CSI* : ARRAY 5 OF CHAR;
|
CSI* : ARRAY 5 OF CHAR;
|
||||||
tmpstr : ARRAY 32 OF CHAR;
|
tmpstr : ARRAY 32 OF CHAR;
|
||||||
|
|
||||||
|
PROCEDURE EscSeq0 (letter : ARRAY OF CHAR);
|
||||||
|
VAR
|
||||||
|
cmd : ARRAY 9 OF CHAR;
|
||||||
|
BEGIN
|
||||||
|
COPY(CSI, cmd);
|
||||||
|
Strings.Append (letter, cmd);
|
||||||
|
Console.String (cmd);
|
||||||
|
END EscSeq0;
|
||||||
|
|
||||||
PROCEDURE EscSeq (n : INTEGER; letter : ARRAY OF CHAR);
|
PROCEDURE EscSeq (n : INTEGER; letter : ARRAY OF CHAR);
|
||||||
VAR nstr : ARRAY 2 OF CHAR;
|
VAR nstr : ARRAY 2 OF CHAR;
|
||||||
cmd : ARRAY 5 OF CHAR;
|
cmd : ARRAY 7 OF CHAR;
|
||||||
BEGIN
|
BEGIN
|
||||||
IntStr.IntToStr (n, nstr);
|
IntStr.IntToStr (n, nstr);
|
||||||
COPY(CSI, cmd);
|
COPY(CSI, cmd);
|
||||||
|
|
@ -42,13 +50,21 @@ CONST
|
||||||
Console.String (cmd);
|
Console.String (cmd);
|
||||||
END EscSeq;
|
END EscSeq;
|
||||||
|
|
||||||
|
PROCEDURE EscSeqSwapped (n : INTEGER; letter : ARRAY OF CHAR);
|
||||||
|
VAR nstr : ARRAY 2 OF CHAR;
|
||||||
|
cmd : ARRAY 7 OF CHAR;
|
||||||
|
BEGIN
|
||||||
|
IntStr.IntToStr (n, nstr);
|
||||||
|
COPY(CSI, cmd);
|
||||||
|
Strings.Append (letter, cmd);
|
||||||
|
Strings.Append (nstr, cmd);
|
||||||
|
Console.String (cmd);
|
||||||
|
END EscSeqSwapped;
|
||||||
|
|
||||||
PROCEDURE EscSeq2(n, m : INTEGER; letter : ARRAY OF CHAR);
|
PROCEDURE EscSeq2(n, m : INTEGER; letter : ARRAY OF CHAR);
|
||||||
VAR nstr, mstr : ARRAY 5 OF CHAR;
|
VAR nstr, mstr : ARRAY 5 OF CHAR;
|
||||||
cmd : ARRAY 12 OF CHAR;
|
cmd : ARRAY 12 OF CHAR;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF n < 1 THEN n := 1 END;
|
|
||||||
IF m < 1 THEN m := 1 END;
|
|
||||||
IntStr.IntToStr(n, nstr);
|
IntStr.IntToStr(n, nstr);
|
||||||
IntStr.IntToStr(m, mstr);
|
IntStr.IntToStr(m, mstr);
|
||||||
|
|
||||||
|
|
@ -165,34 +181,63 @@ CONST
|
||||||
EscSeq2 (n, m, 'f');
|
EscSeq2 (n, m, 'f');
|
||||||
END HVP;
|
END HVP;
|
||||||
|
|
||||||
(* wrappers *)
|
(* Select Graphic Rendition
|
||||||
PROCEDURE EraseDisplay*;
|
Sets SGR parameters, including text color. After CSI can be zero or more parameters separated with ;. With no parameters, CSI m is treated as CSI 0 m (reset / normal), which is typical of most of the ANSI escape sequences *)
|
||||||
BEGIN
|
|
||||||
ED(2);
|
|
||||||
END EraseDisplay;
|
|
||||||
|
|
||||||
(* pascal crt like wrapper *)
|
PROCEDURE SGR*( n : INTEGER);
|
||||||
PROCEDURE ClrScr*;
|
|
||||||
BEGIN
|
BEGIN
|
||||||
ED(2);
|
EscSeq(n, 'm');
|
||||||
END ClrScr;
|
END SGR;
|
||||||
|
|
||||||
(* pascal crt like wrapper *)
|
PROCEDURE SGR2*( n, m : INTEGER);
|
||||||
PROCEDURE GotoXY* (x, y: INTEGER);
|
|
||||||
BEGIN
|
BEGIN
|
||||||
CUP (y, x);
|
EscSeq2(n, m, 'm');
|
||||||
END GotoXY;
|
END SGR2;
|
||||||
|
|
||||||
|
(* Device Status Report
|
||||||
|
Reports the cursor position (CPR) to the application as (as though typed at the keyboard) ESC[n;mR, where n is the row and m is the column.) *)
|
||||||
|
|
||||||
|
PROCEDURE DSR*(n : INTEGER);
|
||||||
|
BEGIN
|
||||||
|
EscSeq(6, 'n');
|
||||||
|
END DSR;
|
||||||
|
|
||||||
|
(* Save Cursor Position *)
|
||||||
|
|
||||||
|
PROCEDURE SCP*;
|
||||||
|
BEGIN
|
||||||
|
EscSeq0('s');
|
||||||
|
END SCP;
|
||||||
|
|
||||||
|
(* Restore Cursor Position *)
|
||||||
|
|
||||||
|
PROCEDURE RCP*;
|
||||||
|
BEGIN
|
||||||
|
EscSeq0('u');
|
||||||
|
END RCP;
|
||||||
|
|
||||||
|
(* Hide the cursor *)
|
||||||
|
PROCEDURE DECTCEMl*;
|
||||||
|
BEGIN
|
||||||
|
EscSeq0("?25l")
|
||||||
|
END DECTCEMl;
|
||||||
|
|
||||||
|
(* shows the cursor *)
|
||||||
|
PROCEDURE DECTCEMh*;
|
||||||
|
BEGIN
|
||||||
|
EscSeq0("?25h")
|
||||||
|
END DECTCEMh;
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
(* init CSI sequence *)
|
(* init CSI sequence *)
|
||||||
COPY(Escape, CSI);
|
COPY(Escape, CSI);
|
||||||
Strings.Append(LeftCrotchet, CSI);
|
Strings.Append(LeftCrotchet, CSI);
|
||||||
|
(*
|
||||||
EraseDisplay;
|
EraseDisplay;
|
||||||
GotoXY (0, 0);
|
GotoXY (0, 0);
|
||||||
COPY(CSI, tmpstr);
|
COPY(CSI, tmpstr);
|
||||||
Strings.Append(Green, tmpstr);
|
Strings.Append(Green, tmpstr);
|
||||||
Strings.Append("hello", tmpstr);
|
Strings.Append("hello", tmpstr);
|
||||||
Console.String(tmpstr); Console.Ln;
|
Console.String(tmpstr); Console.Ln;
|
||||||
|
*)
|
||||||
END vt100.
|
END vt100.
|
||||||
|
|
|
||||||
BIN
voc
BIN
voc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue