
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;
}
|
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.