DEADSOFTWARE

261415f6c0d86e6405cecf9c4dcd9dc535170e9e
[cpc.git] / src / generic / Dsw / Mod / Procs.cp
1 MODULE DswProcs;
3 (* todo: pipe control, set cwd, set env vars, get program path from name *)
5 IMPORT Kernel;
7 TYPE
8 Directory* = POINTER TO ABSTRACT RECORD END;
10 Process* = POINTER TO ABSTRACT RECORD END;
12 VAR
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);
27 BEGIN
28 ASSERT(d # NIL, 20);
29 dir := d;
30 IF stdDir = NIL THEN stdDir := d END
31 END SetDir;
33 END DswProcs.