Envoy Application Programming Manual

Table Of Contents
Software Concepts
Envoy Application Programming Manual427159-001
2-16
Station Addresses
Station Addresses
Each tributary station is identified by two types of addresses: a poll address and a select
address. The poll address specifies the address that must be transmitted to solicit data
from a station (note that a Compaq system acting as a tributary station can have several
poll addresses). The select address specifies the address that must be transmitted to send
data to the station (note that a Compaq system acting as a tributary station can have
several select addresses).
Each Compaq application process acting as a multipoint station must provide an address
list to Envoy. In the supervisor station, the address list consists of the poll address of any
stations to be polled followed by the select addresses of those stations. In a tributary
station, the address list contains the poll addresses and select addresses to which the
station will respond.
In both types of stations, the general form of an address list is:
poll address
.
.
select address
.
.
You define an address list by issuing a call to the DEFINELIST procedure. The address
list, which is passed in the form of an array, must be defined after the line is opened but
before the first call to READ or WRITE.
For a supervisor station, the address list contains the addresses of stations to be polled
and selected. The address list for the supervisor station A in Figure 2-4, Multipoint
Connection, on page 2-15, is shown in Example 2-5 as follows:
Example 2-5. Address List for Supervisor Station A
LITERAL syn = %26, ! ascii SYN character.
enq = %5; ! ascii ENQ character.
STRING .saddrlist[0:23] :=
[ syn, “BPOL”, enq, ! station “B” poll address.
syn, “CPOL”, enq, ! station “C” poll address.
syn, “2SEL”, enq, ! station “B” select address.
syn, “3SEL”, enq ]; ! station “C” select address.
INT linename [0:11] := [“$LINE3”,9*[“ ”]],
linefnum,
.addrlist := @saddrlist ’>’ 1;
CALL OPEN (linename, linefnum);
.
.
.
CALL DEFINELIST(linefnum,addrlist,3,4,2,0);