VMS Help
System Services, $END BRANCH
*Conan The Librarian
|
Removes a branch from a transaction and returns the outcome of
the transaction.
Format
SYS$END_BRANCH [efn] ,[flags] ,iosb ,[astadr] ,[astprm] ,tid
,bid
C Prototype
int sys$end_branch (unsigned int efn, unsigned int
flags, struct _iosb *iosb, void
(*astadr)(__unknown_params), int astprm,
unsigned int tid [4], unsigned int bid
[4]);
efn
OpenVMS usage:ef_number
type: longword (unsigned)
access: read only
mechanism: by value
Number of the event flag 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 $END_BRANCH Option Flags. All undefined bits
must be 0. If this argument is omitted, no flags are used.
Table SYS-14 $END_BRANCH Option Flags
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.
DDTM$M_ Indicates that the service should return to the
NOWAIT caller without waiting for final cleanup. Note
that $END_BRANCHW with the DDTM$M_NOWAIT flag
set is not equivalent to $END_BRANCH. The latter
returns when the operation has been queued. The
former does not return until the operation has
been initiated. The full range of status values
may be returned from a nowait call.
iosb
OpenVMS usage:io_status_block
type: quadword (unsigned)
access: write only
mechanism: by reference
The I/O status block in which the following information is
returned:
o The completion status of the service. This is returned as a
condition value. See the Condition Values Returned section for
more information.
o The outcome of the transaction. If the service completes
successfully, the outcome of the transaction is commit. If
it returns SS$_ABORT, the outcome of the transaction is abort.
o An abort reason code that gives one reason why the transaction
aborted, if the completion status of the service is SS$_ABORT.
The $DDTMMSGDEF macro defines symbolic names for these abort
reason codes. See $ACK_EVENT for a list of the codes that are
currently defined.
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 $END_BRANCH
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.
tid
OpenVMS usage:trans_id
type: octaword (unsigned)
access: read only
mechanism: by reference
The identifier (TID) of the transaction from which the branch is
to be removed.
bid
OpenVMS usage:branch_id
type: octaword (unsigned)
access: read only
mechanism: by reference
The identifier (BID) of the branch to be removed from the
transaction.