SNAX/HLS Application Programming Manual

Procedure Specifications
Customization
7–18 104707 Tandem Computers Incorporated
vbufr
gives the address of the verb-reply text as a 32-bit extended address. You can use
the definitions in the module HLSDDT to obtain the structure definitions. For
example, you can view the area in a RECEIVE-DATA response as follows:
STRING .EXT rcv^data(receive^data^reply) := @vbufr;
vlen
defines the length (in bytes) of the verb reply that SNAX/HLS is about to return to
the user. You can modify this value if you change the length of the verb reply.
Remember, however, that the underlying buffer is limited to 32000 bytes.
Typically, your routine could identify the message as a data message indicating the
end of some timed operation. By combining the current clock with a value you
previously saved in working storage, you can compute response times.
You could then insert the resultant values into the data message, adjusting the lengths
appropriately. Alternately, if your application program is suitably prepared, you
could place the data in one of the status words (words 4, 5, or 6) of the response
header, which are unused if the return code is RC-OK.
Alternately, you could reduce the data and summarize it in the session-specific storage
area. By intercepting an HLS-CALL-USER message, you can return the resultant data
back to your application.
You can also re-edit the text of the reply. This might be useful if your application
interface works in bytes but the protocol works in bits, or if the data must undergo
some transformation that is difficult to do in the calling application. Remember that
you can save any required context in the session-specific storage, and you can preset
that storage when you see various verbs go by.
If you modify the length of the reply data, be careful that the USER-DATA-LENGTH
fields and the verb-reply length are consistent.