The TPU$SIGNAL routine allows applications and user-written TPU
routines such as FILEIO to easily signal error messages in order
for TPU error handlers to perform correctly.
Format
TPU$SIGNAL condition-code
1 – Returns
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
Longword condition value. In most cases, the routine returns
either the same signal passed to it in the condition value
argument, or the return value of LIB$SIGNAL. If the routine
fails, it signals TPU$_FAILURE and returns control to the caller.
2 – Argument
condition-code
OpenVMS usage: cond_value
type: longword (unsigned)
access: read only
mechanism: by value
The condition-code is an unsigned longword that contains the
condition code to be signaled. In most cases, this argument is a
TPU message code.
3 – Description
TPU$SIGNAL performs the same function as the Run-Time Library
routine LIB$SIGNAL, but it also processes TPU facility messages
to allow TPU language ON_ERROR handlers to be called.
For example, assume that a user-written file input/output routine
is designed to signal the error TPU$_OPENIN when it fails to
open a file. Calling the TPU$SIGNAL routine and passing the value
TPU$_OPENIN allows a case-style TPU ON_ERROR handler to receive
the error, thus preserving the documented return values for TPU
built-in procedures such as READ_FILE.
NOTE
You must call TPU$INITIALIZE before you call the TPU$SIGNAL
routine.
If TPU$_QUITTING, TPU$_EXITING, or TPU$_RECOVERFAIL are passed to
the routine, it calls the Run-Time Library routine LIB$SIGNAL.
If facility messages other than TPU messages are passed to the
TPU$SIGNAL routine, it calls the LIB$SIGNAL routine and passes
the appropriate condition value.