| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- IMPLEMENTATION MODULE M2makeOS;
- (* V3 (self-hosted M2) implementation: binds the descriptor (_d) half
- of m2make_os.c plus the shared m2osBye/m2osClose via EXTERNAL.
- Compiled only by the V3 M2 driver (staged as M2makeOS.mod). *)
- FROM SYSTEM IMPORT ADDRESS;
- PROCEDURE m2osExistD(VAR s: ARRAY OF CHAR): BOOLEAN;
- EXTERNAL;
- PROCEDURE m2osMtimeD(VAR s: ARRAY OF CHAR; VAR t: LONGINT): BOOLEAN;
- EXTERNAL;
- PROCEDURE m2osSystemD(VAR s: ARRAY OF CHAR): INTEGER;
- EXTERNAL;
- PROCEDURE m2osBye(code: INTEGER);
- EXTERNAL;
- PROCEDURE m2osOpenreadD(VAR s: ARRAY OF CHAR): ADDRESS;
- EXTERNAL;
- PROCEDURE m2osArgcD () : CARDINAL;
- EXTERNAL;
- PROCEDURE m2osArgD(i: CARDINAL; VAR s: ARRAY OF CHAR;
- cap: CARDINAL): BOOLEAN;
- EXTERNAL;
- PROCEDURE m2osReadlineD(h: ADDRESS; VAR buf: ARRAY OF CHAR;
- cap: CARDINAL): BOOLEAN;
- EXTERNAL;
- PROCEDURE m2osClose(h: ADDRESS);
- EXTERNAL;
- PROCEDURE FileExists(VAR name: ARRAY OF CHAR): BOOLEAN;
- BEGIN
- RETURN m2osExistD(name)
- END FileExists;
- PROCEDURE FileMTime(VAR name: ARRAY OF CHAR; VAR t: LONGINT): BOOLEAN;
- BEGIN
- RETURN m2osMtimeD(name, t)
- END FileMTime;
- PROCEDURE ExecCmd(VAR cmd: ARRAY OF CHAR): INTEGER;
- BEGIN
- RETURN m2osSystemD(cmd)
- END ExecCmd;
- PROCEDURE ExitNow(code: INTEGER);
- BEGIN
- m2osBye(code)
- END ExitNow;
- PROCEDURE OpenRead(VAR name: ARRAY OF CHAR): RdFile;
- BEGIN
- RETURN m2osOpenreadD(name)
- END OpenRead;
- PROCEDURE ArgCount () : CARDINAL;
- BEGIN
- RETURN m2osArgcD()
- END ArgCount;
- PROCEDURE GetArg(i: CARDINAL; VAR s: ARRAY OF CHAR;
- cap: CARDINAL): BOOLEAN;
- BEGIN
- RETURN m2osArgD(i, s, cap)
- END GetArg;
- PROCEDURE ReadLine(h: RdFile; VAR buf: ARRAY OF CHAR;
- cap: CARDINAL): BOOLEAN;
- BEGIN
- RETURN m2osReadlineD(h, buf, cap)
- END ReadLine;
- PROCEDURE CloseRead(h: RdFile);
- BEGIN
- m2osClose(h)
- END CloseRead;
- END M2makeOS.
|