GDSX (Extended General Device Support) Manual
APPLS Requester Listing
Extended General Device Support (GDSX) Manual—529931-001
A-2
APPLS Listing
 CALL READUPDATE(RCV^FILE,STARTUP^MSG,2*BUF^WDS,CT^RD);
 IF <> THEN CALL DEBUG;
 CALL REPLY(,,,,0);
 IF <> THEN CALL DEBUG;
 CALL OPEN(STARTUP^MSG[OUTFILE],MSG^FILE,0); ! WAITED I/O
 IF <> THEN
 BEGIN
 CALL FILEINFO(-1,FERR);
 CALL DEBUG;
 END;
 WHILE (-1) DO
 BEGIN
 PID := MYPID;
 CPU := PID.<4:7>;
 PIN := PID.<8:15>;
 CALL NUMOUT(S^MSG^BUF[0],CPU,10,3);
 S^MSG^BUF[3] := ",";
 CALL NUMOUT(S^MSG^BUF[4],PIN,10,3);
 S^MSG^BUF[7] := "-";
 CALL WRITEREAD(MSG^FILE,MSG^BUF,8,70,CT^RD);
 CALL FILEINFO(MSG^FILE,FERR);
 IF (FERR = 0) THEN
 BEGIN ! NORMAL COMPLETION
 IF (CT^RD > 0) THEN
 BEGIN
 CALL REVERSE^STRING;
 WT^CT := CT^RD+8;
 S^MSG^BUF[CT^RD+7] '=:' S^MSG^BUF[CT^RD-1] FOR CT^RD
 & [8*[" "]];
 END
 ELSE
 BEGIN
 WT^CT := 12;
 S^MSG^BUF[0] ':=' 8*[" "] & ["****"];
 END;
 CALL WRITE(MSG^FILE,MSG^BUF,WT^CT);
 IF <> THEN
 BEGIN ! CONTINUE ON GDSX SWITCHOVER
 CALL FILEINFO(MSG^FILE,FERR);
 IF (FERR <> 210) THEN CALL DEBUG;
 END;
 END
 ELSE IF (FERR = 1) THEN
 BEGIN ! USER TYPED CTRL/Y
 WT^CT := 28;
 S^MSG^BUF ':=' 8*[" "] & ["APPLICATION STOPPING"];
 CALL WRITE(MSG^FILE,MSG^BUF,WT^CT);
 IF <> THEN CALL DEBUG;
 CALL CLOSE(MSG^FILE);
 IF <> THEN CALL DEBUG;
 CALL STOP;
 END
 ELSE IF ((FERR = 66) OR (FERR = 201)) THEN
 BEGIN ! DEVICE DOWNED (D^H TASK ABORTED OR
 ! GDSX PROCESS STOPPED)
 CALL CLOSE(MSG^FILE);
 IF <> THEN CALL DEBUG;
 CALL STOP;
 END
 ELSE IF (FERR = 210) THEN
 BEGIN ! OUTFILE SWITCHED TO BACKUP, CONTINUE










