VMS Help  —  DECTPU  TPU$SPECIFY_ASYNC_ACTION
    The TPU$SPECIFY_ASYNC_ACTION routine allows applications using
    the DECTPU full callable interface to register asynchronous
    actions with DECTPU.

    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 DECTPU 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 DECTPU 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, DECTPU 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 DECTPU after
    calling TPU$CONTROL. The specified DECTPU 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.
Close Help