SNAX/HLS Application Programming Manual
Procedure Specifications
Customization
7–16 104707 Tandem Computers Incorporated
where the size is an integer count of bytes to be allocated. The value can be any
value in the range 0 through 32,767. On return, SNAX/HLS provides a 32-bit
extended address for the storage just allocated. If you supply a size of 0 or do not
call the procedure, no storage is allocated, and the value %HFE000000%D is
returned.
Only one call to the allocator procedure should be made. Thus, only one block of
dynamic storage is allocable.
The USEREXIT^VERB^IN
Routine
The SNAXHLS^USEREXIT^VERB^IN routine is invoked when SNAX/HLS has just
accepted a verb request from the application program (but only if thus enabled by
your enabling routine). This allows the routine to inspect and perhaps modify the
verb request before SNAX/HLS processes it.
The routine is specified as follows:
PROC SNAXHLS^USEREXIT^VERB^IN (wsadr,
vblock,
vbufr,
vlen);
INT(32) wsadr;
INT .EXT vblock(snaxhls^userexit^verb^block);
STRING .EXT vbufr;
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.
vblock
points to the SNAXHLS^USEREXIT^VERB^BLOCK (defined above). It enables
you to identify the issuer of the request.
vbufr
gives the address of the verb 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 as a SEND-DATA verb as follows:
STRING .EXT send^data(send^data^request) := @vbufr;
vlen
defines the length (in bytes) of the verb request as received from the user. You can
modify this value. The underlying buffer is limited to 32000 bytes.