VMS Help
System Services, $JOIN RM
*Conan The Librarian
|
Adds a new Resource Manager (RM) participant to a transaction.
Format
SYS$JOIN_RM [efn] ,[flags] ,iosb ,[astadr] ,[astprm] ,rm_id
[,[tid] ,[part_name] ,[rm_context] ,[timout]
,[bid]]
C Prototype
int sys$join_rm (unsigned int efn, unsigned int flags, struct
_iosb *iosb, void (*astadr)(__unknown_params),
int astprm, unsigned int rm_id,...);
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 these option
flags described in $JOIN_RM Option Flags. All undefined bits must
be 0. If this argument is omitted, no flags are used.
Table SYS-22 $JOIN_RM Option Flags
Flag Name Description
DDTM$M_ Set this flag to specify that the new RM
COORDINATOR participant is to be a coordinator of the
transaction on this node.
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 that is 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 $JOIN_RM service.
astprm
OpenVMS usage:user_arg
type: longword (unsigned)
access: read only
mechanism: by value
The AST parameter that is passed to the AST routine specified by
the astadr argument.
rm_id
OpenVMS usage:identifier
type: longword (unsigned)
access: read only
mechanism: by value
The identifier of the RMI with which the new RM participant is
associated. This identifies:
o Types of event that are to be reported to the new RM
participant.
o Event handler to which these event reports are to be
delivered, and the access mode in which its ASTs are to be
fired.
o Minimum access mode that the new RM participant must be in to
acknowledge one of these event reports by calling $ACK_EVENT.
o Whether or not the DECdtm transaction manager may log
information about the new RM participant.
tid
OpenVMS usage:trans_id
type: octaword (unsigned)
access: read only
mechanism: by reference
The identifier (TID) of the transaction to which the new RM
participant is to be added.
If this argument is omitted (the default) or its value is zero,
$JOIN_RM adds an RM participant to the default transaction of the
calling process.
part_name
OpenVMS usage:char_string
type: character-coded text string
access: read only
mechanism: by descriptor-fixed-length string descriptor
The name of the new RM participant.
Used by recoverable resource managers to specify the RM
participant to use in a subsequent call to $GETDTI or $SETDTI
during recovery.
This argument has no effect if the RMI is volatile. If this
argument is omitted (the default) or its value is zero, the name
of the new RM participant is the same as that of the RMI with
which it is associated.
The string passed in this argument can be no longer than 32
characters.
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.
rm_context
OpenVMS usage:userarg
type: longword (unsigned)
access: read only
mechanism: by value
The context associated with the new RM participant. This is
passed in the event reports subsequently delivered to the new
RM participant.
If this argument is omitted (the default) or is zero, the context
associated with the new RM participant is the same as that of the
RMI with which it is associated.
timout
OpenVMS usage:date_time
type: quadword (unsigned)
access: read only
mechanism: by reference
Reserved to HP.
bid
OpenVMS usage:branch_id
type: octaword (unsigned)
access: write only
mechanism: by reference
The identifier of an authorized branch (BID) that may be added
to the transaction by a subsequent call to $START_BRANCH on the
same node as that of the RMI. This argument is ignored if the
DDTM$M_COORDINATOR flag is clear in the flags argument. The call
to $START_BRANCH should specify the node of the RMI for the tm_
name argument.