ILE C/C++ Programmer's Guide


Source for Sample EVAL Commands for Displaying System and Space Pointers



The sample EVAL command for displaying system and space pointers presented in Figure 76 is based on the source shown in the following figure:

Figure 81. Source for Sample EVAL Commands for Displaying System and Space Pointers


#include <iostream.h>
#include <mispace.h>
#include <pointer.h>
#include <mispcobj.h>
#include <except.h>
#include <lecond.h>
#include <leenv.h>
#include <qtedbgs.h>      // From qsysinc
 
// Link up the Create User Space API
#pragma linkage(CreateUserSpace,OS)
#pragma map(CreateUserSpace,"QUSCRTUS")
void CreateUserSpace(char[20],
                     char[10],
                     long int,
                     char,
                     char[10],
                     char[50],
                     char[10],
                     _TE_ERROR_CODE_T *
                     );
 
// Link up the Delete User Space API
#pragma linkage(DeleteUserSpace,OS)
#pragma map(DeleteUserSpace,"QUSDLTUS")
void DeleteUserSpace(char[20],
                     _TE_ERROR_CODE_T *
                     );
 
// Link up the Retrieve Pointer to User Space API
#pragma linkage(RetrievePointerToUserSpace,OS)
#pragma map(RetrievePointerToUserSpace,"QUSPTRUS")
void RetrievePointerToUserSpace(char[20],
                                char **,
                                _TE_ERROR_CODE_T *
                                );
int main (int argc, char *argv[])
{
    char *pBuffer;
    _SYSPTR pSYSptr;
    _TE_ERROR_CODE_T errorCode;
    errorCode.BytesProvided = 0;
    CreateUserSpace("QTEUSERSPCQTEMP     ",
                    "QTESSPC   ",
                    10,
                    0,
                    "*ALL      ",
                    "                                                  ",
                    "*YES      ",
                    &errorCode
                    );
 
    //! call RetrievePointerToUserSpace - Retrieve Pointer to User Space
    //!! (pass: Name and library of user space, pointer variable
    //!! return: nothing (pointer variable is left pointing to start
    //!!         of user space)
    RetrievePointerToUserSpace("QTEUSERSPCQTEMP     ",
                               &pBuffer,
                               &errorCode);
 
    // convert the space pointer to a system pointer
    pSYSptr = _SETSPFP(pBuffer);
    cout << "Space pointer: " << pBuffer << endl;
    cout << "System pointer: " << pSYSptr << endl;
    return 0;
}


[ Top of Page | Previous Page | Next Page | Table of Contents ]