The requirements for the caller are:
Environmental factor | Requirement |
---|---|
Minimum authorization: | Supervisor state, or PSW key 0-7, or APF-authorized |
Dispatchable unit mode: | Task |
Cross memory mode: | PASN=HASN=SASN |
AMODE: | 31-bit |
ASC mode: | Primary |
Interrupt status: | Enabled for I/O and external interrupts. |
Locks: | No locks held |
Control parameters: | Must be in the primary address space |
Programs invoking this interface must include mapping macro IOSDVSAP.
None.
None.
The standard form of the IOSVRYSW macro is written as follows:
Syntax | Description |
---|---|
name | name: symbol. Begin name in column 1. |
␢ | One or more blanks must precede IOSVRYSW. |
IOSVRYSW | |
␢ | One or more blanks must follow IOSVRYSW. |
TYPE=BUILD | |
,REQUEST=ONLINE | Default: ONLINE |
,REQUEST=OFFLINE | |
,OPTION=UNCOND | Default: NONE |
,SWITCHDEV=switchdev | switchdev: RS-type name, or address in register (2)-(12). |
,PORTADDR=portaddr | portaddr: RS-type name, or address in register (2)-(12). |
INVOKE | |
,DATAADDR=dataaddr | dataaddr: RS-type name, or address in register (2)-(12). |
,DATANUM=datanum | datanum: RS-type name, or address in register (2)-(12). |
,RETCODE=retcode | retcode: RS-type address or register (2) - (12). Can only be specified with an INVOKE request. |
,RSNCODE=rsncode | rsncode: RS-type address or register (2) - (12). Can only be specified with an INVOKE request. |
,MF=(E,list addr) | list addr: RS-type address or register (2) - (12). |
,MF=(E,list addr,COMPLETE) | Default: COMPLETE |
The parameters are explained as follows:
UNCOND: This option is used to specify an UNCOND request on the VARY PATH commands invoked as a result of the VARY SWITCH request. Adding the UNCOND keyword to a VARY PATH,OFFLINE command results in the system taking offline the last path to devices that are online but unallocated.
None.
When the system returns control to the caller, GPR 15 (and retcode, when you code RETCODE) contains a return code.
The following table identifies the hexadecimal return codes:
Hexadecimal Return Code | Meaning and Action |
---|---|
00 | Meaning: Successful completion. Action: None required. |
10 | Meaning: An unexpected error occurred in vary switch processing. Action: Verify the configuration in effect and resubmit the request. If the request fails again for the same reason, search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM® Support Center. |
FF04 | Meaning: Storage passed on the DATAADDR was not accessible by the service. Action: Verify that accessible storage is being passed. |
FF08 | Meaning: The attempt to queue a work element to the IOS address space failed. Request is currently not able to be performed. Action: Search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center. |
FF0C | Meaning: VSAP data is readable but not valid. Action: Verify that the correct data is being passed. |
FF10 | Meaning: Caller is not in a valid environment to invoke the IOSVRYSW API. Action: Insure that the caller is running in the correct environment. |
FF14 | Meaning: Module IOSVVSWF suffered a catastrophic error. Function could not be processed. Action: Search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center. |
FF18 | Meaning: Module IOSVVSWF could not establish a recovery environment. Action: Resubmit the request. If the request fails again for the same reason, search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center. |
Hexadecimale Reason Codes: None.
Use the list form of the IOSVRYSW macro together with the execute form of the macro for applications that require reentrant code. The list form of the macro defines an area of storage, which the execute form of the macro uses to contain the parameters.
The list form of the IOSVRYSW macro is written as follows:
Syntax | Description |
---|---|
name | name: Symbol. Begin name in column 1. |
␢ | One or more blanks must precede IOSVRYSW. |
IOSVRYSW | |
␢ | One or more blanks must follow IOSVRYSW. |
MF=(L,list addr) | list addr: Symbol. |
MF=(L,list addr,attr) | attr: 1- to 60-character input string |
MF=(L,list addr,0D) | Default: 0D |
The parameters are explained as follows:
list addr is the name of a storage area to contain the parameters.
attr is an optional 1- to 60-character input string, which can contain any value that is valid on an assembler DS pseudo-op. You can use this parameter to force boundary alignment of the parameter list. If you do not code attr, the system provides a value of 0D, which forces the parameter list to a doubleword boundary.
An example of issuing three IOSVRYSW TYPE=BUILD and an IOSVRYSW TYPE=INVOKE invocations to process three switch ports.
IOSVRYSW TYPE=BUILD,
REQUEST=ONLINE,
SWITCHDEV=switch
PORTADDR=port_address
IOSVRYSW TYPE=BUILD,
REQUEST=ONLINE,
SWITCHDEV=switch
PORTADDR=port_address
IOSVRYSW TYPE=BUILD,
REQUEST=ONLINE,
SWITCHDEV=switch
PORTADDR=port_address
IOSVRYSW TYPE=INVOKE,
DATAADDR=pointer to the array of resource elements,
DATANUM=number of elements to be processed
(ports to be altered),
RETCODE=RETURN_CODE,
RSNCODE=REASON_CODE,
MF=(E, IOSVRYSW_LIST)