[INHERIT ('SYS$LIBRARY:STARLET.PEN')]
MODULE CLI(OUTPUT);

{ Module containing procedures for spawning DCL commands. }

(******************* Declare External Variables and Constants *****************)

%INCLUDE 'HEX$DIRECTORY:HEXGLOB.INC/NOLIST'

(********************* External RTL Routine Declarations **********************)

%INCLUDE 'HEX$DIRECTORY:LIB.INC/NOLIST'

(******************************************************************************)
(******************************************************************************)
(******************************************************************************)

[GLOBAL] FUNCTION Do_CLI: INTEGER;

TYPE
	String_Body	= PACKED ARRAY [1..80] OF CHAR;

VAR
	DCL_What	: String_80;
	Sys_Stat	: INTEGER;
	Token_Address	: ^String_Body;

BEGIN

  Token_Address::UNSIGNED := Tparse_Block.TPA$L_STRINGPTR;
  DCL_What := SUBSTR(Token_Address^,1,Tparse_Block.TPA$L_STRINGCNT);
  IF (DCL_What = '') THEN
      WRITELN('Control temporarily returned to DCL.  Enter ''EOJ'' to return to HEX.');
  LIB$SPAWN(DCL_What);
  WRITELN;
  Do_CLI := SS$_NORMAL;

END;

(******************************************************************************)

END. { module cli }
