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


REQUEST=ADD option of CSVDYLPA

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

REQUEST=ADD allows you to add one or more modules or aliases to LPA.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Any of the following:
  • Supervisor state
  • PKM 0-7
  • PSW key 0-7
  • APF authorized
  • In addition to any of the above, if SECMODCHECK=YES is specified or defaulted to, issuer must be authorized for UPDATE to the RACF® FACILITY class resource CSVDYLPA.ADD.modname
Users of MODINFOTYPE=MEMBERMASK and ADDALIAS=YES require any of the following:
  • Supervisor state
  • PKM 0-7
  • PSW key 0-7
  • APF authorized
Users of DCB, DCBPTR, MASKDCB, or MASKDCBPTR require any of the following:
  • Supervisor state
  • PKM 0-7
  • PSW key 0-7
  • APF authorized
Dispatchable unit mode: Task
Cross memory mode: PASN=HASN=SASN
AMODE: 31-bit
ASC mode: Primary or access register (AR)
Interrupt status: Enabled for I/O and external interrupts
Locks: The caller must not be locked.
Control parameters: Control parameters must be in the primary address space or, for AR-mode callers, must be in an address/data space that is addressable through a public entry on the caller's dispatchable unit access list (DU-AL).

The user-provided data set name via the DSNAME parameter has the same requirements and restrictions as the control parameters.

The user-provided information via the MODINFO parameter has the same requirements and restrictions as the control parameters.

The user-provided information through the PATHNAME parameter has the same requirements and restrictions as the control parameters.

Programming requirements

The caller should include the CSVLPRET macro to get equate symbols for the return and reason codes.

The caller must include the CSVLPRET macro to get a mapping of the input/output area provided via the MODINFO

The caller may hold the system ENQ resource with QNAME SYSZCSV and RNAME CSVDYLPA in the exclusive state. While this ENQ resource is held, any other requests to use the CSVDYLPA services to ADD or DELETE will be delayed. The ENQ resource must not be held in the shared state when using CSVDYLPA services parameter.

Restrictions

The caller must not have functional recovery routines (FRRs) established.

Input register information

Before issuing the CSVDYLPA macro, the caller does not need to place any information into any general purpose register (GPR) or access register (AR) 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 GPRs contain:
Register
Contents
0
Reason code if GPR15 is not 0
1
Used as a work register by the system
2-13
Unchanged
14
Used as a work register by the system
15
Return code
When control returns to the caller, the ARs contain:
Register
Contents
0-1
Used as work registers by the system
2-13
Unchanged
14-15
Used as work registers 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 CSVDYLPA macro is written as follows:

Syntax Description
   
   name name: symbol. Begin name in column 1.
   
One or more blanks must precede CSVDYLPA.
   
CSVDYLPA  
   
One or more blanks must follow CSVDYLPA.
   
