 |
The Question is:
I have been unsuccessful in trying to disable the BREAK key (F5) from
OpenVMS. I am able to get the Reflection Terminal to disable the BREAK by
either de-selecting the "ENABLE BREAK" option or de-mapping the BREAK key
from the reflections mapping tool, bu
t I need to do it from VMS ( and without affecting any other control char
AST's). I was hoping there was something similiar to SET NOCONTROL=Y to
disable the CTRL-Y AST but I couldn't find anything. I then tried using the
LIB$DISABLE_CTRL function, but i
t will only disable CTRL-Y or CTRL-T. My next attempt is to try using the
IO$_SETMODE!IO$M_OUTBAND function in a SYS$QIOW call and passing 0 into P1
to cancel the service. By using Multinet's TCPDUMP, I am pretty sure the the
Out-of-Band control character
(being sent by reflections) for BREAK is %xFF. %xF3 is also passed, but the
terminal driver just displays the character for it (lowercase 'o' with acute
accent). Basically, I want to cancel the AST for the Out-of-Band character
%xFF (If %xFF is actually
correct). If any of this makes sense, am I on the right track? If there is
an easier way to disable the BREAK key from VMS, how do I do it? If I am on
the right track (with SYS$QIOW), can you shed any light on how I should use
the SYS$QIOW call? Any progr
amming I do, will be using VAX-C. Thanks in advance for any help you can
give. I have spent the last week searching for a documented method for
diabling the BREAK key, but I havn't been successful.
The Answer is :
Please see the OpenVMS FAQ for a discussion of the BREAK "character".
(A BREAK "character" is effectively a deliberately-generated serial
line framing error. There is no actual ASCII character associated
with a BREAK, which is why the phrase "BREAK signal" is often used
in various discussions. How the terminal emulator chooses to try
to communicate this -- unless it is via the BREAK signal -- with
the host system is entirely up to the emulator, and OpenVMS itself
is not particularly involved.)
No part of OpenVMS is particularly interested in receiving a BREAK
signal (with the exception of the SECURE_SERVER support -- this is
the SET TERMINAL/SECURE_SERVER command and related), though the same
cannot be said for the console hardware. Certain system consoles are
expressly designed to detect and act on the BREAK signal (or a spurious
serial line framing error) long before the OpenVMS drivers would ever
see the BREAK. This BREAK detection processing is expressly performed
in the console hardware.
The usual mechanism for disabling BREAK involves a console command,
or moving the serial connection off the console. (Some system consoles
use BREAK, some use CTRL/P, some can use both, and a few can select
which. Some can selectively disable BREAK by disabling the processing
of BREAK via the console setup, and all can disable the processing of
BREAK by moving the communications off the serial console line...)
As for the configuration, behaviour, or the particular settings of a
PC terminal emulator, that is outside the usual purview of the OpenVMS
Wizard -- such questions are best directed to the particular Wizard
supporting the PC terminal emulator package.
VAX C was replaced by DEC C (now known as Compaq C) back in 1994.
Please upgrade.
 |
|
|
 |
|