106
EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.EMC.com Host Component REXX Interface PROGRAMMER’S GUIDE P/N 300-002-205 REV A02

Host Component REXX Interface Programmer’s Guide · The Host Component REXX interface provides a callable assembler interface which populates REXX variables for the calling REXX

  • Upload
    others

  • View
    61

  • Download
    0

Embed Size (px)

Citation preview

Host Component REXX Interface

PROGRAMMER’S GUIDEP/N 300-002-205

REV A02

EMC CorporationCorporate Headquarters:

Hopkinton, MA 01748-9103

1-508-435-1000www.EMC.com

ii

Copyright © 2006 EMC Corporation. All rights reserved.Published June, 2006

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.

Host Component REXX Interface Programmer’s Guide

Contents

Preface.............................................................................................................................. v

Chapter 1 IntroductionOverview........................................................................................... 1-2When to use the interface ............................................................... 1-3What are Host Component objects? .............................................. 1-4

Chapter 2 How to Use the InterfaceIntroduction ...................................................................................... 2-2EMCSRDFR function variables...................................................... 2-3EMCSRDFC function variables...................................................... 2-6Supported functions ........................................................................ 2-7

Function 01 – Retrieve Subsystem Object ...................... 2-8Function 02 – Submit Host Component Command ........... 2-9Function 03 - Get Command Status ..................................... 2-10Function 04 - Retrieve Command Output........................... 2-10Function 06 – Retrieve Global Information Objects........... 2-11Function 07 – Retrieve Serial# Objects................................. 2-11Function 08 – Retrieve SSID Objects .................................... 2-12Function 09 – Retrieve Control Unit Objects ...................... 2-12Function 10 – Retrieve Device Objects................................. 2-13Function 11 – Retrieve RDF Link Objects............................ 2-14Function 12 – Retrieve Director Objects .............................. 2-15Function 13 – Wait Routine ................................................... 2-15Function 14 – Retrieve RDF Group Object.......................... 2-16Function 15 – Retrieve RDF Group Statistics Objects........ 2-18Function 16 – Retrieve SRDFA Session Objects ................. 2-19Function 17 – Retrieve Director Statistics Objects.............. 2-21

Host Component REXX Interface Programmer’s Guide iii

Contents

Function 18 - Reply to Command ........................................ 2-23Function 19 - Dynamic RDF (DRDF) ................................... 2-24Function 20 - Get Device Identification............................... 2-25

Return codes ................................................................................... 2-26Example programs......................................................................... 2-33Object headers ................................................................................ 2-36

OBJECTH formatted .............................................................. 2-36OBJECTH unformatted.......................................................... 2-36

Chapter 3 REXX VariablesIntroduction...................................................................................... 3-2Unformatted variables .................................................................... 3-3Formatted variables......................................................................... 3-4Formatted variable and object cross reference ............................ 3-5

Glossary ........................................................................................................................ g-1

Index................................................................................................................................ i-1

Host Component REXX Interface Programmer’s Guideiv

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 Programmer’s Guide is intended for experienced programmers, particularly those who have knowledge of REXX and EMC SRDF operation, configuration, and control. The manual describes the Host Component REXX interface.

Organization Here is an overview of where information is located in this guide.

Chapter 1, “Introduction,” provides an overview of the Host Component REXX interface.

Chapter 2, “How to Use the Interface,” describes the elements of the Host Component REXX interface, including function variables, return codes, object headers, and example programs.

Host Component REXX Interface Programmer’s Guide v

vi

Preface

Chapter 3, “REXX Variables,” provides a cross reference between the returned records and the formatted variables created by EMCSRDFC.

The Glossary describes terms used in this manual.

Relateddocumentation

Related documents include:

◆ EMC ResourcePak Base for z/OS Product Guide

◆ Symmetrix SRDF Host Component for z/OS Product Guide

◆ EMCSPE Programmer’s Reference Manual

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 guide:

normal font In running text:• Interface elements (for example, button names, dialog box

names) outside of procedures• Items that user selects outside of procedures• Java classes and interface names• Names of resources, attributes, pools, Boolean expressions,

buttons, DQL statements, keywords, clauses, environment variables, filenames, functions, menu names, utilities

• Pathnames, URLs, filenames, directory names, computer names, links, groups, service keys, file systems, environment variables (for example, command line and text), notifications

bold • User actions (what the user clicks, presses, or selects)• Interface elements (button names, dialog box names)• Names of keys, commands, programs, scripts, applications,

utilities, processes, notifications, system calls, services, applications, and utilities in text

italic • Book titles• New terms in text• Emphasis in text

Host Component REXX Interface Programmer’s 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 WebSupport on Powerlink. To open a case on EMC WebSupport, you must be a WebSupport customer. Information about your site configuration and the circumstances under which the problem occurred is required.

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:

[email protected]

Courier • Prompts • System output • Filenames • Pathnames• URLs • Syntax when shown in command line or other examples

Courier, bold • User entry• Options in command-line syntax

Courier italic • Arguments in examples of command-line syntax• Variables in examples of screen or file output• Variables in pathnames

<> Angle brackets for parameter values (variables) supplied by user.

[] Square brackets for optional values.

| Vertical bar symbol for alternate selections. The bar means or.

... Ellipsis for nonessential information omitted from the example.

Host Component REXX Interface Programmer’s Guide vii

viii

Preface

Host Component REXX Interface Programmer’s Guide

1Invisible Body Tag

This chapter provides an overview of the Host Component REXX interface. The topics are:

◆ Overview.............................................................................................1-2◆ When to use the interface..................................................................1-3◆ What are Host Component objects? ................................................1-4

Introduction

Introduction 1-1

1-2

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 Symmetrix SRDF Host Component for z/OS Product Guide.

◆ Build your own automation composite commands.

The Host Component 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 Host Component REXX interface provides the following:

◆ An interface program named EMCSRDFR and a conversion and variable formatter called EMCSRDFC.

◆ 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.

Host Component REXX Interface Programmer’s Guide

Introduction

When to use the interfaceUse the Host Component 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 1-3

1-4

Introduction

What are Host Component objects?The objects that are returned by the Host Component 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 into 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, 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.

You may also choose to build predefined and formatted variables using the conversion program EMCSRDFC.

Host Component REXX Interface Programmer’s Guide

2Invisible Body Tag

This chapter describes the elements of the Host Component REXX interface. The topics are:

◆ Introduction ........................................................................................2-2◆ EMCSRDFR function variables........................................................2-3◆ EMCSRDFC function variables........................................................2-6◆ Supported functions ..........................................................................2-7◆ Return codes .....................................................................................2-26◆ Example programs...........................................................................2-33◆ Object headers ..................................................................................2-36