REQUEST=ADD  
   
  ,MODINFOTYPE=MEMBERLIST  
  ,MODINFOTYPE=MEMBERMASK  
   
  ,MODINFO=modinfo modinfo: RS-type address or address in register (2) - (12)
   
  ,NUMMOD=nummod nummod: RS-type address or address in register (2) - (12)
   
  ,BYADDR=NO Default: BYADDR=NO
  ,BYADDR=YES  
   
  ,BYPATH=NO Default: BYPATH=NO
  ,BYPATH=YES  
   
  ,PATHNAMELEN=pathnamelen pathnamelen: RS-type address or address in register (2) - (12)
  ,PATHNAME=pathname pathname: RS-type address or address in register (2) - (12)
   
  ,UCBADDR=NO_UCBADDR Default: UCBADDR=NO_UCBADDR
  ,UCBADDR=ucbaddr ucbaddr: RS-type address or address in register (2) - (12)
   
  ,CCHH=NO_CCHH Default: CCHH=NO_CCHH
  ,CCHH=cchh cchh: RS-type address or address in register (2) - (12)
   
  ,DSNAME=dsname dsname: RS-type address or address in register (2) - (12)
  ,DDNAME=ddname ddname: RS-type address or address in register (2) - (12)
  ,DCB=dcb dcb: RS-type address or address in register (2) - (12)
  ,DCBPTR=dcbptr dcbptr: RS-type address or address in register (2) - (12)
  ,PATHNAME=pathname pathname: RS-type address or address in register (2) - (12)
   
  ,MODINFO=modinfo modinfo: RS-type address or address in register (2) - (12)
   
  ,MODINFOX=modinfox modinfox: RS-type address or address in register (2) - (12)
  ,MODINFOX=NO_MODINFOX Default: MODINFOX=NO_MODINFOX
   
  ,MASKDSNAME=maskdsname maskdsname: RS-type address or address in register (2) - (12)
  ,MASKDDNAME=maskddname maskddname: RS-type address or address in register (2) - (12)
  ,MASKDCB=maskdcb maskdcb: RS-type address or address in register (2) - (12)
  ,MASKDCBPTR=maskdcbptr maskdcbptr: RS-type address or address in register (2) - (12)
   
  ,OUTAREAPTR=outareaptr outareaptr: RS-type address or address in register (2) - (12)
   
  ,OUTAREALEN=outarealen outarealen: RS-type address or address in register (2) - (12)
   
  ,OUTAREANUM=outareanum outareanum: RS-type address or address in register (2) - (12)
   
  ,OUTAREASP=outareasp outareasp: RS-type address or address in register (2) - (12)
   
  ,APFREQUIRED=YES Default: APFREQUIRED=YES
  ,APFREQUIRED=NO  
   
  ,SECMODCHECK=YES Default: SECMODCHECK=YES
  ,SECMODCHECK=NO  
   
  ,REQUESTOR=requestor requestor: RS-type address or address in register (2) - (12)
   
  ,MODPROB=CONTINUE Default: MODPROB=CONTINUE
  ,MODPROB=STOP  
   
  ,ERRORDATA=errordata errordata: RS-type address or address in register (2) - (12)
   
  ,ADDALIAS=NO Default: ADDALIAS=NO
  ,ADDALIAS=YES  
   
  ,QUERYONLY=NO Default: QUERYONLY=NO
  ,QUERYONLY=YES  
   
  ,LPMEAQ=lpmeaq lpmeaq: RS-type address or register (2) - (12).
   
  ,RETCODE=retcode retcode: RS-type address or register (2) - (12).
   
  ,RSNCODE=rsncode rsncode: RS-type address or register (2) - (12).
   
  ,PLISTVER=IMPLIED_VERSION Default: PLISTVER=IMPLIED_VERSION
  ,PLISTVER=MAX  
  ,PLISTVER=0  
   
  ,MF=S Default: MF=S
  ,MF=(L,list addr) list addr: RS-type address or register (1) - (12)
  ,MF=(L,list addr,attr)  
  ,MF=(L,list addr,0D)  
  ,MF=(E,list addr)  
  ,MF=(E,list addr,COMPLETE)  
   

Parameters

The parameters are explained as follows:

name
An optional symbol, starting in column 1, that is the name on the CSVDYLPA macro invocation. The name must conform to the rules for an ordinary assembler language symbol.
REQUEST=ADD
A required parameter. REQUEST=ADD indicates to add one or more modules to LPA. Note that if the module already exists within LPA, the request is still processed. The original copy of the module is not deleted. A new copy of the module is created, and subsequent searches of LPA will only find that new copy. A token is returned for each load module. The token must be used on the DELETE request unless using the TYPE=CURRENT or TYPE=OLDEST option of REQUEST=DELETE. This token is in the LPMEA area.

Modules added to the system via dynamic LPA processing are placed into CSA or ECSA storage. Therefore, it is important to ensure that the system CSA and ECSA sizes are adequately defined to handle the additional consumption of CSA storage resulting from the issuance of the dynamic LPA request.

,MODINFOTYPE=MEMBERLIST
,MODINFOTYPE=MEMBERMASK
A required parameter that indicates the type of MODINFO area provided. In all cases, the MODINFO area contains entries mapped by DSECT LPMEA in macro CSVLPRET. Each entry contains a flag area which should be cleared before calling the CSVDYLPA service.
You can indicate that
  • the module is to be placed into fixed storage (as opposed to pageable),
  • only the whole pages within the module are to be placed into page-protected storage,
  • the storage acquired for the module is to be OWNER=SYSTEM (as opposed to OWNER=HOME).
