Envoy Application Programming Manual

Table Of Contents
BISYNC Centralized Multipoint Supervisor Protocol
Envoy Application Programming Manual427159-001
4-12
Select List
Select List
The select list immediately follows the poll list in the address list. It contains one entry
for each address that may be selected (the number of entries minus the poll count). The
entries in the select list must correspond exactly to the entries in the poll list.
The following example (Example 4-2
) shows how to build an address list
This programming example includes the following:
The address list contains eight entries.
The address list is defined as a STRING array so that individual byte elements can
be initialized.
Each station address consists of five characters, therefore, a leading SYN character
is prefixed to each address since each station must contain an even number of byte
elements. Note also that each station address is the same size.
The first three entries (that is, poll^count) constitute the poll list.
The last five entries (num^entries minus poll^count) constitute the select
list.
Example 4-2. Build an Address List
LITERAL addr^size = 3, ! address size in words.
num^entries = 8, ! number of address-list entries.
ENQ = 5, ! ASCII ENQ character.
SYN = %26, ! ASCII SYN character.
poll^count = 3; ! number of poll-list entries.
STRING
.saddr^list[ 0 : addr^size * num^entries * 2 - 1] :=
! address list.
[SYN, "AA01", ENQ, ! entry 0, station 1 poll.
SYN, "BB01", ENQ, ! entry 1, station 2 poll.
SYN, "CC01", ENQ, ! entry 2, station 3 poll.
SYN, "aa01", ENQ, ! entry 3, station 1 select.
SYN, "bb01", ENQ, ! entry 4, station 2, device 1
! select.
SYN, "bb02", ENQ, ! entry 5, station 2, device 2
! select.
SYN, "cc01", ENQ, ! entry 6, station 3, device 1
! select.
SYN, "cc02", ENQ]; ! entry 7, station 3, device 2
! select.
INT .addr^list := @saddr^list '>>' 1; ! redefine as INT array.
CALL DEFINELIST (linefnum,addr^list,addr^size,num^entries,
poll^count,poll^type);
IF < THEN ...