Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (F)
Guardian Procedure Calls Reference Manual522629-013
5-150
FILEERROR Procedure
BREAK key typed on a terminal where BREAK is enabled
Disk pack not up to speed
FILEERROR delays the calling process for one second and then returns a 1,
indicating a retry should be performed.
If the error is an ownership error (error 200) or a path down error (error 201) and
the alternate path is operable, FILEERROR returns a 1, indicating that the
operation should be retried. If the alternate path is inoperable, a 0 is returned.
If the error is caused by one of the following:
A device not ready
No write-enable ring on a tape unit
Paper out on a line printer
An appropriate message is printed on the home terminal and is followed by a read
operation from the terminal. If STOP is entered after the read (signaling that the
condition cannot be corrected), FILEERROR returns a 0 to indicate that the
operation should not be retried. If any other data is entered (typically, carriage
return), it signals that the condition has been corrected, and FILEERROR returns
a 1 to indicate that the operation should be retried.
Any other error results in the file name, followed by the file system error number,
being printed on the home terminal. A 0 is returned, indicating that the operation
should not be retried.
If the file number has bit <0> set, no message is printed on the home terminal,
unless
filenum = -1.
To prevent a message from being printed on the home terminal for
filenum = -1,
use
filenum = %137777.
Example
error := 1;
WHILE error DO
BEGIN
CALL WRITE(fnum,buffer,count);
IF < THEN
BEGIN
IF NOT FILEERROR(fnum) THEN CALL ABEND;
END
ELSE error := 0;
END;