,MODINFOTYPE=MEMBERLIST
indicates that the area contains the list of modules to be processed.
,MODINFOTYPE=MEMBERMASK
indicates that the area is input/output, and contains only 1 entry. The module name in that entry is treated as a "mask". All members in the data set represented by the input (data set, DCB, or DDNAME) that match the input mask (the mask may contain wildcard characters "*" and "?" and a wildcard match will be done) are processed. The system first creates a list of the members that are to be processed and then continues in the same manner as for MODINFOTYPE=MEMBERLIST.
,MODINFO=modinfo
When MODINFOTYPE=MEMBERLIST is specified, a required input/output parameter that specifies an area that contains contiguous entries. Each entry contains a module (or alias) name and status flags. Each name in the area must be unique. If a module has aliases, the module name and all associated aliases must be specified. The system processes more efficiently if the names in the area are in ascending EBCDIC order (e.g., "A", then "B", then "C"). The number of entries must match the value provided via the nummod parameter.
On output, among other possibilities, the status area might indicate:
  • the module could not be located.
  • an error occurred processing the input data set (in which case no further processing of additional modules is done).
  • you are not authorized to process the particular module.

For a complete list of the possible problem types, refer to the equate symbols beginning with LpmeaModprob in the CSVLPRET data area.

If you specify an alias for an existing load module, the processing will not simply add that alias. Rather, it will create a new copy of the load module that is associated with that alias.

Within each LPMEA, the module name should be left-justified padded on the right with EBCDIC blanks if less than 8 characters long. There should be no embedded blanks.

To code: Specify the RS-type address, or address in register (2)-(12), of a character field.

,NUMMOD=nummod
When MODINFOTYPE=MEMBERLIST is specified, a required input parameter that contains the number of entries in the area specified by the MODINFO parameter and in the area specified by the MODINFOX parameter. If PATHNAME is specified, NUMMOD must be one.If PATHNAME is not specified, NUMMOD must be in the range 1-256.

To code: Specify the RS-type address, or address in register (2)-(12), of a fullword field, or specify a literal decimal value.

,BYADDR=NO
,BYADDR=YES
When MODINFOTYPE=MEMBERLIST is specified, an optional parameter that indicates whether the modules have already been fetched into storage. The default is BYADDR=NO.
,BYADDR=NO
indicates that the modules need to be fetched.
,BYADDR=YES
Indicates that the modules have already been fetched and are linkedited as authorized (with AC=1). In this case, the MODINFO area must be present not only with the module names but also with the following LPMEA fields set for each module:
  • LpmeaEntryPointAddr - the entry point address (with bit 0 of that address being on if the entry is to receive control in AMODE 31).
  • LpmeaLoadPointAddr - the load point address (the start) of the primary segment.
  • LpmeaModlen - the length of that load segment.
  • LpmeaLoadPointAddr2 - if the load module represents a split RMODE load module, the load point address of the secondary segment; otherwise 0.
  • LpmeaModlen2 - if the load module represents a split RMODE load module, the length of that secondary load segment; otherwise 0.

All addresses must be in common storage, and the entry point address must be within the primary segment. It is up to the caller to page fix and page protect the storage as needed.

,BYPATH=NO
,BYPATH=YES
When BYADDR=YES and MODINFOTYPE=MEMBERLIST are specified, an optional input parameter that indicates whether the module was fetched from a z/OS UNIX executable file that is specified as a fully qualified path name. The default is BYPATH=NO.
,BYPATH=NO
Indicates that the modules were not fetched from a z/OS UNIX executable file specified as a fully qualified path name.
,BYPATH=YES
Indicates that the module is fetched from a z/OS UNIX executable file specified as a fully qualified path name.
Note: The NUMMOD parameter must specify a value of one when using this option.
,UCBADDR=NO_UCBADDR
,UCBADDR=ucbaddr
When BYPATH=NO, BYADDR=YES and MODINFOTYPE=MEMBERLIST are specified, an optional input parameter that specifies the UCB address for the volume on which the first extent of the data set that contains the module exists. The UCB address is found from the DEBUCBA field. The DEBUCBA field is mapped by IEZDEB in the DEB associated with the open DCB that is used to load the module. You can use the UCB in either of the following ways:
  • Pass the address from the DEBUCBA field into the IOSCAPF service, and use the output from the IOSCAPF service for the CSVDYLPA UCBADDR parameter.
  • Use the address from the DEBUCBA field directly.

