Guardian Application Conversion Guide

Being Opened by and Communicating With a High-PIN Requester
Converting TAL Applications
3–52 096047 Tandem Computers Incorporated
Replying to System Message -103 (Process Open). The D-series system supports returning a
label value in the reply to a system message -103 (Process open). Typically, an opener-
table index gets sent in this way. This label then appears in the
open^label
field of
future FILE_GETRECEIVEINFO_ procedure calls that provide information about
messages received from the same requester. To support this feature, the file system
expects a reply buffer with a length of 0 to 4 bytes; otherwise, the open in the requester
returns an error.
Your server might reply to an open message as follows:
write^count := any^valid^integer;
CALL REPLYX(reply^buffer,
write^count,
! count^written ! ,
! message^tag ! ,
error^return);
To make use of the
open^label
field in the FILE_GETRECEIVEINFO_ procedure,
you must convert your code to reply to the open message as follows:
reply^buffer[0] := -103;
reply^buffer[1] := open^label^value;
write^count := 4;
CALL REPLYX (reply^buffer,
write^count,
! count^written ! ,
! message^tag ! ,
error^return);
If you do not want to use the
open^label
field, you still need to be sure that the
reply buffer has a length of 0 to 4 bytes. Convert your server as follows:
write^count := 0;
CALL REPLYX (reply^buffer,
write^count,
! count^written ! ,
! message^tag ! ,
error^return);
Replying to an Unknown System Message. Your server should be able to handle an
unknown system message. If the first word of a message contains an unknown
message number, call the REPLY[X] procedure with an error indication of 2 (invalid
operation):
CALL REPLYX (! reply^buffer ! ,
! write^count ! ,
! count^written ! ,
! message^tag ! ,
invalid^operation); ! Value = 2.