Guardian Programmer's Guide

Table Of Contents
Writing a Requester Program
Guardian Programmer’s Guide 421922-014
21 - 47
Coding the Requester Program
! Create process:
ERROR := PROCESS_CREATE_(
SERVER^OBJECT^NAME:OBJFILE^NAMELEN,
!library^filename:library^file^len!,
!swap^filename:swap^file^len!,
!ext^swap^file^name:ext^swap^len!,
!priority!,
!processor!,
!process^handle!,
ERROR^DETAIL,
ZSYS^VAL^PCREATOPT^NAMEINCALL,
PROCESS^NAME:PROCESS^NAMELEN);
IF ERROR <> 0 THEN
BEGIN
PRINT^STR("Unable to create server process");
CALL PROCESS_STOP_;
END;
! Open the new server process:
CALL OPEN^SERVER(PROCESS^NAME,PROCESS^NAMELEN,
SERVER^NUM);
! Send the server a Startup message:
START^UP^MESSAGE.MSG^CODE := -1;
CALL WRITEX(SERVER^NUM,START^UP^MESSAGE,
MESSAGE^LEN);
IF <> THEN
BEGIN
CALL FILE_GETINFO_(SERVER^NUM,ERROR);
IF ERROR <> 70 THEN
BEGIN
START^LINE;
PUT^STR("Could not write Startup message");
PUT^STR(" to server");
PRINT^LINE;
CALL PROCESS_STOP_;
END;
END;
! Close the server:
ERROR := FILE_CLOSE_(SERVER^NUM);
! Reopen the server:
CALL OPEN^SERVER(PROCESS^NAME,PROCESS^NAMELEN,
SERVER^NUM);
END;