Default: NO_UCBADDR

To code: Specify the RS-type address, or register (2)-(12), of a pointer field.

,CCHH=NO_CCHH
,CCHH=cchh
When UCBADDR=ucbaddr, BYPATH=NO, BYADDR=YES and MODINFOTYPE=MEMBERLIST are specified, a required input parameter that contains the CC and HH values associated with the first extent of the data set that contains the module. The CCHH value comes from the DEBSTRCC and DEBSTRHH fields. These two fields are mapped by IEZDEB in the DEB associated with the open DCB that is used to load the module. The DEB entry corresponds to the UCB address that is provided by the UCBADDR parameter.

The CCHH parameter denotes a 32–bit track address consisting of a cylinder number and a track number. The exact number of bits that represent the cylinder number and track number is device dependent. The format of the fields is not relevant to the specification of the CCHH parameter.

Default: NO_CCHH

To code: Specify the RS-type address, or register (2)-(12), of a 4–character field.

PATHNAMELEN=pathnamelen
When PATHNAME=pathname, BYADDR=NO and MODINFOTYPE=MEMBERLIST are specified, a required input parameter that is the length of the path name provided by the PATHNAME parameter.

Value range: 1 to 1023

To code: Specify the RS-type address, or register (2)-(12), of a fullword field or specify a literal decimal value.

PATHNAMELEN=pathnamelen
When BYPATH=YES, BYADDR=YES and MODINFOTYPE=MEMBERLIST are specified, a required input parameter that is the length of the path name provided by the PATHNAME parameter.

Value range: 1 to 1023

To code: Specify the RS-type address, or register (2)-(12), of a fullword field or specify a literal decimal value.

PATHNAME=pathname
When BYPATH=YES, BYADDR=YES and MODINFOTYPE=MEMBERLIST are specified, a required input parameter that is the fully qualified path name of the file from which the module was fetched. It cannot be a relative path name. The length of the path name should be in the range of 1 to 1023.

To code: Specify the RS-type address, or register (2)-(12), of a character field.

,DSNAME=dsname
,DDNAME=ddname
,DCB=dcb
,DCBPTR=dcbptr
,PATHNAME=pathname
When BYADDR=NO and MODINFOTYPE=MEMBERLIST are specified, a required input parameter.
,DSNAME=dsname
A parameter that contains the name of the data set/library from which all the input modules are to be loaded. The data set must be cataloged. It may be allocated as a PDS or PDSE program library.

Note that if the data set is migrated, the issuer's unit of work will wait until the data set is retrieved before continuing.

If the caller is authorized only by the RACF FACILITY class resource (is not supervisor state, system key, system PKM, or APF authorized), then the data set must be APF authorized. Similarly, if the caller is supervisor state, system key, or system PKM, or APF authorized, the data set need not be APF authorized.

To code: Specify the RS-type address, or address in register (2)-(12), of a 44-character field.

,DDNAME=ddname
A parameter that contains the DDNAME of the data set/library (or concatenation of libraries) from which all the input modules are to be loaded. The system will open the DDNAME for input.

If the caller is authorized only by the RACF FACILITY class resource (is not supervisor state, system key, system PKM, or APF authorized), then the concatenation must be APF authorized.

To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.

,DCB=dcb
A parameter that contains the opened DCB representing the data set/library (or concatenation of libraries) from which all the input modules are to be loaded. The DCB must be opened for input.

The caller must be either supervisor state, system key, system PKM, or APF authorized to use this option.

To code: Specify the RS-type address, or address in register (2)-(12), of a character field.

,DCBPTR=dcbptr
A parameter that contains the address of the opened DCB representing the data set/library (or concatenation of libraries) from which all the input modules are to be loaded. The DCB must be opened for input. You can specify DCBPTR=CVTLINK to request that the LNKLST be used as the library concatenation (you must have an assembler USING established on the CVT data area in order to use this).

The caller must be either supervisor state, system key, system PKM, or APF authorized to use this option.

To code: Specify the RS-type address, or address in register (2)-(12), of a pointer field.

