DEADSOFTWARE

cpmake: fix preprocessor selector handling
[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 String* = POINTER TO ARRAY OF CHAR;
10 Directory* = POINTER TO ABSTRACT RECORD END;
12 Process* = POINTER TO ABSTRACT RECORD END;
14 VAR
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);
30 BEGIN
31 ASSERT(d # NIL, 20);
32 dir := d;
33 IF stdDir = NIL THEN stdDir := d END
34 END SetDir;
36 END DswProcs.