IRDFSD — FICON switch data services

Description

The FICON® Switch Data macro service is used to obtain statistical counters from FICON switch devices.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Problem or Supervisor state or any PSW key.
Dispatchable unit mode: Task
Cross memory mode: PASN=HASN=SASN
AMODE: 31-bit addressing mode.
ASC mode: Primary
Interrupt status: Enabled for I/O and external interrupts
Locks: No locks held.
Control parameters: Control parameters must be in the primary address space.

Programming requirements

None

Restrictions

  • No locks can be held
  • Must not be in an environment that would prevent EXCP from being issued
  • Must be authorized

Input register information

Register
Contents
0–15
Undefined

Before issuing the IRDFSD 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-13
Restored
14
Used as a work register by the system.
15
Return code

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

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
One or more blanks must precede IRDFSD.
   
IRDFSD  
   
One or more blanks must follow IRDFSD.
   
 DEVICE=ALL Default: DEVICE=ALL
 DEVICE=SINGLE  
 ,DEVICENUMBER=devicenumber Required with DEVICE=SINGLE
   
  ,COUNTERS=DEFAULT Default: COUNTERS=DEFAULT
  COUNTERS=ALL  
  COUNTERS=LIST  
  ,COUNTERLIST=counterlist Required with COUNTER=LIST
   
  SUBPOOL=0 Default: SUBPOOL=0
  SUBPOOL=subpool  
   
  FSDADDRESS=fsdaddress  
  FSDLENGTH=fsdlength  
   
,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=1  
   
 ,MF=S Default: MF=S
 ,MF=(L,mfctrl) list addr: RS-type address or register (1) - (12).
 ,MF=(L,)  
 ,MF=(L,r,0D)  
 ,MF=(E,)  
 ,MF=(E,)  
 ,MF=(E,)  
   

Parameters

The parameters are explained as follows:

name
An optional symbol, starting in column 1, that is the name on the IRDFSD macro invocation. The name must conform to the rules for an ordinary assembler language symbol.
,DEVICE=ALL
,DEVICE=SINGLE
An optional parameter that indicates the one or more devices for which statistics should be returned.
DEVICE=ALL
Return statistics for all devices.
DEVICE=SINGLE
Return statistics for a single device.
DEVICENUMBER=devicenumber
A required input parameter if DEVICE=SINGLE is specified. It identifies the device number of the FICON switch device to be interrogated.

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

,COUNTERS=DEFAULT
,COUNTERS=ALL
COUNTERS=LIST
An optional parameter that indicates the set of counters to be returned.
COUNTERS=DEFAULT
Specifies that the default set of counters is to be returned.
COUNTERS=ALL
Specifies that all supported counters should be returned.
COUNTERS=LIST
Specifies that the list of counters to be returned has been supplied.
COUNTERLIST=counterlist
A required input parameter if COUNTER=LIST is specified. It contains the address that specifies a list of Statistical Counter Control Words to return.

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

The number of Control Words cannot exceed 60.

See the IHAFSD macro for further information about the definition of the statistical counter list (SCCW) and the counters available.

,SUBPOOL=0
Subpool=subpoolSyntax
A optional input parameter that specifies the subpool to be used to obtain the storage for the FICON Switch Dat (FSD). The default is 0.

To code: Specify the RS-type address or address in register (2)-(12) of the 1 byte field containing the subpool.

The returned information is mapped in macro IHAFSD.

,FSDADDRESS=fsdaddress
A required input parameter which contains the address of the storage mapped in IHAFSD.

The mapping macro IHAFSD can be found in SYS1.MODGEN.

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

,FSDLENGTH=fsdlength
A required input parameter which contains the length of the storage mapped in IHAFSD.

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

,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=1
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® suggests 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.

  • 1, if you use the currently available parameters.
To code: Specify one of the following:
  • IMPLIED_VERSION
  • MAX
  • A decimal value of 1
,MF=S
,MF=(L,mfctrl)
,MF=(L,mfctrl,mfattr)
,MF=(L,mfctrl,0D)
,MF=(E,mfctrl)
,MF=(E,mfctrl,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. The list form defines an area of storage that the execute form uses to store the parameters. Only the PLISTVER parameter can be coded with the list form of the macro.

Use MF=E to specify the execute form of the macro. The execute form of the macro stores the parameters into the storage area defined by xmfctrl and provides full syntax checking with the default setting.

,xmfctrl
This is a required keyword that specifies a storage area for the parameter list. This can be an RS-type address or an address in register (1)-(12).
,xmfattr
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 codes

When the IRDFSD macro returns control to your program:
  • GPR 15 (and retcode, when you code RETCODE) contains a return code.
  • When the value in GPR 15 is not zero, GPR 0 (and rsncode, when you code RSNCODE) contains a reason code.

The following table identifies the hexadecimal return codes:

Table 1. Return Codes for IRDFSD macro
Hexadecimal Return Code Meaning
00

Meaning: Successful completion. Data returned for all FICON switches.

04

Meaning: No FICON switch devices found. No FSD area was obtained.

08

Meaning: I/O errors occurred. Some switches did not return data.

0C

Meaning: I/O errors occurred. No data obtained for any devices.

10

Meaning: Unexpected error.

Reason codes

The following table identifies the hexadecimal return and reason codes:

Table 2. Return and Reason Codes for IRDFSD macro
Hexadecimal Return Code Return Code Meaning
00000001 04

Required module unavailable. The request could not be processed.

00000002 04

The server task is not active. The request could not be processed.

00000024 04

FICON switch statistics disabled.

00000003 08

Caller is not APF authorized.

00000008 08

IRDVFSD does not recognize the request type.

00000021 08

Specified device is not a FICON switch.

00000022 08

Specified device is not online.

00000023 08

IOSVFSD does not recognize the request type.

00000004 0C

Recovery could not be established.

00000005 0C

POST failed.

00000006 0C

Recovery was entered.

00000025 0C

I/O error.

00000026 0C

UCBSCAN failure.

00000027 0C

UCBLOOK failure.

00000028 0C

Server task recovery entered.