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-36
Steps of Example Program
Example 8-15. Program Code for TINET Multipoint Supervisor (Page 4 of 13)
! task definition.
! Each terminal is controlled by a separate "task." Control
! information for a task is kept in its "task control
! block." A task control block entry (and, therefore, a
! task is referenced by its "id"; a task’s id is the same as
! the corresponding terminal’s address-list entry number in
! the poll list.
LITERAL
cb^len = 6, ! task control block entry length.
in^max = 32, ! task’s inbuffer size.
out^max = 32, ! task’s outbuffer size.
call^space = 32; ! space for nonsystem calls.
! task control block definition.
INT .term^cb[ -cb^len : poll^count * cb^len - 1 ];
DEFINE
return^p = term^cb[ id * cb^len + 0 ]#, ! return p entry.
return^e = term^cb[ id * cb^len + 1 ]#, ! return e entry.
return^l = term^cb[ id * cb^len + 2 ]#, ! return l entry.
buf^addr = term^cb[ id * cb^len + 3 ]#, ! buffer address.
cnt^addr = term^cb[ id * cb^len + 4 ]#, ! count address.
term^state = term^cb[ id * cb^len + 5 ]#; ! terminal state.
! miscellaneous task control.
INT start, ! process in task-startup phase.
task^space, ! task’s local area size.
system^call^base; ! S register setting for system calls.
! stack marker definition.
LITERAL
stack^p = -2,
stack^e = -1,
stack^l = 0;
?NOLIST
?SOURCE $SYSTEM.SYSTEM.EXTDECS (ABEND, AWAITIO, DEBUG,
? CHANGELIST, CONTROL,
? DEFINELIST, FILEINFO, OPEN,
? READ, WRITE, WRITEREAD)
?LIST