Guardian Application Conversion Guide
Being Opened by and Communicating With a High-PIN Requester
Converting TAL Applications
3–48 096047 Tandem Computers Incorporated
Opening $RECEIVE
Your server might open $RECEIVE using the OPEN procedure with the OPEN
flags
.<1> bit set to 1 (
flags
= %40000). This allows you to receive system
messages such as -30 (Process open) and -31 (Process close):
INT .receive^name[0:11] := ["$RECEIVE", 8 * [" "]];
LITERAL read^open^close^msgs = %40000 ;
...
CALL OPEN (receive^name,
receive^file^number,
read^open^close^msgs, ! Value = %40000.
receive^depth);
Convert your server to open $RECEIVE using the FILE_OPEN_ procedure:
1. Use a file-name string for the $RECEIVE file name instead of the internal file-name
format. Specify the length as a separate integer value.
2. Make sure that the FILE_OPEN_
options
.<15> bit is zero (the default value). If
this bit is not zero, system messages such as -103 (Process open) and -104 (Process
close) are not sent to $RECEIVE.
3. Make sure that the FILE_OPEN_
options
.<14> bit is zero (the default value) so
that the system sends D-series system messages to $RECEIVE. If this bit is not
zero, the system sends C-series system messages to $RECEIVE.
4. Set any other FILE_OPEN_ input parameters as required and call the procedure:
LITERAL receive^name^length = 8;
STRING .receive^name[0:receive^name^length-1] :=
["$RECEIVE"];
...
! Open $RECEIVE to read D-series system messages.
error := FILE_OPEN_(receive^name:receive^name^length,
receive^file^number,
! access^mode ! ,
! exclusion^mode ! ,
nowait^operations,
receive^depth);
If you open $RECEIVE using the FILE_OPEN_ procedure, the system assumes that
you support high-PIN requesters (provided the
options
.<14> bit is zero). You do not
need to explicitly set the HIGHREQUESTERS object-file attribute in your server’s
object file.
When you close $RECEIVE, use either the CLOSE or FILE_CLOSE_ procedure.