The TPU$SPECIFY_ASYNC_ACTION routine allows applications using
the TPU full callable interface to register asynchronous
actions with TPU.
Format
TPU$SPECIFY_ASYNC_ACTION facility_index [,tpu_statement]
1 – Returns
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
Longword condition value. Most utility routines return a
condition value in R0. Condition values that this routine can
return are listed under Condition Values Returned.
2 – Argument
facility_index
OpenVMS usage:longword_unsigned
type: longword (signed)
access: read only
mechanism: by reference
Represents an index of the asynchronous action. This index is
used with the TPU$TRIGGER_ASYNC_ACTION routine to let TPU know
what action to perform. It may also be used to delete an action
routine (by omitting the tpu_statement). You may register several
asynchronous actions depending on your application's needs. This
facility index number may be any positive integer.
tpu_statement
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
The TPU statement you want executed when you call the
TPU$TRIGGER_ASYNC_ACTION routine. The statement is compiled and
then stored internally. If you omit the parameter, TPU removes
the action from its list of asynchronous events.
3 – Description
The TPU$SPECIFY_ASYNC_ACTION routine, along with TPU$TRIGGER_
ASYNC_ACTION, allow applications to interrupt TPU after
calling TPU$CONTROL. The specified TPU statement is compiled
and saved.
This routine must be called after TPU$INITIALIZE. It will not
complete successfully if keystroke journaling is enabled.
4 – Condition Values Returned
TPU$_SUCCESS Normal successful completion.
TPU$_COMPILEFAIL The code specified in tpu_statement did not
compile successfully.
TPU$_INVPARM An invalid parameter was passed.
TPU$_JNLACTIVE Keystroke journaling is active. This routine
requires that either journaling be turned off
or that buffer change journaling be used.