HP OpenVMS Systems

ask the wizard
Content starts here

BREAK processing? (Terminal Emulator)

» close window

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.

answer written or last revised on ( 3-JAN-2000 )

» close window