SNAX/HLS Application Programming Manual

Procedure Specifications
Customization
104707 Tandem Computers Incorporated 7–19
The USEREXIT^SNAX^IN
Routine
The SNAXHLS^USEREXIT^SNAX^IN routine is invoked when SNAX/HLS has just
received input (response or request) from the Tandem SNA access method, for
example SNAX/XF (but only if thus enabled by your enabling routine). This allows
the customization routine to inspect and perhaps modify the input before SNAX/HLS
processes it.
The only checks performed by SNAX/HLS prior to calling your customization routine
are to detect errors generated from the access method (which force session
termination).
The routine is specified as follows:
PROC SNAXHLS^USEREXIT^SNAX^IN (wsadr,
sessid,
snu,
vlen);
INT(32) wsadr;
INT sessid;
STRING .EXT snu;
INT .EXT vlen;
wsadr
is the 32-bit extended address of the global storage area as requested in the
enabling routine (SNAXHLS^USEREXIT^ENABLE). It is inappropriate to use this
address if no storage was allocated and would result in SNAX/HLS abending.
sessid
is the index to the session tables in SNAX/HLS. It does not correspond to the
session ID used on the verb interface, although it is derived from it. Note that
valid session values vary from 1 to the value specified by MAXLUS. If a session
has not been allocated, the value is zero. The value of MAXLUS is passed in the
SNAXHLS^USEREXIT^VERB^IN^BLOCK, on a call to the
SNAXHLS^USEREXIT^ENABLE^ routine.
snu
points to the SNALU buffer using extended addressing.
vlen
defines the length (in bytes) of the message just received from the SNALU
interface. Note that this includes the length of the SNAX header, and thus the
minimum value is 9. You can modify this value, but the result must be in the
range 9 through 30,729 (30720 + 9). Any attempt to violate this rule causes
SNAX/HLS to terminate.