IOSCMXR — Obtain address of the UCB common extension segment

Description

Use the IOSCMXR macro to obtain the address of the unit control block (UCB) common extension segment. To map the UCB common extension segment, use the UCBCMEXT DSECT of the IEFUCBOB mapping macro.

Note: If you supply a captured UCB as input, you receive the address of the captured UCB common extension segment.

UCBLOOK and IOSCMXA macros also provide this function. However, IOSCMXR provides an alternative for passing parameters (that is, in general purpose register (GPR) 1 rather than in a parameter list). Also, UCBLOOK returns only actual, not captured, UCB addresses. For guidance about obtaining UCB information, see z/OS MVS Programming: Authorized Assembler Services Guide.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Problem state and any PSW key.
Dispatchable unit mode: Task or SRB
Cross memory mode: Any PASN, any HASN, any SASN
AMODE: 24- or 31-bit
ASC mode: Primary
Interrupt status: Enabled or disabled for I/O and external interrupts.
Locks: The caller may hold locks, but is not required to hold any.
Control parameters: None.

Programming requirements

The caller must pass a valid captured or actual UCB address.

The caller must pin the UCB or otherwise guarantee that the UCB will not be dynamically deleted.

The caller must supply recovery to handle any unexpected errors, such as abends.

Restrictions

If you input a captured UCB address, the UCB must be captured in the primary address space.

Input register information

Before issuing the IOSCMXR macro, the caller must ensure that the following general purpose registers (GPRs) contain the specified information:
Register
Contents
1
Address of UCB common segment of the UCB

Before issuing the IOSCMXR macro, the caller does not have to place any information into any access register (AR).

Output register information

When control returns to the caller, the GPRs contain:
Register
Contents
0
Used as a work register by the system.
1
Address of the UCB common extension
2-13
Unchanged
14-15
Used as work registers by the system.
When control returns to the caller, the ARs contain:
Register
Contents
0-15
Unchanged

Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.

Performance implications

None.

Syntax

The standard form of the IOSCMXR macro is written as follows:

Syntax Description
   
   name name: symbol. Begin name in column 1.
   
One or more blanks must precede IOSCMXR.
   
IOSCMXR  
   
One or more blanks must follow IOSCMXR.
   
MF=(S) Default: S
   

Parameters

The parameters are explained as follows:

MF=(S)
Specifies the standard form of the macro. This parameter is optional.

ABEND codes

None.

Return and reason codes

None.