Guardian Application Conversion Guide
Opening and Communicating With a High-PIN Server
Converting TAL Applications
3–36 096047 Tandem Computers Incorporated
Reading System Messages From $RECEIVE
Your requester might read system messages from $RECEIVE using the READ[X] or
READUPDATE[X] procedure:
STRING .message^buffer[0:199]; ! Message buffer (200 bytes).
...
read^count := 200;
CALL READX (receive^file^number,
message^buffer,
read^count,
bytes^read);
The lengths shown for each system message are subject to change. In a future release,
Tandem might add new fields to the end of a system message (while maintaining the
layout of the existing fields). Therefore, use a READ[X] or READUPDATE[X] message
buffer at least 250 bytes in length. Also, use a
read^count
parameter of 250 bytes.
If you use the ZSYSTAL file, use the ZSYS^VAL^SMSG^LEN LITERAL declaration to
specify the system message length in bytes. If you work in words you can use the
ZSYS^VAL^SMSG^WLEN LITERAL declaration instead.
STRING .message^buffer[0:ZSYS^VAL^SMSG^LEN - 1];
...
read^count := ZSYS^VAL^SMSG^LEN;
CALL READX (receive^file^number,
message^buffer,
read^count,
bytes^read);
The ZSYSTAL file also contains structures that you can use when your requester reads
system messages.
Reading Process-Deletion System Messages. Your requester might monitor a server
process by reading these process-deletion system messages from $RECEIVE:
-2 CPU down: named process deletion
-5 Process normal deletion: stop
-6 Process abnormal deletion: abend
Convert your requester to read and process the D-series system message -101 (Process
deletion), which supersedes all the above messages.