z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


AXFRE — Free authorization index

z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN
SA23-1372-00

Description

The AXFRE macro returns one or more authorization index (AX) values to the system. The AX value can be used as an extended authorization index (EAX) value. The caller must ensure that the AXs to be returned are no longer being used by any address space as an AX or an EX; otherwise, the caller abnormally terminates. On completion of the AXFRE macro, all authorization of the freed AX values in authorization tables for the entire system are purged. The caller must be dispatched in the address space that owns the AX.

Related macros

AXEXT, ATSET, AXRES, and AXSET

Environment

These are the requirements for the caller:

Environmental factor Requirement
Minimum authorization: Supervisor state or PKM = 0 to 7
Dispatchable unit mode: SRB or task
Cross memory mode: PASN=HASN
AMODE: Any
ASC mode: Primary
Interrupt status: Enabled for I/O and external interrupts
Locks: No locks held
Control parameters: For callers in primary mode, control parameters must be in the primary address space.
   

Register 13 must point to a standard register save area addressable in primary mode.

Programming requirements

When the macro is issued, the list of AX values passed to the AXFRE macro must be addressable in primary mode.

Restrictions

None.

Input register information

The AXFRE macro is sensitive to the SYSSTATE macro with the OSREL=ZOSV1R6 parameter
  • If the caller has issued the SYSSTATE macro with the OSREL=ZOSV1R6 parameter (Version 1 Release 6 of z/OS® or later) before issuing the AXFRE macro, the caller does not have to place any information into any general purpose register (GPR) unless using it in register notation for a particular parameter, or using it as a base register.
  • Otherwise, the caller must ensure that the following general purpose register contains the specified information:
    Register
    Contents
    13
    The address of an 18-word save area

Output register information

After the caller issues the macro, the macro might use some registers as work registers or might change the contents of some registers. When the macro returns control to the caller, the contents of these registers are not the same as they were before the macro was issued. Therefore, if the caller depends on these registers containing the same value before and after issuing the macro, the caller must save these registers before issuing the macro and restore them after the system returns control.

When control returns to the caller, the general purpose registers (GPRs) contain:
Register
Contents
0-1
Used as work registers by the macro
2-13
Unchanged
14
Used as a work register by the macro
15
Return code

Performance implications

None.

Syntax

This is the standard form of the AXFRE macro:

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
One or more blanks must precede AXFRE.
   
AXFRE  
   
One or more blanks must follow AXFRE.
   
AXLIST=list addr list addr: RX-type address or register (0) - (12).
   
   ,RELATED=value value: Any valid macro keyword specification.
   

Parameters

These are the parameters:

AXLIST=list addr
Specifies the address of a variable length list of halfword entries that contain the AX values to be freed. The first halfword must contain the number of values in the list.
,RELATED=value
Specifies information used to self-document macros by “relating” functions or services to corresponding functions or services. The format and contents of the information specified are at the discretion of the user and can be any valid coding values.

ABEND codes

  • 052
  • 053

See z/OS MVS System Codes for an explanation and programmer responses for these codes.

Return codes

When AXFRE macro returns control to your program, GPR 15 contains a return code.

Table 1. Return Codes for the AXFRE Macro
Hexadecimal Return Code Meaning and Action
00 Meaning: The specified authorization index or indexes are successfully freed.

Action: None.

04 Meaning: The specified authorization index or indexes are not successfully freed. One or more of the indexes are unavailable for use.

Action: None required. However, do not attempt to reuse these indexes.

Examples

For examples of the use of this and other cross memory macros, refer to the chapter on cross memory communication in z/OS MVS Programming: Extended Addressability Guide.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014