PATHNAME=pathname
A parameter that is the file name from which the module is to be fetched. This parameter must be a fully qualified path name, which includes the file name. This parameter cannot be a relative path name. The file must be marked as an authorized program.
Note: NUMMOD must be one.

To code: Specify the RS-type address, or register (2)-(12), of a character field.

,MODINFO=modinfo
When MODINFOTYPE=MEMBERMASK is specified, a required input/output parameter that specifies an area that contains a single entry. The entry contains a member name mask and status flags.

Within the LPMEA, the module name field represents a member name mask. All members that match this mask (using wildcard matching with "*" representing 0 or more characters, and "?" representing exactly one character) will be processed. The member name mask should be left-justified within the 8-byte field and padded on the right with EBCDIC blanks if less than 8 characters long. There should be no embedded blanks.

To code: Specify the RS-type address, or address in register (2)-(12), of a character field.

,MODINFOX=modinfox
When MODINFOTYPE=MEMBERLIST is specified, an optional input parameter that specifies an area that contains contiguous entries. Each entry contains additional information that is used when processing the information in the corresponding entry in the MODINFO area. MODINFOX is mapped by DSECT LPMEAX in macro CSVLPRET.

For a given entry name, you can specify that an SVC table entry be updated by the system. To do this, you must specify the SVC number (and, if appropriate, the extended SVC routing number). The system performs an SVCUPDTE function to update SVC processing so that it gives control to the newly added LPA routine when that particular SVC is issued.

If the request indicates an extended SVC but the actual SVC is not an extended SVC, an error return results.

If an extended SVC routing code exceeds the value that the system can handle, an error return results. For SVC 109, any value is valid. For SVCs 116, 122, and 137 the value is release-dependent.

The area specified by MODINFOX must contain the number of entries indicated by the NUMMOD parameter.

The default value is NO_MODINFOX.

To code: Specify the RS-type address, or address in register (2)-(12), of a character field.

,MASKDSNAME=maskdsname
,MASKDDNAME=maskddname
,MASKDCB=maskdcb
,MASKDCBPTR=maskdcbptr
When MODINFOTYPE=MEMBERMASK is specified, a required input parameter.
,MASKDSNAME=maskdsname
A parameter that contains the name of the data set/library from which all the input modules are to be loaded. The data set must be cataloged. It may be allocated as a PDS or PDSE program library.

Note that if the data set is migrated, the issuer's unit of work will wait until the data set is retrieved before continuing.

If the caller is authorized only by the RACF FACILITY class resource (is not supervisor state, system key, system PKM, or APF authorized), then the data set must be APF authorized. Similarly, if the caller is supervisor state, system key, or system PKM, or APF authorized, the data set need not be APF authorized.

To code: Specify the RS-type address, or address in register (2)-(12), of a 44-character field.

,MASKDDNAME=maskddname
A parameter that contains the DDNAME of the data set/library (or concatenation of libraries) from which all the input modules are to be loaded. The system will open the DDNAME for input.

If the caller is authorized only by the RACF FACILITY class resource (is not supervisor state, system key, system PKM, or APF authorized), then the concatenation must be APF authorized.

To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.

,MASKDCB=maskdcb
A parameter that contains the opened DCB representing the data set/library (or concatenation of libraries) from which all the input modules are to be loaded. The DCB must be opened for input.

The caller must be either supervisor state, system key, system PKM, or APF authorized to use this option.

To code: Specify the RS-type address, or address in register (2)-(12), of a character field.

,MASKDCBPTR=maskdcbptr
A parameter that contains the address of the opened DCB representing the data set/library (or concatenation of libraries) from which all the input modules are to be loaded. The DCB must be opened for input. You can specify MASKDCBPTR=CVTLINK to request that the LNKLST be used as the library concatenation (you must have an assembler USING established on the CVT data area in order to use this).

The caller must be either supervisor state, system key, system PKM, or APF authorized to use this option, unless CVTLINK was specified.

To code: Specify the RS-type address, or address in register (2)-(12), of a pointer field.

,OUTAREAPTR=outareaptr
When MODINFOTYPE=MEMBERMASK is specified, a required output parameter that is to contain the address of an area obtained by the system. The area contains information about each member processed. It consists of contiguous entries, each mapped by DSECT LPMEA within macro CSVLPRET.
Note: If QUERYONLY=YES is specified, the output information never indicates "LpmeaSuccess" because the data returned for each matching member only provides information about requests that do not successfully complete.

