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