e5a31b3c24a6a078d5942d6bd1812d5625e36b42
3 (* todo: pipe control, set cwd, set env vars, get program path from name *)
8 String
* = POINTER TO ARRAY OF CHAR;
10 Directory
* = POINTER TO ABSTRACT
RECORD END;
12 Process
* = POINTER TO ABSTRACT
RECORD END;
15 dir
-, stdDir
-: Directory
;
17 PROCEDURE (d
: Directory
) New
* (): Process
, NEW, ABSTRACT
;
18 PROCEDURE (d
: Directory
) GetPath
* (IN name
: ARRAY OF CHAR): String
, NEW, ABSTRACT
;
20 PROCEDURE (p
: Process
) Program
* (IN exe
: ARRAY OF CHAR), NEW, ABSTRACT
;
21 PROCEDURE (p
: Process
) PutParam
* (IN par
: ARRAY OF CHAR), NEW, ABSTRACT
;
22 PROCEDURE (p
: Process
) Execute
* (OUT ok
: BOOLEAN), NEW, ABSTRACT
;
24 PROCEDURE (p
: Process
) Terminate
* (OUT ok
: BOOLEAN), NEW, ABSTRACT
;
25 PROCEDURE (p
: Process
) IsTerminated
* (): BOOLEAN, NEW, ABSTRACT
;
26 PROCEDURE (p
: Process
) Wait
*, NEW, ABSTRACT
;
27 PROCEDURE (p
: Process
) Result
* (): INTEGER, NEW, ABSTRACT
;
29 PROCEDURE SetDir
* (d
: Directory
);
33 IF stdDir
= NIL THEN stdDir
:= d
END