Copyright (C) 1994, Digital Equipment Corp.
Last Modified On Wed Mar 23 08:50:50 PST 1994 by kalsow
Modified On Wed Feb 3 22:48:42 PST 1993 by mjordan
Modified On Fri May 29 16:46:51 PDT 1992 by muller
INTERFACE LowPerfTool;
IMPORT File;
This interface provides procedures to start performance tools AND
get a low level communication channel to them.
PROCEDURE Start (name: TEXT; VAR r,w: File.T): BOOLEAN;
(* start the tool name.
If the operation is successful, return true;
r is a file handle connected to stdout of the tool;
w is a file handle connected to stdin of the tool.
If the operation fails, return false. *)
PROCEDURE StartAndWait (name: TEXT; VAR r,w: File.T): BOOLEAN;
(* start the tool name.
If the operation is successul,
wait until a byte is written by the tool on its stdout and return TRUE;
r is a file handle connected to stdout of the tool;
w is a file handle connected to stdin of the tool.
If the operation fails, return FALSE. *)
PROCEDURE ParamStart (param: TEXT; VAR r,w: File.T): BOOLEAN;
(* If the Modula runtime parameter "param" is not set, just
return FALSE.
Otherwise, use the value of that parameter to determine the name
of the tool: it is the name of the parameter if its value is "",
it is the value otherwise. Return Start (name, r, w). *)
PROCEDURE ParamStartAndWait (param: TEXT; VAR r,w: File.T): BOOLEAN;
(* If the Modula runtime parameter "param" is not set, just
return FALSE.
Otherwise, use the value of that parameter to determine the name
of the tool: it is the name of the parameter if its value is "",
it is the value otherwise. Return StartAndWait (name, r,w). *)
END LowPerfTool.