How to Use theInterface

How to Use the Interface 2-1

2-2

How to Use the Interface

IntroductionThe Host Component REXX interface provides callable functions which retrieve object data.

◆ EMCSRDFR

EMCSRDFR provides routines to build object data which can be executed by setting function variables.

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 2-3 on page 2-7 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.

Host Component REXX Interface Programmer’s Guide

How to Use the Interface

EMCSRDFR function variablesTable 2-1 lists the input variables for the supported functions.

Table 2-1 EMCSRDFR function input variables

Variable Description

EMCSRDF_COMMAND Only used by Function 02 (Submit Host Component Command). This variable is used to store the Host Component command to be executed.

EMCSRDF_CPFX8 Must contain a command prefix which is left justified, padded with blanks and has length of 8.

EMCSRDF_DEVCOUNT Must contain a decimal value from 1 to 9999 which represents the number of devices requested.

EMCSRDF_FC Must contain the function number to execute.

EMCSRDF_RDFGRPS Optional variable to be used for remote requests. Contains 1 or more multi-hop groups EX(1.2.3.4.5.6.7.8) to a maximum of 8.

EMCSRDF_REQ_TOKN Used as an input variable to the reply to command function 18. 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 Optional variable used by Function 14 (Retrieve RDF Group Object) to return a single group. Specify a 2-digit hex value.

EMCSRDF_SELSYM 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 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).

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 2-3

2-4

How to Use the Interface

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, 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 Only used by Function 13 (Wait Routine). This variable is used to specify the wait time in seconds.

EMCSRDF_WAIT_CMD_TIMEOUT

Optional variable for Function 02 (Submit Host Component Command). 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

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 2-1 EMCSRDFR function input variables (continued)

Variable Description

Host Component REXX Interface Programmer’s Guide

How to Use the Interface

Table 2-2 lists the variables that may be set on return from the supported functions.

Table 2-2 EMCSRDFR function output variables

Variable Description

EMCSRDF_CMD_RC Contains the command return code. A non-zero return code indicates the command had an error.

EMCSRDF_DRDFRS Contains the reason code returned from Function 19 (Submit Dynamic RDF Command).

EMCSRDF_DRDFRTN_MESSAGE

Contains a text message indicating the reason for the DRDF error.

EMCSRDF_LINE. Stem .0 contains the number of command line records returned.

EMCSRDF_MESSAGE. Stem .0 contains the number of message records returned. May contain data when EMCSRDF_RC is non zero.

EMCSRDF_MSG 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 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 2-5

2-6

How to Use the Interface

EMCSRDFC function variablesEMCSRDFC requires no input variables. To build the predefined and formatted REXX variables for a particular function, simply 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

Host Component REXX Interface Programmer’s Guide

How to Use the Interface

Supported functionsThe functions available via the Host Component REXX interface are listed in Table 2-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 2-3 Supported interface functions

Function number Description

01 Retrieve Subsystem Object

02 Submit Host Component Command

03 This is a control function which is used to test the completion of Function 02 (Submit Host Component Command)

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

Supported functions 2-7

2-8

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 */

17 Retrieve Director Statistics Objects

18 Reply to Command

19 Submit Dynamic RDF (DRDF) Command

20 Get Device Information

Table 2-3 Supported interface functions (continued)

Function number Description

Host Component REXX Interface Programmer’s 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 2-9

2-10

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 which 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 which 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 amount 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.

Host Component REXX Interface Programmer’s 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 2-11

2-12

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 */

Host Component REXX Interface Programmer’s 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 variable may be set:

◆ EMCSRDF_RDFGRPS

Returned objects The returned object(s) will be found in the following variables:

◆ EMCSRDF_DEVICE.0

◆ EMCSRDF_DEVICE.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 2-13

2-14

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 */

Host Component REXX Interface Programmer’s 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 2-15

2-16

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 */

Host Component REXX Interface Programmer’s 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 2-17

2-18

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 */

Host Component REXX Interface Programmer’s Guide

How to Use the Interface

Function 16 – Retrieve SRDFA Session Objects

Note: This object is no longer supported for SRDF Host Component version 5.3 and later. Use “Function 14 – Retrieve RDF Group Object” on page 2-16 to obtain SRDFA/STAR/MSC information.

This 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_SRDFA.0

◆ EMCSRDF_SRDFA.i

◆ EMCSRDF_SRDFA.i_R1

◆ EMCSRDF_SRDFA.i_R2

Sample objectinterpretation code

REXX - Function 16 - SRDFA Session Object (5X69+ only)

srdfa_0001 =X2D(C2X(SUBSTR(srdfa_rec, 1,4))) /* Session Number */srdfa_0002 =X2D(C2X(SUBSTR(srdfa_rec, 5,4))) /* Number of device objects */srdfa_0003 =X2D(C2X(SUBSTR(srdfa_rec, 9,4))) /* Size of device object */srdfa_0004 =X2D(C2X(SUBSTR(srdfa_rec, 13,12))) /* Reserved */

The following will build the R1 device info variables from srdfa_r1

srdfa_r101 = SUBSTR(srdfa_r1, 1,12) /* Symmetrix Serial Number */srdfa_r102 = SUBSTR(srdfa_r1, 13,1) /* Remote Consistent */srdfa_r103 = SUBSTR(srdfa_r1, 14,1) /* Type 1=R1 2=R2 */srdfa_r104 = SUBSTR(srdfa_r1, 15,1) /* SRDFA Active */..srdfa_r136 =X2D(C2X(SUBSTR(srdfa_r1, 128,7))) /* Reserved */

Supported functions 2-19

2-20

How to Use the Interface

The following will build the R2 device info variables srdfa_R2

srdfa_r201 = SUBSTR(srdfa_r2, 1,12) /* Symmetrix Serial Number */srdfa_r202 = SUBSTR(srdfa_r2, 13,1) /* Remote Consistent */srdfa_r203 = SUBSTR(srdfa_r2, 14,1) /* Type 1=R1 2=R2 */srdfa_r204 = SUBSTR(srdfa_r2, 15,1) /* SRDFA Active */..srdfa_r236 =X2D(C2X(SUBSTR(srdfa_r2, 128,7))) /* Reserved */

Host Component REXX Interface Programmer’s Guide

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: 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 */

Supported functions 2-21

2-22

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 */

Host Component REXX Interface Programmer’s Guide

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#

Supported functions 2-23

2-24

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.

Host Component REXX Interface Programmer’s Guide

How to Use the Interface

Function 20 - Get Device IdentificationThis function returns object20, 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

Supported functions 2-25

