This information represents a snapshot of the subsystems defined to the SSI when you process the query request.
To obtain information about the primary subsystem without knowing its name, use the query request and specify a subsystem name of '!PRI'.
The requirements for the caller are:
Environmental factor | Requirement |
---|---|
Minimum authorization: | For the QUERY request, problem state with any PSW key. |
Dispatchable unit mode: | Task |
Cross memory mode: | PASN=HASN=SASN |
AMODE: | 24-bit 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: | Control parameters must be in the primary address space. |
The caller must not have established an EUT FRR.
Before issuing the IEFSSI 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.
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.
None.
The IEFSSI macro with the QUERY parameter requests information about subsystems defined to the system.
The syntax of the IEFSSI REQUEST=QUERY macro is written as follows:
Syntax | Description |
---|---|
name | name: symbol. Begin name in column 1. |
␢ | One or more blanks must precede IEFSSI. |
IEFSSI | |
␢ | One or more blanks must follow IEFSSI. |
SUBNAME=subname | subname: RS-type address or register (2) - (12). |
,REQUEST=QUERY | |
,WORKAREA=workarea | workarea: RS-type address or register (2) - (12) of an output area. |
,WORKASP=workasp | workasp: RS-type address or register (2) - (12) of an input area. |
,PLISTVER=IMPLIED_VERSION | |
,PLISTVER=MAX | Default: IMPLIED_VERSION |
,PLISTVER=plistver | plistver: 1 |
,RETCODE=retcode | retcode: RS-type address or register (2) - (12). of fullword output variable |
,RSNCODE=rsncode | rsncode: RS-type address or register (2) - (12). of fullword output variable |
,COM=com | com: comment string |
,COM=NULL | Default: COM=NULL |
,MF=S | Default: MF=S |
,MF=(L,list addr) | |
,MF=(L,list addr,attr) | |
,MF=(L,list addr,0D) | |
,MF=(E,list addr) | |
,MF=(E,list |
|
The parameters are explained as follows:
This field must be padded to the right with blanks or nulls if it is less than 4 characters long.
For the REQUEST=QUERY parameter, the subsystem name may contain the wildcard characters '*' and '?' to request information about multiple subsystems. The meanings for the wildcard characters are:
Use a SUBNAME parameter value of '*' to indicate that information is to be returned for all subsystems.
Use a SUBNAME parameter value of '!PRI' to indicate that information is to be returned for the primary subsystem.
The output from IEFSSI REQUEST=QUERY is mapped by the IEFJSQRY macro. Subsystems are listed in broadcast order, that is, the order in which they receive broadcast SSI requests.
The output area is mapped by the IEFJSQRY macro. The JQRYLEN field contains the length of the output area.
IBM® recommends that you use a job-related or task-related subpool. This allows the system to free the associated storage when the job or task ends, if the caller does not free the returned area.
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; in this way, MAX ensures that the parameter list does not overwrite nearby storage.
Use MF=L to specify the list form of the IEFSSI 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. No other parameters may be coded with the list form of the macro.
Use MF=E together with the list form of the macro for applications that require reentrant code. The execute form of the IEFSSI macro stores the parameters into the storage area defined by the list form and generates the macro invocation to transfer control to the service.
An invocation of the IEFSSI macro may result in an abend code X'8C5'. See z/OS MVS System Codes for an explanation of this abend code.
When the IEFSSI macro returns control to your program, GPR 15 (and retcode, if you coded RETCODE) contains a return code. When the value in GPR 15 is not 0, GPR 0 (and rsncode if you coded RSNCODE) contains the reason code.
The following table contains return and reason codes, the equate symbols associated with each reason code and the meaning and suggested action for each return and reason code.
Return Code decimal (hex) | Reason Code decimal (hex) | Meaning and Action |
---|---|---|
00 (00) | 00 (00) | Equate Symbol: IEFSSI_FUNCTIONS_COMPLETE Meaning:
The request completed successfully. The result depends on the request:
Action: None. |
04 (04) | 900 (384) | Equate Symbol: IEFSSI_QUERY_INCOMPLETE Meaning: The data returned by the QUERY request may be incomplete. This is a QUERY request error. Action: Check the JQRY_INCOMPLETE flag for each subsystem that was queried. |
08 (08) | 00 (000) | Equate Symbol: IEFSSI_SUBSYSTEM_UNKNOWN Meaning: The subsystem is not defined to the SSI. Action: Correct the subsystem name or define a subsystem with either the IEFSSI macro or the SETSSI command. |
08 (08) | 12 (00C) | Equate Symbol: IEFSSI_INVALID_NAME Meaning: The subsystem name or the routine name contains characters that are not valid. Action: Correct the subsystem name by removing the characters that are not valid. |
12 (0C) | 900 (384) | Equate Symbol: IEFSSI_QUERY_STORAGE Meaning: Unable to obtain storage for an output of the QUERY request. Action: Check the current use of the system storage to determine why storage was not available. Retry the request later in case storage has become available. See z/OS MVS Programming: Authorized Assembler Services Reference EDT-IXG for more information on the IEFSSI macro. |
20 (14) | — | Equate Symbol: IEFSSI_SYSTEM_ERROR Meaning: System error Action: Investigate the following possible
causes:
|
24 (18) | — | Equate Symbol: IEFSSI_UNAVAILABLE Meaning: The IEFSSI macro has been invoked too early during system initialization. Action: Delay the invocation of the IEFSSI macro to a later point in the IPL. |
IEFSSI REQUEST=QUERY,SUBNAME=SNAME, X
WORKAREA=WAREA, X
RETCODE=RETURN_CODE,RSNCODE=REASON_CODE
⋮
L R5,WAREA
USING JQRY_HEADER,R5
L R0,JQRYLEN
STORAGE RELEASE,LENGTH=(0),ADDR=(R5)
⋮
SNAME DC CL4'JES*'
WAREA DS A
IEFJSQRY