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