SNAX/HLS Application Programming Manual
Sample Customization Routines
Customization
104707 Tandem Computers Incorporated 7–33
PROC SNAXHLS^USEREXIT^VRFY^STSN^RSP (wsdar,
 sessid,
 profile^name,
 stsn^rq,
 appl^send^rq^no,
 appl^rcv^seq^no,
 stsn^rsp,
 stsn^rsp^len);
 INT (32) wsadr;
 INT sessid;
 STRING .EXT profile^name;
 STRING .EXT stsn^rq (stsn^template);
 INT appl^send^rq^no;
 INT .EXT appl^rcv^seq^no;
 STRING .EXT appl^rcv^seq^no (stsn^template);
 INT .EXT stsn^rsp^len;
BEGIN
 INT rq^send^seq^no, rq^rcv^seq^no;
 LITERAL SET = %H01;
 DEFINE send^action^code = stsn^rq.action^result^code.<8:9>#,
 rcv^action^code =
 stsn^rq^.action^result^code.<10:11>#,
 send^result^code =
 stsn^rsp.action^result^code.<8:9>#,
 rcv^result^code =
 stsn^rsp.action^result^code.<10-11>#,
rq^send^seq^no ‘:=‘ stsn^rq.sec^to^pri^sqn FOR 2 BYTES;
rq^rcv^seq^no ‘=‘ stsn^rsp.pri^to^sec^sqn FOR 2 BYTES;
! Flow SLU -> PLU
IF send^action^code = SET THEN
 IF ($ABS (appl^send^seq^no - rq^send^seq^no)) > 17 THEN
 BEGIN
 send^result^code := %b10;
 stsn^rsp.sec^to^pri^sqn ‘:=‘ appl^send^seq^no
 FOR 2 BYTES;
stsn^rsp^len := 6;
 END;
! Flow PLU -> SLU
IF rcv^action^code = SET THEN
 IF ($ABS (appl^rcv^seq^no - rq^rcv^seq^no)) > 17 THEN
 BEGIN
 rcv^result^code := %b10;
 stsn^rsp.pri^to^sec^sqn ‘:=‘ appl^rcv^seq^no
 FOR 2 BYTES;
 stsn^rsp^len :=6;
 END;
END;










