IOSUPFR — Obtain address of the UCB prefix extension segment

Description

Use the IOSUPFR macro to obtain the address of the UCB prefix extension segment. To map the UCB prefix extension segment, use the IOSDUPFX mapping macro.

UCBLOOK and IOSUPFA macros also provide this function. However, IOSUPFR provides an alternative for passing parameters (that is, in general purpose register (GPR) 1 rather than in a parameter list). 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

None.

Input register information

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

Before issuing the IOSUPFR 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 prefix 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 IOSUPFR macro is written as follows:

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