Use this system macro to permit an entry control block (ECB) program to
call a service routine in the control program (CP) to perform a specific
task.
Format
- FUNCTION
- The name of the CP function to be called. The function name is not
the entry point name in the CP; it is used as an ordinal number to locate
the entry point defined in the branch table in the CPLKC service
routine. The following functions are valid:
- TMSTART
- Creates and initializes a transaction manager control record
(TMCR). No parameter is required for this function.
- TMEND
- Releases the TMCR. No parameter is required for this
function.
- TMSUSPND
- Updates the suspend count in the TMCR. No parameter is required for
this function.
- TMRESUME
- Updates the suspend count in the TMCR. No parameter is required for
this function.
- RMSTART
- Performs the xa_start, flags=TMNOFLAGS process. RMSTART
requires the resource manager ID (RMID) as a parameter.
- RMSUSPND
- Performs the xa_end flags=TMSUSPEND process. RMSUSPND
requires the RMID as a parameter.
- RMRESUME
- Performs the xa_start, flags=TMRESUME process. RMRESUME
requires the RMID as a parameter.
- RMPREP
- Performs the xa_prepare, flags=TMNOFLAGS process. RMPREP
requires the RMID as a parameter.
- RMROLLBK
- Performs the xa_rollback, flags=TMNOFLAGS process.
RMROLLBK requires the RMID as a parameter.
- RMCOMMIT
- Performs the xa_commit, flags=TMNOFLAGS process.
RMCOMMIT requires the RMID as a parameter.
- DBUG_RTN
- Returns to the TPF Assembler Debugger for VisualAge Client intercept
point. No parameter is required for this function.
- CDBUGPER
- Requests the program event recording (PER) facility bracket override for
the TPF Assembler Debugger for VisualAge Client.
- ADD_PET
- Adds the program entry to the PER exclusion table for the TPF Assembler
Debugger for VisualAge Client. The ADD_PET function requires the
program allocation table (PAT) slot address as a parameter.
- REMOVE_PET
- Removes the program entry from the PER exclusion table for the TPF
Assembler Debugger for VisualAge Client. The REMOVE_PET function
requires the PAT slot address as a parameter.
- SETASMBKPT
- Sets the breakpoint table in the TPF Assembler Debugger for VisualAge
Client.
- ADD_LOB
- Adds a program entry to the load occurrence breakpoint table. The
ADD_LOB function requires an entry structure pointer as a parameter.
- REMOVE_LOB
- Removes a program entry from the load occurrence breakpoint table.
The REMOVE_LOB function requires an entry structure pointer as a
parameter.
- INITASMDBG
- Initializes the TPF Assembler Debugger for VisualAge Client.
- MQPRECMT
- Performs the internal pre_commit function (which performs preliminary
functions necessary for ending the current transaction scope) for an MQSeries
resource manager.
- TMADDCCR
- Adds a commit control record (CCR) to a specified resource manager that is
participating in a transaction. The TMADDCCR function requires a
pointer to the CCR and RMID as parameters.
- PARMLIST
- An optional parameter list is defined by each function. The CPLKC
service routine will not verify the parameter list.
Entry Requirements
R9 must contain the address of the ECB being processed.
Return Conditions
- Control is returned to the next sequential instruction.
- The contents of R0-R7 are preserved across this macro call.
The contents of all other registers are unknown.
- The condition code (CC) is not preserved across the macro call.
- The macro service routine will set R14 to contain a hexadecimal return
code that can be used by the calling program. Return conditions may
vary depending on the function requested. See the TPF C/C++ Language Support User's Guide for more
information about the xa_start, xa_end,
xa_prepare, xa_commit, xa_rollback, and
xa_recover C functions and the related return codes.
- A return code is not set for the DBUG_RTN, ADD_PET, and REMOVE_PET
functions.
- A return code of 0 for the ADD_LOB function means that the entry was added
successfully to the load occurrence breakpoint table. A return code of
1 for the ADD_LOB function means that the entry was not added to the load
occurrence breakpoint table because the entry is already in the table.
A return code of 2 means there is not enough heap storage to add another
entry.
- A return code of 1 for the REMOVE_LOB function means that the entry was
not found in the load occurrence breakpoint table. The entry structure
contains the entry that was removed.
Programming Considerations
This macro can be run from any I-stream.
Examples
The following shows an example of a process using commit processing.
.
CPLKC FUNCTION=TMSTART
.
.