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


Description

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

The COFNOTIF macro allows an application using VLF to notify VLF that some set of VLF objects is no longer valid because of changes to the permanent data. Before issuing COFNOTIF, or any VLF macro, you need to understand the information on using the virtual lookaside facility (VLF) that appears in z/OS MVS Programming: Authorized Assembler Services Guide.

You can issue COFNOTIF to notify VLF about the following kinds of changes:
  • One or more major names have been deleted. You must specify FUNC=DELMAJOR and MAJLIST.

    You might need to specify MAJNUM and MAJLEN, and you also might need to specify CLASS.

  • One or more minor names have been changed. You must specify FUNC=DELMINOR (for a deletion), FUNC=ADDMINOR (for an addition), or FUNC=UPDMINOR (for a change). You must also specify MAJOR and MINLIST.

    You might need to specify MINNUM and MINLEN, and you also might need to specify CLASS.

  • A volume is no longer in use. You must specify FUNC=PURGEVOL and VOLUME.

Note that an update to a minor name with one or more alias names means that you must specify the minor name and each alias name. VLF views each alias name as a separate minor name and thus needs to know about the update under each name.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Supervisor state, with PSW key 0-7
Dispatchable unit mode: Task or SRB
Cross memory mode: Any PASN, any HASN, any SASN
AMODE: 24- or 31-bit
ASC mode: Primary or access register (AR)
Interrupt status: Enabled for I/O and external interrupts
Locks: No locks held
Control parameters: Must be in the primary address space

Programming requirements

None.

Restrictions

None.

Input register information

Before issuing the COFNOTIF macro, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register.

Output register information

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

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 COFNOTIF macro is written as follows:

Syntax Description
   
    name name: Symbol. Begin name in column 1.
   
One or more blanks must precede COFNOTIF
   
COFNOTIF  
   
One or more blanks must follow COFNOTIF
   
FUNC=DELMAJOR  
FUNC=DELMINOR  
FUNC=ADDMINOR  
FUNC=UPDMINOR  
FUNC=PURGEVOL  
   
    ,MAJLIST=majlist majlist: Rx-type address or register (2) - (12).
  You must specify MAJLIST=majlist when you specify FUNC=DELMAJOR.
   
    ,MAJNUM=majnum majnum: Rx-type address or register (2) - (12).
   
    ,MAJLEN=majlen majlen: Rx-type address or register (2) - (12).
   
    ,MAJOR=major major. Rx-type address or register (2) - (12).
  You must specify MAJLIST=major when you specify FUNC=DELMINOR, FUNC=ADDMINOR, or FUNC=UPDMINOR.
   
    ,MINLIST=minlist minlist. Rx-type address or register (2) - (12).
  You must specify MINLIST=minlist when you specify FUNC=DELMINOR, FUNC=ADDMINOR, or FUNC=UPDMINOR.
   
    ,MINNUM=minnum minnum: Rx-type address or register (2) - (12).
   
    ,MINLEN=minlen minlen: Rx-type address or register (2) - (12).
   
    ,VOLUME=volume volume: Rx-type address or register (2) - (12).
   
    ,CLASS=class class: Rx-type address or register (2) - (12).
   
    ,RETCODE=retcod retcod: Rx-type address or register (2) - (12).
   
    ,RSNCODE=rsncod rsncod: Rx-type address or register (2) - (12).
   

Parameters

The parameters of the standard form are explained as follows:

FUNC=DELMAJOR
FUNC=DELMINOR
FUNC=ADDMINOR
FUNC=UPDMINOR
FUNC=PURGEVOL
Is a required parameter that indicates the nature of the change that you are reporting. The meaning of each value is as follows:
  • FUNC=DELMAJOR specifies that one or more major names have been deleted.
  • FUNC=DELMINOR specifies that one or more minor names have been deleted from a major name.
  • FUNC=ADDMINOR specifies that one or more minor names have been added to a major name.
  • FUNC=UPDMINOR specifies that the objects corresponding to one or more existing minor names have been changed.
  • FUNC=PURGEVOL specifies that a physical storage device has been logically disconnected from the system, or that all of the information on the device has been deleted or replaced.
,MAJLIST=majlist
Identifies the list of major names with which the change is associated. When you specify FUNC=DELMAJOR, you must specify MAJLIST to identify the major name(s) VLF is to delete. If the list contains more than one major name, you must also specify MAJNUM. Each major name in the list must be the same length. If the major name length is not 64, you must also specify MAJLEN.
Use the following structure to specify the major name for a PDS class:
  • 6-character volume serial name (padded with blanks if necessary)
  • PDS name (a maximum of 44 characters), padded with blanks to equal 64 or the MAJLEN value.

For example, assume that you want to delete the major name MYPDS that resides on volume VOL123. Specify VOL123MYPDS, padded with blanks as required.