It is expected that the caller will free this area, using either FREEMAIN or STORAGE RELEASE, after processing it. The area is in the key of the caller of CSVDYLPA. Its length is contained in the output field specified by the OutAreaLen parameter. Its subpool is contained in the output field specified by the OutAreaSP parameter.

This area will be obtained on behalf of the caller, and so must be freed, whenever the return code is less than 8 (CsvdylpaRc_InvParm) and when the output field specified by the OutAreaNum parameter is non-zero.

Assuming that the caller is still running with the PSW key current when CSVDYLPA was issued, and specified OUTAREALEN=AREALEN, OUTAREASP=AREASP, and OUTAREAPTR=AREAPTR when issuing CSVDYLPA, the following can be used to free the area:
          ICM   1,15,AREAPTR
          BZ    NO_FREE
          FREEMAIN RU,A=(1),LV=AREALEN,SP=AREASP
NO_FREE   DS    0H

To code: Specify the RS-type address, or address in register (2)-(12), of a pointer field.

,OUTAREALEN=outarealen
When MODINFOTYPE=MEMBERMASK is specified, a required output parameter that is to contain the length of the output area.

To code: Specify the RS-type address, or address in register (2)-(12), of a fullword field.

,OUTAREANUM=outareanum
When MODINFOTYPE=MEMBERMASK is specified, a required output parameter that is to contain the number of entries in the output area.

To code: Specify the RS-type address, or address in register (2)-(12), of a fullword field.

,OUTAREASP=outareasp
When MODINFOTYPE=MEMBERMASK is specified, a required input/output parameter that on input contains the subpool to use for the output area. If the value is zero or specifies an unauthorized subpool, the system will use subpool 230. Since the storage obtained is expected to be in the key of the CSVDYLPA caller, the subpool must either be one that is key-specifiable or one that is only in the key of the CSVDYLPA caller. If it is not, the system will use subpool 230. On output, the field contains the subpool that was actually used.

To code: Specify the RS-type address, or address in register (2)-(12), of an one-byte field.

,APFREQUIRED=YES
,APFREQUIRED=NO
An optional parameter that indicates whether or not the input data set or data set concatenation (specified by data set name, DCB, or DDNAME) must be APF authorized. This keyword is ignored unless the caller is supervisor state, system key, system PKM, or APF authorized. In all other cases, APFREQUIRED=YES is used. The default is APFREQUIRED=YES.
,APFREQUIRED=YES
indicates that the input data set or data set concatenation must be APF authorized.
,APFREQUIRED=NO
indicates that the input data set or data set concatenation need not be APF authorized.
,SECMODCHECK=YES
,SECMODCHECK=NO
An optional parameter that indicates whether or not the RACF FACILITY class check should be done for the module or alias being added. This keyword is ignored unless the caller is supervisor state, system key, system PKM, or APF authorized. In all other cases, SECMODCHECK=YES is used. The default is SECMODCHECK=YES.
,SECMODCHECK=YES
indicates to do the RACF FACILITY class check. For a caller in supervisor state, system key, system PKM, or APF authorized, the operation is allowed when the check results either in "success" or "no matching profile exists." For unauthorized callers, the operation is allowed only when the check results in "success".
,SECMODCHECK=NO
indicates not to do the RACF FACILITY class check.
,REQUESTOR=requestor
A required input parameter that identifies the requestor. This string is only used for helping to identify in a dump which requestor caused the particular module to be added to LPA. Thus it is important that requesting products specify a value that does not match the value specified by another product. IBM® requestors should begin the string with their component prefix.

To code: Specify the RS-type address, or address in register (2)-(12), of a 16-character field.

,MODPROB=CONTINUE
,MODPROB=STOP
An optional parameter that indicates the action to be taken by the system if it encounters a problem processing an individual module entry (a condition that will not result in a return code greater than 4). This includes, but is not limited to, such cases as:
  • The system could not locate the specified module or alias;
  • The system could not allocate all the required storage; and
  • The system could not load the module indicated by the directory entry.
The equate symbols with names beginning with "LpmeaModprob", in macro CSVLPRET, describe the full set of conditions.

