Envoy Application Programming Manual
Table Of Contents
- What’s New in This Manual
- About This Manual
- 1 Application Programming With Envoy
- 7 ADM-2 Multipoint Supervisor Protocol
- 8 TINET Multipoint Supervisor Protocol
- 9 Burroughs Point-To-Point Protocol
- 10 Asynchronous Line Supervisor Protocol
- A ASCII Character Set
- B ASCII to EBCDIC Code Conversion
- C File-System Procedures
- D Statistics Messages
- E S-Series Changes to Envoy
- NonStop™ Himalaya S-Series Server Architecture
- G-Series Migration Considerations
- CBSENSEON and CFSENSEON Modifiers
- LEOTRESYN and NOLEOTRESYN Modifiers
- Treatment of Characters After the Termination Character
- Number of SYN Characters
- DTR Drop
- Reporting of Parity Error
- Half-Duplex Support for Asynchronous Lines
- Controller Replacement
- SYSGEN and COUP
- Unit Numbers
- FDX Line Changes
- No Support for Auto-Call Unit
- Glossary
- Index
BISYNC Centralized Multipoint Supervisor Protocol
Envoy Application Programming Manual—427159-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 ...