Library /sys$common/syshlp/helplib.hlb  —  System Services, $SETDTI
    The Set Distributed Transaction Information service removes
    resource managers from transactions. It can also be used to
    modify transaction states.

    Format

      SYS$SETDTI  [efn], [flags], iosb, [astadr], [astprm], [contxt],

                  func, itmlst

    C Prototype

      int sys$setdti  (unsigned int efn, unsigned int flags, struct

                      _iosb *iosb, void (*astadr)(__unknown_params),

                      int astprm, unsigned int *contxt, unsigned

                      short int *func, void *itmlst);

1  –  Arguments

 efn

    OpenVMS usage:ef_number
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Number of the event flag that is set when the service completes.
    If this argument is omitted, event flag 0 is used.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Flags specifying options for the service. The flags argument is
    a longword bit mask in which each bit corresponds to an option
    flag. The $DDTMDEF macro defines symbolic names for the option
    flag described in $SETDTI Operation Flag. All undefined bits must
    be 0. If this argument is omitted, no flags are used.

    Table SYS-23 $SETDTI Operation Flag

    Flag Name      Description

    DDTM$M_SYNC    Specifies successful synchronous completion by
                   returning SS$_SYNCH. When SS$_SYNCH is returned,
                   the AST routine is not called, the event flag is
                   not set, and the I/O status block is not filled
                   in.

 iosb

    OpenVMS usage:io_status_block
    type:         quadword (unsigned)
    access:       write only
    mechanism:    by reference
    The I/O status block in which the completion status of the
    service is returned as a condition value.

    Refer to the HP OpenVMS System Services Reference Manual to view
    the I/O status block diagram.

 astadr

    OpenVMS usage:ast_procedure
    type:         procedure entry mask
    access:       call without stack unwinding
    mechanism:    by reference
    The AST routine executed when the service completes, if SS$_
    NORMAL is returned in R0. The astadr argument is the address of
    the entry mask of this routine. The routine is executed in the
    same access mode as that of the caller of the $SETDTI service.

 astprm

    OpenVMS usage:user_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    The AST parameter passed to the AST routine specified by the
    astadr argument.

 contxt

    OpenVMS usage:contxt
    type:         longword (unsigned)
    access:       modify
    mechanism:    by reference
    Context value obtained from a call to $GETDTI. It implicitly
    specifies a node and transaction manager log identifier.

 func

    OpenVMS usage:function_code
    type:         word (unsigned)
    access:       read only
    mechanism:    by value
    Function modifier that specifies the set operation to be
    performed. The func argument is a longword value containing the
    function code.

    $SETDTI Function Codes lists the available function codes:

    Table SYS-24 $SETDTI Function Codes

    Function           Description

    DTI$K_DELETE_RM_   Deletes the resource manager specified in
    NAME               itmlst item DTI$_TRANSACTION_INFORMATION,
                       DTI$T_PART_NAME from the transaction specified
                       by DTI$_TRANSACTION_INFORMATION, DTI$T_TID.
    DTI$K_DELETE_      Deletes the transaction specified by itmlst
    TRANSACTION        item DTI$_TRANSACTION_INFORMATION, DTI$T_TID.
    DTI$K_MODIFY       Modifies the transaction specified by itmlst
    STATE              item DTI$_TRANSACTION_INFORMATION, DTI$T_TID,
                       using the transaction state specified in DTI$_
                       B_STATE.

 itmlst

    OpenVMS usage:item_list_3
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Item list specifying the transaction information that $SETDTI
    is to use. The itmlst argument is the address of a list of item
    descriptors, each of which describes an item of information. The
    list of item descriptors is terminated by a longword of 0. Each
    item descriptor in the item list acts as an input argument to
    $SETDTI and as such is only required to be read only.

    Refer to the HP OpenVMS System Services Reference Manual to view
    the single item descriptor format.

    The following table describes the itmlst item descriptor fields:

    Field          Description

    Buffer         A word containing a user-supplied integer
    length         specifying the length (in bytes) of a buffer from
                   which $SETDTI is to read the information. The
                   length of the buffer needed depends on the item
                   code specified in the item code field of the item
                   descriptor. If the value of buffer length is too
                   small, $SETDTI will return an error status.
    Item code      A word containing a user-supplied symbolic code
                   specifying the search item that $SETDTI is to use.
                   The $DTIDEF macro defines these codes. Each item
                   code is described in the Item Codes section.
    Buffer         A longword containing the user-supplied address
    address        of the buffer from which $SETDTI reads the item
                   information.
    Return         This longword that is not used in the item list as
    length         all items are read-only.
    address

2  –  Item Codes

 DTI$_TRANSACTION_INFORMATION

    When you specify DTI$_TRANSACTION_INFORMATION, $SETDTI uses the
    fields in the following table to perform the $SETDTI call. Each
    function requires a specific set of fields from the transaction
    record to perform its operation. If one or more of these fields
    is not present or valid, then the $SETDTI call will fail. The
    fields required by each function are listed in the func argument
    description.

    Item               Description

    DTI$B_PART_NAME_   A byte containing the length of the
    LEN                participant name field DTI$T_PART_NAME.
    DTI$B_STATE        A byte containing the state of the
                       transaction. Two states are valid: DTI$K_
                       COMMITTED and DTI$K_ABORTED.
    DTI$T_PART_NAME    A character field containing DTI$B_PART_
                       NAME_LEN characters that specifies a resource
                       manager name.

                       To ensure smooth operation in a mixed-network
                       environment, refer to the chapter entitled
                       Managing DECdtm Services in the HP OpenVMS
                       System Manager's Manual, for information on
                       defining node names.
    DTI$T_PART_LOG_ID  Reserved by HP.
    DTI$T_TID          A 16-byte field containing the transaction
                       identifier.
Close Help