z/OS DFSMSrmm Application Programming Interface
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Using an alternative interface to the DFSMSrmm application programming interface

z/OS DFSMSrmm Application Programming Interface
SC23-6872-00

The EDGXHINT interface is an alternative interface to the DFSMSrmm application programming interface (API):
  • Assembler or C/C++ programs can be linked together with module EDGXHINT to exploit the API interface provided.
  • When using Java™, you must use the Java Native Interface (JNI) to C/C++ before you can use EDGXHINT.

EDGXHINT is shipped as a load module in LINKLIB.

When using high level languages to write applications to obtain information about DFSMSrmm resources, you use the same DFSMSrmm subcommand strings that you can use with the EDGXCI interface. You get output as structured field introducers (SFIs). To receive output as an XML document, use the Object-Oriented DFSMSrmm Application Programming Interface Using C++.

Related reading:
  1. z/OS XL C/C++ User's Guide, SC14-7307
  2. Integrating Java with Existing Data and Applications on OS/390, SG24-5142-00
To create a program exploiting the EDGXHINT interface, bind EDGXHINT together with your own module as shown in Figure 1.
Figure 1. Binding a C++ program for use of EDGXHINT
//BINDPGM  JOB (4378),'BIND A PROGRAM',MSGCLASS=H,MSGLEVEL=(1,1),
//         TIME=3,CLASS=A,REGION=0M,NOTIFY=&SYSUID
//*
//*********************************************************************
//*                                                                 ***
//*  BIND A C/C++ PROGRAM TO USE THE EDGXHINT INTERFACE TO RMM      ***
//*                                                                 ***
//*  SYSLMOD: OUTPUT DATASET (HLQ.CPP.LINKLIB) MUST BE PDSE FORMAT  ***
//*                                                                 ***
//*********************************************************************
//BIND EXEC PGM=IEWL,REGION=4M,
//    PARM='AMODE=31,MAP,RENT'
//SYSLIB   DD  DSN=CEE.SCEELKEX,DISP=SHR
//         DD  DSN=CEE.SCEELKED,DISP=SHR
//         DD  DSN=CEE.SCEECPP,DISP=SHR
//SYSLMOD  DD  DISP=SHR,DSN=HLQ.CPP.LOAD
//SYSPRINT DD  SYSOUT=*
//INOBJ    DD  DSN=HLQ.OBJ,DISP=SHR
//LINKLIB  DD  DISP=SHR,DSN=SYS2.LINKLIB
//SYSLIN   DD  *  
    INCLUDE INOBJ(USERPROG) 
    INCLUDE LINKLIB(EDGXHINT)  
    NAME USERPROG(R)  RC=0 
/*
The application program must provide buffers for the:
  • Command string you want to pass to the API
  • Output you will receive back from the API. The minimum recommended size is 80KB. The larger the output buffer you provide, the more resources that can be returned by one call to EDGXHINT.
  • Messages that may be issued by the API as result of your command. The minimum recommended size is 256 bytes
The application program also must fill an interface structure, which is used to communicate with the API. You can then call EDGXHINT by passing the pointer to the interface structure. For more details on the processing between your program and the RMM API, see Using the DFSMSrmm application programming interface using assembler language.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014