Guardian Programmer's Guide

Table Of Contents
Writing a Command-Interpreter Monitor ($CMON)
Guardian Programmer’s Guide 421922-014
23 - 78
Sample Command-Interface Program
!------------------------------------------------------------
! Procedure generates an RT^shutdown^message. This procedure
! prompts the operator for the shutdown display text, puts
! it into the message, and sends the message to $CMON.
!------------------------------------------------------------
PROC REJECT^REQUESTS;
BEGIN
STRUCT .RT^SHUTDOWN^MESSAGE; !structure to send to
BEGIN ! $CMON
INT MSGCODE;
STRING SHUTDOWNTEXT[0:63];
END;
INT BYTES^READ;
! Set message code in message structure for shutdown
! message:
RT^SHUTDOWN^MESSAGE.MSGCODE := 61;
! Blank the display text buffer:
RT^SHUTDOWN^MESSAGE.SHUTDOWNTEXT[0] ':=' " ";
RT^SHUTDOWN^MESSAGE.SHUTDOWNTEXT[1] ':='
RT^SHUTDOWN^MESSAGE.SHUTDOWNTEXT[0] FOR 63;
! Prompt the operator for the shutdown text:
SBUFFER ':=' "Enter shutdown message: " -> @S^PTR;
CALL WRITEREADX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER,
BUFSIZE,BYTES^READ);
IF <> THEN CALL FILE^ERRORS(TERMNUM);
! Put the shutdown text into the message structure:
RT^SHUTDOWN^MESSAGE.SHUTDOWNTEXT ':='
SBUFFER FOR BYTES^READ;
! Sends message to $CMON:
CALL WRITEREADX(CMONNUM,RT^SHUTDOWN^MESSAGE,
$LEN(RT^SHUTDOWN^MESSAGE),2,BYTES^READ);
IF <> THEN CALL FILE^ERRORS(CMONNUM);
END;