,MAJNUM=majnum
An optional halfword parameter that contains the number of major names in the major name list. The default is 1.
,MAJLEN=majlen
An optional halfword parameter that contains the length of each input major name. The default is 64.
Note: VLF uses the length you specify to scan the major name list. The length of the significant part of the name (the part VLF uses to search its storage for objects with that major name) depends on the value specified for the major name on the COFDEFIN macro that defined the class. If the COFDEFIN length is greater than the COFNOTIF length, VLF pads the name on the right with blanks.
,MAJOR=major
Identifies the major name associated with the change to one or more minor names. When you specify FUNC=DELMINOR, FUNC=ADDMINOR, or FUNC=DELMINOR, you must specify MAJOR. If the length is not 64, you must also specify MAJLEN.
Use the following structure to specify the major name for a PDS class:
  • 6-character volume serial name (padded with blanks if necessary)
  • PDS name (a maximum of 44 characters), padded with blanks to equal 64 or the MAJLEN value.

For example, assume that you want to delete the major name MYPDS that resides on volume VOL123. Specify VOL123MYPDS, padded with blanks as required.

,MINLIST=minlist
Identifies the list of minor names with which the change is associated. When you specify FUNC=DELMINOR, FUNC=ADDMINOR, or FUNC=UPDMINOR, you must specify MINLIST. If the list contains more than one minor name, you must also specify MINNUM. If the length is not 64, then you must also specify MINLEN. Each name in the list must be the same length.
,MINNUM=minnum
An optional halfword parameter that contains the number of minor names in the minor name list. The default is 1.
,MINLEN=minlen
An optional halfword parameter that contains the length of each name in the input minor name list. The default is 64.
Note: VLF uses the length you specify to scan the minor name list. The length of the significant part of the name (the part VLF uses to search its storage for objects with that minor name) depends on the value specified for the minor name on the COFDEFIN macro that defined the class. If the COFDEFIN length is greater than the COFNOTIF length, VLF pads the name on the right with blanks.
,VOLUME=volume
Specifies the volume serial number of a resource that was logically removed from the system. Specifying VOLUME causes VLF to purge any objects related to the resource identified.

Specify VOLUME only for objects with major names that correspond to PDS names and only when you also specify FUNC=PURGEVOL.

,CLASS=class
Specifies a 7-byte field that identifies the name of the class associated with the change. CLASS is an optional parameter. Specify CLASS only for a non-PDS class. If you omit CLASS or specify a PDS class, VLF assumes that the change being reported applies to all PDS classes.
,RETCODE=retcod
Specifies the location where the system is to store the return code. The return code is also in general purpose register (GPR) 15. If you specify a storage location, it must be on a fullword boundary.
,RSNCODE=rsncod
Specifies the location where the system is to store the reason code. The reason code is also in GPR 0. If you specify a storage location, it must be on a fullword boundary.

ABEND codes

None.

Return and reason codes

When the COFNOTIF macro returns control to your program, GPR 15 (and retcod, if you coded RETCODE) contains one of the following hexadecimal return codes. GPR 0 (and rsncod, if you coded RSNCODE) contains one of the following hexadecimal reason codes.

Table 1. Return and Reason Codes for the COFNOTIF Macro
Hexadecimal Return Code Hexadecimal Reason Code Meaning and Action
00 00 Meaning: Successful completion. VLF now reflects the indicated changes.

Action: None.

02 08 Meaning: No changes to VLF storage were necessary.

Action: None.

02 0C Meaning: The specified class was not defined to VLF. This code is returned only for an input class that does not have a major name to PDS correspondence. No changes to VLF storage occurred.

Action: None.

02 10 Meaning: The specified class is not defined in the active COFVLFxx parmlib member. No changes to VLF storage occurred.

Action: None required.

18 00 Meaning: Program error. The parameter list ALET is either a SASN ALET or is not on the caller's dispatchable unit access list (DU-AL).

Action: Make necessary corrections to ensure that the parameter list ALET is on the dispatchable unit access list (DU-AL) and rerun the program.

18 08 Meaning: Program error. The input major name was qualified using either a SASN ALET or an ALET not on the caller's dispatchable unit access list (DU-AL).

Action: Make necessary corrections to ensure that the major name ALET is on the dispatchable unit access list (DU-AL) and rerun the program.

18 0C Meaning: Program error. The input minor name was qualified using either a SASN ALET or an ALET not on the caller's dispatchable unit access list (DU-AL).

Action: Make necessary corrections to ensure that the minor name ALET is on the dispatchable unit access list (DU-AL) and rerun the program.

1C nnnn Meaning: Program error. An error occurred while accessing a major name in the input major name list; nnnn identifies the list position of the major name that caused the error. COFNOTIF processing terminates.

Action: Check parameters such as MAJNUM and MAJLEN for accuracy. Make necessary corrections and rerun the program.

20 nnnn Meaning: Program error. An error occurred while accessing a minor name in the input minor name list; nnnn identifies the list position of the minor name that caused the error. COFNOTIF processing terminates.

Action: Check parameters such as MINNUM and MINLEN for accuracy. Make necessary corrections and rerun the program.

28 00 Meaning: Environmental error. VLF is not active.

Action: Issue the START VLF command and rerun the program.

2C nnnn Meaning: System error. There was an unexpected error in VLF.

Action: Record the return and reason codes and supply them to the appropriate IBM® support personnel.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014