52 #ifndef REXXSAA_INCLUDED
53 #define REXXSAA_INCLUDED
57 #define BEGIN_EXTERN_C() extern "C" {
58 #define END_EXTERN_C() }
60 #define BEGIN_EXTERN_C()
61 #define END_EXTERN_C()
65 #include "rexxapitypes.h"
83 class _RexxObjectPtr {};
84 class _RexxStringObject :
public _RexxObjectPtr {};
85 class _RexxBufferStringObject :
public _RexxStringObject {};
86 class _RexxArrayObject :
public _RexxObjectPtr {};
87 class _RexxBufferObject :
public _RexxObjectPtr {};
88 class _RexxPointerObject :
public _RexxObjectPtr {};
89 class _RexxMethodObject :
public _RexxObjectPtr {};
90 class _RexxRoutineObject :
public _RexxObjectPtr {};
91 class _RexxPackageObject :
public _RexxObjectPtr {};
92 class _RexxClassObject :
public _RexxObjectPtr {};
93 class _RexxDirectoryObject :
public _RexxObjectPtr {};
94 class _RexxSupplierObject :
public _RexxObjectPtr {};
95 class _RexxStemObject :
public _RexxObjectPtr {};
96 class _RexxMutableBufferObject :
public _RexxObjectPtr {};
113 struct _RexxObjectPtr;
114 struct _RexxStringObject;
115 struct _RexxArrayObject;
116 struct _RexxBufferObject;
117 struct _RexxPointerObject;
118 struct _RexxMethodObject;
119 struct _RexxRoutineObject;
120 struct _RexxPackageObject;
121 struct _RexxClassObject;
122 struct _RexxDirectoryObject;
123 struct _RexxSupplierObject;
124 struct _RexxStemObject;
125 struct _RexxMutableBufferObject;
146 #define NO_CSTRING NULL
147 #define NULLOBJECT NULL
166 #ifndef OOREXX_COMPATIBILITY
167 #define CONSTANT_RXSTRING CONSTRXSTRING
168 #define CONSTANT_STRING CSTRING
171 #define CONSTANT_RXSTRING RXSTRING
172 #define CONSTANT_STRING PSZ
177 #define RXNULLSTRING(r) ((r).strptr == NULL)
178 #define RXZEROLENSTRING(r) ((r).strptr != NULL && (r).strlength == 0)
179 #define RXVALIDSTRING(r) ((r).strptr != NULL && (r).strlength != 0)
180 #define RXSTRLEN(r) (RXNULLSTRING(r) ? 0 : (r).strlength)
181 #define RXSTRPTR(r) ((r).strptr)
182 #define MAKERXSTRING(r,p,l) { (r).strptr = p; (r).strlength = l; }
226 #include "rexxplatformdefs.h"
235 #define RexxEntry REXXENTRY
288 #define REXXSTART RexxStart
294 #define REXXWAITFORTERMINATION RexxWaitForTermination
298 #define REXXDIDREXXTERMINATE RexxDidRexxTerminate
302 #define REXXSHUTDOWNAPI RexxShutDownAPI
313 #define REXXTRANSLATEPROGRAM RexxTranslateProgram
324 #define REXXTRANSLATEINSTOREPROGRAM RexxTranslateInstoreProgram
331 #define REXXGETVERSIONINFORMATON RexxGetVersionInformation
354 #define REXXREGISTERSUBCOMDLL RexxRegisterSubcomDll
365 #define REXXREGISTERSUBCOMEXE RexxRegisterSubcomExe
377 #define REXXQUERYSUBCOM RexxQuerySubcom
387 #define REXXDEREGISTERSUBCOM RexxDeregisterSubcom
399 #define REXXVARIABLEPOOL RexxVariablePool
427 #define REXXREGISTERFUNCTIONDLL RexxRegisterFunctionDll
436 #define REXXREGISTERFUNCTIONEXE RexxRegisterFunctionExe
444 #define REXXDEREGISTERFUNCTION RexxDeregisterFunction
452 #define REXXQUERYFUNCTION RexxQueryFunction
643 #define REXXREGISTEREXITDLL RexxRegisterExitDll
653 #define REXXREGISTEREXITEXE RexxRegisterExitExe
662 #define REXXDEREGISTEREXIT RexxDeregisterExit
673 #define REXXQUERYEXIT RexxQueryExit
686 #define REXXSETHALT RexxSetHalt
695 #define REXXSETTRACE RexxSetTrace
704 #define REXXRESETTRACE RexxResetTrace
718 #define REXXADDMACRO RexxAddMacro
726 #define REXXDROPMACRO RexxDropMacro
736 #define REXXSAVEMACROSPACE RexxSaveMacroSpace
746 #define REXXLOADMACROSPACE RexxLoadMacroSpace
755 #define REXXQUERYMACRO RexxQueryMacro
765 #define REXXREORDERMACRO RexxReorderMacro
773 #define REXXCLEARMACROSPACE RexxClearMacroSpace
780 #define MAX_QUEUE_NAME_LENGTH 250
845 #include "rexxplatformapis.h"
RexxReturnCode REXXENTRY RexxDeregisterFunction(CONSTANT_STRING)
wholenumber_t REXXENTRY getAPIManagerCounter()
struct _RXMSQNAM_PARM RXMSQNAM_PARM
struct _RXVALCALL_PARM RXVALCALL_PARM
RexxReturnCode(REXXENTRY * PFNREXXQUERYFUNCTION)(CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXDEREGISTERFUNCTION)(CONSTANT_STRING)
RexxReturnCode REXXENTRY RexxRegisterSubcomExe(CONSTANT_STRING, REXXPFN, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXDIDREXXTERMINATE)(void)
RexxReturnCode REXXENTRY RexxDidRexxTerminate(void)
RexxReturnCode(REXXENTRY * PFNREXXCLEARMACROSPACE)(void)
RexxReturnCode(REXXENTRY * PFNREXXSETTRACE)(process_id_t, thread_id_t)
RexxReturnCode(REXXENTRY * PFNREXXQUERYEXIT)(CONSTANT_STRING, CONSTANT_STRING, unsigned short *, char *)
struct _RexxPackageObject * RexxPackageObject
#define CONSTANT_RXSTRING
struct _RexxClassObject * RexxClassObject
RexxReturnCode(REXXENTRY * PFNREXXVARIABLEPOOL)(PSHVBLOCK)
RexxReturnCode REXXENTRY RexxQueryExit(CONSTANT_STRING, CONSTANT_STRING, unsigned short *, char *)
RexxReturnCode(REXXENTRY * PFNREXXADDMACRO)(CONSTANT_STRING, CONSTANT_STRING, size_t)
RexxReturnCode REXXENTRY RexxVariablePool(PSHVBLOCK)
size_t REXXENTRY RexxRoutineHandler(CONSTANT_STRING, size_t, PCONSTRXSTRING, CONSTANT_STRING, PRXSTRING)
RexxReturnCode REXXENTRY RexxQuerySubcom(CONSTANT_STRING, CONSTANT_STRING, unsigned short *, char *)
struct _RXVARNOVALUE_PARM RXVARNOVALUE_PARM
struct _RXCMDHST_PARM RXCMDHST_PARM
RexxReturnCode(REXXENTRY * PFNREXXTRANSLATEPROGRAM)(CONSTANT_STRING, CONSTANT_STRING, PRXSYSEXIT)
struct _RXMSQPLL_PARM RXMSQPLL_PARM
RexxReturnCode REXXENTRY RexxQueryFunction(CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXDROPMACRO)(CONSTANT_STRING)
RexxReturnCode REXXENTRY RexxPullFromQueue(CONSTANT_STRING, PRXSTRING, RexxQueueTime *, size_t)
char *(REXXENTRY * PFNGETVERSIONINFORMATION)(void)
RexxReturnCode REXXENTRY RexxLoadMacroSpace(size_t, CONSTANT_STRING *, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXQUERYMACRO)(CONSTANT_STRING, unsigned short *)
RexxReturnCode REXXENTRY RexxAddMacro(CONSTANT_STRING, CONSTANT_STRING, size_t)
RexxReturnCode REXXENTRY RexxTranslateInstoreProgram(CONSTANT_STRING, CONSTANT_RXSTRING *, RXSTRING *)
void *(REXXENTRY * PFNREXXALLOCATEMEMORY)(size_t)
struct _RXEXFCAL_PARM RXEXFCAL_PARM
RexxReturnCode REXXENTRY RexxDeregisterSubcom(CONSTANT_STRING, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXSTART)(size_t, PCONSTRXSTRING, CONSTANT_STRING, PRXSTRING, CONSTANT_STRING, int, PRXSYSEXIT, short *, PRXSTRING)
RexxReturnCode REXXENTRY RexxClearQueue(CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXOPENQUEUE)(CONSTANT_STRING, size_t)
RexxReturnCode(REXXENTRY * PFNREXXCREATEQUEUE)(char *, size_t, CONSTANT_STRING, size_t)
RexxReturnCode REXXENTRY RexxSubcomHandler(PCONSTRXSTRING, unsigned short *, PRXSTRING)
RexxReturnCode(REXXENTRY * PFNREXXQUERYQUEUE)(CONSTANT_STRING, size_t *)
RexxReturnCode REXXENTRY RexxFreeMemory(void *)
RexxReturnCode(REXXENTRY * PFNREXXCLEARQUEUE)(CONSTANT_STRING)
struct _RexxMutableBufferObject * RexxMutableBufferObject
RexxReturnCode REXXENTRY RexxResetTrace(process_id_t, thread_id_t)
struct _RexxStringObject * RexxStringObject
RexxReturnCode(REXXENTRY * PFNREXXRESETTRACE)(process_id_t, thread_id_t)
struct _RXSTRING RXSTRING
RexxReturnCode(REXXENTRY * PFNREXXQUERYSUBCOM)(CONSTANT_STRING, CONSTANT_STRING, unsigned short *, char *)
struct _RexxArrayObject * RexxArrayObject
RexxReturnCode REXXENTRY RexxDeleteQueue(CONSTANT_STRING)
RexxReturnCode REXXENTRY RexxSaveMacroSpace(size_t, CONSTANT_STRING *, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXREGISTERFUNCTIONEXE)(CONSTANT_STRING, REXXPFN)
RexxReturnCode REXXENTRY RexxRegisterFunctionExe(CONSTANT_STRING, REXXPFN)
RexxReturnCode(REXXENTRY * PFNREXXREGISTERSUBCOMDLL)(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, char *, size_t)
size_t REXXENTRY RexxFunctionHandler(CONSTANT_STRING, size_t, PCONSTRXSTRING, CONSTANT_STRING, PRXSTRING)
struct _RexxBufferStringObject * RexxBufferStringObject
RexxReturnCode REXXENTRY RexxRegisterFunctionDll(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXREGISTERSUBCOMEXE)(CONSTANT_STRING, REXXPFN, char *)
RexxReturnCode REXXENTRY RexxRegisterSubcomDll(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, size_t)
RexxReturnCode REXXENTRY RexxRegisterExitDll(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, size_t)
RexxReturnCode REXXENTRY RexxOpenQueue(CONSTANT_STRING, size_t *)
RexxReturnCode REXXENTRY RexxAddQueue(CONSTANT_STRING, PCONSTRXSTRING, size_t)
struct _RXSIODTR_PARM RXSIODTR_PARM
struct _SHVBLOCK SHVBLOCK
RexxReturnCode REXXENTRY RexxQueryMacro(CONSTANT_STRING, unsigned short *)
RexxReturnCode REXXENTRY RexxDeregisterExit(CONSTANT_STRING, CONSTANT_STRING)
CONSTANT_RXSTRING * PCONSTRXSTRING
RexxReturnCode(REXXENTRY * PFNREXXSHUTDOWNAPI)(void)
RexxReturnCode REXXENTRY RexxRegisterExitExe(CONSTANT_STRING, REXXPFN, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXREGISTERFUNCTIONDLL)(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING)
RexxReturnCode REXXENTRY RexxShutDownAPI(void)
struct _RexxObjectPtr * RexxObjectPtr
RexxReturnCode(REXXENTRY * PFNREXXADDQUEUE)(CONSTANT_STRING, PCONSTRXSTRING, size_t)
struct _RXFNCCAL_PARM RXFNCCAL_PARM
struct _RXOFNC_FLAGS RXOFNC_FLAGS
RexxReturnCode(REXXENTRY * PFNREXXREGISTEREXITDLL)(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, char *, size_t)
RexxReturnCode REXXENTRY RexxReorderMacro(CONSTANT_STRING, size_t)
RexxReturnCode(REXXENTRY * PFNREXXQUEUEEXISTS)(CONSTANT_STRING)
struct _RXMSQSIZ_PARM RXMSQSIZ_PARM
void(REXXENTRY * PFNREXXWAITFORTERMINATION)(void)
int REXXENTRY RexxStart(size_t, PCONSTRXSTRING, CONSTANT_STRING, PRXSTRING, CONSTANT_STRING, int, PRXSYSEXIT, short *, PRXSTRING)
struct _RexxRoutineObject * RexxRoutineObject
struct _RXCMD_FLAGS RXCMD_FLAGS
struct _RXHLT_FLAGS RXHLT_FLAGS
struct _RexxConditionData RexxConditionData
RexxReturnCode(REXXENTRY * PFNREXXDELETEQUEUE)(CONSTANT_STRING)
struct _RXOFNCCAL_PARM RXOFNCCAL_PARM
RexxReturnCode(REXXENTRY * PFNREXXTRANSLATEINSTOREPROGRAM)(CONSTANT_STRING, CONSTANT_RXSTRING *, RXSTRING *)
struct _RXSIOTRC_PARM RXSIOTRC_PARM
struct _RXMSQPSH_PARM RXMSQPSH_PARM
struct _RexxDirectoryObject * RexxDirectoryObject
struct _RexxSupplierObject * RexxSupplierObject
RexxReturnCode REXXENTRY RexxQueryQueue(CONSTANT_STRING, size_t *)
int REXXENTRY RexxExitHandler(int, int, PEXIT)
struct _RXMSQ_FLAGS RXMSQ_FLAGS
struct _RXTRC_FLAGS RXTRC_FLAGS
void *REXXENTRY RexxAllocateMemory(size_t)
RexxReturnCode(REXXENTRY * PFNREXXLOADMACROSPACE)(size_t, CONSTANT_STRING *, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXREGISTEREXITEXE)(CONSTANT_STRING, REXXPFN, char *)
struct _RexxMethodObject * RexxMethodObject
struct _RXSYSEXIT RXSYSEXIT
RexxReturnCode(REXXENTRY * PFNREXXSAVEMACROSPACE)(size_t, CONSTANT_STRING *, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXREORDERMACRO)(CONSTANT_STRING, size_t)
RexxReturnCode REXXENTRY RexxClearMacroSpace(void)
struct _CONSTRXSTRING CONSTRXSTRING
struct _RexxBufferObject * RexxBufferObject
RexxReturnCode REXXENTRY RexxTranslateProgram(CONSTANT_STRING, CONSTANT_STRING, PRXSYSEXIT)
struct _RXSIOTRD_PARM RXSIOTRD_PARM
RexxReturnCode REXXENTRY RexxQueueExists(CONSTANT_STRING)
char *REXXENTRY RexxGetVersionInformation(void)
RexxReturnCode REXXENTRY RexxCreateQueue(char *, size_t, CONSTANT_STRING, size_t *)
struct _RexxPointerObject * RexxPointerObject
RexxReturnCode(REXXENTRY * PFNREXXFREEMEMORY)(void *)
RexxReturnCode REXXENTRY RexxSetTrace(process_id_t, thread_id_t)
struct _RXHLTTST_PARM RXHLTTST_PARM
struct _RXFNC_FLAGS RXFNC_FLAGS
RexxReturnCode REXXENTRY RexxDropMacro(CONSTANT_STRING)
struct _RXTRCTST_PARM RXTRCTST_PARM
RexxReturnCode(REXXENTRY * PFNREXXSETHALT)(process_id_t, thread_id_t)
void REXXENTRY RexxWaitForTermination(void)
RexxReturnCode(REXXENTRY * PFNREXXDEREGISTERSUBCOM)(CONSTANT_STRING, CONSTANT_STRING)
struct _RexxStemObject * RexxStemObject
struct _RexxQueueTime RexxQueueTime
RexxReturnCode REXXENTRY RexxSetHalt(process_id_t, thread_id_t)
struct _RXSIOSAY_PARM RXSIOSAY_PARM
struct _RXEXF_FLAGS RXEXF_FLAGS
RexxReturnCode(REXXENTRY * PFNREXXDEREGISTEREXIT)(CONSTANT_STRING, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXPULLFROMQUEUE)(CONSTANT_STRING, PRXSTRING, RexxQueueTime *, size_t)
CONSTANT_STRING rxcmd_address
unsigned short rxcmd_dll_len
unsigned short rxcmd_addressl
CONSTANT_STRING rxcmd_dll
CONSTANT_RXSTRING rxcmd_command
CONSTANT_RXSTRING rxfnc_name
RexxObjectPtr * rxfnc_argv
PCONSTRXSTRING rxfnc_argv
unsigned short rxfnc_namel
CONSTANT_STRING rxfnc_que
unsigned short rxfnc_quel
unsigned short rxfnc_argc
CONSTANT_STRING rxfnc_name
CONSTANT_RXSTRING rxmsq_value
CONSTANT_RXSTRING rxfnc_name
RexxObjectPtr * rxfnc_argv
CONSTANT_RXSTRING rxsio_string
CONSTANT_RXSTRING rxsio_string
CONSTANT_STRING sysexit_name
RexxStringObject variable_name
RexxStringObject selector
RexxStringObject variable_name
CONSTANT_RXSTRING shvname
struct _SHVBLOCK * shvnext