HPlogo Asynchronous Serial Communications Programmer's Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 8 Intrinsics Reference

FCONTROL(28, 29)

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Glossary

 » Index

Parameters

controlcode

28 — Disables User Block Mode.

29 — Enables User Block Mode.

param

16-bit unsigned integer by reference (required)

This parameter has no meaning for these controlcode values. Enter a dummy value of 0 to satisfy the internal requirements of the intrinsic.

Notes

A call to FCONTROL with a controlcode value of 29 enables user block mode processing, while a call using controlcode 28 disables user block mode processing.

Under system default conditions block mode processing occurs through a method called HP block mode. In HP block mode the system controls the block mode handshake and the user program need not concern itself with data transfer protocol. The MPE/iX host transmits the normal read trigger character, a DC1, to inform the terminal that the system is ready to receive data. The terminal responds by sending a DC2 character, which informs the system that the next data transfer will be a block mode transmission. The terminal then waits for the host to send back a second DC1 to trigger the read.

When user block mode is enabled it becomes possible for your program to intervene in the handshake. A user block mode transaction begins in the same way an HP block mode transaction begins, with host transmission of a DC1. At this point, the user application takes over control of the handshake and waits for the DC2. Your program can then perform additional terminal control functions, such as positioning the terminal cursor, performing status requests, or allocating additional space for buffers before continuing with the data transfer. When your program is ready to receive the block mode data, it must issue an additional read. This read will actually result in a DC1 being sent, thereby completing the handshake.

Some additional considerations apply when transmitting data in block mode. The terminal must be configured to perform in a manner compatible with the expectations of the system and the application requesting the block mode transfers. You should pay particular attention to how Line/Page(D), InhHndShk(G) and Inh DC2(H) are set when configuring a terminal for block mode processing.

Block mode processing is not supported with terminal type 18.

User block mode is not supported on terminals connected through DTC Telnet, Telnet/iX (from an HP-UX Telnet client) or VT (from an HP-UX local client (VT3K)). If posted to a device connected via DTC Telnet, these calls will return a CCE condition code, but no device control action will occur.

NOTE: Data overruns may occur during block mode transfers. Your program must check for successful completion of each read operation and retry as required. Use of timers during block mode reads is strongly encouraged, since a data overrun occurring when the last character is read would otherwise cause the port to "hang". The standard block mode read timer does not operate when user block mode protocol is enabled.

Condition Codes

CCE

Request granted.

CCG

Not returned by this intrinsic.

CCL

Failed because the file number specified did not belong to this process or the device is not a terminal.

Additional Discussion

See the reference manuals for the terminals connected to your system.

Feedback to webmaster