| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- IMPLEMENTATION MODULE SysShim;
- (* Binds the C shim (shim.c) directly. *)
- FROM SYSTEM IMPORT ADDRESS;
- PROCEDURE m2fopenread (VAR name : ARRAY OF CHAR) : ADDRESS;
- EXTERNAL;
- PROCEDURE m2fopenwrite (VAR name : ARRAY OF CHAR) : ADDRESS;
- EXTERNAL;
- PROCEDURE m2fclose (h : ADDRESS);
- EXTERNAL;
- PROCEDURE m2fread (h : ADDRESS; VAR buf : ARRAY OF CHAR;
- max : CARDINAL) : CARDINAL;
- EXTERNAL;
- PROCEDURE m2fputc (h : ADDRESS; c : CHAR);
- EXTERNAL;
- PROCEDURE m2fputs (h : ADDRESS; VAR s : ARRAY OF CHAR);
- EXTERNAL;
- PROCEDURE m2fwriteln (h : ADDRESS);
- EXTERNAL;
- PROCEDURE m2fwriteintw (h : ADDRESS; v : INTEGER; wid : CARDINAL);
- EXTERNAL;
- PROCEDURE m2stdout () : ADDRESS;
- EXTERNAL;
- PROCEDURE m2stderr () : ADDRESS;
- EXTERNAL;
- PROCEDURE m2arg (i : CARDINAL; VAR s : ARRAY OF CHAR;
- cap : CARDINAL) : BOOLEAN;
- EXTERNAL;
- PROCEDURE fopenread (VAR name : ARRAY OF CHAR) : ADDRESS;
- BEGIN
- RETURN m2fopenread(name)
- END fopenread;
- PROCEDURE fopenwrite (VAR name : ARRAY OF CHAR) : ADDRESS;
- BEGIN
- RETURN m2fopenwrite(name)
- END fopenwrite;
- PROCEDURE fclose (h : ADDRESS);
- BEGIN
- m2fclose(h)
- END fclose;
- PROCEDURE fread (h : ADDRESS; VAR buf : ARRAY OF CHAR;
- max : CARDINAL) : CARDINAL;
- BEGIN
- RETURN m2fread(h, buf, max)
- END fread;
- PROCEDURE fputc (h : ADDRESS; c : CHAR);
- BEGIN
- m2fputc(h, c)
- END fputc;
- PROCEDURE fputs (h : ADDRESS; VAR s : ARRAY OF CHAR);
- BEGIN
- m2fputs(h, s)
- END fputs;
- PROCEDURE fwriteln (h : ADDRESS);
- BEGIN
- m2fwriteln(h)
- END fwriteln;
- PROCEDURE fwriteintw (h : ADDRESS; v : INTEGER; wid : CARDINAL);
- BEGIN
- m2fwriteintw(h, v, wid)
- END fwriteintw;
- PROCEDURE stdout () : ADDRESS;
- BEGIN
- RETURN m2stdout()
- END stdout;
- PROCEDURE stderr () : ADDRESS;
- BEGIN
- RETURN m2stderr()
- END stderr;
- PROCEDURE arg (i : CARDINAL; VAR s : ARRAY OF CHAR;
- cap : CARDINAL) : BOOLEAN;
- BEGIN
- RETURN m2arg(i, s, cap)
- END arg;
- END SysShim.
|