Envoy ACP/XF Application Programming Manual

Normal Response Mode (NRM) Protocols
EnvoyACP/XF Application Programming Manual132179
3-47
SDLC and ADCCP-NRM Nonswitched Multipoint
Operation
addr^b,3 * [0], ! Station B
addr^c,3 * [0], ! Station C
addr^d,3 * [0] ]; ! Station D
CALL DEFINELIST
(pnum,station^list,entry^size,num^entries,poll^count,
poll^type);
The tributary also uses DEFINELIST to pass a station list to EnvoyACP/XF. However, in
this case, the station list contains only those addresses to which the tributary application
process itself responds.
TRIBUTARY
! Each station address is one octet
! left-justified (bits 0-7)
! followed by a NULL (all zeros)
! in bits 8-15
LITERAL addr^a = %40400, ! A,NULL
addr^b = %41000; ! B,NULL
entry^size = 4, ! entry size (4 words)
num^entries = 2, ! number of entries in list
poll^count = 2, ! number of entries in list
poll^type = 0, ! continuous polling
INT .STATION^LIST [0:7] :=
[ addr^a,3 * [0], ! Station A
addr^b,3 * [0] ]; ! Station B
CALL DEFINELIST
(snum,station^list,entry^size,num^entries,poll^count,
poll^type);
The tributary process then issues two READ requests (one for each station address to
which the tributary process responds). These requests enable the read unit of
EnvoyACP/XF. Because the tributary station has not yet been set to NRM, the
corresponding AWAITIO calls complete only upon the receipt of a SNRM command
(CCG completion with %20 in MCW.<3:7>). The supervisor process issues a
CONTROL 13 call to send a SNRM to each address in the station list. EnvoyACP/XF
uses the auto-poll capability of EnvoyACP/XF to issue the SNRM commands and check
for the expected response (UA). If all the defined tributary stations accept the SNRM
and respond properly, the corresponding AWAITIO call completes indicating a CCE
condition code. If one station responds inappropriately or does not respond at all, the
SNRM polling halts, EnvoyACP/XF places the tributary on the nonresponding list, and
the AWAITIO call completes indicating a CCL condition code. In this case, the
ERROR^PROC issues a FILE GETINFO call to determine what happened, then issues a
READ call to determine which station address caused the problem.