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;