2-26

How to Use the Interface

Return codesThis section provides a list of possible Host Component REXX return codes. You should check EMCSRDF_RC in addition to the return code from the call or link to EMCSRDFR and EMCSRDFC.

◆ Table 2-4 shows the return codes from EMCSRDFR.

◆ Table 2-5 on page 2-28 shows the return codes from EMCSRDFC.

◆ Table 2-6 on page 2-28 lists the dynamic RDF (DRDF) reason codes.

Table 2-4 Return codes from EMCSRDFR

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.

Host Component REXX Interface Programmer’s Guide

How to Use the Interface

68 Unable to locate UCB.

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.

Table 2-4 Return codes from EMCSRDFR (continued)

Return code Description

Return codes 2-27

2-28

How to Use the Interface

The following reason codes will be reflected in the REXX variable EMCSRDF_DRDFRS as shown in Table 2-6.

152 DRDF API error. See EMCSRDF_DRDFRS for the reason code. EMCSRDF_DRDFRTN_MESSAGE will contain the message text.

156 MVS device number not specified.

160 Remote request not allowed.

Table 2-5 Return codes from EMCSRDFC

Return code Description

08 Unable to determine the number of entries for stem variable.

12 Processing routine error

Table 2-4 Return codes from EMCSRDFR (continued)

Return code Description

Table 2-6 Dynamic RDF (DRDF) reason codes

Reason code Description

1 INVALID MULTI-HOP LIST FOR VID

2 INVALID RDF GROUP SPECIFIED

3 DRDF NOT SUPPORTED ON LOCAL SYMMETRIX

4 DRDF NOT SUPPORTED ON REMOTE SYMMETRIX

5 LOCAL DEVICE(S) INVALID

6 REMOTE DEVICE(S) INVALID

7 LOCAL DEVICE NOT CAPABLE

8 LOCAL DEVICE NOT CAPABLE

9 LOCAL DEVICE NOT RDF

10 REMOTE DEVICE NOT RDF

11 NOT RDF PAIR

12 SWAP WITH DIFFERENT SIZE DEVICES

13 SWAP WITH LOCAL CONCURRENT R1

Host Component REXX Interface Programmer’s Guide

How to Use the Interface

14 SWAP WITH REMOTE CONCURRENT R1

15 TF/SNAP LOCK ON LOCAL DEVICE

16 TF/SNAP LOCK ON REMOTE DEVICE

17 LDMF LOCK ON LOCAL DEVICE

18 LDMF LOCK ON REMOTE DEVICE

19 FBA META DISCOVERY OVERFLOW

20 FBA META DEVS CALL FAILED

21 GET_DEVS DEVICE COUNT IS ZERO

22 DEVICE STATUS CALL FAILED

23 RDF PAIR IS READ ON THE LINK

24 LOCAL DEVICE INVALIDS AND NOT FORCE

25 REMOTE DEVICE INVALIDS AND NOT FORCE

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 MBR INVALIDS AND NOT FORCE

36 LOGIC ERROR

37 R2 IS ALREADY RDF

38 R1 IS RDF AND CONCURRENT DYN NOT SUPPORTED

Table 2-6 Dynamic RDF (DRDF) reason codes (continued)

Reason code Description

Return codes 2-29

2-30

How to Use the Interface

39 R1 IS ALREADY RDF IN SPECIFIED GROUP

40 R1 IS ALREADY CONCURRENT RDF

41 LOCAL DEVICE NOT CAPABLE

42 REMOTE DEVICE NOT CAPABLE

43 MISMATCHED EMULATION

44 R2 CANNOT BE LARGER THAN R1

45 LCL DEV ALL MIRROR POS POPULATED

46 RMT DEV ALL MIRROR POS POPULATED

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 BIG

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 2-6 Dynamic RDF (DRDF) reason codes (continued)

Reason code Description

Host Component REXX Interface Programmer’s Guide

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 CAN NOT 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 CGROUP

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 2-6 Dynamic RDF (DRDF) reason codes (continued)

Reason code Description

Return codes 2-31

2-32

How to Use the Interface

90 SRDFA MIXED RDF DEVICES

91 NO PPRC WITH SRDFA

92 NO CONCURRENT SRDFA MIRRORS

93 SRDFA ACTIVATION LOCK HELD

94 DEVICE IS XRC

95 SRDFA I/Os OUTSTANDING

96 R2 RESTORE NOT COMPLETE

97 CLEANUP RUNNING

98 NO CONCURRENT DRDF ON BCV

99 SRDFA STATE TABLE LOCKED

100 DEV# TOO HIGH FOR RA

101 GROUP IS STAR MODE

102 CKD META MIRROR MASK CONFLICT

103 INCONSISTENT SYSCALL RUN

299 SYSCALL ERROR

300 INVALID LOCAL DEVICE IN RANGE

301 INVALID REMOTE DEVICE IN RANGE

302 GROUP MISMATCH

303 STARTING DEV# BEYOND CU RANGE

304 END DEV# BEYOND CU RANGE

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

Table 2-6 Dynamic RDF (DRDF) reason codes (continued)

Reason code Description

Host Component REXX Interface Programmer’s 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 2-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 2-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 2-7 Example programs

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 2-33

2-34

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 purposes. 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.

Table 2-7 Example programs (continued)

Program Description

Host Component REXX Interface Programmer’s Guide

How to Use the Interface

EHCXSF09 Sample program to execute Function 09.

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.

EHCXSF16 Sample program to execute Function 16.

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 2-7 Example programs (continued)

Program Description

Example programs 2-35

2-36

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 */

Host Component REXX Interface Programmer’s Guide

3Invisible Body Tag

This chapter provides a cross reference between the returned records and the formatted variables created by EMCSRDFC.

◆ Introduction ........................................................................................3-2◆ Unformatted variables ......................................................................3-3◆ Formatted variables ...........................................................................3-4◆ Formatted variable and object cross reference...............................3-5

REXX Variables

REXX Variables 3-1

3-2

REXX Variables

IntroductionThe Host Component REXX interface provides unformatted variables for interrogation purposes and formatted variables for report purposes. If you need to test a flag or interrogate a field in an object, it is more efficient to use the unformatted object. The Device Object (which has over 200 fields) does not need to be converted to test a single field or extract a single field.

Since formatted variables are not available for some unformatted variables, you should develop REXX interface programs using unformatted variables.

Host Component REXX Interface Programmer’s 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 variable format as follows:

EMCSRDF_object_name.0 EMCSRDF_object_name.#

Where object_name is the object name and # is 1 through the value in the .0 variable.

It is from these records that EMCSRDFC builds the formatted variables. You can use the object interpretation code to format your own variables using these records.

