IOSCAPF — Obtain the actual address of a captured UCB

Description

Use the IOSCAPF macro to obtain the actual address of a specified captured unit control block (UCB) address. A captured UCB is a below 16 megabyte view of an above 16 megabyte UCB. The IOSCAPU macro performs the same function and provides input parameter validation, recovery, and environmental checking. IOSCAPF provides an alternative for passing parameters (that is, in register 1 rather than in a parameter list). IOSCAPU enables you to specify the address of a UCB in another address space. With IOSCAPF, the specified UCB must reside in the current address space.

For information about accessing an above 16 megabyte UCB, 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 for READ type calls; Supervisor state and any PSW key for CREATE, UPDATE, and DELETE calls.

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 pin the UCB or otherwise guarantee that the UCB will not be deleted.

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

Restrictions

Only use IOSCAPF to translate a captured UCB address that was captured in your primary address space.

Input register information

Before issuing the IOSCAPF 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 captured UCB

Before issuing the IOSCAPF 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 segment of the actual UCB
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 IOSCAPF macro is written as follows:

Syntax Description
   
   name name: symbol. Begin name in column 1.
   
One or more blanks must precede IOSCAPF.
   
IOSCAPF  
   
One or more blanks must follow IOSCAPF.
   
   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.