Upload
others
View
30
Download
0
Embed Size (px)
Citation preview
REXX Interface
Programmer’s Reference GuideP/N 300-002-205
REV A04
EMC CorporationCorporate Headquarters:
Hopkinton, MA 01748-9103
1-508-435-1000www.EMC.com
2
Copyright © 2008 EMC Corporation. All rights reserved.
Published March, 2008
EMC believes the information in this publication is accurate as of its publication date. The information is subject to change without notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED "AS IS." EMC CORPORATION MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Use, copying, and distribution of any EMC software described in this publication requires an applicable software license.
For the most up-to-date listing of EMC product names, see EMC Corporation Trademarks on EMC.com.
All other trademarks used herein are the property of their respective owners.
REXX Interface Programmer’s Reference Guide
Contents
Preface
Chapter 1 IntroductionOverview............................................................................................ 10When to use the interface ................................................................ 11What are Host Component objects? ............................................... 12
Chapter 2 How to Use the InterfaceIntroduction ....................................................................................... 14EMCSRDFR function variables....................................................... 15EMCSRDFC function variables....................................................... 18Supported functions ......................................................................... 19
Function 01 – Retrieve Subsystem Object ........................20Function 02 – Submit Host Component Command .............21Function 03 - Get Command Status .........................................22Function 04 - Retrieve Command Output...............................22Function 06 – Retrieve Global Information Objects...............23Function 07 – Retrieve Serial# Objects.....................................23Function 08 – Retrieve SSID Objects ........................................24Function 09 – Retrieve Control Unit Objects ..........................24Function 10 – Retrieve Device Objects.....................................25Function 11 – Retrieve RDF Link Objects................................26Function 12 – Retrieve Director Objects ..................................27Function 13 – Wait Routine .......................................................27Function 14 – Retrieve RDF Group Object..............................28Function 15 – Retrieve RDF Group Statistics Objects............30Function 16 – Retrieve SRDFA Session Objects .....................31Function 17 – Retrieve Director Statistics Objects..................32
REXX Interface Programmer’s Reference Guide 3
Contents
Function 18 - Reply to Command ............................................ 34Function 19 - Dynamic RDF (DRDF) ....................................... 35Function 20 - Get Device Identification................................... 36
Return codes ...................................................................................... 37Example programs............................................................................ 45Object headers ................................................................................... 48
OBJECTH formatted .................................................................. 48OBJECTH unformatted.............................................................. 48
Chapter 3 REXX VariablesIntroduction....................................................................................... 50Unformatted variables ..................................................................... 51Formatted variables.......................................................................... 52Formatted variable and object cross-reference ............................. 53
Index
REXX Interface Programmer’s Reference Guide4
Preface
As part of an effort to improve and enhance the performance and capabilities of its product line, EMC periodically releases revisions of the EMC Enginuity Operating Environment. Therefore, some functions described in this guide may not be supported by all versions of Enginuity currently in use. For the most up-to-date information on product features, refer to your product release notes.
If a feature does not function properly or does not function as described in this guide, please contact your EMC representative.
Note: This document is accurate at the time of publication. However, as information is added, new versions of this document will be released to the EMC Powerlink website at http://Powerlink.EMC.com. Check the Powerlink website to ensure that you are using the latest version of this document.
Audience This document is intended for experienced programmers, particularly those who have knowledge of REXX and EMC SRDF operation, configuration, and control. The manual describes the REXX interface.
Relateddocumentation
Related documents include:
◆ EMC ResourcePak Base for z/OS Product Guide
◆ EMC SRDF Host Component for z/OS Product Guide
◆ EMCSPE Programmer’s Reference Guide
REXX Interface Programmer’s Reference Guide 5
6
Preface
Conventions used inthis guide
EMC uses the following conventions for notes and cautions.
Note: A note presents information that is important, but not hazard-related.
CAUTION!A caution contains information essential to avoid data loss or damage to the system or equipment. The caution may apply to hardware or software.
Typographical conventionsEMC uses the following type style conventions in this document:
Normal Used in running (nonprocedural) text for:• Names of interface elements (such as names of windows,
dialog boxes, buttons, fields, and menus)• Names of resources, attributes, pools, Boolean expressions,
buttons, DQL statements, keywords, clauses, environment variables, functions, utilities
• URLs, pathnames, filenames, directory names, computer names, filenames, links, groups, service keys, file systems, notifications
Bold Used in running (nonprocedural) text for:• Names of commands, daemons, options, programs,
processes, services, applications, utilities, kernels, notifications, system calls, man pages
Used in procedures for:• Names of interface elements (such as names of windows,
dialog boxes, buttons, fields, and menus)• What user specifically selects, clicks, presses, or types
Italic Used in all text (including procedures) for:• Full titles of publications referenced in text• Emphasis (for example a new term)• Variables
Courier Used for:• System output, such as an error message or script • URLs, complete paths, filenames, prompts, and syntax when
shown outside of running text
Courier bold Used for:• Specific user input (such as commands)
Courier italic Used in procedures for:• Variables on command line• User input variables
REXX Interface Programmer’s Reference Guide
Preface
Where to get help EMC support, product, and licensing information can be obtained as follows.
Product information — For documentation, release notes, software updates, or for information about EMC products, licensing, and service, go to the EMC Powerlink website (registration required) at:
http://Powerlink.EMC.com
Technical support — For technical support, go to EMC Customer Service on Powerlink. To open a service request through Powerlink, you must have a valid support agreement. Please contact your EMC sales representative for details about obtaining a valid support agreement or to answer any questions about your account.
Your comments Your suggestions will help us continue to improve the accuracy, organization, and overall quality of the user publications. Please send your opinion of this guide to:
< > Angle brackets enclose parameter or variable values supplied by the user
[ ] Square brackets enclose optional values
| Vertical bar indicates alternate selections - the bar means “or”
{ } Braces indicate content that you must specify (that is, x or y or z)
... Ellipses indicate nonessential information omitted from the example
REXX Interface Programmer’s Reference Guide 7
8
Preface
REXX Interface Programmer’s Reference Guide
1Invisible Body Tag
This chapter provides an overview of the REXX interface. The topics are:
◆ Overview............................................................................................. 10◆ When to use the interface.................................................................. 11◆ What are Host Component objects? ................................................ 12
Introduction
Introduction 9
10
Introduction
OverviewThe IBM REXX programming language is a versatile, general-purpose language that can be used by both novice and experienced programmers. Using the SRDF® Host Component API support for REXX, you can control SRDF functionality rather than interact solely through a console. With REXX support, you can:
◆ Create scripts to automate procedures such as those found in the EMC SRDF Host Component for z/OS Product Guide.
◆ Build your own automation composite commands.
The REXX interface provides a callable assembler interface which populates REXX variables for the calling REXX program.
The purpose of the interface is to provide access through REXX programs to Host Component data. By providing clearly defined functions and sample code, a user interface can be developed in a short amount of time.
The REXX interface provides the following:
◆ An interface program named EMCSRDFR and a conversion and variable formatter called EMCSRDFC.
Note: The EMCSRDFC conversion program has access to only a small subset of the existing variables. EMCSRDFC will be removed from the next release of the REXX interface and will no longer be available.
◆ A series of functions which can be used to populate raw data objects which can be interrogated or interpreted as needed.
◆ The ability to submit Host Component commands through the interface and receive the output associated with the command.
◆ A conversion routine to convert the returned raw data into predefined formatted REXX variables.
REXX Interface Programmer’s Reference Guide
Introduction
When to use the interfaceUse the REXX interface when:
◆ You need to build customized reports and/or commands.
◆ You need to automate procedures and would like more flexibility and functionality than SPE (Stored Procedure Exec) provides.
◆ You need custom decision making and command execution in a manual or automated environment.
When to use the interface 11
12
Introduction
What are Host Component objects?The objects that are returned by the REXX interface are strings of data that can be interrogated or interpreted as needed. To do this, EMC provides object interpretation code that is ready to be included in your REXX program. This code sub-strings the returned object and interprets various fields. The code can be found in the product SCF SAMPLIB (distributed with EMC® ResourcePak® Base). The members begin with OBJECT and end with the function number. For example, to use the Function 01 object code, select OBJECT01.
You may choose to use these interpretation objects directly, use only a portion of them, or not use them at all. If you choose not to use the interpretation code, you are responsible for interpreting the fields within the objects yourself.
Since an object represents a string of data, you can select a single field or multiple fields to be interpreted or interrogated.
REXX Interface Programmer’s Reference Guide
2Invisible Body Tag
This chapter describes the elements of the REXX interface. The topics are:
◆ Introduction ........................................................................................ 14◆ EMCSRDFR function variables........................................................ 15◆ EMCSRDFC function variables........................................................ 18◆ Supported functions .......................................................................... 19◆ Return codes ....................................................................................... 37◆ Example programs............................................................................. 45◆ Object headers .................................................................................... 48
How to Use theInterface
How to Use the Interface 13
14
How to Use the Interface
IntroductionThe REXX interface provides callable functions which retrieve object data.
◆ EMCSRDFR
EMCSRDFR is called from a REXX program to build the Host Component data object.
Within your REXX program, you must set the appropriate REXX variables to values corresponding to the function you would like to invoke and call EMCSRDFR to retrieve the object output. Table 3 on page 19 lists the available functions.
◆ EMCSRDFC
EMCSRDFC is a conversion and variable formatter that converts the raw data returned object to formatted REXX variables.
You can build formatted REXX variables by calling EMCSRDFC immediately after EMCSRDFR returns with a good condition code. EMCSRDFC will use the newly built object records and build the predefined, formatted REXX variables.
Note: The EMCSRDFC conversion program has access to only a small subset of the existing variables. EMCSRDFC will be removed from the next release of the REXX interface and will no longer be available.
REXX Interface Programmer’s Reference Guide
How to Use the Interface
EMCSRDFR function variablesTable 1 lists the input variables for the supported functions.
Table 1 EMCSRDFR function input variables (page 1 of 2)
Variable Description
EMCSRDF_COMMAND This variable is used to store the Host Component command to be executed. It is only used by Function 02 (Submit Host Component Command).
EMCSRDF_CPFX8 This variable contains a command prefix.The prefix must be left-justified, padded with blanks, and 8 characters in length.
EMCSRDF_DEVCOUNT This variable represents the number of devices requested. It must be a decimal value from 1 to 9999.
EMCSRDF_DEVFLAG This variable is used by Function 10 to request that the RDF Mirror flags be populated. Set this variable to M to request the mirror flags. Since this request results in additional overhead, you should only use this option when necessary.
EMCSRDF_FC This variable contains the function number to execute.
EMCSRDF_INCLUDE_RD10MBRS
This variable is used by Function 10 to request that the RAID 10 member device objects be returned. Set this variable to Y to retrieve RAID 10 member devices.
EMCSRDF_RDFGRPS This is an optional variable to be used for remote requests. It contains 1 or more multi-hop groups to a maximum of 8 (for example, 1.2.3.4.5.6.7.8).
EMCSRDF_REQ_TOKN This variable is used as an input variable to Function 18 (Reply to Command). This variable will be set when Function 03 or 04 returns a code 92, which indicates the command is waiting for a reply.
EMCSRDF_SELGROUP This is an optional variable used by Function 10 and Function 14 to return data for a single group. Specify a 2-digit hex value.
EMCSRDF_SELSYM This variable must contain either a 12-digit serial number or a 4-digit hex value representing a gatekeeper device. If this variable contains a serial number, the control unit must have at least one device online.
EMCSRDF_STARTDEV This variable must contain a 4-digit hex value representing your starting Symmetrix device.
EMCSRDF_TOKEN This variable is set on return from Function 02 (Submit Host Component Command). If EMCSRDF_WAIT_FOR_COMMAND is set to Y, the token field is maintained internally. If EMCSRDF_WAIT_FOR_COMMAND is set to N, you will need to supply this variable when you issue Function 03 (Get Command Status). This variable must also be supplied for Function 04 (Retrieve Command Output) and Function 18 (Reply to Command).
EMCSRDFR function variables 15
16
How to Use the Interface
EMCSRDF_TRK# This command tracking variable is set on return from Function 02 (Submit Host Component Command). It must be supplied as an input variable for Function 18.
EMCSRDF_USER_ VERIFY
When using Function 02 (Submit Host Component Command), set EMCSRDF_USER_VERIFY=Y to prevent the WTOR from appearing on the console and rerouting it to the application. When processing a command response in your application, if EMCSRDF_WAIT_FOR_COMMAND is set to Y, then EMCSRDFR will return code 92 from Function 02. If EMCSRDF_WAIT_FOR_COMMAND is not set to Y, EMCSRDFR will return code 92 from Function 03 or 04. When this happens, variable EMCSRDF_MSG will be set to the prompt that would have otherwise been sent in the WTOR.
To reply:• set EMCSRDF_USER_VERIFY= Y to allow the command to continue, or• set EMCSRDF_USER_VERIFY= N to deny the request • issue Function 18 (Reply to Command). To use this facility, the following must be specified in the Host Component init parameters:• USER_VERIFICATION=YES • USER_VERIFICATION_TIMEOUT=value• OPERATOR_VERIFY=value
EMCSRDF_WAIT This variable is only used by Function 13 (Wait Routine). It is used to specify the wait time in seconds.
EMCSRDF_WAIT_CMD_TIMEOUT
This is an optional variable for Function 02 (Submit Host Component Command). It can be set to hh:mm or to mmmm to specify a maximum amount of time to wait for the command to complete. When the time expires, Function 03 (Get Command Status) is executed and control is returned to the application with the return code value from Function 03.
EMCSRDF_WAIT_FOR_COMMAND
This is an optional variable for Function 02 (Submit Host Component Command).If set to Y, then Function 02 will wait for the command to complete. Upon completion of the command, Function 04 (Retrieve Command Output) will be executed internally. The return code to the application will reflect the return code from Function 04 and the EMCSRDF_LINE. variables will contain the command output.
Table 1 EMCSRDFR function input variables (page 2 of 2)
Variable Description
REXX Interface Programmer’s Reference Guide
How to Use the Interface
Table 2 lists the variables that may be set on return from the supported functions.
Table 2 EMCSRDFR function output variables
Variable Description
EMCSRDF_CMD_RC This variable contains the command return code. A non-zero return code indicates the command had an error.
EMCSRDF_DRDFRS This variable contains the reason code returned from Function 19 (Submit Dynamic RDF Command).
EMCSRDF_DRDFRTN_MESSAGE
This variable contains a text message indicating the reason for the DRDF (Dynamic RDF) error.
EMCSRDF_LINE.n This is a stem variable, with EMCSRDF_LINE.0 containing the number of command line records returned.
EMCSRDF_MESSAGE. This is a stem variable, with EMCSRDF_MESSAGE.0 containing the number of message records returned. It may contain data when EMCSRDF_RC is non-zero.
EMCSRDF_MSG This variable will be set when a return code 92 is returned and will contain the prompt that would have otherwise been sent in the WTOR.
EMCSRDF_RC This variable contains the return code from EMCSRDFR and EMCSRDFC.
EMCSRDF_TRK# This command tracking variable is set on return from Function 02 (Submit Host Component Command). It must be supplied as an input variable for Function 18 (Retrieve Command Output).
EMCSRDFR function variables 17
18
How to Use the Interface
EMCSRDFC function variables
Note: The EMCSRDFC conversion program has access to only a small subset of the existing variables. EMCSRDFC will be removed from the next release of the REXX interface and will no longer be available.
EMCSRDFC requires no input variables. To build the predefined and formatted REXX variables for a particular function, call EMCSRDFC immediately after a successful function call. Upon a successful return from EMCSRDFC, the REXX variables will be available.
◆ EMCSRDF_RC - Contains the return code from EMCSRDFC
REXX Interface Programmer’s Reference Guide
How to Use the Interface
Supported functionsThe functions available via the REXX interface are listed in Table 3. In all cases, EMCSRDF_FC must contain the function number. Any required parameters will be listed along with a sample portion of the object interpretation code. The complete object interpretation code can be found in the SCF SAMPLIB distributed with the ResourcePak Base.
Output is returned from the interface via REXX Stem variables:
◆ The .0 variables will contain the number of .i records that were returned.
◆ The .i records will contain the unformatted objects.
Using the Object Interpretation Code, the object can be analyzed.
Table 3 Supported interface functions (page 1 of 2)
Function number Description
01 Retrieve Subsystem Object
02 Submit Host Component Command
03 Get Command Status
04 Retrieve Command Output
06 Retrieve Global Information Object
07 Retrieve Serial# Objects
08 Retrieve SSID Objects
09 Retrieve Control Unit Objects
10 Retrieve Device Objects
11 Retrieve RDF Link Objects
12 Retrieve Director Objects
13 Wait Routine
14 Retrieve RDF Group Objects
15 Retrieve RDF Group Statistics Objects
16 Retrieve SRDFA Session Objects
17 Retrieve Director Statistics Objects
Supported functions 19
20
How to Use the Interface
Function 01 – Retrieve Subsystem Object This function requires no input variables.
Returned objects The returned object(s) will be found in the following variables:
◆ EMCSRDF_SUBSYS.0
◆ EMCSRDF_SUBSYS.i
Sample objectinterpretation code
REXX - Function 01 - Subsys Object
sub_0001 =SUBSTR(subsys_rec, 1,4) /* Subsystem Name */sub_0002 =SUBSTR(subsys_rec, 5,2) /* Command character(s) */sub_0003 =SUBSTR(subsys_rec, 7,3) /* HC VERSION (VVRRMM) */sub_0004 =SUBSTR(subsys_rec,10,8) /* 8 CHARACTER CMD PFX */
18 Reply to Command
19 Submit Dynamic RDF (DRDF) Command
20 Get Device Information
Table 3 Supported interface functions (page 2 of 2)
Function number Description
REXX Interface Programmer’s Reference Guide
How to Use the Interface
Function 02 – Submit Host Component Command This function requires the following additional variables to be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_COMMAND
Optionally, the following variables may also be set:
◆ EMCSRDF_WAIT_FOR_COMMAND
◆ EMCSRDF_WAIT_CMD_TIMEOUT
◆ EMCSRDF_USER_VERIFY
On return the following variables may be set:
◆ EMCSRDF_TOKEN
◆ EMCSRDF_LINE.
Returned objects This function does not return an object. When EMCSRDF_WAIT_FOR_COMMAND is set to "Y", Function 02 will wait for the command to complete. Upon completion of the command, Function 04 (Retrieve Command Output) will be executed internally. The return code to the application will reflect the return code from Function 04 and the output EMCSRDF_LINE. variables will contain the command output.
The EMCSRDF_LINE. variables look identical to console output, but issuing the command does not utilize console services. Any Host Component command can be submitted via the REXX interface provided the proper Host Component security has been granted.
Supported functions 21
22
How to Use the Interface
Function 03 - Get Command StatusThis function requires the following variables to be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_TOKEN
Returned objects This function does not return an object. This is a control function that is used to test the completion of Function 02 (Submit Host Component Command). While this is a valid function to use, it is not used if EMCSRDF_WAIT_FOR_COMMAND is specified on Function 02. It is also not necessary if your application is designed to wait and issue Function 04. A return code of 0 from this function indicates the command is complete.
Function 04 - Retrieve Command OutputThis function requires the following variables to be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_TOKEN
Returned objects This function does not return an object. This is a control function that is used to retrieve the output generated by Function 02. Command output will be contained in the stem variable EMCSRDF_LINE.n, with EMCSRDF_LINE.0 containing the number of stem variables returned.
A return code of 8 from this function indicates the command is not yet complete. At this point, you can issue a wait request (Function 13) and retry this function. Upon completion (return code of 0), this function sets variable EMCSRDF_CMD_RC to the return code for the command. This is a 4-byte binary number: 0 means the command worked, non-zero means the command had an error.
REXX Interface Programmer’s Reference Guide
How to Use the Interface
Function 06 – Retrieve Global Information ObjectsThis function requires the following variable to be set:
◆ EMCSRDF_CPFX8
Returned objects The returned object(s) will be found in the following variable:
◆ EMCSRDF_GLOBAL
Sample objectinterpretation code
REXX - Function 06 - Global Object
glb_0001 = C2X(SUBSTR(global_rec, 1,3)) /* HostComp version(vvrrmm) */glb_0002 = C2X(SUBSTR(global_rec, 4,3)) /* API version (vvrrmm) */glb_0003 =X2D(C2X(SUBSTR(global_rec, 7,2))) /* Msg processing table size*/glb_0004 =X2D(C2X(SUBSTR(global_rec, 9,2))) /* Max query */..glb_0023 = SUBSTR(global_rec,84,1) /* Command Prefix Registered*/
Function 07 – Retrieve Serial# ObjectsThis function requires the following variable to be set:
◆ EMCSRDF_CPFX8
Returned objects The returned object(s) will be found in the following variables:
◆ EMCSRDF_SERIAL.0
◆ EMCSRDF_SERIAL.i
Sample objectinterpretation code
REXX - Function 07 - Symmetrix Serial Number Object
ser#_0001 = SUBSTR(serial_rec, 1,12) /* Symm Serial Number */ser#_0002 = C2X(SUBSTR(serial_rec,13,2)) /* Major Micro Code Level */ser#_0003 = C2X(SUBSTR(serial_rec,15,2)) /* Minor Micro Code Level */
Supported functions 23
24
How to Use the Interface
Function 08 – Retrieve SSID ObjectsThis function requires the following variable to be set:
◆ EMCSRDF_CPFX8
Returned objects The returned object(s) will be found in the following variables:
◆ EMCSRDF_SSID.0
◆ EMCSRDF_SSID.i
Sample objectinterpretation code
REXX - Function 08 - SSID Object
ssid_0001 = C2X(SUBSTR(ssid_rec, 1,2)) /* SSID */ssid_0002 =X2D(C2X(SUBSTR(ssid_rec, 3,2)))/* number of devices */ssid_0003 = C2X(SUBSTR(ssid_rec, 5,1)) /* SSID Flags */ssid_0004 = C2X(SUBSTR(ssid_rec, 6,1)) /* Reserved */ssid_0005 = C2X(SUBSTR(ssid_rec, 7,2)) /* MVS dev# of 1st device found */ssid_0006 = C2X(SUBSTR(ssid_rec, 9,2)) /* Symmetrix dev# of 1st dev found */ssid_0007 = C2X(SUBSTR(ssid_rec,11,2)) /* MVS dev# of last device found */ssid_0008 = C2X(SUBSTR(ssid_rec,13,2)) /* Symmetrix dev# of last dev found */
Function 09 – Retrieve Control Unit ObjectsThis function requires the following variable to be set:
◆ EMCSRDF_CPFX8
Returned objects The returned object(s) will be found in the following variables:
◆ EMCSRDF_CNTLUNIT.0
◆ EMCSRDF_CNTLUNIT.i
Sample objectinterpretation code
REXX - Function 09 - Cntlunit Object
cntl_0001 = SUBSTR(cntlu_rec,1,64) /* Director map */cntl_0002 = SUBSTR(cntlu_rec,65,512) /* 64 RA grouping maps */cntl_0003 =RIGHT(STRIP(X2D(C2X(SUBSTR(cntlu_rec,577,4))),"L","0"),8)/* Mem MB */cntl_0004 = C2X(SUBSTR(cntlu_rec,581,2)) /* Control unit type */cntl_0005 = C2X(SUBSTR(cntlu_rec,583,4)) /* Microcode level */..cntl_0017 = SUBSTR(cntlu_rec,929,8) /* Reserved */
REXX Interface Programmer’s Reference Guide
How to Use the Interface
Function 10 – Retrieve Device ObjectsThis function requires the following variables to be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_SELSYM
◆ EMCSRDF_STARTDEV
◆ EMCSRDF_DEVCOUNT
Optionally, the following variables may be set:
◆ EMCSRDF_RDFGRPS
◆ EMCSRDF_SELGROUP
◆ EMCSRDF_INCLUDE_RD10MBRS
Returned objects The returned object(s) will be found in the following variables:
◆ EMCSRDF_DEVICE.0
◆ EMCSRDF_DEVICE.i
Function 10 will also return BCV information, if available. This data will be contained in the following variables:
◆ EMCSRDF_DEVICE.i.BCVINFO.0
◆ EMCSRDF_DEVICE.i.BCVINFO.i
Sample objectinterpretation code
REXX - Function 10 - Device Object
dev_0001 = C2X(SUBSTR(devobj_rec, 1,4)) /* UCB address */dev_0002 = SUBSTR(devobj_rec, 5,1) /* Device flag byte 1 */dev_0003 = SUBSTR(devobj_rec, 6,6) /* volume serial */..dev_00102= SUBSTR(devobj_rec,270,12) /* RAID5 Member8 */
Supported functions 25
26
How to Use the Interface
Function 11 – Retrieve RDF Link ObjectsThis function requires the following variables to be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_SELSYM
Optionally, the following variable may be set:
◆ EMCSRDF_RDFGRPS
Returned objects The returned object(s) will be found in the following variables:
◆ EMCSRDF_LINK.0
◆ EMCSRDF_LINK.i
Sample objectinterpretation code
REXX - Function 11 - Link Object
lnk_0001 =X2D(C2X(SUBSTR(link_rec, 1,4))) /* Total # IOs */lnk_0002 =X2D(C2X(SUBSTR(link_rec, 5,1))) /* Director # */lnk_0003 = SUBSTR(link_rec, 6,1) /* Director Type */lnk_0004 = SUBSTR(link_rec, 7,1) /* Other Side Director # */..lnk_0022 = SUBSTR(link_rec,46,2) /* Other Side group mask */
REXX Interface Programmer’s Reference Guide
How to Use the Interface
Function 12 – Retrieve Director ObjectsThis function requires the following variables to be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_SELSYM
Optionally, the following variable may be set:
◆ EMCSRDF_RDFGRPS
Returned objects The returned object(s) will be found in the following variables:
◆ EMCSRDF_DIRECTOR.0
◆ EMCSRDF_DIRECTOR.i
Sample objectinterpretation code
REXX - Function 12 - Director Object
dir_0001 =X2D(C2X(SUBSTR(dir_rec,1,1))) /* Director # */dir_0002 = SUBSTR(dir_rec,2,1) /* Director type */dir_0003 = SUBSTR(dir_rec,3,1) /* Director Online flag */dir_0004 = SUBSTR(dir_rec,4,1) /* Director Connected flag */
Function 13 – Wait RoutineThis function requires the following variable to be set:
◆ EMCSRDF_WAIT
Returned objects This function does not return an object. This is a control function which is used to force a wait interval to be executed. The variable EMCSRDF_WAIT must be primed with the amount of seconds to wait. When using Function 2 (Submit Host Component Command), this function is essential to delay the command complete checking.
Supported functions 27
28
How to Use the Interface
Function 14 – Retrieve RDF Group ObjectThis function requires the following variables to be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_SELSYM
Optionally, the following variables may be set:
◆ EMCSRDF_RDFGRPS
◆ EMCSRDF_SELGROUP
Returned objects The returned object(s) will be found in the following variables:
◆ EMCSRDF_RDFGROUP.0
◆ EMCSRDF_RDFGROUP.i
◆ EMCSRDF_RDFGROUPi_STARLCL
◆ EMCSRDF_RDFGROUPi_STARRMT
◆ EMCSRDF_RDFGROUPi_MSCLCL
◆ EMCSRDF_RDFGROUPi_BOXLIST.0
◆ EMCSRDF_RDFGROUPi_BOXLIST.#
Sample objectinterpretation code
REXX - Function 14 - RDF Group Object
grp_0001 =X2D(C2X(SUBSTR(rdfgrp_rec, 1,1))) /* RDF Group */grp_0002 =X2D(C2X(SUBSTR(rdfgrp_rec, 2,1))) /* Other Side RDF Group */grp_0003 = SUBSTR(rdfgrp_rec, 3,12) /* Other Side Serial # */grp_0004 =X2D(C2X(SUBSTR(rdfgrp_rec,15,2))) /* Other Side major rel. */grp_0018 = SUBSTR(rdfgrp_rec,56,10) /* Label */
REXX - Function 14 - STAR Local object /******************************************************************************/lcl_00001= SUBSTR(starl_rec, 1,1) /* SRDFA TYPE */lcl_00002= SUBSTR(starl_rec, 2,1) /* SRDFA ACTIVE */lcl_00003= SUBSTR(starl_rec, 3,1) /* SRDFA TOLERANCE */lcl_00004= SUBSTR(starl_rec, 4,1) /* CLEANUP RUNNING */..lcl_00056=X2D(C2X(SUBSTR(starl_rec,137,4))) /* # SECONDS SINCE */
REXX Interface Programmer’s Reference Guide
How to Use the Interface
REXX - Function 14 - STAR Remote objectrmt_00001= SUBSTR(starr_rec, 1,1) /* SRDFA TYPE */rmt_00002= SUBSTR(starr_rec, 2,1) /* SRDFA ACTIVE */rmt_00003= SUBSTR(starr_rec, 3,1) /* SRDFA TOLERANCE */rmt_00004= SUBSTR(starr_rec, 4,1) /* CLEANUP RUNNING */..rmt_00056=X2D(C2X(SUBSTR(starl_rec,137,4))) /* # SECONDS SINCE */
REXX - Function 14 - Group MSC Information/******************************************************************************/msl_00001= SUBSTR(mscl_rec, 1,1) /* Version 0-MSC 1-MSC/STAR*/msl_00002= SUBSTR(mscl_rec, 2,1) /* List complete */msl_00003= SUBSTR(mscl_rec, 3,1) /* MVS defined */msl_00004= SUBSTR(mscl_rec, 4,1) /* OS defined */..msl_00019= SUBSTR(mscl_rec, 33,16) /* Reserved */
REXX - Function 14 - Box List Information/******************************************************************************/box_00001= SUBSTR(box_rec, 1,12) /* Primary side Ser# */box_00002= C2X(SUBSTR(box_rec, 13,1)) /* Primary side Group */box_00003= SUBSTR(box_rec, 14,12) /* Secondary side Ser# */box_00004= C2X(SUBSTR(box_rec, 26,1)) /* Secondary side Group */box_00005= SUBSTR(box_rec, 27,6) /* Reserved */
Supported functions 29
30
How to Use the Interface
Function 15 – Retrieve RDF Group Statistics ObjectsThis function requires the following variables to be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_SELSYM
Optionally, the following variable may be set:
◆ EMCSRDF_RDFGRPS
Returned objects The returned object(s) will be found in the following variables:
◆ EMCSRDF_RGRPSTAT.0
◆ EMCSRDF_RGRPSTAT.i
Sample objectinterpretation code
REXX - Function 15 - Rgrpstat Object
grs_0001 =X2D(C2X(SUBSTR(rgrpst_rec, 1,1))) /* RDF Group */grs_0002 =X2D(C2X(SUBSTR(rgrpst_rec, 2,1))) /* This side director # */grs_0003 = C2X(SUBSTR(rgrpst_rec, 3,1)) /* Config flags */grs_0004 = C2X(SUBSTR(rgrpst_rec, 4,1)) /* Protocol */..grs_0016 =X2D(C2X(SUBSTR(rgrpst_rec,35,8))) /* Data in counter */
REXX Interface Programmer’s Reference Guide
How to Use the Interface
Function 16 – Retrieve SRDFA Session Objects
Note: Function 16 is no longer supported. Use “Function 14 – Retrieve RDF Group Object” on page 28 to obtain SRDFA/STAR/MSC information.
Supported functions 31
32
How to Use the Interface
Function 17 – Retrieve Director Statistics ObjectsThis function requires the following variables to be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_SELSYM
Optionally, the following variable may be set:
◆ EMCSRDF_RDFGRPS
Returned objects The returned object(s) will be found in the following variables:
◆ EMCSRDF_DSTAT.0
◆ EMCSRDF_DSTAT.i
Note: The Format field must be checked to determine the format of the object.
Sample objectinterpretation code
REXX - Function 17 - Director Statistics Object
sta_0001 =X2D(C2X(SUBSTR(stat_rec, 1,1))) /* Format */sta_0002 =X2D(C2X(SUBSTR(stat_rec, 2,1))) /* Director Type */sta_0003 =X2D(C2X(SUBSTR(stat_rec, 3,1))) /* Director # */sta_0004 = SUBSTR(stat_rec, 4,13) /* Reserved */sta_rec = SUBSTR(stat_rec,17,256) /* Director Statistics Info */
Format 2 director type EA
ea_0001 =X2D(C2X(SUBSTR(sta_rec, 1,4))) /* Number of writes */..ea_0007 =X2D(C2X(SUBSTR(sta_rec,25,4))) /* Device write pendings */
Format 3 director type SA
sa_0001 =X2D(C2X(SUBSTR(sta_rec, 1,4))) /* Number of writes */..sa_00011 =X2D(C2X(SUBSTR(sta_rec,41,4))) /* Device write pendings */
Format 4 director type FA
fa_0001 =X2D(C2X(SUBSTR(sta_rec, 1,4))) /* Number of writes */..fa_00011 =X2D(C2X(SUBSTR(sta_rec,41,4))) /* Device write pendings */
REXX Interface Programmer’s Reference Guide
How to Use the Interface
Format 6 director type DA
da_0001 =X2D(C2X(SUBSTR(sta_rec, 1,4))) /* Number of I/O's */..da_00013 =X2D(C2X(SUBSTR(sta_rec,49,4))) /* Average fall thru time */
Format 7 director type RF
rf_0001 =X2D(C2X(SUBSTR(sta_rec, 1,4))) /* Number of I/O's */..rf_00014 =X2D(C2X(SUBSTR(sta_rec,55,2))) /* Reserved */
Format 11 director type SE
se_0001 =X2D(C2X(SUBSTR(sta_rec, 1,4))) /* Number of writes */..se_00011 =X2D(C2X(SUBSTR(sta_rec,41,4))) /* Device write pendings */
Supported functions 33
34
How to Use the Interface
Function 18 - Reply to CommandThis is a control function that does not produce an object. This function is used after a command has indicated that a reply is outstanding. If the variable EMCSRDF_USER_VERIFY is set to Y, the command will be executed. If EMCSRDF_USER_VERIFY is set to N, the command will be denied.
This function requires that the following variables be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_TOKEN
◆ EMCSRDF_REQ_TOKN
◆ EMCSRDF_TRK#
REXX Interface Programmer’s Reference Guide
How to Use the Interface
Function 19 - Dynamic RDF (DRDF)This is a synchronous request and does not return control to the caller until the command is complete. It accepts a valid SRDF Host Component SC VOL command with a valid dynamic RDF action (createpair, deletepair, swap, hdeletepair, and hswap).
The syntax requirements for this command are the same as if the command were entered directly to the host component. The actual dynamic RDF work is performed in SCF via a new function in the mainframe Symmetrix® API. This function uses some of the Host Component common services and requires that Host Component be active.
Command output looks identical to console output, but issuing the command does not utilize console services. Only the SC VOL (DRDF) command can be submitted via this function and proper Host Component security is required.
This function requires that the following variables be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_COMMAND
Returned objects This function does not return an object. It returns formatted command output. Command output will be contained in the stem variable EMCSRDF_LINE.n, with EMCSRDF_LINE.0 containing the amount of stem variables returned.
Supported functions 35
36
How to Use the Interface
Function 20 - Get Device IdentificationThis function returns object 20, which contains device-specific information. This function requires that the following additional variables be set:
◆ EMCSRDF_CPFX8
◆ EMCSRDF_SELSYM
Must contain a 4-character MVS CUU. Use of a Symmetrix serial number is not supported.
There are no optional variables that can be used.
Returned objects The returned object(s) will be found in the following variables:
◆ EMCSRDF_DEVICEID.0
◆ EMCSRDF_DEVICEID.i
Sample objectinterpretation code
/* REXX - Function 20 - Device Identification Object */
did_0001 = SUBSTR(didobj_rec,1 ,12) /* Symm Serial Number */..did_0031 = C2X(SUBSTR(didobj_rec,67 ,2)) /* BASE SYMDEV# */
REXX Interface Programmer’s Reference Guide
How to Use the Interface
Return codesThis section provides a list of possible REXX return codes. You should check EMCSRDF_RC in addition to the return code from the call or link to EMCSRDFR and EMCSRDFC.
◆ Table 4 shows the return codes from EMCSRDFR.
◆ Table 5 on page 39 shows the return codes from EMCSRDFC.
◆ Table 6 on page 39 lists the dynamic RDF (DRDF) reason codes.
Table 4 Return codes from EMCSRDFR (page 1 of 3)
Return code Description
0 Success.
4 Command complete.
8 Command not complete.
12 Command not found.
16 Max commands queued.
20 Host Component not accepting commands.
24 Unable to locate Host Component subsystem command prefix. Check that this subsystem is running.
28 Bad function code passed.
32 Invalid starting device.
36 Unable to initiate cross memory interface.
40 Unable to terminate cross memory interface.
44 Getmain failed.
48 Requested object failed validation.
52 I/O error (API error).
56 Abend occurred in cross memory.
60 Request to queue command failed.
64 Requested Symmetrix below minimum microcode level.
68 Unable to locate UCB.
Return codes 37
38
How to Use the Interface
72 Unexpected condition.
76 SCF Not Found (Server Address Space).
80 EMCSRDF_COMMAND is equal to null or blank.
84 Version error.
88 Bad RDFGRP passed.
92 Command waiting to be verified.
96 The UCB check for this device has failed.
100 The RDF group specified was not found.
104 The RDF group specified is invalid.
108 Control unit not found.
112 Discover command timed out.
116 Bad command timeout specified.
120 Error retrieving the REXX variables.
124 Error setting the REXX variables.
128 Error validating the REXX environment.
132 Command parse error.
136 Access denied.
140 Invalid command length.
144 DRDF failed to change the RDF relationship. See EMCSRDF_DRDFRS for the reason code. EMCSRDF_DRDFRTN_MESSAGE will contain the message text.
148 DRDF Symmetrix commands to sync RDF pairs failed. See EMCSRDF_DRDFRS for the reason code. EMCSRDF_DRDFRTN_MESSAGE will contain the message text.
152 DRDF API error. See EMCSRDF_DRDFRS for the reason code. EMCSRDF_DRDFRTN_MESSAGE will contain the message text.
Table 4 Return codes from EMCSRDFR (page 2 of 3)
Return code Description
REXX Interface Programmer’s Reference Guide
How to Use the Interface
The following reason codes will be reflected in the REXX variable EMCSRDF_DRDFRS as shown in Table 6.
156 MVS device number not specified.
160 Remote request not allowed.
164 SCF maintenance level too low.
Table 5 Return codes from EMCSRDFC
Return code Description
08 Unable to determine the number of entries for stem variable.
12 Processing routine error.
Table 4 Return codes from EMCSRDFR (page 3 of 3)
Return code Description
Table 6 Dynamic RDF (DRDF) reason codes (page 1 of 6)
Reason code Description
1 INVALID MULTI-HOP LIST SPECIFIED
2 INVALID RDF GROUP SPECIFIED
3 DYNAMIC RDF NOT SUPPORTED ON LOCAL SYMMETRIX
4 DYNAMIC RDF NOT SUPPORTED ON REMOTE SYMMETRIX
5 LOCAL DEVICE(S) INVALID
6 REMOTE DEVICE(S) INVALID
7 LOCAL DEVICE NOT CAPABLE
8 REMOTE DEVICE NOT CAPABLE
9 LOCAL DEVICE NEITHER R1 NOR R2
10 REMOTE DEVICE NEITHER R1 NOR R2
11 LOCAL AND REMOTE DEVICES BOTH R1 OR BOTH R2
12 SWAP WITH DIFFERENT SIZE DEVICES
13 SWAP WITH LOCAL CONCURRENT R1
14 SWAP WITH REMOTE CONCURRENT R1
Return codes 39
40
How to Use the Interface
15 TF/SNAP LOCK ON LOCAL DEVICE
16 TF/SNAP LOCK ON REMOTE DEVICE
17 LOCAL DEVICE(S) IN USE BY ANOTHER PROCESS
18 REMOTE DEVICE(S) IN USE BY ANOTHER PROCESS
19 FBA META DISCOVERY OVERFLOW
20 FBA META DEVS CALL FAILED
21 DEVICE COUNT IS ZERO
22 DEVICE STATUS CALL FAILED
23 RDF PAIR IS READY ON THE LINK
24 LOCAL DEVICE HAS INVALID TRACKS, FORCE NOT SPECIFIED
25 REMOTE DEVICE HAS INVALID TRACKS, FORCE NOT SPECIFIED
26 FBAMETA LOCAL DEVICE CB INVALID
27 FBAMETA REMOTE DEVICE CB INVALID
28 FBAMETA INVALID RUN
29 FBAMETA MEMBERS ARE DIFFERENT SIZES
30 FBAMETA HEAD NOT IN RUN
31 FBAMETA MISMATCHED MEMBERS
32 FBAMETA STRIPE SIZE MISMATCH
33 FBAMETA TOO MANY RUNS GENERATED
34 FBAMETA CB IS INVALID
35 FBAMETA MEMBER HAS INVALID TRACKS, FORCE NOT SPECIFIED
36 LOGIC ERROR
37 R2 IS ALREADY RDF
38 R1 IS ALREADY RDF AND DYNAMIC CONCURRENT NOT SUPPORTED
Table 6 Dynamic RDF (DRDF) reason codes (page 2 of 6)
Reason code Description
REXX Interface Programmer’s Reference Guide
How to Use the Interface
39 R1 IS ALREADY RDF IN SPECIFIED GROUP
40 R1 IS ALREADY CONCURRENT RDF
41 LOCAL DEVICE NOT CAPABLE OF BECOMING SPECIFIED TYPE
42 REMOTE DEVICE NOT CAPABLE OF BECOMING SPECIFIED TYPE
43 MISMATCHED EMULATION
44 R2 CANNOT BE LARGER THAN R1
45 ALL MIRROR POSITIONS IN USE FOR LOCAL DEVICE
46 ALL MIRROR POSITIONS IN USE FOR REMOTE DEVICE
47 GROUP NOT SPECIFIED FOR CONCURRENT R1
48 RDF-SUSPEND PARAMETER ERROR IN RUN
49 RDF-SUSPEND FAILED
50 REMOTE SERIAL# INVALID
51 DEVICE RANGE IS TOO LARGE
52 DEVICE NUMBER IS INVALID
53 ACTION FAILED FOR DEVICE
54 RDF PAIR NOT SUSPENDED
55 BAD RDF GROUP SPECIFIED
56 DEVICE ALREADY RDF
57 RDF POLARITY ERROR
59 DEVICES NOT DYNAMIC
60 UNDO ACTION FAILED
61 MICROCODE LEVEL TOO LOW
62 DYNRDF INTERNAL ERROR
63 CONCURRENT RDF DEVS FOUND
64 FARPOINT NOT ALLOWED
Table 6 Dynamic RDF (DRDF) reason codes (page 3 of 6)
Reason code Description
Return codes 41
42
How to Use the Interface
65 INVALID FLAGS REQUESTED
66 DEVICE HELD FOR TF SNAP
67 INVALID MULTI-EXECUTE MASK
68 SPLIT CE+DE NOT ALLOWED
69 PPRC COPY DIRECTION NOT SET
70 PAIR MISMATCH
71 DRDF RAID_S NOT SUPPORTED
72 PPRC RE-ESTABLISH NO R1
73 PPRC R1 NOT TNR
74 VAULT DEVICE CANNOT BE R2
75 CONFIG MISMATCH
76 FBA META MISMATCH
77 DUPLICATE DEVICE SPECIFICATION
78 SWAP R2 IS LARGER THAN R1
79 SYMMPURGE ACTIVE ON DEVICE
80 CANNOT SWAP PPRC DEVICES
81 DEVICE IN CONSISTENCY GROUP
82 ALREADY CONCURRENT RDF
83 RDF MIRROR EXISTS IN GROUP
84 RDF FLAGS MISMATCH
85 R2 ALREADY RDF
86 ALREADY RDF DEVICE
87 SWAP NOT ALLOWED IN SRDFA GROUP
88 SWAP WITH WRITE PENDINGS
89 TOLERANCE OR CEXMPT NOT SET
Table 6 Dynamic RDF (DRDF) reason codes (page 4 of 6)
Reason code Description
REXX Interface Programmer’s Reference Guide
How to Use the Interface
90 SRDF/A MIXED RDF DEVICES
91 NO PPRC WITH SRDF/A
92 NO CONCURRENT SRDF/A MIRRORS
93 SRD/FA ACTIVATION LOCK HELD
94 DEVICE IS XRC
95 SRDF/A I/Os OUTSTANDING
96 R2 RESTORE NOT COMPLETE
97 CLEANUP RUNNING
98 NO CONCURRENT DRDF ON BCV
99 SRDF/A STATE TABLE LOCKED
100 DEV# TOO HIGH FOR RA
101 GROUP IS STAR MODE
102 CKD META MIRROR MASK CONFLICT
103 INCONSISTENT SYSCALL RUN
104 R21 DEVICE WILL RESULT BUT ADCOPY_DISK NOT SPECIFIED
105 R21 DEV WILL RESULT BUT CASCADED SRDF NOT LICENSED
106 MOVEPAIR DENIED, SRDF/A ACTIVE ON TARGET RDF GROUP
201 OTHER PROCESS LOCK QUERY FAILED
202 TF/SNAP LOCK QUERY FAILED
203 TF/SNAP LOCK FREE FAILED
299 SYSCALL ERROR
300 INVALID LOCAL DEVICE IN RANGE
301 INVALID REMOTE DEVICE IN RANGE
302 SPECIFIED GROUP DOES NOT MATCH EXISTING RDF MIRROR(S)
303 STARTING DEV# FOR RANGE IS BEYOND CNTLUNIT BOUNDARY
Table 6 Dynamic RDF (DRDF) reason codes (page 5 of 6)
Reason code Description
Return codes 43
44
How to Use the Interface
304 ENDING DEV# FOR RANGE IS BEYOND CNTLUNIT BOUNDARY
305 ERROR CHECKING DEVICE STATUS
306 DEVICE DID NOT CHANGE TO EXPECTED STATE
307 EXISTING RDF MIRROR NOT TNR
308 DEVICE RANGE TOO HIGH FOR CONFIG
309 DATA SOURCE HAS NO FULLY VALID LOCAL MIRRORS
310 LCL DEV HAS ACTIVE TIMEFINDER DATASET SNAP
311 RMT DEV HAS ACTIVE TIMEFINDER DATASET SNAP
312 NUMBER OF RDF GROUPS EXCEEDS MAX
313 UNABLE TO DETERMINE REMOTE GROUP
999 FC21 ABEND ESTAE RECOVERY
Table 6 Dynamic RDF (DRDF) reason codes (page 6 of 6)
Reason code Description
REXX Interface Programmer’s Reference Guide
How to Use the Interface
Example programsThe sample programs provide examples of how to set up and call the Host Component REXX API. With the API, you can retrieve data objects for report or interrogation purposes and submit Host Component commands.
Before the Host Component REXX API samples can be used, you must copy them to the appropriate runtime datasets.
◆ The following sample REXX EXECs must be copied to the ResourcePak Base ISPELIB: APIC, APIR, APIT, APIV, CALLAPIC, CALLAPID, CALLAPIR, CALLAPIT, CALLAPIV, and APITEST.
◆ The following sample panels must be copied to the ResourcePak Base ISPPLIB: APIDP, APITP, HAPIR, and HAPIT.
Note: The clist and JCL members listed in Table 7 require site-specific tailoring. You will need to provide information such as the Host Component command prefix, the Host Component loadlib that contains both EMCSRDFR and EMCSRDFC, the SCF prefix, and possibly others.
The clist members below are actually short REXX setup programs which are used to invoke the sample programs. Each clist and JCL has its own unique requirements. The samples below are documented in the members themselves.
Table 7 lists and briefly describes the sample programs. These examples can be found in the installed SAMPLIB. These samples provide code which illustrates how to use each function and how to process the data returned from each function.
Table 7 Example programs (page 1 of 3)
Program Description
APIC A sample clist which invokes CALLAPIC.
APID A sample clist that invokes CALLAPID.
APIDP A sample panel used to produce the input to CALLAPID.
APIR A sample clist that invokes CALLAPIR.
APIT A sample clist that invokes CALLAPIT.
APITEST A sample program that uses the Host Component REXX API to illustrate how to build a user interface.
Example programs 45
46
How to Use the Interface
APITP A sample panel used to produce the input to CALLAPIT and CALLAPIR.
APIV A sample clist that invokes CALLAPIV.
APIVJ A sample JCL member that invokes CALLAPIV.
CALLAPIC A sample program which calls APITEST and uses Function 2 to submit a command and Function 18 to respond to a command prompt.
CALLAPID A sample program that calls APITEST and uses the raw unformatted data to produce a custom object display command.
CALLAPIR A sample program that calls APITEST and uses the raw unformatted data to produce the desired results.
CALLAPIT A sample program that calls APITEST and uses the formatted REXX variables to produce a report similar to the SRDFR ISPF interface.
CALLAPIV A sample program that builds a custom display command. This REXX can run online or batch.
EHCJAPIS Sample JCL to invoke EHCXSEL.
EHCJSFxx JCL to execute the EHCXSF## sample programs.
EHCJXCFG Sample JCL to invoke EHCXSCFG.
EHCPHSEL Help panel for EHCPSEL.
EHCJXF19 Invokes EHCXSF19 in batch mode.
EHCPSEL A sample panel used to produce the input to EHCXSEL.
EHCXCSEL A sample REXX clist used to invoke EHCXSEL.
EHCXSCFG A sample program that shows how to build an auto configurator.
EHCXSEL A sample REXX program to build a custom select command for display. It takes as input a statement to parse and calls EMCSRDFR to retrieve device records. The records are filtered based on the supplied criterion and displayed. This sample can be invoked via a panel, JCL, or directly.
EHCXSF01 Sample program to execute Function 01.
EHCXSF06 Sample program to execute Function 06.
EHCXSF07 Sample program to execute Function 07.
EHCXSF08 Sample program to execute Function 08.
EHCXSF09 Sample program to execute Function 09.
Table 7 Example programs (page 2 of 3)
Program Description
REXX Interface Programmer’s Reference Guide
How to Use the Interface
EHCXSF10 Sample program to execute Function 10.
EHCXSF11 Sample program to execute Function 11.
EHCXSF12 Sample program to execute Function 12.
EHCXSF14 Sample program to execute Function 14.
EHCXSF15 Sample program to execute Function 15.
EHCXSF17 Sample program to execute Function 17.
EHCXSF19 Sample program to execute Function 19.
EHCXSF20 Sample program to execute Function 20.
HAPIR The help panel for APIR.
HAPIT The help panel for APIT.
Table 7 Example programs (page 3 of 3)
Program Description
Example programs 47
48
How to Use the Interface
Object headersTo allow for expansion and modification of the objects without adversely affecting the applications using these objects, each object has an object header (OBJECTH). This header is used to identify the version of the object. The object header is available as formatted REXX variables and/or as unformatted records.
Note: OBJECTH in the product SAMPLIB contains the object interpretation code.
OBJECTH formatted
FC##.HDR_OBJECTIDFC##.HDR_FCFC##.HDR_VERSIONFC##.HDR_HDRLENFC##.HDR_OBJLEN
OBJECTH unformattedSample object interpretation code:
REXX - Object Header
hdr_0001 = SUBSTR(object_hdr,1 ,8) /* Object ID */hdr_0002 = SUBSTR(object_hdr,9 ,2) /* Function Code */hdr_0003 =X2D(C2X(SUBSTR(object_hdr,11,2))) /* Version */hdr_0004 =X2D(C2X(SUBSTR(object_hdr,13,2))) /* Header Length */hdr_0005 =X2D(C2X(SUBSTR(object_hdr,15,2))) /* Object Length */hdr_0006 =X2D(C2X(SUBSTR(object_hdr,17,16))) /* Unused */
REXX Interface Programmer’s Reference Guide
3Invisible Body Tag
This chapter provides a cross-reference between the returned records and the formatted variables created by EMCSRDFC.
Note: The EMCSRDFC conversion program only has access to a small subset of the existing variables. EMCSRDFC will be removed from the next release of the REXX interface and will no longer be available.
◆ Introduction ........................................................................................ 50◆ Unformatted variables ...................................................................... 51◆ Formatted variables ........................................................................... 52◆ Formatted variable and object cross-reference .............................. 53
REXX Variables
REXX Variables 49
50
REXX Variables
IntroductionThe REXX interface provides access to Host Component variables returned as string data called objects. The interface can process Host Component commands and replies. The ready-to-use APITEST application illustrates example command usage. The REXX code to interpret the returned object can be found in the OBJECT## members.
REXX Interface Programmer’s Reference Guide
REXX Variables
Unformatted variablesUse the .0 variable to determine how many records were generated. The value in this field is used to determine the number of the records in the stem as follows:
EMCSRDF_object_name.0 EMCSRDF_object_name.#
Where object_name is the object name and # is each instance of the object in the stem.
You can use the object interpretation code to format your own variables using these records.
Unformatted variables 51
52
REXX Variables
Formatted variablesSince EMCSRDFC is only called after a call to EMCSRDFR, the unformatted records are already created. EMCSRDFC will take these records and populate the REXX variables.
The object variables have the following format:
FC@@.#_variable_name
Where @@ is the object number, # is the record number, and variable_name is the name of the variable.
If you called the subsystem object routine, you would use EMCSRDF_SUBSYS.0 to determine how many objects were returned. For example, assume it is set to 2. The subsys object number is 01 and 2 records were returned. The variables created would be:
FC01.1_SUBSYS_NAME Contains the 1st subsystem name
FC01.1_CMD_CHARS Contains the 1st prefix characters
FC01.1_HCVER Contains the 1st SRDF Host Component version
FC01.2_SUBSYS_NAME Contains the 2nd subsystem name
FC01.2_CMD_CHARS Contains the 2nd prefix characters
FC01.2_HCVER Contains the 2nd SRDF Host Component version
REXX Interface Programmer’s Reference Guide
REXX Variables
Formatted variable and object cross-referenceThis section provides a cross-reference between the returned records and the formatted variables created by EMCSRDFC. You can use the object interpretation members (OBJECTXX) in the product SAMPLIB in conjunction with this cross-reference to build custom applications.
Note: Formatted variable names are not available for all object fields. To ensure that you have access to all fields within each object, you should access the unformatted data fields using the OBJECT## members. You can then assign field names based on the descriptions provided to suit your needs.
Note that EMCSRDFC will be removed from the next release of the REXX interface and will no longer be available.
The following tables list the offset within the returned object along with the length of the field, the type of field (C=character, X=binary), and a brief description of the field.
Table 8 Function ALL, Object name: HEADER
Offset Length Type Formatted variable name Description
1 8 C FC@@.HDR_OBJECTID Object ID
9 2 C FC@@.HDR_FC Function code
11 2 X FC@@.HDR_VERSION Version
13 2 X FC@@.HDR_HDRLEN Header length
15 2 X FC@@.HDR_OBJLEN Object length
17 16 X Reserved
32 Object length
Where @@ is the function number.
Formatted variable and object cross-reference 53
54
REXX Variables
Table 9 Function 01, Object name: SUBSYS
Offset Length Type Formatted variable name Description
1 4 C FC01.#_SUBSYS_NAME Subsystem name
5 2 C FC01.#_CMD_CHARS Command character(s)
7 3 X FC01.#_HCVER Host Component version (vvrrmm)
10 8 C FC01.#_CMD_CPFX8 8-character command prefix
18 7 X Reserved
24 Object length
Table 10 Function 06, Object name: GLOBAL (page 1 of 3)
Offset Length Type Formatted variable name Description
1 3 X FC06._VERS Host Component version (vvrrmm)
4 3 X FC06._API_VERS API version (vvrrmm)
7 2 X FC06._MPTS Message processing table size
9 2 X FC06._MAXQ Max query
11 2 X FC06._MAXC Maxcmdq
13 4 C FC06._SUBSYS_NAME Subsystem name
17 2 C Reserved
19 8 C FC06._SAF_CLASS SAF class name
27 44 C FC06._SAF_RES SAF resource name
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted variable name Description
71 1 X FC06._CSL Config security level 1-SAF 2-ANY 3-MASTER 4-SAF,MASTER
72 1 X FC06._QSL Query security level 1-SAF 2-ANY 3-MASTER 4-SAF,MASTER
73 1 C FC06._EXT_SAFFLG Extended SAF flag (Y|N)
74 1 X FC06._CSD Current synch direction 0-NONE 1-R1>R2 2-R1<R2
75 1 X FC06._ASD Allowed synch direction 0-NONE 1-R1>R2 2-R1<R2 3-R1<>R2
76 1 C FC06._MSG_PROC Message processing (Y|N)
77 1 C FC06._OV Operator verify A-ALL N-NO C-CRITICAL
78 1 C FC06._CFG_FBA Config FBA (Y|N)
Table 10 Function 06, Object name: GLOBAL (page 2 of 3)
Formatted variable and object cross-reference 55
56
REXX Variables
Offset Length Type Formatted variable name Description
79 1 C FC06._MSGLBL Message Labels S-SYMM SERIAL# M-MVS CUU C-COMMAND# N-NOT SPECIFIED
80 1 C FC06._SHOW_CMD Show command on EMCMN00I (Y/N)
81 1 C FC06._ABORTGRP_CMD Abort command if subtask busy (Y/N)
82 1 C FC06._COMMAND_DETAILS
Command details (Y/N)
83 1 C FC06._SORT_BY Sort by 0-DFLT (BY SYMDV#) 1-SORT_BY_MVSCUU 2-SORT_BY_VOLSER 3-SORT_BY_COMMAND)
84 8 C FC06._CMD_PFX Command prefix chars
92 1 C FC06._CMD_PFXREG Command prefix registered (Y/N)
93 1 C User command verification (Y/N)
94 5 C User command verify timeout MM:SS
99 6 X Reserved
104 Object length
Table 10 Function 06, Object name: GLOBAL (page 3 of 3)
REXX Interface Programmer’s Reference Guide
REXX Variables
Table 11 Function 07, Object name: SERIAL
Offset Length Type Formatted variable name Description
1 12 C FC07.#_SERIAL_NBR Symmetrix serial number
13 2 X FC07.#_MCLVL_MAJ Major microcode level
15 2 X FC07.#_MCLVL_MIN Minor microcode level
16 Object length
Formatted variable and object cross-reference 57
58
REXX Variables
Table 12 Function 08, Object name: SSID
Offset Length Type Formatted variable name Description
1 2 X FC08.#_SSID SSID
3 2 X FC08.#_NBR_DEVS Number of devices
5 1 X FC08.#_SSID_FLAGS
SSID Flags 80-EMC CONTROLLER 40-EMC SYM3 20-3990 10-PHY DEV# VALID 08-EMC SYM4 04-EMC SYM5 02-EMC SYM6 01-2105 (3990 will also be set)
6 1 X SSID Flags2 80-EMC SYM3 40-EMC SYM4 20-EMC SYM5 10-EMC SYM6 08-EMC SYM7
7 2 X FC08.#_FIRST_MVSDEV MVS device# of 1st device found
9 2 X FC08.#_LAST_MVSDEV MVS device# of last device found
11 2 X FC08.#_FIRST_SYMMDEV Symmetrix device# of 1st device found
13 2 X FC08.#_LAST_SYMMDEV MVS device# of last device found
15 12 C FC08.#_SYMSER Symmetrix serial number
27 6 X Reserved
32 Object length
REXX Interface Programmer’s Reference Guide
REXX Variables
Table 13 Function 09, Object name: CNTLUNIT (page 1 of 3)
Offset Length Type Formatted variable name Description
1 64 C FC09.#_DIR_MAP Director mapC-CA DIRECTOR E-EA DIRECTORD-DA DIRECTORS-SA DIRECTOR W-DAF DIRECTOR1-RA1 DIRECTOR2-RA2 DIRECTOR F-FIBER RA DIRECTORA-FIBRE SA G-FIBRE GIGE (RA MODE)I-FICON DIRECTORBLANK-UNUSED DIRECTOR
65 512 X FC09.#_RA_GRP_LIST 64 RA grouping mapsFor each RA group (0-63), contains an 8-byte list of director numbers associated with that RA group. Note that directors are numbered starting with 1. A director number of 0 terminates the list. If the 1st byte of a group map is 0, then there are no directors assigned to that group.
577 4 X FC09.#_MEM_MEG Memory MB
581 2 X FC09.#_CNTLU_TYPE Control unit type
583 4 X FC09.#_MC_LEVEL Microcode level (MAJOR/MINOR REL)
587 2 X FC09.#_NBR_VOLS Number of volumes
589 2 X FC09.#_GRP Number of RAID groups
591 12 C FC09.#_SERIAL# Serial number
603 1 X FC09.#_FLAG_BYTE1 Flag byte 04-LINKS-DOMINO02-T3 (EXTENDED) LINK
Formatted variable and object cross-reference 59
60
REXX Variables
Offset Length Type Formatted variable name Description
604 1 X FC09.#_SYMM_TYPE Symmetrix type
605 1 C FC09.#_SYNC_DIR Sync direction 0-NONE 1-R1>R2 2-R1<R2 4-GLOBAL
606 1 X FC09.#_SSID.0 Number of SSIDs
607 256 C FC09.#_SSIDS Array of SSID entries
863 64 C FC09.#_RDFGRP_SYNCDIR RDF group sync directions0 - None1 - R1>R22 - R1<R24 - GLOBAL5 - CNFG
927 2 X Reserved
929 1 C FC09.#_RAID5 RAID 5 configured (Y/N)
930 1 C FC09.#_SRDFA SRDF/A supported (Y/N)
931 1 C RAID 6 configured (Y/N)
932 5 X Reserved
937 4 X Number of SSID2s
941 4 X Reserved
945 1024 X SSID2 array256 4-byte entries. The SSID is contained in the first two bytes of each entry.
1969 256 C RDF group sync directions0 - None1 - R1>R22 - R1<R24 - GLOBAL5 - CNFG
2225 4 X Reserved
Table 13 Function 09, Object name: CNTLUNIT (page 2 of 3)
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted variable name Description
2229 2048 X RA group director list256 8-byte entries. Each entry contains a list of director numbers associated with that group. Director numbers start at 1. A director number of 0 terminates the list. If the 1st byte of an entry is 0, then no directors are associated with this group.
4277 4 X Reserved
4280 Object Length
Table 13 Function 09, Object name: CNTLUNIT (page 3 of 3)
Formatted variable and object cross-reference 61
62
REXX Variables
Table 14 Function 10, Object name: DEVICE (page 1 of 19)
Offset Length Type Formatted Variable Name Description
1 4 X FC10.#_UCB_ADDR UCB address
Note: To determine if the MVS device number (at offset 45,2) is valid, you can test this field. If the field is 0, then there is no corresponding MVS device.
5 1 X FC10.#_DFB1 Device flag byte 180-DEVICE ENTRY IS VALID 10-UCB IS VALID 04-VALIDATE COMMAND ISSUED 02-REFRESH COMMAND ISSUED 01-RFR-RSUM COMMAND ISSUED
6 6 C FC10.#_VOLSER Volume serial
12 1 X FC10.#_CHNL_DEVADDR Device address on channel
13 4 X FC10.#_#INVALID_M1 Number of M1 invalids
17 4 X FC10.#_#INVALID_M2 Number of M2 invalids
21 4 X FC10.#_#INVALID_M3 Number of M3 invalids
25 4 X FC10.#_#INVALID_M4 Number of M4 invalids
29 4 X FC10.#_NBR_ITRKSR1 Number of R1 invalid tracks
33 4 X FC10.#_NBR_ITRKSR2 Number of R2 invalid tracks
37 4 X FC10.#_WPENDING_CNT Write pending count
41 4 X FC10.#_MAXADAPT_COPYWP_TRKS
Max adcopy skew
45 2 X FC10.#_MVS_DEV# MVS device number
47 2 X FC10.#_NBR_CYLS Number of cylinders
49 2 X FC10.#_SYM_DEV# Symmetrix device number
51 2 X FC10.#_DA#IF_M1 Interface address of M1
53 2 X FC10.#_DA#IF_M2 Interface address of M2
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted Variable Name Description
55 2 X FC10.#_DA#IF_M3 Interface address of M3
57 2 X FC10.#_DA#IF_M4 Interface address of M4 Format of the interface fields are as follows: DDXI - Where DD is the director number, X is C,D,E, or F, and I is X'0'-X'F'. If XI = X'00' then use the interface fields at offset 288.
59 2 X FC10.#_RAID_GRP RAID group
61 1 X FC10.#_RDF_GRP RDF group x'FF' indicates no group assigned
62 1 X FC10.#_R1_MIRROR# R1 mirror # (or 0)
63 1 X FC10.#_R21_MIRROR# R2(1) mirror # (or 0)
64 1 X FC10.#_R22_MIRROR# R2(2) mirror # (or 0)
65 2 C FC10.#_MR Mirror type PV - Power Vault DR - Disaster Recovery RS - Raid L1 - Local R1 L2 - Local R2 BC - BCV R1 - R1 R2 - R2 A1 - SRDFA R1 A2 - SRDFA R2 FS - File System CD - COVD VD - Virtual SV - Log Save ML - Mirror Local
67 1 X FC10.#_RAID_MIRROR# RAID data mirror #
68 1 X FC10.#_PARITY_MIRROR# Parity mirror #
Table 14 Function 10, Object name: DEVICE (page 2 of 19)
Formatted variable and object cross-reference 63
64
REXX Variables
Offset Length Type Formatted Variable Name Description
Note: For Mirror Disk Flag 1, flag bytes 20 and 10 set will be set for Cascaded SRDF devices.
69 1 X FC10.#_DF1_M1 Mirror 1 - Disk Flag 120-RDF PRIMARY DEVICE (R1) 10-RDF SECONDARY DEVICE (R2) 08-HOT SPARE 04-RAID DEVICE 02-RAID PARITY DEVICE
70 1 X FC10.#_DF1_M2 Mirror 2 - Disk Flag 120-RDF PRIMARY DEVICE (R1)10-RDF SECONDARY DEVICE (R2)08-HOT SPARE 04-RAID DEVICE 02-RAID PARITY DEVICE
71 1 X FC10.#_DF1_M3 Mirror 3 - Disk Flag 120-RDF PRIMARY DEVICE (R1)10-RDF SECONDARY DEVICE (R2)08-HOT SPARE 04-RAID DEVICE 02-RAID PARITY DEVICE
72 1 X FC10.#_DF1_M4 Mirror 4 - Disk Flag 20-RDF PRIMARY DEVICE (R1)10-RDF SECONDARY DEVICE (R2)08-HOT SPARE 04-RAID DEVICE 02-RAID PARITY DEVICE
Note: For Mirror Disk Flag 2, if bits 01 and 02 are not set, then the device is a CKD.
73 1 X FC10.#_DF2_M1 Mirror 1 - Disk Flag 202-BCV DEVICE 01-FBA DEVICE
74 1 X FC10.#_DF2_M2 Mirror 2 - Disk Flag 2 02-BCV DEVICE 01-FBA DEVICE
Table 14 Function 10, Object name: DEVICE (page 3 of 19)
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted Variable Name Description
75 1 X FC10.#_DF2_M3 Mirror 3 - Disk Flag 202-BCV DEVICE 01-FBA DEVICE
76 1 X FC10.#_DF2_M4 Mirror 4 - Disk Flag 2 Not 01 or 02 - CKD02-BCV DEVICE 01-FBA DEVICE
77 1 X FC10.#_DF3_M1 Mirror 1 - Disk Flag 380-R2 NR IF INVTRKS 20-WORM DEVICE 10-SHARED CKD/FBA DEVICE 08-OPTIMIZER DRV DEVICE 04-META DEVICE
78 1 X FC10.#_DF3_M2 Mirror 2 - Disk Flag 380-R2 NR IF INVTRKS 20-WORM DEVICE 10-SHARED CKD/FBA DEVICE 08-OPTIMIZER DRV DEVICE 04-META DEVICE
79 1 X FC10.#_DF3_M3 Mirror 3 - Disk Flag 380-R2 NR IF INVTRKS 20-WORM DEVICE 10-SHARED CKD/FBA DEVICE 08-OPTIMIZER DRV DEVICE 04-META DEVICE
80 1 X FC10.#_DF3_M4 Mirror 4 - Disk Flag 380-R2 NR IF INVTRKS 20-WORM DEVICE 10-SHARED CKD/FBA DEVICE 08-OPTIMIZER DRV DEVICE 04-META DEVICE
81 1 X FC10.#_DF6 Disk Flag 6 80-M1 CONFIGURED AT IML 40-M2 CONFIGURED AT IML 20-M3 CONFIGURED AT IML 10-M4 CONFIGURED AT IML
Table 14 Function 10, Object name: DEVICE (page 4 of 19)
Formatted variable and object cross-reference 65
66
REXX Variables
Offset Length Type Formatted Variable Name Description
82 1 X FC10.#_DF7 Disk Flag 7 - Device Configuration Settings40-SYMMETRIX FILE SYSTEM DEVICE 10-DYNAMIC R2 DEVICE 08-DYNAMIC R1 DEVICE
83 1 X FC10.#_DSF1 Device status Flag 1 80-READY 40-RDF NOT READY 10-DOMINO MODE 08-M1 CURRENTLY CONFIGURED 04-M2 CURRENTLY CONFIGURED 02-M3 CURRENTLY CONFIGURED 01-M4 CURRENTLY CONFIGURED
84 1 X FC10.#_DSF2 Device status Flag 2 80-M1 NOT READY 40-M1 WR DISABLED 20-M2 NOT READY 10-M2 WR DISABLED 08-M3 NOT READY 04-M3 WR DISABLED 02-M4 NOT READY 01-M4 WR DISABLED
85 1 X FC10.#_DSF3 Device status flag 3 20-RAID DEVICE 02-1 JOURNAL1 MODE 0 JOURNAL0 MODE 01-RDF ITRK MODE
86 1 X FC10.#_DSF4 Device status Flag 4 80-BCV NR 40-DEV IN CONGROUP 20-SPIN UP W/DD 08-FILE SNAP DEV (SRC) 04-FILE SNAP DEV (TGT) 02-MIRROR NOT READY (USER) 01-CGROUP NOT READY (TRIPPED)
Table 14 Function 10, Object name: DEVICE (page 5 of 19)
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted Variable Name Description
87 1 X FC10.#_DFB2 Device Flag 2 08-SOURCE NOT READY 04-TARGET NOT READY 02-SRC WR-DISABLED 01-TGT WR-DISABLED
88 1 X FC10.#_REMM1_MS Mirror1 Remote mirror state80-NOT READY 40-WRITE DISABLED 20-ADAPTIVE COPY DISK MODE 10-ADCOPY WRITE PENDING MODE08-RMT MIRROR POSITION VALID
89 1 X FC10.#_REMM1_RDFDEV_GRP M1 Remote Symmetrix RDF device group
90 2 X FC10.#_REMM1_DEV# M1 Remote Symmetrix device number
92 4 X FC10.#_REMM1_INVTRK M1 Remote device invalid track count
96 4 X FC10.#_REMM1_WPEND_CNT M1 adcopy write pending count
100 4 X M1 4 bytes unused
104 1 X FC10.#_REMM2_MS Mirror2 Remote mirror state80-NOT READY 40-WRITE DISABLED 20-ADAPTIVE COPY DISK MODE 10-ADCOPY WRITE PENDING MODE08-RMT MIRROR POSITION VALID
105 1 X FC10.#_REMM2_RDFDEV_GRP M2 Remote Symmetrix RDF device group
106 2 X FC10.#_REMM2_DEV# M2 Remote Symmetrix device number
108 4 X FC10.#_REMM2_INVTRK M2 Remote device invalid track count
112 4 X FC10.#_REMM2_WPEND_CNT M2 adcopy write pending count
116 4 X M2 4 bytes unused
Table 14 Function 10, Object name: DEVICE (page 6 of 19)
Formatted variable and object cross-reference 67
68
REXX Variables
Offset Length Type Formatted Variable Name Description
120 1 X FC10.#_REMM3_MS Mirror3 Remote mirror state80-NOT READY 40-WRITE DISABLED 20-ADAPTIVE COPY DISK MODE 10-ADCOPY WRITE PENDING MODE08-RMT MIRROR POSITION VALID
121 1 X FC10.#_REMM3_RDFDEV_GRP M3 Remote Symmetrix RDF device group
122 2 X FC10.#_REMM3_DEV# M3 Remote Symmetrix device number
124 4 X FC10.#_REMM3_INVTRK M3 Remote device invalid track count
128 4 X FC10.#_REMM3_WPEND_CNT M3 adcopy write pending count
132 4 X M3 4 bytes unused
136 1 X FC10.#_REMM4_MS Mirror4 Remote mirror state80-NOT READY 40-WRITE DISABLED 20-ADAPTIVE COPY DISK MODE 10-ADCOPY WRITE PENDING MODE08-RMT MIRROR POSITION VALID
137 1 X FC10.#_REMM4_RDFDEV_GRP M4 Remote Symmetrix RDF device group
138 2 X FC10.#_REMM4_DEV# M4 Remote Symmetrix device number
140 4 X FC10.#_REMM4_INVTRK M4 Remote device invalid track count
144 4 X FC10.#_REMM4_WPEND_CNT M4 adcopy write pending count
148 4 X M4 4 bytes unused
152 1 X Reserved
153 1 X FC10.#_RDFSTATE RDF state R2 state flags 20-R2 IN R/W MODE10-R2 NOT READY
154 1 X FC10.#_FLAGR Flagr80-RAID10 HEAD DEV 40-RAID10 MEMBER DEV 20-META HEAD DEV 10-META MEMBER DEV
Table 14 Function 10, Object name: DEVICE (page 7 of 19)
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted Variable Name Description
155 1 X FC10.#_DSMFLG Miscellaneous device flags80-M1 IS SYNCH'D 40-M2 IS SYNCH'D 20-M3 IS SYNCH'D 10-M4 IS SYNCH'D 08-FILE SNAP DEV (SRC) 04-FILE SNAP DEV (TGT) 02-MIRR NOT READY (USER) 01-CGRP NOT READY (TRIPPED)
156 1 X FC10.#_DSF5 Device Status Flag 5 80-WRITE & VERIFY MODE 40-BCV DEVICE 20-PREFETCH TAIL CUT DISABLE 10-PREFETCH MODE ENABLED08-DISABLE SCSI TAG COMMAND 04-DISABLE AUTO BUFR RATIO ALGOR 02-WRITE VERIFY COMPARE MODE 01-DEVICE IN RAID GRP
157 1 X FC10.#_DSF6 Device Status Flag 6 80-HA NON-EXCLUSIVE ACCESS 40-FILE SYSTEM DEVICE 20-ORACLE CHECKSUM DEV 10-DYNAMIC R2 DEVICE 08-DYNAMIC R1 DEVICE 04-DATA STRIPING DEV 02-520 BYTES/BLOCK LOW-LVL FMT 01-REAL TIME BEHAVIOR
158 1 X FC10.#_DFB3 FC10.#_PPRC (Y/N)
Device flag 3 20-OPERATING IN PPRC MODE
159 1 XFC10.#_XRC (Y/N) FC10.#_COVD (Y/N)FC10.#_BESTR (Y/N)FC10.#_DMYDV (Y/N)
Device status flag 7 10-XRC CAPABLE DEVICE 04-COVD DEVICE 02-BACK-END STRIPED DEV 01-DUMMY DEVICE ENTRY
Table 14 Function 10, Object name: DEVICE (page 8 of 19)
Formatted variable and object cross-reference 69
70
REXX Variables
Offset Length Type Formatted Variable Name Description
160 1 X FC10.#_MHDFC10.#_METAHDFC10.#_META FC10.#_ECADFC10.#_LOGFC10.#_VIRFC10.#_CKDM
Config mist flag2 20-META HEAD DEVICE 10-META DEVICE 08-ECA DEFINED 04-LOG DEVICE 02-VIRTUAL DEVICE 01-STRIPED CKD DEVICE
161 1 C FC10.#_SRDFA SRDFA device (Y/N)
162 1 C FC10.#_SRDFA_ACT SRDFA device active (Y/N)
163 2 X Reserved
165 4 X FC10.#_SRDFA_SLOTS_ACT SRDFA device # of slots active
169 4 X FC10.#_SRDFA_SLOTS_INACT SRDFA device # of slots notactive
173 1 C FC10.#_RAID5DEV RAID5 device ? (Y/N)
174 1 C FC10.#_R5READYS RAID5 device ready state N-NOT READY 1-DEGRADED MODE: 1 DEV READY, 1 MBR NOT READY, SPARE NOT READY 2-DEGRADED MODE: 2 DEV READY, 1 MBR NOT READY, SPARE READY R-DEVICE READY: DEV READY, MBRS READY, SPARE NOT READYS-DEV & SPARE READY: DEV READY, MBRS READY, SPARE READY
175 1 C FC10.#_R5RWS RAID5 device ReadWrite state D-DEV WRT DISABLED SPARE WRT DISABLED 1-DEV WR ENABLED ONE MBR WR DISABLED 2-DEV WR ENABLED 1 MBR WR DISABLED SPARE WR ENABLED E-DEVICE AND MEMBERS WR ENABLED SPARE WR DISABLED S-DEVICE, MEMBERS
176 1 C FC10.#_R5SPVALD RAID5 device spare info valid
177 1 C FC10.#_R5SPINVK RAID5 device spare invoked
Table 14 Function 10, Object name: DEVICE (page 9 of 19)
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted Variable Name Description
178 1 X FC10.#_R5SPMEMB RAID5 device MBR# spare invoked
179 1 X FC10.#_R5SPMIRD RAID5 device MIR# spare invoked
180 1 X FC10.#_R5SPMIRS RAID5 device MIR# of spare
181 1 X FC10.#_R5SPDIR RAID5 device director for spare
182 1 C FC10.#_R5SPCDIR RAID5 device copy direction 0 - Copy to spare1 - Copy from spare
183 1 X FC10.#_R5FLMEM RAID5 device MEM# failing device FF - if no failing device
184 1 X FC10.#_R5DATMR RAID5 MIR# for RAID5 device
185 1 X FC10.#_R5OTHMR RAID5 MIR# held for RAID5 device
186 1 X DA for invoked spare
187 1 X IF for invoked spare
188 1 X Invoked spare IF address
189 2 X RAID5 stripe width
191 2 X Reserved
193111112113
CCCCXXXXX
FC10.#_DVR5MBR.1_MEMRDY FC10.#_DVR5MBR.1_SPARRDYFC10.#_DVR5MBR.1_MEMRW FC10.#_DVR5MBR.1_SPARRW FC10.#_DVR5MBR.1_DIR FC10.#_DVR5MBR.1_TARGET FC10.#_DVR5MBR.1_IF FC10.#_DVR5MBR.1_ADR
RAID5 Member 1Member ready (Y/N) Spare ready (Y/N)Member R/W (Y/N)Spare R/W (Y/N)Director number Target number Interface addressDevice addressReserved
Table 14 Function 10, Object name: DEVICE (page 10 of 19)
Formatted variable and object cross-reference 71
72
REXX Variables
Offset Length Type Formatted Variable Name Description
205111112113
CCCCXXXXX
FC10.#_DVR5MBR.2_MEMRDY FC10.#_DVR5MBR.2_SPARRDYFC10.#_DVR5MBR.2_MEMRW FC10.#_DVR5MBR.2_SPARRW FC10.#_DVR5MBR.2_DIR FC10.#_DVR5MBR.2_TARGET FC10.#_DVR5MBR.2_IF FC10.#_DVR5MBR.2_ADR
RAID5 Member 2Member ready (Y/N)Spare ready (Y/N)Member R/W (Y/N)Spare R/W (Y/N)Director number Target number Interface addressDevice addressReserved
217111112113
CCCCXXXXX
FC10.#_DVR5MBR.3_MEMRDY FC10.#_DVR5MBR.3_SPARRDYFC10.#_DVR5MBR.3_MEMRW FC10.#_DVR5MBR.3_SPARRW FC10.#_DVR5MBR.3_DIR FC10.#_DVR5MBR.3_TARGET FC10.#_DVR5MBR.3_IF FC10.#_DVR5MBR.3_ADR
RAID5 Member 3Member ready (Y/N)Spare ready (Y/N)Member R/W (Y/N)Spare R/W (Y/N)Director number Target number Interface addressDevice addressReserved
229111112113
CCCCXXXXX
FC10.#_DVR5MBR.4_MEMRDY FC10.#_DVR5MBR.4_SPARRDYFC10.#_DVR5MBR.4_MEMRW FC10.#_DVR5MBR.4_SPARRW FC10.#_DVR5MBR.4_DIR FC10.#_DVR5MBR.4_TARGET FC10.#_DVR5MBR.4_IF FC10.#_DVR5MBR.4_ADR
RAID5 Member 4Member ready (Y/N)Spare ready (Y/N)Member R/W (Y/N)Spare R/W (Y/N)Director number Target number Interface addressDevice addressReserved
Table 14 Function 10, Object name: DEVICE (page 11 of 19)
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted Variable Name Description
241111112113
CCCCXXXXX
FC10.#_DVR5MBR.5_MEMRDY FC10.#_DVR5MBR.5_SPARRDYFC10.#_DVR5MBR.5_MEMRW FC10.#_DVR5MBR.5_SPARRW FC10.#_DVR5MBR.5_DIR FC10.#_DVR5MBR.5_TARGET FC10.#_DVR5MBR.5_IF FC10.#_DVR5MBR.5_ADR
RAID5 Member 5Member ready Spare ready Member R/W Spare R/W Director number Target number Interface addressDevice addressReserved
253111112113
CCCCXXXXX
FC10.#_DVR5MBR.6_MEMRDY FC10.#_DVR5MBR.6_SPARRDYFC10.#_DVR5MBR.6_MEMRW FC10.#_DVR5MBR.6_SPARRW FC10.#_DVR5MBR.6_DIR FC10.#_DVR5MBR.6_TARGET FC10.#_DVR5MBR.6_IF FC10.#_DVR5MBR.6_ADR
RAID5 Member 6Member ready Spare ready Member R/W Spare R/W Director number Target number Interface addressDevice addressReserved
265111112113
CCCCXXXXX
FC10.#_DVR5MBR.7_MEMRDY FC10.#_DVR5MBR.7_SPARRDYFC10.#_DVR5MBR.7_MEMRW FC10.#_DVR5MBR.7_SPARRW FC10.#_DVR5MBR.7_DIR FC10.#_DVR5MBR.7_TARGET FC10.#_DVR5MBR.7_IF FC10.#_DVR5MBR.7_ADR
RAID5 Member 7Member ready Spare ready Member R/W Spare R/W Director number Target number Interface addressDevice addressReserved
Table 14 Function 10, Object name: DEVICE (page 12 of 19)
Formatted variable and object cross-reference 73
74
REXX Variables
Offset Length Type Formatted Variable Name Description
277111112113
CCCCXXXXX
FC10.#_DVR5MBR.8_MEMRDY FC10.#_DVR5MBR.8_SPARRDYFC10.#_DVR5MBR.8_MEMRW FC10.#_DVR5MBR.8_SPARRW FC10.#_DVR5MBR.8_DIR FC10.#_DVR5MBR.8_TARGET FC10.#_DVR5MBR.8_IF FC10.#_DVR5MBR.8_ADR
RAID5 Member 8Member ready Spare ready Member R/W Spare R/W Director number Target number Interface addressDevice addressReserved
289 2 X FC10.#_IF2_M1 M1 interface address
291 2 X FC10.#_IF2_M2 M2 interface address
293 2 X FC10.#_IF2_M3 M3 interface address
295 2 X FC10.#_IF2_M4 M4 interface addressFormat of the interface fields is as follows: X0IF - Where X is C,D,E,F,G or H and IF is X'00'-X'11'
297 1 C RAID6 device Y/N
298 1 C RAID6 ready N/1/2/R
299 1 C RAID6 device R/W D/1/2/E
300 1 X RAID6 device data mirror #
301 2 X RAID6 stripe width
303 2 X Reserved
305
1112115
CCXXXXX
RAID6 member #1 info. Each RAID6 member will have the following format.RAID6 Member Ready Y/NRAID6 Member R/W Y/NRAID6 Member Director#RAID6 Member Target #RAID6 Member InterfaceRAID6 Member IF Addr Reserved
317 12 RAID6 Member #2 Info
Table 14 Function 10, Object name: DEVICE (page 13 of 19)
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted Variable Name Description
329 12 RAID6 Member #3 Info
341 12 RAID6 Member #4 Info
353 12 RAID6 Member #5 Info
365 12 RAID6 Member #6 Info
377 12 RAID6 Member #7 Info
389 12 RAID6 Member #8 Info
401 12 RAID6 Member #9 Info
413 12 RAID6 Member #10 Info
425 12 RAID6 Member #11 Info
437 12 RAID6 Member #12 Info
449 12 RAID6 Member #13 Info
461 12 RAID6 Member #14 Info
473 12 RAID6 Member #15 Info
485 12 RAID6 Member #16 Info
497 2 X RAID10 Member #1 Dev #
499 2 X RAID10 Member #2 Dev #
501 2 X RAID10 Member #3 Dev #
503 2 X RAID10 Member #4 Dev #
505 1 C FBA user not ready (Y/N)
506 1 X FBA stripe size
507 2 X FBA # of members
509 1 C FBA META prev device valid (Y/N)
510 1 C FBA META next device valid (Y/N)
511 2 X FBA META prev member device #
513 2 X FBA META next member device #
Table 14 Function 10, Object name: DEVICE (page 14 of 19)
Formatted variable and object cross-reference 75
76
REXX Variables
Offset Length Type Formatted Variable Name Description
515 1 X Device emulation code40 - Device is an FBA20- Device is a 33801F - Emulation size code table
516 1 X RDF Mirror 1 Flag1
517 1 X RDF Mirror 1 Flag204 - ConGroup is enabled
518 1 X RDF Mirror 2 Flag1
519 1 X RDF Mirror 2 Flag204 - ConGroup is enabled
520 1 X RDF Mirror 3 Flag1
521 1 X RDF Mirror 3 Flag204 - ConGroup is enabled
522 1 X RDF Mirror 4 Flag1
523 1 X RDF Mirror 4 Flag204 - ConGroup is enabled
Note: You must specificly request the RDF Mirror Flag fields listed above. See “EMCSRDF_DEVFLAG” on page 15 for more information.
523 Object length
Additional primed variables
FC10.#_ACT Command is active V-Validate R-Refresh
FC10.#_INDEX Remote mirror position
FC10.#_R1_INVTRKS Number of invalids owed to the R1
FC10.#_R2_INVTRKS Number of invalids owed to the R2
Table 14 Function 10, Object name: DEVICE (page 15 of 19)
REXX Interface Programmer’s Reference Guide
REXX Variables
Additional primed variables
FC10.#_REM_TYPE Remote type S-SourceT-Target
FC10.#_SY Synchronization percentage
FC10.#_ITA Invalid track attribute, I-If set
FC10.#_NR Device not ready, N-If set
FC10.#_RNR RDF not ready, R-If set
FC10.#_DOM Domino mode, D-If set
FC10.#_M1_NR Mirror1 not ready, X-If Set
FC10.#_M1_WD Mirror1 write disabled, X-If Set
FC10.#_M2_NR Mirror2 not ready, X-If Set
FC10.#_M2_WD Mirror2 write disabled, X-If Set
FC10.#_M3_NR Mirror3 not ready, X-If Set
FC10.#_M3_WD Mirror3 write disabled, X-If Set
FC10.#_M4_NR Mirror4 not ready, X-If Set
FC10.#_M4_WD Mirror4 write disabled, X-If Set
FC10.#_SNC Sync/Semisync SYSS
FC10.#_TGT Target T-Target not readyR-Write disabled
FC10.#_WRT Source write disabled, W-If set
FC10.#_ADC Adaptive copy D-DiskW-Write
FC10.#_REMSYMM_RDGRP Remote Symmetrix RDF group
FC10.#_REMSYMM_DEV# Remote Symmetrix device number
Table 14 Function 10, Object name: DEVICE (page 16 of 19)
Formatted variable and object cross-reference 77
78
REXX Variables
Additional primed variables
FC10.#_REMM1_ADC Remote Mirror1 adaptive copy D-DiskW-Write
FC10.#_MIRROR1 Mirror1 formatted data DA-IF ITRKS NR/WD
FC10.#_REMM2_ADC Remote Mirror2 adaptive copy D-DiskW-Write
FC10.#_MIRROR2 Mirror2 formatted data DA-IF ITRKS NR/WD
FC10.#_REMM3_ADC Remote Mirror3 adaptive copy D-DiskW-Write
FC10.#_MIRROR3 Mirror3 formatted data DA-IF ITRKS NR/WD
FC10.#_REMM4_ADC Remote Mirror4 adaptive copy D-DiskW-Write
FC10.#_MIRROR4 Mirror4 formatted data DA-IF ITRKS NR/WD
FC10.#_R2RW R2 in R/W mode (Y/N)
FC10.#_R2NR R2 not ready (Y/N)
FC10.#_RAID10HD RAID10 head dev (Y/N)
FC10.#_RAID10MB RAID10 member dev (Y/N)
FC10.#_METAMB Meta member dev
FC10.#_M1SYNC Mirror1 synched (Y/N)
FC10.#_M2SYNC Mirror2 synched (Y/N)
FC10.#_M3SYNC Mirror3 synched (Y/N)
FC10.#_M4SYNC Mirror4 synched (Y/N)
FC10.#_FSNAPSRC File snap source (Y/N)
FC10.#_FSNAPTGT File snap target (Y/N)
FC10.#_NRDYUSER Not ready user action (Y/N)
Table 14 Function 10, Object name: DEVICE (page 17 of 19)
REXX Interface Programmer’s Reference Guide
REXX Variables
Additional primed variables
FC10.#_CGRPTRPD ConGroup tripped (Y/N)
FC10.#_BCVDEV BCV device (Y/N)
FC10.#_DYNR1 Dynamic R1 capable (Y/N)
FC10.#_DYNR2 Dynamic R2 capable (Y/N)
FC10.#_FILESYS File system device (Y/N)
BCV information record
Offset Length Type Description
1 2 X Symmetrix BCV number
3 2 X Symmetrix STD number
5 2 C Symmetrix device number of last paired
7 1 C Multiple local mirrors (Y/N)
8 1 C BCV RDF type, 1=R1 2=R2
9 1 C BCV RAID10 (Y/N)
10 1 C BCV RAID5 (Y/N)
11 1 C Pair Attached(Y) Split(N)
12 1 C Established/Restored (E/R)This field is blank if offset 11 is N.
13 1 C Synchronized (Y/N)This field is blank if offset 11 is N.
14 1 C BCV is/was attached (Y/N)
15 1 C SDDF session exists (Y/N)
16 1 C Reverse split allowed (Y/N) This field is blank if offset 11 is N.
17 1 C Normal split running (Y/N)
18 1 C Instant split running (Y/N)
19 1 C CTR#3 second pass (Y/N) This field is blank if offset 18 is N.
Table 14 Function 10, Object name: DEVICE (page 18 of 19)
Formatted variable and object cross-reference 79
80
REXX Variables
BCV information record
Offset Length Type Description
20 1 C BCV syncing (Y/N) This field is blank if offset 11 is N.
21 1 C Split before sync BCV (Y/N) This field is blank if offset 11 is Y.
22 1 C Sync to/from moving mirror (T/F) This filed is blank if offset 11 is Y, if offset 20 is N, or if offset 7 is N.
23 1 C Protected restore (Y/N)
24 1 C SMMF held file (Y/N)
25 1 C Invalid BCV (Y/N)
26 1 C Both BCV mirrors attach (Y/N)
27 1 C STD ready for establish (Y/N) This filed is blank if offset 11 is Y.
28 1 C STD knows another BCV (Y/N)
29 1 C Background split>1 mirror (Y/N) This field is blank if offset 11 is N.
30 1 C STD held for SNAP (Y/N)
31 4 X CTR#1 number of tracks left to sync
35 4 X CTR#2 number of tracks to sync next
39 4 X Tag
43 4 X Split time in 1/2 seconds
47 2 X CTR#3 number of tracks left to split
49 2 X TimeFinder/Clone session ID
51 6 C Reserved
56 Object length
Table 14 Function 10, Object name: DEVICE (page 19 of 19)
REXX Interface Programmer’s Reference Guide
REXX Variables
Table 15 Function 11, Object name: LINK (page 1 of 2)
Offset Length Type Formatted variable name Description
1 4 X FC11.#_TOTIOS Total # IOs
5 1 X FC11.#_DIR# Director #
6 1 C FC11.#_DIR_TYPE Director type 1-RA1 2-RA2 F-FIBER RA
7 1 X FC11.#_OS_DIR# Other side director number
8 12 C FC11.#_OS_SYMM# Other side Symmetrix serial number
Note: This field may contain all periods. If so, this value indicates a switched director and this field will not be accurate. Use the RDF group object to obtain a more complete picture of the RDF relationships between the Symmetrix systems. For statistics, use the dstat object.
20 1 X FC11.#_RDF_GRP RDF groupIf '*' then use “This side group mask * 15……..1” on page 82
21 1 X FC11.#_OS_RDFGRP Other side RDF groupIF '*' then use “Other side group mask ** 15……..1” on page 82
22 1 C FC11.#_DIR_OLFLAG Dir Online Flag (Y/N)
23 1 C FC11.#_DIR_CONFLAG Dir Connected Flag (Y/N)
24 1 X FC11.#_SI_PCTBUSY Short Interval % busy
25 2 X FC11.#_SI_IORATE Short Interval I/O Rate
27 1 X FC11.#_SI_TIMEMM Short Interval time - MM
28 1 X FC11.#_SI_TIMESS Short Interval time - SS
29 1 X FC11.#_LI_PCTBUSY Long Interval %busy
30 2 X FC11.#_LI_IORATE Long Interval I/O Rate
32 1 X FC11.#_LI_TIMEDD Long Interval time - DD
Formatted variable and object cross-reference 81
82
REXX Variables
Offset Length Type Formatted variable name Description
33 1 X FC11.#_LI_TIMEHH Long interval time - HH
34 1 X FC11.#_LI_TIMEMM Long interval time - MM
35 1 X FC11.#_LI_TIMESS Long interval time - SS
36 8 X FC11.#_OS_DIR#L Other side RA mask 64........1 Bitmap identifying the directors on the remote side that can communicate with this local director. The bits are numbered from right to left, with the low-order bit (0000000000000001) representing director 1 on the remote side. The high-order bit (1000000000000000) represents director 64 on the remote side. In a switched environment, multiple bits can be set indicating that multiple directors on the remote side can communicate with this one.
44 2 X This side group mask * 15……..1 Bitmap identifying the groups on this side in which the director is included. The bits are numbered from right to left, with the low-order bit (x'0001') representing group 0. The high-order bit (x'8000') represents group 15.
46 2 X Other side group mask ** 15……..1 Bitmap identifying the groups on this side in which the director is included. The bits are numbered from right to left, with the low-order bit (x'0001') representing group 0. The high-order bit (x'8000') represents group 15.
Note: For the above items, numbering starts at 1 for directors and starts at 0 for groups. It is important to note also that in level 5x69 Enginuity™ and above, 64 groups are supported. This increase in groups means that the group masks in the LINK object are not large enough to map the groups. This is a restriction of the syscalls that are used to acquire the link information. At these Enginuity levels, use the GROUP objects and not the LINK objects.
48 1 X Reserved
48 Object Length
Table 15 Function 11, Object name: LINK (page 2 of 2)
REXX Interface Programmer’s Reference Guide
REXX Variables
Table 16 Function 12, Object name: DIRECTOR
Offset Length Type Formatted variable name Description
1 1 X FC12.#_DIR# Director #
2 1 C FC12.#_DIR_TYPE Director type C-CA DIRECTOR E-EA DIRECTOR D-DA DIRECTOR S-SA DIRECTOR W-FIBRE DISK 1-RA1 2-RA2 F-FIBER RA A-FIBRE SA I-FICON DIRECTOR G-GIGE (RA MODE) X-2 PORT FIBRE RA Y-2 PORT FIBRE SA
3 1 C FC12.#_DIROL Director Online flag (Y/N)
4 1 C FC12.#_DIRCON Director Connected flag (Y/N)
5 4 X Reserved
8 Object Length
Formatted variable and object cross-reference 83
84
REXX Variables
Table 17 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (page 1 of 8)
New for SRDF Host Component version 5.3 and later. This object contains the STAR/SRDFA/MSC object information. There are only a small number of formatted variables available. To access this object you should use the raw object data only. The information in this object replaces the data in SRDFA Object 16.
Offset Length Type Formatted variable name Description
1 1 X FC14.#_RDFGRP RDF group
2 1 X FC14.#_OSRDFGRP Other side RDF group
3 12 C FC14.#_OSSER# Other side serial number
15 2 X FC14.#_OS_MAJREL Other side major release
17 2 X FC14.#_OS_MINREL Other side minor release
19 2 X FC14.#_OS_MODEL Other side model
21 4 X FC14.#_OS_FEAT Other side features
25 1 C FC14.#_SYND Sync direction0-NONE 1-R1>R2 2-R1<R2 3-CNFG?-Unable to determine sync direction
26 1 C FC14.#_ONLINE Online or offline (Y/N)
27 1 C FC14.#_FIBER Fiber protocol (Y/N)
28 1 C FC14.#_ESCON Escon protocol (Y/N)
29 1 C FC14.#_IP IP protocol (Y/N)
30 1 C FC14.#_SRDFA SRDFA group (Y/N)
31 1 C FC14.#_DYNAMIC Dynamic group (Y/N)
32 8 X Reserved
40 8 X FC14.#_DIRECTORS Director list. For this RA group, contains an 8-byte list of director numbers. Note that since directors are numbered starting with one, a zero terminates the list. If the 1st byte is zero, then the list is empty.
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted variable name Description
48 8 X Reserved
56 10 C FC14.#_LABEL Label
66 7 X Reserved
73 136 Reserved
209 136 Reserved
345 12 C This side serial number
357 4 X Enginuity microcode level (major/minor)
361 48 MSC/Star scratch area 192_06 See “MSC Object” on page 90.
409 6 X Reserved
MSC/STAR boxlist area
415 2 X Number of boxlist entries
417 768 24 boxlist entriesSee "“MSC Box List Object” on page 91.
Note: These boxlist area variables have been relocated to the BOXLIST.# variables.
1185 66 C BCV GNS group name
1251 1 X Auto Restart policy-1
1252 1 X Auto Restart policy-2
1253 4 X Auto Restart invalid track count
1257 1 X Auto Restart minimum number of RDF directors
Table 17 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (page 2 of 8)
Formatted variable and object cross-reference 85
86
REXX Variables
Offset Length Type Formatted variable name Description
1258 1 X Auto Restart Flag 280-DROP ALL SRDF/A SESSIONS ON FAILURE40-REMOVE FAILING SESSION ON FAILURE20-DISABLE MSC ENVIRONMENT ON FAILURE10-IF MSC VALIDATION FINDS PROBLEMS ONLY WARN ON THE ERROR08' DO NOT PERFORM VALIDATION04' STAR WITH AUTOSWAP REQUESTED02' ONE OR MORE SESSIONS ARE DEFINED VIA GNS01' REMOTE CYCLE SWITCHING
1259 1 x Auto Restart session RA groupThis is the synchronous group in a cascaded R21 configuration.
1260 5 Reserved
1264 Object length
SRDF/Star Local/Remote Object
Offset Length Type Formatted variable name Description
1 1 C SRDFA type (1=R1, 2=R2)
2 1 C SRDFA active (Y/N)
3 1 C SRDFA tolerance (Y/N)
4 1 C Cleanup running (Y/N)
5 1 C Host managed const (Y/N)
6 1 C SRDF/Star mode (Y/N)
7 1 C Consistent deact if cycle switch is immediate S - SUCCEED F - FAIL
8 1 C Freeze state
Table 17 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (page 3 of 8)
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted variable name Description
9 1 X State at transition to J0 0 - NOSTATE 1 - START 2 - GOOD 3 - ALMOST DONE
10 1 X Status last transition to J0 0 - NOT IN PROGRESS1 - IN PROGRESS 2 - SUCCESSFUL 3 - FAILED
11 1 X Priority for drop policy
12 1 X The percentage of the system write pending limit at which SRDF/A will drop
13 4 X Active cycle size R1 SIDE: CAPTURER2 SIDE: APPLY
17 4 X Inactive cycle size R1 SIDE: TRANSMITR2 SIDE: RECEIVE
21 2 X # seconds since last cycle
23 2 X # seconds duration of last cycle
25 2 X Current cycle # active on R1 inactive on R2
27 2 X Maximum throttle time
29 2 X Minimum cycle length
31 2 X Secondary delay
33 4 X Last cycle size
37 4 X # consistency exmpt
41 4 X Average cycle time (secs)
45 4 X Average cycle size (slots)
49 8 X Tag for MS turn on
57 8 X Tag for MS turn off
Table 17 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (page 4 of 8)
Formatted variable and object cross-reference 87
88
REXX Variables
Offset Length Type Formatted variable name Description
The following information is only valid on the R1 side. Check SRDFA type at offset 1.
65 1 C MS window open? (Y/N)
66 1 C Remote consistent? (Y/N)
67 1 C Pure ready state? (Y/N)
68 1 X R1 Flag 104 Transmit Idle08 DSE Active
69 4 X # Tracks written by
73 4 X # Repeat writes by HA
77 4 X # Duplicated slots by HA
**************************** End of R1 Specific fields ****************************
The following information is only valid on the R2 side. Check SRDFA type at offset 1.
81 1 C Restore done? (Y/N)
82 1 C R2 suspended? (Y/N)
83 1 X R2 Flag 104 Transmit Idle08 DSE Active
84 1 C Reserved
85 4 X # Slots restored by DA
89 4 X # Slots merged by DA
93 4 X # Seconds for last restore
97 4 X Average restore time
101 4 X SUSP/RSUM token created when cycle switch was suspended
**************************** End of R2 Specific fields ****************************
105 1 C SRDFA active? (Y/N)
106 1 C R1 inactive cycle empty (Y/N)
Table 17 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (page 5 of 8)
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted variable name Description
107 1 C R2 active cycle empty (Y/N)
108 1 C Inactive cycle on R2 requires intervention R2 side only (Y/N)
109 1 C Force option must be (Y/N)
110 1 C 1ST CONSISTENT CYCLE (Y/N)
111 1 C 2ND CONSISTENT CYCLE (Y/N)To check for GLOBAL CONSISTENCY, do the following from the R1 side: Check the REMOTE CONSISTENT field at offset 66 and if it is Y then check 1ST CONSISTENT CYCLE and 2ND CONSISTENT CYCLE. If they are both Y, then GLOBAL CONSISTENCY exists.
112 1 C Star mode ahead (Y/N)
113 1 X # cycles JA ahead of J0
114 1 C MSC is active (Y/N)
115 2 X Cycle number
117 1 C Globally consistent (Y/N)
118 3 X Reserved
121 1
21
4
X
XX
X
Active cycle tag 80-FIRST CONSISTENT CYCLE 40-SECOND CONSISTENT CYCLE 20-STAR MODE 10-SITE B IS NOT CONSISTENT ReservedCounter of the number of cycles site C is ahead of site BActive cycle
129 8 X Inactive cycle tag
137 4 X Number of seconds since the last cycle switch
141 4 X Duration in seconds of the last cycle
144 Object Length
Table 17 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (page 6 of 8)
Formatted variable and object cross-reference 89
90
REXX Variables
MSC Object
Offset Length Type Formatted variable name Description
1 1 C Version0-MSC 1-MSC/STAR
2 1 C List complete (Y/N)
3 1 C MVS defined (Y/N)
4 1 C OS defined (Y/N)
5 1 C Star mode (Y/N)
6 1 C Dynamic target cycle #
7 1 C Disable (Y/N)
8 1 C J0 group (Y/N)
9 1 C Primary side (Y/N)
10 1 X Reserved
11 2 X Target cycle time in seconds
13 1 X My other side group
14 1 X Corresponding R1 group
15 1 X Corresponding R2 group
16 1 X New RDF recovery group
17 8 C Group name
25 4 X SDDF session 1 token
29 4 X SDDF session 2 token
33 16 X Reserved
48 Object Length
Table 17 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (page 7 of 8)
REXX Interface Programmer’s Reference Guide
REXX Variables
MSC Box List Object
Offset Length Type Formatted variable name Description
1 12 C Primary side serial number
13 1 X Primary side group
14 12 C Secondary side serial number
26 1 X Secondary side group
27 6 X Reserved
32 Object Length
Table 17 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (page 8 of 8)
Formatted variable and object cross-reference 91
92
REXX Variables
Table 18 Function 15, Object name: RGRPSTAT (5x67 and higher microcode level)
Offset Length Type Formatted variable name Description
1 1 X FC15.#_RDFGROUP RDF group
2 1 X FC15.#_TSDIR# This side director #
3 1 X FC15.#_CONFLAGS Config flags 80-MULTIPATH 40-PATH REASSIGNED FROM GROUP 20-GROUP DISBANDED 10-SINGLE PATH
4 1 X FC15.#_PROTOCOL Protocol
5 1 X FC15.#_FCTOP1 FC topology 1
6 1 X FC15.#_FCTOP2 FC topology 2 flag01-FC PRIVATE ARBRITRATED LOOP 02-FC PUBLIC ARBRITRATED LOOP 04-FC POINT TO POINT 08-FC SWITCHED 10-IP
7 8 X FC15.#_WWNAME World Wide Name
15 4 X FC15.#_OSFEA Other side features
19 2 X FC15.#_OSMAJCL Other side major code level
21 2 X FC15.#_OSMINCL Other side minor code level
23 1 X FC15.#_OSMOD# Other side model number
24 1 X FC15.#_OSDIR# Other side director number
25 1 X FC15.#_OSPOST Other side post state
26 1 X Reserved
27 8 X FC15.#_DICNT Data in counter
35 8 X FC15.#_DOCNT Data out counter
43 6 X Reserved
48 Object length
REXX Interface Programmer’s Reference Guide
REXX Variables
Table 19 Function 17, Object name: DSTAT (page 1 of 5)
Offset Length Type Formatted variable name Description
1 1 X FC17.#_FORMAT Director statistics format 02-ESCON 03-SCSI SA DIRECTOR 04-DISK DIRECTOR 06-FIBRE SA DIRECTOR 07-ESCON HW (RA2 MODE) 0B-FICON DIRECTOR TYPE
2 1 X FC17.#_DIRTYPE Director type 01-CA - PARALLEL CHNL ADAPTER 02-EA - ESCON 03-SA - SCSI SA DIRECTOR 04-DA - DISK DIRECTOR 05-RA1 - ESCON HW (RA1 MODE) 06-FA - FIBRE SA DIRECTOR 07-RA2 - ESCON HW (RA2 MODE) 08-GE - GIGE (RA MODE) 09-RF - FIBER (RA MODE) 0A-DF - FIBRE DISK 0B-FI - FICON DIRECTOR TYPE 0C-R2 - 4 PORT FIBRE (RA) 0D-F2 - 4 PORT FIBRE SA 0E-SE - GIGE SA (ISCSI)
3 1 X FC17.#_DIRNUM Director #
4 13 X Reserved
17 256 X Director statistics info (See records below)
272 Object length
Formatted variable and object cross-reference 93
94
REXX Variables
Format 2 Director type EA
Offset Length Type Formatted variable name Description
1 4 X FC17.#_FMT2_NUM_WRT Number of writes
5 4 X FC17.#_FMT2_TTL_IO Number of total I/Os
9 4 X FC17.#_FMT2_HIT Number of hits
13 4 X FC17.#_FMT2_TTL_REQ Number of requests
17 4 X FC17.#_FMT2_READ_MISS Number of read misses
21 4 X FC17.#_FMT2_SYS_WP System write pendings
25 4 X FC17.#_FMT2_DEV_WP Device write pendings
28 Object length
Format 3 Director type SA
Offset Length Type Formatted variable name Description
1 4 X FC17.#_FMT3_NUM_WRT Number of writes
5 4 X FC17.#_FMT3_TTL_IO Number of total I/Os
9 4 X FC17.#_FMT3_IO_PORT0 Number of I/O for port 0
13 4 X FC17.#_FMT3_IO_PORT1 Number of I/O for port 1
17 4 X FC17.#_FMT3_THRU_PORT0 Number of TPUT on port 0
21 4 X FC17.#_FMT3_THRU_PORT1 Number of TPUT on port 1
25 4 X FC17.#_FMT3_HIT Number of hits
29 4 X FC17.#_FMT3_TTL_REQ Number of requests
33 4 X FC17.#_FMT3_READ_MISS Number of read misses
37 4 X FC17.#_FMT3_SYS_WP System write pendings
41 4 X FC17.#_FMT3_DEV_WP Device write pendings
44 Object length
Table 19 Function 17, Object name: DSTAT (page 2 of 5)
REXX Interface Programmer’s Reference Guide
REXX Variables
Format 4 Director type FA
Offset Length Type Formatted variable name Description
1 4 X FC17.#_FMT4_NUM_WRT Number of writes
5 4 X FC17.#_FMT4_TTL_IO Number of total I/Os
9 4 X FC17.#_FMT4_IO_PORT0 Number of I/O for port 0
13 4 X FC17.#_FMT4_IO_PORT1 Number of I/O for port 1
17 4 X FC17.#_FMT4_THRU_PORT0 Number of TPUT on port 0
21 4 X FC17.#_FMT4_THRU_PORT1 Number of TPUT on port 1
25 4 X FC17.#_FMT4_HIT Number of hits
29 4 X FC17.#_FMT4_TTL_REQ Number of requests
33 4 X FC17.#_FMT4_READ_MISS Number of read misses
Format 4 Director type FA
Offset Length Type Formatted variable name Description
37 4 X FC17.#_FMT4_SYS_WP System write pendings
41 4 X FC17.#_FMT4_DEV_WP Device write pendings
44 Object length
Format 6 Director type DA
Offset Length Type Formatted variable name Description
1 4 X FC17.#_FMT6_TTL_IO Number of total I/Os
5 4 X FC17.#_FMT6_REQ Number of requests
9 4 X FC17.#_FMT6_READ Number of reads
13 4 X FC17.#_FMT6_WRITE Number of writes
17 4 X FC17.#_FMT6_PREF_TRKS Number of prefetched tracks
21 4 X FC17.#_FMT6_PREF_TRKS_NUSED Number of prefetched tracks not used
25 4 X FC17.#_FMT6_PREF_TRKS_USED Number of prefetched tracks used
Table 19 Function 17, Object name: DSTAT (page 3 of 5)
Formatted variable and object cross-reference 95
96
REXX Variables
Format 6 Director type DA
Offset Length Type Formatted variable name Description
29 4 X FC17.#_FMT6_SHORT_MISS Number of short misses
33 4 X FC17.#_FMT6_LONG_MISS Number of long misses
37 4 X FC17.#_FMT6_RESTARTS Prefetch restarts
41 4 X FC17.#_FMT6_PREF_TSKS_MISMATCH Number of prefetch mismatches
45 4 X FC17.#_FMT6_TTL_SSD_REQ_CNTR Number of permacache requests
49 4 X FC17.#_FMT6_LRU_AVG_FALL_THRU_TIME Average fall thru time
52 Object length
Format 7 Director type RF
Offset Length Type Formatted variable name Description
1 4 X FC17.#_FMT7_TTL_IO Number of I/Os
5 4 X FC17.#_FMT7_LINK_UTIL_CNTR RDF Link util ctr
9 4 X FC17.#_FMT7_T1_LINK_UTIL_CNTR Time T1 link util ctr
13 4 X FC17.#_FMT7_T2_LINK_UTIL_CNTR Time T2 link util ctr
17 4 X Reserved
21 4 X Reserved
25 8 X FC17.#_FMT7_KB_RECEIVED RDF kilobytes received
33 8 X FC17.#_FMT7_KB_SENT RDF kilobytes sent
41 4 X FC17.#_FMT7_RECEIVED RDF received
45 2 X FC17.#_FMT7_RECEIVEU Received units
47 2 X Reserved
49 4 X FC17.#_FMT7_SENT RDF sent
53 2 X FC17.#_FMT7_SENTU Sent units
55 2 X Reserved
56 Object length
Table 19 Function 17, Object name: DSTAT (page 4 of 5)
REXX Interface Programmer’s Reference Guide
REXX Variables
Format 11 Director type SE
Offset Length Type Formatted variable name Description
1 4 X FC17.#_FMT11_NUM_WRT Number of writes
5 4 X FC17.#_FMT11_TTL_IO Number of total I/Os
9 4 X FC17.#_FMT11_IO_PORT0 Number of I/O for port 0
13 4 X FC17.#_FMT11_IO_PORT1 Number of I/O for port 1
17 4 X FC17.#_FMT11_THRU_PORT0 Number of TPUT on port 0
21 4 X FC17.#_FMT11_THRU_PORT1 Number of TPUT on port 1
Format 11 Director type SE
Offset Length Type Formatted variable name Description
25 4 X FC17.#_FMT11_HIT Number of hits
29 4 X FC17.#_FMT11_TTL_REQ Number of requests
33 4 X FC17.#_FMT11_READ_MISS Number of read misses
37 4 X FC17.#_FMT11_SYS_WP System write pendings
41 4 X FC17.#_FMT11_DEV_WP Device write pendings
44 Object length
Table 19 Function 17, Object name: DSTAT (page 5 of 5)
Formatted variable and object cross-reference 97
98
REXX Variables
Table 20 Function 20, Object name: DEVICE ID (page 1 of 2)
Offset Length Type Formatted variable name Description
1 12 C Symmetrix serial number
13 2 X Controller type
15 1 X Controller model
16 2 C Symmetrix type
18 2 X Microcode level
20 3 C Manufacturer
23 2 X Subsystem ID
25 1 C Partition ID
26 1 X LSS
27 6 C Reserved
33 2 X Symmetrix device number
35 2 X Device type
37 1 X Device model
38 4 X Device size
42 2 X Physical block (FBA only)
44 1 X Device class
45 1 X Device code
46 1 X UADDR
47 1 X LADDR
48 1 X PADDR
49 1 C Symmetrix device number is valid
50 1 C Not at minimum MCLV
51 1 C FBA device
52 1 C Virtual device
REXX Interface Programmer’s Reference Guide
REXX Variables
Offset Length Type Formatted variable name Description
53 1 C CKD device
54 1 C Meta head
55 1 C Meta device
56 9 C Reserved
65 1 C PAV alias device
66 1 C PAV base device
67 2 X Base Symdev number
68 Object length
Table 20 Function 20, Object name: DEVICE ID (page 2 of 2)
Formatted variable and object cross-reference 99
100
REXX Variables
REXX Interface Programmer’s Reference Guide
Glossary
This glossary contains terms related to the REXX interface. Many of these terms are used in this guide.
Aadaptive copy - disk
mode (AD)An SRDF mode of operation that stores new data for a remotely mirrored pair on the source volume of that pair as invalid tracks until it can be successfully transferred to the target volume. A “skew” parameter associated with this mode indicates the maximum number of tracks that can be out of synchronization between the two volumes at any given time. This skew parameter value is set at the device level in Symmetrix units at microcode level 5061 and later and can range from 1 to 65,535 (decimal). In Symmetrix units at microcode level 5060, this skew parameter value is set at the controller level and is the same for all remotely mirrored pairs configured for the Adaptive Copy mode. This skew value can range from 1 to 999,999 (decimal).
adaptive copy - writepending mode (AW)
An SRDF mode of operation that stores new data for a remotely mirrored pair in the cache of the local Symmetrix unit until it can be successfully written to both the source and target volumes. A “skew” parameter associated with this mode determines the maximum number of write pendings that can exist for a remotely mirrored pair. (There is a skew value for each remotely mirrored pair configured for the Adaptive Copy mode in Symmetrix units at microcode level 5061 and later.) This skew parameter is set at the device level and can range from 1 to 65,535 (decimal).
REXX Interface Programmer’s Reference Guide 101
102
Glossary
Bbusiness continuance
volume (BCV)A new mirror that can be established and then split from its mirror and addressed separately.
Ccache Random access electronic storage used to retain frequently used data
from disk for faster access by the channel.
channel director The component in the Symmetrix subsystem that interfaces between the host channels and data storage. It transfers data between the channel and cache.
Ddestage The asynchronous write of new or updated data from cache to disk
device.
device A uniquely addressable part of the Symmetrix subsystem that consists of a set of access arms, the associated disk surfaces, and the electronic circuitry required to locate, read, and write data.
device address The hexadecimal value that uniquely defines a physical I/O device on a channel path in an MVS environment.
device number The value that logically identifies a disk device in a string.
diagnostics System level tests or firmware designed to inspect, detect, and correct failing components. These tests are comprehensive and self-invoking.
disk director The component in the Symmetrix subsystem that interfaces between cache and the disk devices.
domino attribute An optional feature for source volumes. When enabled, this feature causes a source volume to become not ready to its host and all I/O activity ceases with that volume if the target volume fails or a link failure occurs. When the fault condition is corrected, the user must manually make the source volume ready. This feature ensures that a remotely mirrored pair is always synchronized.
REXX Interface Programmer’s Reference Guide
Glossary
dynamic sparing A Symmetrix feature that automatically transfers data from a failing disk device to an available spare disk device without affecting data availability. This feature supports all devices in the Symmetrix subsystem.
Ffast write In Symmetrix, a write operation at cache speed that does not require
immediate transfer of data to disk. The data is written directly to cache and is available for later destaging.
Ggigabyte (GB) 109 bytes.
Iidentifier (ID) A sequence of bits or characters that identifies a program, device,
controller, or system.
IML Initial microcode program loading.
invalid track An invalid track occurs when data is written to a disk track, and that data is not yet reflected on the partner device. The track on the partner device is said to be invalid. In the normal case where the source (R1) and target (R2) volumes are in communication and staying in synch, the updated track is passed to the target device and once it is written there, it is no longer invalid. If the source and target devices are not in communication for some reason (for instance, if the SRDF links are disabled), the invalid tracks build up over time. The R1 invalid track count can also be built up if the source (R1) volume is not ready to the host while the link is operational and data is being written to the source (R1) volume. Invalid tracks for the source (R1) volume may also be generated during R2 Read/Write testing.
invalid tracks attribute An attribute for target volumes. This attribute, when enabled, informs the host if a target volume did not complete synchronization with its source volume at the time of a second link failure.
invalidate Action for #SC VOL command that makes all tracks invalid for a target volume on a source volume.
I/O device An addressable input/output unit, such as a disk device.
REXX Interface Programmer’s Reference Guide 103
104
Glossary
Kkilobyte (KB) 1024 bytes.
known device A device that meets at least one of the following criteria and is not specified in the EXCLUDE_DEVICE initialization statement:
• Found online during initialization
• Found online during an SC GLOBAL SSID_REFRESH
• Included in a Defined Group that was found online while processing a group command
• Found because it was used as the OS/390 or z/OS device number in an INCLUDE_RAG initialization statement
• Found online or offline because it was used as the OS/390 or z/OS device number in an EXCLUDE_SYM initialization statement
Llink path A single ESCON Light Emitting Diode (LED) fiber optic connection
between the two Symmetrix units. A minimum of two to a maximum of eight links can exist between the two units.
local volume A Symmetrix logical volume that is not participating in SRDF operations. All CPUs attached to the Symmetrix may access it for read/write operations. It is available for local mirroring or dynamic sparing operations to the Symmetrix unit in which it resides only.
logical volume A user-addressable unit of storage. In the Symmetrix subsystem, the user can define multiple logical volumes on a single physical disk device.
Mmedia The disk surface on which data is stored.
megabyte (MB) 106 bytes.
MII Machine Initiated Interrupt.
REXX Interface Programmer’s Reference Guide
Glossary
mirroring The Symmetrix maintains two identical copies of a designated volume on separate disks. Each volume automatically updates during a write operation. If one disk device fails, Symmetrix automatically uses the other disk device.
mirrored pair A logical volume comprised of two physical devices with all data recorded twice, once on each device.
Ppromotion The process of moving data from a track on the disk device to cache.
See also ”stage.”
RR1 See ”source volume (R1).”
R2 See ”target volume (R2).”
RA1 unit In an SRDF configuration, it is the primary data storage subsystem. It initiates many of the SRDF synchronization activities. An SRDF configuration must have at least one RA1 unit and one RA2 unit. See also ”RA2 unit.”
RA2 unit In an SRDF configuration, this subsystem maintains synchronization with the volumes it is paired with in the RA1 unit. It can serve as an RA1 unit during disaster recovery. An SRDF configuration must have at least one RA1 unit and one RA2 unit. See also ”RA1 unit.”
RAID Redundant Array of Independent Disks.
read hit Data requested by the read operation is in cache.
read miss Data requested by the read operation is not in cache.
remote link director(RLD)
Each Symmetrix system requires a minimum of two up to a maximum of eight RLD directors, depending on the Symmetrix model in use. Each RLD manages two ESCON fiber link connections. Each RLD can perform a single I/O at a time to its paired RLD in the remote Symmetrix unit.
REXX Interface Programmer’s Reference Guide 105
106
Glossary
SSAF Security Access Facility.
semi-synchronousmode
An SRDF mode of operation that provides an asynchronous mode of operation. Applications are notified that an I/O (or I/O chain) is complete once the data is in the cache of the RA1 Symmetrix unit. Any new data is then written to cache in the RA2 Symmetrix unit. The RA2 Symmetrix unit acknowledges receipt of the data once it is secure in its cache. If source tracks are pending transfer to a target volume and a second write is attempted to the source, Symmetrix disconnects (non immediate retry request), and waits for the pending track to transfer to the RA2 Symmetrix unit.
source volume (R1) A Symmetrix logical volume that is participating in SRDF operations. It resides in the “local” Symmetrix unit. All CPUs attached to the Symmetrix may access a source volume for read/write operations. All writes to this volume are mirrored to a “remote” Symmetrix unit. A source volume is not available for local mirroring operations.
SRDF Symmetrix Remote Data Facility. SRDF consists of the microcode and hardware required to support Symmetrix remote mirroring.
SSID Subsystem ID. For 3990 storage control emulations, this value identifies the physical components of a logical DASD subsystem. The SSID must be a unique number in the host system. It should be an even number and start on a zero boundary.
stage The process of writing data from a disk device to cache. See ”promotion.” See also ”destage.”
storage control The component in the Symmetrix subsystem that connects Symmetrix to the host channels. It performs channel commands and communicates with the disk adapters and cache. See also ”channel director.”
synchronous mode An SRDF mode of operation that ensures 100% synchronized mirroring between the two Symmetrix units. This is a synchronous mode of operation. Applications are notified that an I/O (or I/O chain) is complete when the RA2 Symmetrix unit acknowledges that the data has been secured in its cache.
REXX Interface Programmer’s Reference Guide
Glossary
Ttarget volume (R2) A Symmetrix logical volume that is participating in SRDF operations.
It resides in the “remote” Symmetrix unit. It is paired with a source volume in the local Symmetrix unit and receives all write data from its mirrored pair. This volume is not accessed by user applications during normal I/O operations. A target volume is not available for local mirroring or dynamic sparing operations.
Vvalidate Action for #SC VOL command that makes all tracks for a source
volume valid on a target volume.
REXX Interface Programmer’s Reference Guide 107
108
Glossary
REXX Interface Programmer’s Reference Guide
Index
AAPIC program 45APID program 45APIDP program 45APIR program 45APIT program 45APITEST program 45APITP program 46APIV program 46APIVJ program 46
Bbuilding formatted REXX variables 14building the Host Component data object 14
CCALLAPIC program 46CALLAPID program 46CALLAPIR program 46CALLAPIT program 46CALLAPIV program 46CNTLUNIT object name 59control unit objects, retrieving 24
DDEVICE object name 62device objects, retrieving 25DIRECTOR object name 83director objects, retrieving 27director statistics objects, retrieving 32DRDF 35DSTAT object name 93, 98
dynamic RDF return codes 39dynamic RDF function 35
EEHCPSEL program 46EHCXSEL program 46EMCSRDF_CMD_RC 17EMCSRDF_CNTLUNIT.0 24EMCSRDF_CNTLUNIT.i 24EMCSRDF_COMMAND 15EMCSRDF_CPFX8 15, 24EMCSRDF_CPFX8 23EMCSRDF_DEVCOUNT 15EMCSRDF_DEVCOUNT 25EMCSRDF_DEVICE.0 25EMCSRDF_DEVICE.i 25EMCSRDF_DIRECTOR.0 27EMCSRDF_DIRECTOR.i 27EMCSRDF_DRDFRS 17, 39EMCSRDF_DRDFRTN_ MESSAGE 17EMCSRDF_DSTAT.0 32EMCSRDF_DSTAT.i 32EMCSRDF_FC 15EMCSRDF_GLOBAL.0 23EMCSRDF_INCLUDE_ RD10MBRS 15EMCSRDF_LINE 17EMCSRDF_LINK.0 26EMCSRDF_LINK.i 26EMCSRDF_MESSAGE 17EMCSRDF_MSG 17EMCSRDF_RC 17, 18, 37EMCSRDF_RDFGROUP.0 28EMCSRDF_RDFGROUP.i 28
REXX Interface Programmer’s Reference Guide 109
110
Index
EMCSRDF_RDFGROUPi_BOXLIST.# 28EMCSRDF_RDFGROUPi_BOXLIST.0 28EMCSRDF_RDFGROUPi_MSCLCL 28EMCSRDF_RDFGROUPi_STARLCL 28EMCSRDF_RDFGROUPi_STARRMT 28EMCSRDF_RDFGRPS 15, 25, 26, 27, 28, 30, 32EMCSRDF_REQ_TOKN 15EMCSRDF_RGRPSTAT.0 30EMCSRDF_RGRPSTAT.i 30EMCSRDF_SELGROUP 15, 28EMCSRDF_SELSYM 15, 25, 26, 27, 28, 30, 32EMCSRDF_SERIAL.0 23EMCSRDF_SERIAL.i 23EMCSRDF_SSID.0 24EMCSRDF_SSID.i 24EMCSRDF_STARTDEV 15EMCSRDF_STARTDEV 25EMCSRDF_SUBSYS.0 20EMCSRDF_SUBSYS.i 20EMCSRDF_TOKEN 15EMCSRDF_TRK# 16, 17EMCSRDF_USER_ VERIFY 16EMCSRDF_WAIT 16, 27EMCSRDF_WAIT_CMD_TIMEOUT 16EMCSRDF_WAIT_FOR_COMMAND 16EMCSRDFC return codes 39EMCSRDFC program 14EMCSRDFC variable formatter 10EMCSRDFR interface program 10, 14
input variables 15return codes 37
FFC01.1_CMD_CHARS 52FC01.1_HCVER 52FC01.1_SUBSYS_NAME 52FC01.2_CMD_CHARS 52FC01.2_HCVER 52FC01.2_SUBSYS_NAME 52formatted variables 52Function 01, Retrieve Subsystem Object 20, 54Function 02, Submit Host Component
Command 21Function 03, Get Command Status 22Function 04, Retrieve Command Output 22
Function 06, Retrieve Global Information Object 23, 54
Function 07, Retrieve Serial# Objects 23, 57Function 08, Retrieve SSID Objects 24, 58Function 09, Retrieve Control Unit Objects 24, 59Function 10, Retrieve Device Objects 25, 62Function 11, Retrieve RDF Link Objects 26, 81Function 12, Retrieve Director Objects 27, 83Function 13, Wait Routine 27Function 14, Retrieve RDF Group Object 28Function 15, Retrieve RDF Group Statistics
Objects 30, 92Function 16, Retrieve SRDFA Session Objects 31Function 17, Retrieve Director Statistics
Objects 32, 93Function 18, Reply to Command 34Function 19, Dynamic RDF (DRDF) 35Function 20 - Get Device Identification 36, 98
GGet Command Status function 22Get Device Identification function 36global information objects, retrieving 23GLOBAL object name 54
HHAPIR program 47HAPIT program 47HEADER object name 53
LLINK object name 81
Oobject headers 48object interpretation members 53Object name
CNTLUNIT 59DEVICE 62DEVICE ID 98DIRECTOR 83DSTAT 93GLOBAL 54HEADER 53
REXX Interface Programmer’s Reference Guide
Index
LINK 81RDFGROUP 84RGRPSTAT 92SERIAL 57SSID 58SUBSYS 54
OBJECTH object header 48OBJECTXX 53
RRDF group object, retrieving 28RDF group statistics objects, retrieving 30RDF link objects, retrieving 26RDFGROUP object name 84remote requests 15Reply to Command function 34Retrieve Command Output function 22Retrieve Control Unit Objects function 24Retrieve Device Objects function 25Retrieve Director Objects function 27Retrieve Director Statistics Objects function 32Retrieve Global Information Object function 23Retrieve RDF Group Object function 28Retrieve RDF Group Statistics Objects function 30Retrieve RDF Link Objects function 26Retrieve Serial# Objects function 23Retrieve SRDFA Session Objects function 31
Retrieve SSID Objects function 24Retrieve Subsystem Object function 20return codes 37
EMCSRDFC 39EMCSRDFR 37
REXX programming language 10RGRPSTAT object name 92
Ssample programs 45SAMPLIB 12, 48serial number 15serial number objects, retrieving 23SERIAL object name 57SRDF Host Component API 10SRDFA session objects, retrieving 31SSID object name 58SSID objects, retrieving 24Submit Host Component Command function 21SUBSYS object name 54subsystem object, retrieving 20
WWait Routine function 27wait times 16
111REXX Interface Programmer’s Reference Guide
112
Index
REXX Interface Programmer’s Reference Guide