Unformatted variables 3-3

3-4

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.

FCXX.#_variable_name

Where XX 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 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 Host Component version

Host Component REXX Interface Programmer’s 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.

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 3-1 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 3-5

3-6

REXX Variables

Table 3-2 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 HC VERSION (VVRRMM)

10 8 C FC01.@_CMD_CPFX8 8 CHARACTER CMD PFX

18 7 X Reserved

24 Object length

Table 3-3 Function 06, Object name: GLOBAL

Offset Length Type Formatted variable name Description

1 3 X FC06._VERS HostComp version(vvrrmm)

4 3 X FC06._API_VERS API version (vvrrmm)

7 2 X FC06._MPTS Msg 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

71 1 X FC06._CSL Config security level

1-SAF 2-ANY 3-MASTER 4-SAF,MASTER

Host Component REXX Interface Programmer’s Guide

REXX Variables

Offset Length Type Formatted variable name Description

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)

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 cmd if subtask busy (Y/N)

82 1 C FC06._COMMAND_DETAILS

Command details (Y/N)

Table 3-3 Function 06, Object name: GLOBAL (continued)

Formatted variable and object cross reference 3-7

3-8

REXX Variables

Offset Length Type Formatted variable name Description

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 Cmnd 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 3-4 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

Table 3-3 Function 06, Object name: GLOBAL (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Table 3-5 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 01-2105 (3990 WILL ALSO BE SET)

6 1 X FC08.@_SSID_RESRVD Reserved

7 2 X FC08.@_FIRST_MVSDEV MVS dev# of 1st device found

9 2 X FC08.@_LAST_MVSDEV MVS dev# of last device found

11 2 X FC08.@_FIRST_SYMMDEV Symmetrix dev# of 1st dev found

13 2 X FC08.@_LAST_SYMMDEV MVS dev# of last device found

15 12 C FC08.@_SYMSER Symmetrix serial number

27 6 X Reserved

32 Object length

Formatted variable and object cross reference 3-9

3-10

REXX Variables

Table 3-6 Function 09, Object name: CNTLUNIT

Offset Length Type Formatted Variable Name Description

1 64 C FC09.@_DIR_MAP Director map

C-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 maps

For 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 Mem MB

581 2 X FC09.@_CNTLU_TYPE Control unit type

583 4 X FC09.@_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

Host Component REXX Interface Programmer’s Guide

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 directions

0 - None1 - R1>R22 - R1<R23 - CNFG

927 2 X Reserved

929 1 C FC09.@_RAID5 Raid 5 configured (Y/N)

930 1 C FC09.@_SRDFA SRDFA supported (Y/N)

931 7 X Reserved

937 Object Length

Table 3-6 Function 09, Object name: CNTLUNIT (continued)

Formatted variable and object cross reference 3-11

3-12

REXX Variables

Table 3-7 Function 10, Object name: DEVICE

Offset Length Type Formatted Variable Name Description

1 4 X FC10.@_UCB_ADDR UCB address

5 1 X FC10.@_DFB1 Device flag byte 1

80-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 write pend tracks

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

55 2 X FC10.@_DA#IF_M3 Interface address of M3

Host Component REXX Interface Programmer’s Guide

REXX Variables

Offset Length Type Formatted Variable Name Description

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 and X is C,D,E of 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

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

67 1 X FC10.@_RAID_MIRROR# RAID data mirror #

68 1 X FC10.@_PARITY_MIRROR# Parity mirror #

69 1 X FC10.@_DF1_M1 Mirror 1 - Disk Flag 1

20-RDF PRIMARY DEVICE 10-RDF SECONDARY DEVICE 08-HOT SPARE 04-RAID DEVICE 02-RAID PARITY DEVICE

70 1 X FC10.@_DF1_M2 Mirror 2 - Disk Flag 1

20-RDF PRIMARY DEVICE 10-RDF SECONDARY DEVICE 08-HOT SPARE 04-RAID DEVICE 02-RAID PARITY DEVICE

71 1 X FC10.@_DF1_M3 Mirror 3 - Disk Flag 1

20-RDF PRIMARY DEVICE 10-RDF SECONDARY DEVICE 08-HOT SPARE 04-RAID DEVICE 02-RAID PARITY DEVICE

Table 3-7 Function 10, Object name: DEVICE (continued)

Formatted variable and object cross reference 3-13

3-14

REXX Variables

Offset Length Type Formatted Variable Name Description

72 1 X FC10.@_DF1_M4 Mirror 4 - Disk Flag

20-RDF PRIMARY DEVICE 10-RDF SECONDARY DEVICE 08-HOT SPARE 04-RAID DEVICE 02-RAID PARITY DEVICE

73 1 X FC10.@_DF2_M1 Mirror 1 - Disk Flag 2

02-BCV DEVICE 01-FBA DEVICE

74 1 X FC10.@_DF2_M2 Mirror 2 - Disk Flag 2

02-BCV DEVICE 01-FBA DEVICE

75 1 X FC10.@_DF2_M3 Mirror 3 - Disk Flag 2

02-BCV DEVICE 01-FBA DEVICE

76 1 X FC10.@_DF2_M4 Mirror 4 - Disk Flag 2 , Not 01 or 02 - CKD

02-BCV DEVICE 01-FBA DEVICE

77 1 X FC10.@_DF3_M1 Mirror 1 - Disk Flag 3

80-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 3

80-R2 NR IF INVTRKS 20-WORM DEVICE 10-SHARED CKD/FBA DEVICE 08-OPTIMIZER DRV DEVICE 04-META DEVICE

Table 3-7 Function 10, Object name: DEVICE (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Offset Length Type Formatted Variable Name Description

79 1 X FC10.@_DF3_M3 Mirror 3 - Disk Flag 3

80-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 3

80-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

82 1 X FC10.@_DF7 Disk Flag 7

40-SYMMETRIX FILE SYSTEM DEVICE 10-DYNAMIC R1 DEVICE 08-DYNAMIC R2 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

Table 3-7 Function 10, Object name: DEVICE (continued)

Formatted variable and object cross reference 3-15

3-16

REXX Variables

Offset Length Type Formatted Variable Name Description

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

87 1 X FC10.@_DFB2 Device Flag 2

08-SOURCE NOT RDY 04-TARGET NOT RDY 02-SRC WR-DISABLED 01-TGT WR-DISABLED

88 1 X FC10.@_REMM1_MS Mirror1 Remote mirror state

80-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 dev grp

90 2 X FC10.@_REMM1_DEV# M1 Remote Symmetrix dev number

92 4 X FC10.@_REMM1_INVTRK M1 Remote dev Inv trk count

Table 3-7 Function 10, Object name: DEVICE (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Offset Length Type Formatted Variable Name Description

96 4 X FC10.@_REMM1_WPEND_CNT M1 adcopy write pend count

100 4 X M1 4 bytes unused

104 1 X FC10.@_REMM2_MS Mirror2 Remote mirror state

80-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 dev grp

106 2 X FC10.@_REMM2_DEV# M2 Remote Symmetrix dev number

108 4 X FC10.@_REMM2_INVTRK M2 Remote dev Inv trk count

112 4 X FC10.@_REMM2_WPEND_CNT M2 adcopy write pend count

116 4 X M2 4 bytes unused

120 1 X FC10.@_REMM3_MS Mirror3 Remote mirror state

80-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 dev grp

122 2 X FC10.@_REMM3_DEV# M3 Remote Symmetrix dev number

124 4 X FC10.@_REMM3_INVTRK M3 Remote dev Inv trk count

128 4 X FC10.@_REMM3_WPEND_CNT M3 adcopy write pend count

132 4 X M3 4 bytes unused

136 1 X FC10.@_REMM4_MS Mirror4 Remote mirror state

80-NOT READY 40-WRITE DISABLED 20-ADAPTIVE COPY DISK MODE 10-ADCOPY WRITE PENDING MODE08-RMT MIRROR POSITION VALID

Table 3-7 Function 10, Object name: DEVICE (continued)

Formatted variable and object cross reference 3-17

3-18

REXX Variables

Offset Length Type Formatted Variable Name Description

137 1 X FC10.@_REMM4_RDFDEV_GRP M4 Remote Symmetrix RDF dev grp

138 2 X FC10.@_REMM4_DEV# M4 Remote Symmetrix dev number

140 4 X FC10.@_REMM4_INVTRK M4 Remote dev Inv trk count

144 4 X FC10.@_REMM4_WPEND_CNT M4 adcopy write pend 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 NRDY

154 1 X FC10.@_FLAGR Flagr

80-RAID10 HEAD DEV 40-RAID10 MEMBER DEV 20-META HEAD DEV 10-META MEMBER DEV

155 1 X FC10.@_DSMFLG Miscellaneous Device Flags

80-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 NRDY (USER) 01-CGRP NRDY (TRIPPED)

Table 3-7 Function 10, Object name: DEVICE (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Offset Length Type Formatted Variable Name Description

156 1 X FC10.@_DSF5 Device Status Flag 5

80-WRITE & VERFY 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 Device Flag 3

FC10.@_PPRC (Y/N) 20-OPERATING IN PPRC MODE

159 1 X Device Status Flag 7

FC10.@_XRC (Y/N) FC10.@_COVD (Y/N)FC10.@_BESTR (Y/N)FC10.@_DMYDV (Y/N)

10-XRC CAPABLE DEVICE 04-COVD DEVICE 02-BACK-END STRIPED DEV 01-DUMMY DEVICE ENTRY

160 1 X FC10.@_MHD Config mist flag2

FC10.@_METAHDFC10.@_META FC10.@_ECADFC10.@_LOGFC10.@_VIRFC10.@_CKDM

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)

Table 3-7 Function 10, Object name: DEVICE (continued)

Formatted variable and object cross reference 3-19

3-20

REXX Variables

Offset Length Type Formatted Variable Name Description

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 RDY 1 MBR NRDY, SPARE NRDY 2-DEGRADED MODE 2 DEV RDY, 1 MBR NRDY, SPARE RDY R-DEVICE READY DEV RDY, MBRS RDY, SPARE NRDYS-DEV & SPARE READY DEV RDY, MBRS RDY, SPARE RDY

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 infovalid

177 1 C FC10.@_R5SPINVK RAID5 Device Spare Invoked

178 1 X FC10.@_R5SPMEMB RAID5 Dev MBR# Spare Invoked

179 1 X FC10.@_R5SPMIRD RAID5 Dev MIR# Spare Invoked

180 1 X FC10.@_R5SPMIRS RAID5 Dev MIR# of Spare

181 1 X FC10.@_R5SPDIR RAID5 Dev Director for Spare

Table 3-7 Function 10, Object name: DEVICE (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Offset Length Type Formatted Variable Name Description

182 1 C FC10.@_R5SPCDIR RAID5 Dev Copy Direction

0 - Copy to Spare1 - Copy from Spare

183 1 X FC10.@_R5FLMEM RAID5 Dev MEM# Failing Dev

FF - If No Failing Device

184 1 X FC10.@_R5DATMR RAID5 MIR# for RAID5 Dev

185 1 X FC10.@_R5OTHMR RAID5 MIR# held for RAID5 Dev

186 7 X Reserved

193 RAID5 Member 1

111112113

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

Member Ready (Y/N) Spare Ready (Y/N)Member R/W (Y/N)Spare R/W (Y/N)Director number Target number Interface AddressDevice AddressReserved

205 RAID5 Member 2

111112113

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

Member 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 3-7 Function 10, Object name: DEVICE (continued)

Formatted variable and object cross reference 3-21

3-22

REXX Variables

Offset Length Type Formatted Variable Name Description

217 RAID5 Member 3

111112113

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

Member Ready (Y/N)Spare Ready (Y/N)Member R/W (Y/N)Spare R/W (Y/N)Director number Target number Interface AddressDevice AddressReserved

229 RAID5 Member 4

111112113

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

Member Ready (Y/N)Spare Ready (Y/N)Member R/W (Y/N)Spare R/W (Y/N)Director number Target number Interface AddressDevice AddressReserved

241 RAID5 Member 5

111112113

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

Member Ready Spare Ready Member R/W Spare R/W Director number Target number Interface AddressDevice AddressReserved

Table 3-7 Function 10, Object name: DEVICE (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Offset Length Type Formatted Variable Name Description

253 RAID5 Member 6

111112113

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

Member Ready Spare Ready Member R/W Spare R/W Director number Target number Interface AddressDevice AddressReserved

265 RAID5 Member 7

111112113

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

Member Ready Spare Ready Member R/W Spare R/W Director number Target number Interface AddressDevice AddressReserved

277 RAID5 Member 8

111112113

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

Member 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

Table 3-7 Function 10, Object name: DEVICE (continued)

Formatted variable and object cross reference 3-23

3-24

REXX Variables

Offset Length Type Formatted Variable Name Description

295 2 X FC10.@_IF2_M4 M4 Interface Address

Format of the interface fields are as follows: X0IF - Where X is C,D,E,F,G or H and IF is X'00'-X'11'

296 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

FC10.@_REM_TYPE Remote Type

S-SourceT-Target

FC10.@_SY Syncronization 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

Table 3-7 Function 10, Object name: DEVICE (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Formatted Variable Name Description

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-TNRR-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 #

FC10.@_REMM1_ADC Remote Mirror1 Adaptive Copy

D-DiskW-Write

FC10.@_MIRROR1 Mirror2 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

Table 3-7 Function 10, Object name: DEVICE (continued)

Formatted variable and object cross reference 3-25

3-26

REXX Variables

Formatted Variable Name Description

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 NRDY (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)

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)

Table 3-7 Function 10, Object name: DEVICE (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Table 3-8 Function 11, Object name: LINK

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 #

8 12 C FC11.@_OS_SYMM# Other Side Symmetrix Serial #

20 1 X FC11.@_RDF_GRP RDF Group IF '*' THEN USE GROUP MASK BELOW

21 1 X FC11.@_OS_RDFGRP Other Side RDF Group IF '*' THEN USE OTHER SIDE GROUP MASK BELOW

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

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

Formatted variable and object cross reference 3-27

3-28

REXX Variables

Offset Length Type Formatted Variable Name Description

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. EMCSRDF_LINK_OGPMSK is in the same format but identifies the groups on the remote side.

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. EMCSRDF_LINK_OGPMSK is in the same format but identifies the groups on the remote side.

Note: For the above items, when dealing with directors, numbering starts at 1. When dealing with groups, numbering starts at 0. It is important to note also that in level 5x69 Enginuity™ and above, 64 groups are supported. This means that the group masks in the LINK object are not big 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 3-8 Function 11, Object name: LINK (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Table 3-9 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 3-29

3-30

REXX Variables

Table 3-10 Function 14, Object name: RDFGROUP (5x67 and higher microcode level)

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 #

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

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.

Host Component REXX Interface Programmer’s 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 3-35.

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 3-36.

1184 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 STAR MODE (Y/N)

Table 3-10 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (continued)

Formatted variable and object cross reference 3-31

3-32

REXX Variables

Offset Length Type Formatted Variable Name Description

7 1 C CONSISTENT DEACT IF CYCLE SWITCH IS IMMEDIATE. S - SUCCEED F - FAIL

8 1 C FREEZE STATE

9 1 C STATE AT TRANSISTION TO J0 0 - NOSTATE 1 - START 2 - GOOD 3 - ALMOST DONE

10 1 C STATUS LAST TRANS TO J0 0 - NOT IN PROGRES1 - IN PROGRESS 2 - SUCCESSFUL 3 - FAILED

11 1 X PRTY 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 R1INACTIVE ON R2

27 2 X MAX THROTTLE TIME

29 2 X MIN CYCLE LENGTH

31 2 X SECONDARY DELAY

33 4 X LAST CYCLE SIZE

37 4 X # CONSISTENCY EXMPT

Table 3-10 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Offset Length Type Formatted Variable Name Description

41 4 X AVG CYCLE TIME (SECS)

45 4 X AVG CYCLE SIZE (SLOTS)

49 8 X TAG FOR MS TURN ON

57 8 X TAG FOR MS TURN OFF

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 C Reserved

69 4 X # TRKS 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 2 C Reserved

85 4 X # SLOTS REST BY DA

89 4 X # SLOTS MERG BY DA

93 4 X # SECS FOR LAST REST

97 4 X AVG 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)

Table 3-10 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (continued)

Formatted variable and object cross reference 3-33

3-34

REXX Variables

Offset Length Type Formatted Variable Name Description

106 1 C R1 INACT CYC EMPTY (Y/N)

107 1 C R2 ACT CYC EMPTY (Y/N)

108 1 C INACT 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 4 X Reserved

121 ACT CYCLE TAG

1 X 80-FIRST CONSISTENT CYCLE

40-SECOND CONSISTENT CYCLE

20-STAR MODE

10-SITE B IS NOT CONSISTENT

2 X Reserved

1 X COUNTER OF THE NUMBER OF CYCLES SITE C IS AHEAD OF SITE B

4 X Active Cycle

129 8 X INACT CYCLE TAG

Table 3-10 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Offset Length Type Formatted Variable Name Description

137 4 X Number of seconds since the last cycle switch

141 4 X Duration in seconds of the last cycle

144 Object Length

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 sec

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

Table 3-10 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (continued)

Formatted variable and object cross reference 3-35

3-36

REXX Variables

Offset Length Type Formatted Variable Name Description

25 4 X SDDF session 1 token

29 4 X SDDF session 2 token

33 16 X Reserved

48 Object Length

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 3-11 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

Table 3-10 Function 14, Object name: RDFGROUP (5x67 and higher microcode level) (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Offset Length Type Formatted variable name Description

4 1 X FC15.@_PROTOCOL Protocol

5 1 X FC15.@_FCTOP1 FC topology 1

6 1 X FC15.@_FCTOP2 FC topology 2 flag

01-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 #

24 1 X FC15.@_OSDIR# Other side director #

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

Table 3-11 Function 15, Object name: RGRPSTAT (5x67 and higher microcode level) (continued)

Formatted variable and object cross reference 3-37

3-38

REXX Variables

Table 3-12 Function 16, Object name: SRDFA (5x67 and higher microcode level)

New change for Host Component version 5.3 and later. This object is no longer supported for version 5.3 or later. Use RDFGROUP Function 14 described in Table 3-10 to obtain SRDFA/STAR/MSC information.

Offset Length Type Formatted variable name Description

1 4 X FC16.@_SESSION Session number

5 4 X FC16.@_NUMDEVI Number of device objects

9 4 X FC16.@_SIZDEVI Size of device object

13 12 X Reserved

24 Object length

R1 or R2 Record

1 12 C FC16.@_DEVINFO.@_SERIAL Symmetrix serial number

13 1 C FC16.@_DEVINFO.@_RMTCONSIT Remote consistent (Y/N)

14 1 C FC16.@_DEVINFO.@_TYPE Type

1=R1 2=R2

15 1 C FC16.@_DEVINFO.@_SRDFACT SRDFA active (Y/N)

16 1 C FC16.@_DEVINFO.@_RESTFIN Restore finished

17 1 C FC16.@_DEVINFO.@_PURERDY Pure ready state

18 1 C FC16.@_DEVINFO.@_SUSPEND SRDFA suspended (Y/N)

19 2 X Reserved

21 4 X FC16.@_DEVINFO.@_ACTCYCLSZ Active cycle size number of slots

25 4 X FC16.@_DEVINFO.@_INACTCYCLSZ Inactive cycle size number of slots

29 2 X FC16.@_DEVINFO.@_LASTCYCL Number of seconds since cycle switch

31 2 X FC16.@_DEVINFO.@_LASTDUR Number of seconds of last cycle

33 2 X FC16.@_DEVINFO.@_CYCLNUM Cycle number

Host Component REXX Interface Programmer’s Guide

REXX Variables

R1 or R2 Record

Offset Length Formatted variable name Description

35 2 X FC16.@_DEVINFO.@_THROTL Maximum time to throttle host

37 2 X FC16.@_DEVINFO.@_MINCYCL Minimum cycle time in seconds

39 1 X FC16.@_DEVINFO.@_MAXCACHU The percentage of the system write pending limit at which SRDF/A will drop.

40 1 X FC16.@_DEVINFO.@_SYNCMODE State J0/SRDFA online change

41 8 X FC16.@_DEVINFO.@_RDFGRPMS.0 FC16.@_DEVINFO.@_RDFGRPMS.@

RDF groups involved Note: The .0 variable will indicate how many group records were created.

49 4 X FC16.@_DEVINFO.@_AVGCYCLT Average cycle time in secs

53 4 X FC16.@_DEVINFO.@_AVGCYCLS Average cycle size number of slots

57 4 X FC16.@_DEVINFO.@_HAWRITES Total number of tracks written by HA

61 4 X FC16.@_DEVINFO.@_HAREPEAT Total number repeat write by HA

65 4 X FC16.@_DEVINFO.@_HADUPS Number of times HA dup slots

69 4 X FC16.@_DEVINFO.@_DARESTR Number of slots restored by DA

73 4 X FC16.@_DEVINFO.@_DAMERGE Number of slots merged during restore

77 4 X FC16.@_DEVINFO.@_LAST_RESTORE_DURATION

Last restore time in seconds

81 4 X FC16.@_DEVINFO.@_AVG_RESTORE_TIME

Average restore time in seconds

85 4 X FC16.@_DEVINFO.@_LAST_CYCLSZ

Last cycle size(# slots)

89 4 X Reserved

93 8 C FC16.@_DEVINFO.@_MSC_ACTIVE_TAG

MSC active tag

101 8 C FC16.@_DEVINFO.@_MSC_INACTIVE_TAG

MSC inactive tag

Table 3-12 Function 16, Object name: SRDFA (5x67 and higher microcode level) (continued)

Formatted variable and object cross reference 3-39

3-40

REXX Variables

R1 or R2 Record

Offset Length Formatted variable name Description

109 10 C FC16.@_DEVINFO.@_MSC_ACTIVE_DATE

MSC active since date

119 8 C FC16.@_DEVINFO.@_MSC_ACTIVE_TIME

MSC active since time

127 1 C FC16.@_DEVINFO.@_CLEANUP_RUNNING

Ucode cleanup running (Y/N)

128 1 C FC16.@_DEVINFO.@_HOST_INTERVENTION

Host intervention required (Y/N)

129 1 C FC16.@_DEVINFO.@_MSC MSC active (Y/N)

130 7 X Reserved

136 Object Length

Table 3-12 Function 16, Object name: SRDFA (5x67 and higher microcode level) (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Table 3-13 Function 17, Object name: DSTAT

Offset Length Type Formatted variable name Description

1 1 X FC17.@_FORMAT 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

3 1 X FC17.@_DIRNUM Director #

4 13 X Reserved

17 256 X Director statistics info (See records below)

272 Object length

Format 2 Director type EA

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

Formatted variable and object cross reference 3-41

3-42

REXX Variables

Format 3 Director type SA

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

Format 4 Director type FA

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

37 4 X FC17.@_FMT4_SYS_WP System write pendings

41 4 X FC17.@_FMT4_DEV_WP Device write pendings

Table 3-13 Function 17, Object name: DSTAT (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Offset Length Type Formatted variable name Description

44 Object length

Format 6 Director type DA

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 # of prefetched tracks

21 4 X FC17.@_FMT6_PREF_TRKS_NUSED # prefetched trk not used

25 4 X FC17.@_FMT6_PREF_TRKS_USED # prefetched tracks used

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 # of prefetch mismatches

45 4 X FC17.@_FMT6_TTL_SSD_REQ_CNTR # of perma cache requests

49 4 X FC17.@_FMT6_LRU_AVG_FALL_THRU_TIME Average fall thru time

52 Object length

Format 7 Director type RF

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

Table 3-13 Function 17, Object name: DSTAT (continued)

Formatted variable and object cross reference 3-43

3-44

REXX Variables

Offset Length Type Formatted variable name Description

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

Format 11 Director type SE

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

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 3-13 Function 17, Object name: DSTAT (continued)

Host Component REXX Interface Programmer’s Guide

REXX Variables

Table 3-14 Function 20, Object name: DEVICE ID

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# is valid

50 1 C Not at minimum MCLV

51 1 C FBA device

52 1 C Virtual device

Formatted variable and object cross reference 3-45

3-46

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#

68 Object length

Table 3-14 Function 20, Object name: DEVICE ID (continued)

Host Component REXX Interface Programmer’s Guide

Glossary

This glossary contains terms related to the Host Component 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).

Host Component REXX Interface Programmer’s Guide g-1

g-2

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.

Host Component REXX Interface Programmer’s 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.

Host Component REXX Interface Programmer’s Guide g-3

g-4

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.

Host Component REXX Interface Programmer’s 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.

Host Component REXX Interface Programmer’s Guide g-5

g-6

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.

Host Component REXX Interface Programmer’s 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.

Host Component REXX Interface Programmer’s Guide g-7

g-8

Glossary

Host Component REXX Interface Programmer’s Guide

Index

AAPIC program 2-33APID program 2-33APIDP program 2-33APIR program 2-33APIT program 2-33APITEST program 2-33APITP program 2-34APIV program 2-34APIVJ program 2-34

CCALLAPIC program 2-34CALLAPID program 2-34CALLAPIR program 2-34CALLAPIT program 2-34CALLAPIV program 2-34CNTLUNIT object name 3-10control unit objects, retrieving 2-12

DDEVICE object name 3-12device objects, retrieving 2-13DIRECTOR object name 3-29director objects, retrieving 2-15director statistics objects, retrieving 2-21DRDF 2-24DSTAT object name 3-41, 3-45dynamic RDF return codes 2-28dynamic RDF function 2-24

EEHCPSEL program 2-34EHCXSEL program 2-34EMCSRDF_CMD_RC 2-5EMCSRDF_CNTLUNIT.0 2-12EMCSRDF_CNTLUNIT.i 2-12EMCSRDF_COMMAND 2-3EMCSRDF_CPFX8 2-9, 2-11, 2-13, 2-14, 2-15, 2-16,

2-18, 2-21, 2-23EMCSRDF_DEVCOUNT 2-3EMCSRDF_DEVCOUNT 2-13EMCSRDF_DEVICE.0 2-13EMCSRDF_DEVICE.i 2-13EMCSRDF_DIRECTOR.0 2-15EMCSRDF_DIRECTOR.i 2-15EMCSRDF_DRDFRS 2-5, 2-28EMCSRDF_DRDFRTN_ MESSAGE 2-5EMCSRDF_DSTAT.0 2-21EMCSRDF_DSTAT.i 2-21EMCSRDF_FC 2-3EMCSRDF_GLOBAL.0 2-11EMCSRDF_LINE 2-5EMCSRDF_LINK.0 2-14EMCSRDF_LINK.i 2-14EMCSRDF_MESSAGE 2-5EMCSRDF_RC 2-5, 2-6, 2-26EMCSRDF_RDFGROUP.0 2-16EMCSRDF_RDFGROUP.i 2-16EMCSRDF_RDFGROUPi_BOXLIST.# 2-16EMCSRDF_RDFGROUPi_BOXLIST.0 2-16EMCSRDF_RDFGROUPi_MSCLCL 2-16EMCSRDF_RDFGROUPi_STARLCL 2-16EMCSRDF_RDFGROUPi_STARRMT 2-16

Host Component REXX Interface Programmer’s Guide i-1

i-2

Index

EMCSRDF_RDFGRPS 2-3, 2-13, 2-14, 2-15, 2-16, 2-18, 2-19, 2-21

EMCSRDF_REQ_TOKN 2-3, 2-23EMCSRDF_RGRPSTAT.0 2-18EMCSRDF_RGRPSTAT.i 2-18EMCSRDF_SELGROUP 2-3, 2-16EMCSRDF_SELSYM 2-3, 2-13, 2-14, 2-15, 2-16,

2-18, 2-19, 2-21EMCSRDF_SERIAL.0 2-11EMCSRDF_SERIAL.i 2-11EMCSRDF_SRDFA.0 2-19EMCSRDF_SRDFA.i 2-19EMCSRDF_SRDFA.i_R1 2-19EMCSRDF_SRDFA.i_R2 2-19EMCSRDF_SSID.0 2-12EMCSRDF_SSID.i 2-12EMCSRDF_STARTDEV 2-3EMCSRDF_STARTDEV 2-13EMCSRDF_SUBSYS.0 2-8EMCSRDF_SUBSYS.i 2-8EMCSRDF_TOKEN 2-23EMCSRDF_USER_ VERIFY 2-4EMCSRDF_WAIT 2-4, 2-15EMCSRDF_WAIT_FOR_COMMAND 2-4EMCSRDFC return codes 2-28EMCSRDFC variable formatter 1-2EMCSRDFR return codes 2-26EMCSRDFR interface program 1-2

FFC01.1_CMD_CHARS 3-4FC01.1_HCVER 3-4FC01.1_SUBSYS_NAME 3-4FC01.2_CMD_CHARS 3-4FC01.2_HCVER 3-4FC01.2_SUBSYS_NAME 3-4formatted variables 3-4Function 01, Retrieve Subsystem Object 2-8, 3-6Function 02, Submit Host Component

Command 2-9Function 03, Get Command Status 2-10Function 04, Retrieve Command Output 2-10Function 06, Retrieve Global Information

Object 2-11, 3-6Function 07, Retrieve Serial# Objects 2-11, 3-8Function 08, Retrieve SSID Objects 2-12, 3-9

Function 09, Retrieve Control Unit Objects 2-12, 3-10

Function 10, Retrieve Device Objects 2-13, 3-12Function 11, Retrieve RDF Link Objects 2-14,

3-27Function 12, Retrieve Director Objects 2-15, 3-29Function 13, Wait Routine 2-15Function 14, Retrieve RDF Group Object 2-16Function 15, Retrieve RDF Group Statistics

Objects 2-18, 3-36Function 16, Retrieve SRDFA Session Objects

2-19, 3-38Function 17, Retrieve Director Statistics Objects

2-21, 3-41Function 18, Reply to Command 2-23Function 19, Dynamic RDF (DRDF) 2-24Function 20 - Get Device Identification 2-25, 3-45

GGet Command Status function 2-10Get Device Identification function 2-25global information objects, retrieving 2-11GLOBAL object name 3-6

HHAPIR program 2-35HAPIT program 2-35HEADER object name 3-5Host Component REXX interface 1-2, 1-3

LLINK object name 3-27

Oobject headers 2-36object interpretation members 3-5Object name

CNTLUNIT 3-10DEVICE 3-12DEVICE ID 3-45DIRECTOR 3-29DSTAT 3-41GLOBAL 3-6HEADER 3-5

Host Component REXX Interface Programmer’s Guide

Index

LINK 3-27RDFGROUP 3-30RGRPSTAT 3-36SERIAL 3-8SRDFA 3-38SSID 3-9SUBSYS 3-6

OBJECTH object header 2-36OBJECTXX 3-5

RRDF group object, retrieving 2-16RDF group statistics objects, retrieving 2-18RDF link objects, retrieving 2-14RDFGROUP object name 3-30remote requests 2-3Reply to Command function 2-23Retrieve Command Output function 2-10Retrieve Control Unit Objects function 2-12Retrieve Device Objects function 2-13Retrieve Director Objects function 2-15Retrieve Director Statistics Objects function 2-21Retrieve Global Information Object function 2-11Retrieve RDF Group Object function 2-16Retrieve RDF Group Statistics Objects

function 2-18Retrieve RDF Link Objects function 2-14Retrieve Serial# Objects function 2-11Retrieve SRDFA Session Objects function 2-19Retrieve SSID Objects function 2-12

Retrieve Subsystem Object function 2-8return codes 2-26

EMCSRDFC 2-28EMCSRDFR 2-26

REXX programming language 1-2RGRPSTAT object name 3-36

Ssample programs 2-33SAMPLIB 1-4, 2-36serial number 2-3serial number objects, retrieving 2-11SERIAL object name 3-8SRDF Host Component API 1-2SRDFA object name 3-38SRDFA session objects, retrieving 2-19SSID object name 3-9SSID objects, retrieving 2-12Submit Host Component Command function 2-9SUBSYS object name 3-6subsystem object, retrieving 2-8

Uunformatted variables 3-2

WWait Routine function 2-15wait times 2-4

i-3Host Component REXX Interface Programmer’s Guide

i-4

Index

Host Component REXX Interface Programmer’s Guide