When any such problem, or a situation resulting in a return code of at least 8, is encountered, no modules are added to LPA. The default is MODPROB=CONTINUE.

,MODPROB=CONTINUE
indicates to continue processing subsequent members in order to detect problems associated with those subsequent members. Any entry not successfully processed will have the LpmeaModprob bit on, with additional information as indicated by the LpmeaModprobFunction field.
,MODPROB=STOP
indicates to stop processing. The entry not successfully processed will have the LpmeaModprob bit on, with additional information as indicated by the LpmeaModprobFunction field.
,ERRORDATA=errordata
An optional output parameter that contains additional diagnostic data for certain cases. In particular,
  • For return code 8 (symbol CsvdylpaRc_InvParm) with reason code X'xxyy0829' (symbol CsvdylpaRsnBadAlloc), bytes 0-1 are the error reason code from the DYNALLOC service, bytes 2-3 are the information reason code from the DYNALLOC service, and bytes 4-7 are the SMS reason code from the DYNALLOC service (which is only relevant when the error reason code is of the form X'97xx').

To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.

,ADDALIAS=NO
,ADDALIAS=YES
When BYADDR=NO and MODINFOTYPE=MEMBERLIST are specified, ADDALIAS is an optional parameter that indicates whether to add aliases of the input names.

The default is ADDALIAS=NO.

,ADDALIAS=NO
Indicates not to add aliases, but only process the input names provided.
,ADDALIAS=YES
Indicates to add aliases of the input names to the list to process.
Note: When adding is being done from a z/OS UNIX file, which is indicated by the PATHNAME keyword, ADDALIAS=YES is supported but cannot find aliases because this construct does not exist for z/OS UNIX files.
,OUTAREAPTR=outareaptr
When ADDALIAS=YES, BYADDR=NO and MODINFOTYPE=MEMBERLIST are specified, OUTAREAPTR is a required output parameter that is to contain the address of an area obtained by the system. This area contains information about each member that is processed. These members include the members and aliases of the members specified by the MODINFO, MODINFOX, and NUMMOD parameters. The area consists of contiguous entries each mapped by DSECT LPMEA in the CSVLPRET macro.

The caller must use the FREEMAIN or STORAGE RELEASE macro to free the area after processing it.

The area is in the key of the caller of CSVDYLPA. The length of the area is contained in the output field specified by the OUTAREALEN parameter. The subpool of the area is contained in the output field specified by the OUTAREASP parameter.

If the return code is 8 (CsvdylpaRc_InvParm) or less, and the output field specified by the OUTAREANUM parameter is not zero, the area is obtained on behalf of the caller and must be freed.

If the caller is running with the PSW key when CSVDYLPA was issued, and specified OUTAREALEN=AREALEN, OUTAREASP=AREASP, and OUTAREAPTR=AREAPTR, the following example shows how the area can be freed:
          ICM   1,15,AREAPTR
          BZ    NO_FREE
          FREEMAIN RU,A=(1),LV=AREALEN,SP=AREASP
				NO_FREE   DS    0H

To code: Specify the RS-type address, or address in register (2)-(12), of a pointer field.

,OUTAREALEN=outarealen
When ADDALIAS=YES, BYADDR=NO, and MODINFOTYPE=MEMBERLIST are specified, OUTAREALEN is a required output parameter that contains the length of the output area.

To code: Specify the RS-type address, or address in register (2)-(12), of a fullword field.

,OUTAREANUM=outareanum
When ADDALIAS=YES, BYADDR=NO, and MODINFOTYPE=MEMBERLIST are specified, OUTAREANUM is a required output parameter that contains the number of entries in the output area.

To code: Specify the RS-type address, or address in register (2)-(12), of a fullword field.

,OUTAREASP=outareasp
When ADDALIAS=YES, BYADDR=NO, and MODINFOTYPE=MEMBERLIST are specified, OUTAREASP is a required input/output parameter that on input contains the subpool to use for the output area.

If the value of OUTAREASP is zero or specifies an unauthorized subpool, the system uses subpool 230.

The storage obtained must be in the key of the CSVDYLPA caller. Therefore, the subpool must be key-specifiable or only in the key of the CSVDYLPA caller. If the subpool is not in the key of the CSVDYLPA caller, the system uses subpool 230.

