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
TINET Multipoint Supervisor Protocol
Envoy Application Programming Manual—427159-001
8-40
Steps of Example Program
Example 8-15. Program Code for TINET Multipoint Supervisor (Page 8 of 13)
! This procedure controls each task. It is called during
! startup, once for each task, to establish each task’s data
! area. All control information pertaining to a given
! terminal is kept in this procedure’s local data area.
! Therefore, each terminal’s environment is maintained
! separately from the other’s.
!
! The basic action of this procedure is:
! 1. Write the tutorial mask to the terminal (write^line).
! 2. Call poll^line to initiate polling.
! 3. When the terminal associated with the task responds with
! data, perform credit checking (check^credit) and
! prepare the appropriate response:
!
! -If an invalid field was entered, a partial tutorial
! mask message is prepared.
!
! -If all fields are valid, then the appropriate response
! message is prepared.
! * Write the response or partial tutorial mask
! (write^line).
!
! -If a response is written, the next action is step 1.
! -If a partial tutorial mask is written, the next action
! is step 2.
!
PROC task (id);
INT id; ! address-list entry number (and task control
! block number).
BEGIN
INT l = ’L’,
s = ’S’,
.in^buffer [ 0 : in^max ],
.out^buffer [ 0 : out^max ],
count^read,
send^full^mask,
validate,
message^len;
STRING
.acctnum [ 0 : acctnum^fl - 1 ],
.banknum [ 0 : banknum^fl - 1 ],
.expdate [ 0 : expdate^fl - 1 ],
.refnum [ 0 : refnum^fl - 1 ],
.trancode [ 0 : trancode^fl - 1 ],
.amount [ 0 : amount^fl - 1 ],
.sin^buffer := @in^buffer ’<<’ 1,
.sout^buffer := @out^buffer ’<<’ 1,
.message [ 0: 23 ],
.sp;