Envoy ACP/XF Application Programming Manual
System Procedure Call Specifics for EnvoyACP/XF
EnvoyACP/XF Application Programming Manual–132179
4-8
Station List Format
the station addresses to which that station responds. In both cases, you use the
DEFINELIST procedure to pass the station list to EnvoyACP/XF.
Each entry in the station list is referenced by a station index in the range 0 through 255.
The first entry in the list is entry 0, the second is entry 1, and so forth. When the
READ[X] procedure completes, EnvoyACP/XF uses the station index to indicate to the
application process which station address caused the completion.
For WRITE[X] or WRITEREAD[X] requests, the application process uses the station
index to designate the station to be selected when the WRITE[X] procedure is called.
EnvoyACP/XF and the application process pass the station index back and forth by
means of the MCW (.<8:15>) of the application’s read or write buffer. (For more
information on the MCW, see the READ and WRITE procedures in this section.)
The station list requires four words fixed for each entry. For example, when using
ADCCP with single-byte addressing or SDLC, you can set up the station list as follows:
LITERAL addr^a = %40400, ! station A address
addr^b = %41000, ! station B address
addr^c = %41400, ! station C address
addr^d = %42000, ! station D address
entry^size = 4, ! entry size (4 words)
num^entries = 4, ! number of entries in list
poll^count = 4, ! number of entries in list
poll^type = 0, ! continuous polling
no^poll = 1; ! don't poll this station
! the station address is one byte, left justified;
! addr^a = "A", null
INT .STATION^LIST[0:15] := ! AUTO POLL Station List
[ addr^a,3 * [0], ! station A entry
addr^b,2 * [0],no^poll, ! station B entry
addr^c,3 * [0], ! station C entry
addr^d,3 * [0] ]; ! station D entry
CALL DEFINELIST (fnum,station^list,entry^size,num^entries,
poll^count, poll^type);
In each tributary station, the station list also is required, even if a particular tributary
answers to only one station address. In the following example, a tributary application
controlling a single SDLC line responds to two station addresses:
LITERAL addr^a = %40400, ! station A address
addr^b = %41000, ! station B address
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; ! dummy parameter
INT .STATION^LIST[0:7] :=
[ addr^a,3 * [0], ! station A entry
addr^b,3 * [0] ]; ! station B entry