On output, the OUTAREASP parameter contains the subpool that is used.

To code: Specify the RS-type address, or address in register (2)-(12), of an one-byte field.

,ADDALIAS=NO
,ADDALIAS=YES
When MODINFOTYPE=MEMBERMASK is specified, ADDALIAS is an optional parameter that indicates whether to add aliases of the input names.

The default is ADDALIAS=NO.

,ADDALIAS=NO
Indicates not to add aliases, but only process the input names provided.
,ADDALIAS=YES
Indicates to add aliases of the input names to the list to process.
,QUERYONLY=NO
,QUERYONLY=YES
When MODINFOTYPE=MEMBERMASK is specified, QUERYONLY is an optional parameter that indicates whether to do the ADD operation or query the storage requirements of (E)CSA and (E)SQA.

The default is QUERYONLY=NO.

,QUERYONLY=NO
Indicates to do the ADD operation.
,QUERYONLY=YES
Indicates to do the QUERY operation only.
,LPMEAQ=lpmeaq
When QUERYONLY=YES and MODINFOTYPE=MEMBERMASK are specified, LPMEAQ is a required input parameter that specifies an area to contain the output information. The area is mapped by DSECT LPMEAQ in macro CSVLPRET.

To code: Specify the RS-type address, or address in register (2)-(12), of a character field.

,RETCODE=retcode
An optional output parameter into which the return code is to be copied from GPR 15.

To code: Specify the RS-type address of a fullword field, or register (2)-(12).

,RSNCODE=rsncode
An optional output parameter into which the reason code is to be copied from GPR 0.

To code: Specify the RS-type address of a fullword field, or register (2)-(12).

,PLISTVER=IMPLIED_VERSION
,PLISTVER=MAX
,PLISTVER=0
An optional input parameter that specifies the version of the macro. PLISTVER determines which parameter list the system generates. PLISTVER is an optional input parameter on all forms of the macro, including the list form. When using PLISTVER, specify it on all macro forms used for a request and with the same value on all of the macro forms. The values are:
  • IMPLIED_VERSION, which is the lowest version that allows all parameters specified on the request to be processed. If you omit the PLISTVER parameter, IMPLIED_VERSION is the default.
  • MAX, if you want the parameter list to be the largest size currently possible. This size might grow from release to release and affect the amount of storage that your program needs.

    If you can tolerate the size change, IBM recommends that you always specify PLISTVER=MAX on the list form of the macro. Specifying MAX ensures that the list-form parameter list is always long enough to hold all the parameters you might specify on the execute form, when both are assembled with the same level of the system. In this way, MAX ensures that the parameter list does not overwrite nearby storage.

  • 0, if you use the currently available parameters.
To code: Specify one of the following:
  • IMPLIED_VERSION
  • MAX
  • A decimal value of 0
,MF=S
,MF=(L,list addr)
,MF=(L,list addr,attr)
,MF=(L,list addr,0D)
,MF=(E,list addr)
,MF=(E,list addr,COMPLETE)
An optional input parameter that specifies the macro form.

Use MF=S to specify the standard form of the macro, which builds an inline parameter list and generates the macro invocation to transfer control to the service. MF=S is the default.

Use MF=L to specify the list form of the macro. Use the list form together with the execute form of the macro for applications that require reentrant code. The list form defines an area of storage that the execute form uses to store the parameters. Only the PLISTVER parameter may be coded with the list form of the macro.

Use MF=E to specify the execute form of the macro. Use the execute form together with the list form of the macro for applications that require reentrant code. The execute form of the macro stores the parameters into the storage area defined by the list form, and generates the macro invocation to transfer control to the service.

,list addr
The name of a storage area to contain the parameters. For MF=S and MF=E, this can be an RS-type address or an address in register (1)-(12).
,attr
An optional 1- to 60-character input string that you use to force boundary alignment of the parameter list. Use a value of 0F to force the parameter list to a word boundary, or 0D to force the parameter list to a doubleword boundary. If you do not code attr, the system provides a value of 0D.
,COMPLETE
Specifies that the system is to check for required parameters and supply defaults for omitted optional parameters.

ABEND codes

None.

Return and reason codes

See Return and reason codes for the return and reason codes.

Example

See Example 1 for an example.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014