44 #ifndef RexxNativeInterface_Included
45 #define RexxNativeInterface_Included
54 #define REXX_ARGUMENT_TERMINATOR 0
55 #define REXX_VALUE_ARGLIST 2
56 #define REXX_VALUE_NAME 3
57 #define REXX_VALUE_SCOPE 4
58 #define REXX_VALUE_CSELF 5
59 #define REXX_VALUE_OSELF 6
60 #define REXX_VALUE_SUPER 7
64 #define REXX_VALUE_RexxObjectPtr 11
65 #define REXX_VALUE_int 12
66 #define REXX_VALUE_wholenumber_t 13
67 #define REXX_VALUE_double 14
68 #define REXX_VALUE_CSTRING 15
69 #define REXX_VALUE_POINTER 16
70 #define REXX_VALUE_RexxStringObject 17
71 #define REXX_VALUE_stringsize_t 18
72 #define REXX_VALUE_float 19
73 #define REXX_VALUE_int8_t 20
74 #define REXX_VALUE_int16_t 21
75 #define REXX_VALUE_int32_t 22
76 #define REXX_VALUE_int64_t 23
77 #define REXX_VALUE___int64_t 23
78 #define REXX_VALUE_uint8_t 24
79 #define REXX_VALUE_uint16_t 25
80 #define REXX_VALUE_uint32_t 26
81 #define REXX_VALUE_uint64_t 27
82 #define REXX_VALUE___uint64_t 27 -- aliased
83 #define REXX_VALUE_intptr_t 28
84 #define REXX_VALUE_uintptr_t 29
85 #define REXX_VALUE___uintptr_t 29 -- aliased
86 #define REXX_VALUE_logical_t 30
87 #define REXX_VALUE_RexxArrayObject 31
88 #define REXX_VALUE_RexxStemObject 32
89 #define REXX_VALUE_size_t 33
90 #define REXX_VALUE_ssize_t 34
91 #define REXX_VALUE_POINTERSTRING 35
92 #define REXX_VALUE_RexxClassObject 36
93 #define REXX_VALUE_RexxMutableBufferObject 37
95 #define REXX_OPTIONAL_ARGUMENT 0x8000
97 #define REXX_VALUE_OPTIONAL_RexxObjectPtr (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxObjectPtr)
98 #define REXX_VALUE_OPTIONAL_int (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int)
99 #define REXX_VALUE_OPTIONAL_wholenumber_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_wholenumber_t)
100 #define REXX_VALUE_OPTIONAL_double (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_double)
101 #define REXX_VALUE_OPTIONAL_CSTRING (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_CSTRING)
102 #define REXX_VALUE_OPTIONAL_POINTER (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_POINTER)
103 #define REXX_VALUE_OPTIONAL_RexxStringObject (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxStringObject)
104 #define REXX_VALUE_OPTIONAL_stringsize_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_stringsize_t)
105 #define REXX_VALUE_OPTIONAL_float (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_float)
106 #define REXX_VALUE_OPTIONAL_int8_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int8_t)
107 #define REXX_VALUE_OPTIONAL_int16_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int16_t)
108 #define REXX_VALUE_OPTIONAL_int32_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int32_t)
109 #define REXX_VALUE_OPTIONAL_int64_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int64_t)
110 #define REXX_VALUE_OPTIONAL_uint8_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint8_t)
111 #define REXX_VALUE_OPTIONAL_uint16_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint16_t)
112 #define REXX_VALUE_OPTIONAL_uint32_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint32_t)
113 #define REXX_VALUE_OPTIONAL_uint64_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint64_t)
114 #define REXX_VALUE_OPTIONAL_size_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_size_t)
115 #define REXX_VALUE_OPTIONAL_ssize_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_ssize_t)
116 #define REXX_VALUE_OPTIONAL_intptr_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_intptr_t)
117 #define REXX_VALUE_OPTIONAL_uintptr_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uintptr_t)
118 #define REXX_VALUE_OPTIONAL_logical_t (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_logical_t)
119 #define REXX_VALUE_OPTIONAL_RexxArrayObject (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxArrayObject)
120 #define REXX_VALUE_OPTIONAL_RexxStemObject (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxStemObject)
121 #define REXX_VALUE_OPTIONAL_POINTERSTRING (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_POINTERSTRING)
122 #define REXX_VALUE_OPTIONAL_RexxClassObject (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxClassObject)
123 #define REXX_VALUE_OPTIONAL_RexxMutableBufferObject (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxMutableBufferObject)
186 #define ROUTINE_TYPED_STYLE 1
187 #define ROUTINE_CLASSIC_STYLE 2
189 #define REXX_ROUTINE(s, n, e) { s, 0, #n, (void *)e, 0, 0 }
191 #define REXX_TYPED_ROUTINE(n, e) REXX_ROUTINE(ROUTINE_TYPED_STYLE, n, e)
192 #define REXX_CLASSIC_ROUTINE(n, e) REXX_ROUTINE(ROUTINE_CLASSIC_STYLE, n, e)
193 #define REXX_LAST_ROUTINE() { 0, 0, NULL, (void *)NULL, 0, 0 }
195 #define REXX_CLASSIC_ROUTINE_PROTOTYPE(name) size_t RexxEntry name(const char *, size_t, CONSTRXSTRING *, const char *, RXSTRING *)
207 #define METHOD_TYPED_STYLE 1
209 #define REXX_METHOD_ENTRY(n, e) { METHOD_TYPED_STYLE, 0, #n, (void *)e, 0, 0 }
211 #define REXX_METHOD(n, e) REXX_METHOD_ENTRY(n, e)
212 #define REXX_LAST_METHOD() { 0, 0, NULL, (void *)NULL, 0, 0 }
214 #define REXX_PACKAGE_API_NO 20081030
216 #define REXX_INTERPRETER_4_0_0 0x00040000
217 #define REXX_INTERPRETER_4_0_1 0x00040001
218 #define REXX_INTERPRETER_4_1_0 0x00040100
219 #define REXX_INTERPRETER_4_1_2 0x00040102
220 #define REXX_INTERPRETER_4_1_3 0x00040103
221 #define REXX_INTERPRETER_4_2_0 0x00040200
222 #define REXX_INTERPRETER_4_3_0 0x00040300
223 #define REXX_CURRENT_INTERPRETER_VERSION REXX_INTERPRETER_4_3_0
224 #define NO_VERSION_YET NULL
226 #define REXX_LANGUAGE_6_03 0x00000603
227 #define REXX_LANGUAGE_6_04 0x00000604
228 #define REXX_CURRENT_LANGUAGE_LEVEL REXX_LANGUAGE_6_04
230 #define STANDARD_PACKAGE_HEADER sizeof(RexxPackageEntry), REXX_PACKAGE_API_NO,
232 #define OOREXX_GET_PACKAGE(name) \
234 REXXEXPORT RexxPackageEntry *RexxGetPackage(void) { return &name##_package_entry; }\
257 #define ARGUMENT_EXISTS 0x01
259 #define SPECIAL_ARGUMENT 0x02
354 inline operator CSTRING() {
return value.value_CSTRING; }
356 inline operator POINTER() {
return value.value_POINTER; }
362 inline operator float() {
return value.value_float; }
363 inline operator double() {
return value.value_double; }
370 #define INITIAL_ADDRESS_ENVIRONMENT "InitialAddress"
372 #define APPLICATION_DATA "ApplicationData"
374 #define EXTERNAL_CALL_PATH "ExternalCallPath"
376 #define EXTERNAL_CALL_EXTENSIONS "ExternalCallPathExt"
379 #define LOAD_REQUIRED_LIBRARY "LoadRequiredLibrary"
381 #define REGISTERED_EXITS "RegisteredExits"
384 #define DIRECT_EXITS "DirectExits"
386 #define REGISTERED_ENVIRONMENTS "RegisteredEnvironments"
389 #define DIRECT_ENVIRONMENTS "DirectEnvironments"
391 #define REGISTER_LIBRARY "RegisterLibrary"
435 #define INSTANCE_INTERFACE_VERSION 100
449 #define THREAD_INTERFACE_VERSION_4_0_0 100
450 #define THREAD_INTERFACE_VERSION_4_1_1 101
451 #define THREAD_INTERFACE_VERSION 102
620 #define METHOD_INTERFACE_VERSION_4_0_0 100
621 #define METHOD_INTERFACE_VERSION 101
644 #define CALL_INTERFACE_VERSION 100
667 #define EXIT_INTERFACE_VERSION 100
688 functions->Terminate(
this);
692 return functions->AttachThread(
this, tc);
696 return functions->InterpreterVersion(
this);
700 return functions->LanguageLevel(
this);
704 functions->Halt(
this);
708 functions->SetTrace(
this, s);
725 return instance->InterpreterVersion();
745 return functions->RequestGlobalReference(
this, o);
749 functions->ReleaseGlobalReference(
this, o);
753 functions->ReleaseLocalReference(
this, o);
758 return functions->SendMessage(
this, o, msg, arr);
762 return functions->SendMessage0(
this, o, msg);
766 return functions->SendMessage1(
this, o, msg, a1);
770 return functions->SendMessage2(
this, o, msg, a1, a2);
775 return functions->GetLocalEnvironment(
this);
779 return functions->GetGlobalEnvironment(
this);
783 return functions->IsInstanceOf(
this, o, co);
795 return functions->FindPackageClass(
this, m, n);
803 return functions->NewMethod(
this, n, s, l);
807 return functions->NewRoutine(
this, n, s, l);
819 return functions->GetRoutinePackage(
this, o);
823 return functions->GetMethodPackage(
this, o);
829 return functions->GetPackageRoutines(
this, m);
833 return functions->GetPackagePublicRoutines(
this, m);
837 return functions->GetPackageClasses(
this, m);
841 return functions->GetPackagePublicClasses(
this, m);
845 return functions->GetPackageMethods(
this, m);
849 return functions->CallRoutine(
this, m, a);
853 return functions->CallProgram(
this, n, a);
861 return functions->LoadPackageFromData(
this, n, d, l);
869 return functions->RegisterLibrary(
this, n, e);
873 return functions->ObjectToCSelf(
this, o);
877 return functions->ObjectToCSelfScoped(
this, o, s);
881 return functions->WholeNumberToObject(
this, n);
885 return functions->WholeNumberToObject(
this, n);
889 return functions->UintptrToObject(
this, n);
893 return functions->UintptrToObject(
this, n);
897 return functions->IntptrToObject(
this, n);
901 return functions->IntptrToObject(
this, n);
905 return functions->StringSizeToObject(
this, n);
909 return functions->StringSizeToObject(
this, n);
913 return functions->ObjectToWholeNumber(
this, o, n);
917 return functions->ObjectToWholeNumber(
this, o, n);
921 return functions->ObjectToStringSize(
this, o, n);
925 return functions->ObjectToStringSize(
this, o, n);
929 return functions->Int64ToObject(
this, i);
933 return functions->Int64ToObject(
this, i);
937 return functions->UnsignedInt64ToObject(
this, u);
941 return functions->UnsignedInt64ToObject(
this, u);
945 return functions->ObjectToInt64(
this, o, i);
949 return functions->ObjectToInt64(
this, o, i);
953 return functions->ObjectToUnsignedInt64(
this, o, u);
957 return functions->ObjectToUnsignedInt64(
this, o, u);
961 return functions->Int32ToObject(
this, i);
965 return functions->Int32ToObject(
this, i);
969 return functions->UnsignedInt32ToObject(
this, u);
973 return functions->UnsignedInt32ToObject(
this, u);
977 return functions->ObjectToInt32(
this, o, i);
981 return functions->ObjectToInt32(
this, o, i);
985 return functions->ObjectToUnsignedInt32(
this, o, u);
989 return functions->ObjectToUnsignedInt32(
this, o, u);
993 return functions->ObjectToUintptr(
this, o, n);
997 return functions->ObjectToUintptr(
this, o, n);
1001 return functions->ObjectToIntptr(
this, o, n);
1005 return functions->ObjectToIntptr(
this, o, n);
1009 return functions->ObjectToLogical(
this, o, n);
1013 return functions->ObjectToLogical(
this, o, n);
1017 return functions->LogicalToObject(
this, l);
1021 return functions->LogicalToObject(
this, l);
1025 return functions->DoubleToObject(
this, d);
1029 return functions->DoubleToObject(
this, d);
1033 return functions->DoubleToObjectWithPrecision(
this, d, precision);
1037 return functions->ObjectToDouble(
this, o, d);
1041 return functions->ObjectToDouble(
this, o, d);
1045 return functions->ValueToObject(
this, v);
1049 return functions->ValuesToObject(
this, v, c);
1053 return functions->ObjectToValue(
this, o, v);
1057 return functions->ObjectToString(
this, o);
1061 return functions->ObjectToStringValue(
this, o);
1065 return functions->ObjectToStringValue(
this, o);
1069 return functions->StringGet(
this, o, len1, s, len2);
1073 return functions->StringLength(
this, o);
1081 return functions->NewString(
this, s, len);
1085 return functions->NewStringFromAsciiz(
this, s);
1089 return functions->NewString(
this, s, len);
1093 return functions->NewStringFromAsciiz(
this, s);
1097 return functions->NewStringFromAsciiz(
this, s);
1114 return functions->NewBufferString(
this, len);
1119 return functions->BufferStringLength(
this, o);
1124 return functions->BufferStringData(
this, o);
1129 return functions->FinishBufferString(
this, o, l);
1134 functions->DirectoryPut(
this, diro, o, s);
1138 return functions->DirectoryAt(
this, to, s);
1142 return functions->DirectoryRemove(
this, to, s);
1163 return functions->ArrayAppend(
this, ao, o);
1167 return functions->ArrayAppendString(
this, ao, s, l);
1179 return functions->ArrayDimension(
this, ao);
1191 return functions->ArrayOfTwo(
this, o1, o2);
1195 return functions->ArrayOfThree(
this, o1, o2, o3);
1199 return functions->ArrayOfFour(
this, o1, o2, o3, o4);
1203 return functions->ArrayOfFive(
this, o1, o2, o3, o4, o5);
1211 return functions->ArrayOfTwo(
this, o1, o2);
1215 return functions->ArrayOfThree(
this, o1, o2, o3);
1219 return functions->ArrayOfFour(
this, o1, o2, o3, o4);
1223 return functions->ArrayOfFive(
this, o1, o2, o3, o4, o5);
1236 return functions->BufferLength(
this, bo);
1249 return functions->MutableBufferData(
this, bo);
1254 return functions->MutableBufferLength(
this, bo);
1259 return functions->SetMutableBufferLength(
this, bo, l);
1264 return functions->NewMutableBuffer(
this, n);
1269 return functions->IsMutableBuffer(
this, o);
1274 return functions->MutableBufferCapacity(
this, bo);
1279 return functions->SetMutableBufferCapacity(
this, bo, l);
1284 return functions->PointerValue(
this, po);
1297 return functions->SupplierItem(
this, so);
1301 return functions->SupplierIndex(
this, so);
1305 return functions->SupplierAvailable(
this, so);
1313 return functions->NewSupplier(
this, values, names);
1322 functions->SetStemElement(
this, so, s, o);
1326 return functions->GetStemElement(
this, so, s);
1330 functions->DropStemElement(
this, so, s);
1334 functions->SetStemArrayElement(
this, so, n, o);
1338 return functions->GetStemArrayElement(
this, so, n);
1342 functions->DropStemArrayElement(
this, so, n);
1346 return functions->GetAllStemElements(
this, so);
1350 return functions->GetStemValue(
this, so);
1366 functions->RaiseException2(
this, n, o1, o2);
1370 functions->RaiseException3(
this, n, o1, o2, o3);
1374 functions->RaiseException4(
this, n, o1, o2, o3, o4);
1378 functions->RaiseException5(
this, n, o1, o2, o3, o4, o5);
1386 functions->RaiseCondition(
this, s1, s2, ao, o);
1394 return functions->DisplayCondition(
this);
1398 return functions->GetConditionInfo(
this);
1402 functions->DecodeConditionInfo(
this, diro, c);
1751 return threadContext->DoubleToObjectWithPrecision(d, precision);
2169 functions->SetObjectVariable(
this, s, o);
2173 return functions->GetObjectVariable(
this, s);
2181 return functions->ForwardMessage(
this, o, s, c, a, d);
2193 return functions->FindContextClass(
this, n);
2521 return threadContext->DoubleToObjectWithPrecision(d, precision);
2923 functions->SetContextVariable(
this, s, o);
2927 return functions->GetContextVariable(
this, s);
2931 functions->DropContextVariable(
this, s);
2935 return functions->ResolveStemVariable(
this, v);
2940 return functions->GetAllContextVariables(
this);
2948 return functions->GetContextDigits(
this);
2960 return functions->GetCallerContext(
this);
2964 return functions->FindContextClass(
this, n);
3293 return threadContext->DoubleToObjectWithPrecision(d, precision);
3678 functions->SetContextVariable(
this, s, o);
3682 return functions->GetContextVariable(
this, s);
3686 functions->DropContextVariable(
this, s);
3690 return functions->GetAllContextVariables(
this);
3694 return functions->GetCallerContext(
this);
3705 #define ARGUMENT_TYPE_ARGLIST RexxArrayObject
3706 #define ARGUMENT_TYPE_NAME CSTRING
3707 #define ARGUMENT_TYPE_SCOPE RexxObjectPtr
3708 #define ARGUMENT_TYPE_CSELF POINTER
3709 #define ARGUMENT_TYPE_OSELF RexxObjectPtr
3710 #define ARGUMENT_TYPE_SUPER RexxClassObject
3714 #define ARGUMENT_TYPE_RexxObjectPtr RexxObjectPtr
3715 #define ARGUMENT_TYPE_RexxClassObject RexxClassObject
3716 #define ARGUMENT_TYPE_int int
3717 #define ARGUMENT_TYPE_wholenumber_t wholenumber_t
3718 #define ARGUMENT_TYPE_stringsize_t stringsize_t
3719 #define ARGUMENT_TYPE_double double
3720 #define ARGUMENT_TYPE_CSTRING CSTRING
3721 #define ARGUMENT_TYPE_POINTER POINTER
3722 #define ARGUMENT_TYPE_RexxStringObject RexxStringObject
3723 #define ARGUMENT_TYPE_float float
3724 #define ARGUMENT_TYPE_int8_t int8_t
3725 #define ARGUMENT_TYPE_int16_t int16_t
3726 #define ARGUMENT_TYPE_int32_t int32_t
3727 #define ARGUMENT_TYPE_int64_t int64_t
3728 #define ARGUMENT_TYPE___int64_t int64_t
3729 #define ARGUMENT_TYPE_uint8_t uint8_t
3730 #define ARGUMENT_TYPE_uint16_t uint16_t
3731 #define ARGUMENT_TYPE_uint32_t uint32_t
3732 #define ARGUMENT_TYPE_uint64_t uint64_t
3733 #define ARGUMENT_TYPE___uint64_t uint64_t
3734 #define ARGUMENT_TYPE_size_t size_t
3735 #define ARGUMENT_TYPE_ssize_t ssize_t
3736 #define ARGUMENT_TYPE_intptr_t intptr_t
3737 #define ARGUMENT_TYPE_uintptr_t uintptr_t
3738 #define ARGUMENT_TYPE___uintptr_t uintptr_t
3739 #define ARGUMENT_TYPE_logical_t logical_t
3740 #define ARGUMENT_TYPE_RexxArrayObject RexxArrayObject
3741 #define ARGUMENT_TYPE_RexxStemObject RexxStemObject
3742 #define ARGUMENT_TYPE_POINTERSTRING POINTER
3743 #define ARGUMENT_TYPE_RexxMutableBufferObject RexxMutableBufferObject
3745 #define ARGUMENT_TYPE_OPTIONAL_RexxObjectPtr RexxObjectPtr
3746 #define ARGUMENT_TYPE_OPTIONAL_int int
3747 #define ARGUMENT_TYPE_OPTIONAL_wholenumber_t wholenumber_t
3748 #define ARGUMENT_TYPE_OPTIONAL_stringsize_t stringsize_t
3749 #define ARGUMENT_TYPE_OPTIONAL_double double
3750 #define ARGUMENT_TYPE_OPTIONAL_CSTRING CSTRING
3751 #define ARGUMENT_TYPE_OPTIONAL_POINTER POINTER
3752 #define ARGUMENT_TYPE_OPTIONAL_RexxStringObject RexxStringObject
3753 #define ARGUMENT_TYPE_OPTIONAL_float float
3754 #define ARGUMENT_TYPE_OPTIONAL_int8_t int8_t
3755 #define ARGUMENT_TYPE_OPTIONAL_int16_t int16_t
3756 #define ARGUMENT_TYPE_OPTIONAL_int32_t int32_t
3757 #define ARGUMENT_TYPE_OPTIONAL_int64_t int64_t
3758 #define ARGUMENT_TYPE_OPTIONAL_uint8_t uint8_t
3759 #define ARGUMENT_TYPE_OPTIONAL_uint16_t uint16_t
3760 #define ARGUMENT_TYPE_OPTIONAL_uint32_t uint32_t
3761 #define ARGUMENT_TYPE_OPTIONAL_uint64_t uint64_t
3762 #define ARGUMENT_TYPE_OPTIONAL_size_t size_t
3763 #define ARGUMENT_TYPE_OPTIONAL_ssize_t ssize_t
3764 #define ARGUMENT_TYPE_OPTIONAL_intptr_t intptr_t
3765 #define ARGUMENT_TYPE_OPTIONAL_uintptr_t uintptr_t
3766 #define ARGUMENT_TYPE_OPTIONAL_logical_t logical_t
3767 #define ARGUMENT_TYPE_OPTIONAL_RexxArrayObject RexxArrayObject
3768 #define ARGUMENT_TYPE_OPTIONAL_RexxStemObject RexxStemObject
3769 #define ARGUMENT_TYPE_OPTIONAL_POINTERSTRING POINTER
3770 #define ARGUMENT_TYPE_OPTIONAL_RexxClassObject RexxClassObject
3771 #define ARGUMENT_TYPE_OPTIONAL_RexxMutableBufferObject RexxMutableBufferObject
3773 #define ARGUMENT_TYPE(t) ((t) & ~REXX_OPTIONAL_ARGUMENT)
3774 #define IS_OPTIONAL_ARGUMENT(t) (((t) & REXX_OPTIONAL_ARGUMENT) != 0)
3777 #define argumentExists(i) ((context->arguments[i].flags & ARGUMENT_EXISTS) != 0)
3778 #define argumentOmitted(i) (!argumentExists(i))
3781 #define oor__type(t) ARGUMENT_TYPE_##t
3782 #define oor__arg(p, t) arguments[p].value.value_##t
3783 #define oor__ret(t, v) arguments[0].value.value_##t = (v); return NULL;
3784 #define oor__adcl(t, n) oor__type(t) n
3785 #define oor__tdcl(t) REXX_VALUE_##t
3787 #define __methodstub(name) uint16_t * RexxEntry name (RexxMethodContext *context, ValueDescriptor *arguments)
3790 #define __cpp_method_proto(name) extern "C" __methodstub(name);
3792 #define __cpp_method_proto(name) __methodstub(name);
3797 #define SET_REXX_VALUE(v, t, val) \
3799 (v).type = REXX_VALUE##t; \
3800 (v).value.value_##t = (val);\
3804 #define GET_REXX_VALUE(v, t) ((v).value.value_##t)
3807 #define REXX_METHOD_PROTOTYPE(name) __cpp_method_proto(name)
3811 #define RexxMethod0(returnType, name) \
3813 oor__type(returnType) name##_impl (RexxMethodContext * context); \
3816 static uint16_t name##_types[] = {oor__tdcl(returnType), REXX_ARGUMENT_TERMINATOR}; \
3818 __cpp_method_proto(name) \
3820 __methodstub(name) \
3822 if (arguments != NULL) \
3825 oor__ret(returnType, (name##_impl(context))); \
3827 return name##_types; \
3830 oor__type(returnType) name##_impl(RexxMethodContext *context)
3834 #define RexxMethod1(returnType ,name, t1, n1) \
3836 oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1)); \
3839 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), REXX_ARGUMENT_TERMINATOR}; \
3841 __cpp_method_proto(name) \
3843 __methodstub(name) \
3845 if (arguments != NULL) \
3848 oor__ret(returnType, name##_impl(context, oor__arg(1, t1))); \
3850 return name##_types; \
3853 oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1))
3857 #define RexxMethod2(returnType ,name, t1, n1, t2, n2) \
3859 oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2)); \
3862 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), REXX_ARGUMENT_TERMINATOR}; \
3864 __cpp_method_proto(name) \
3866 __methodstub(name) \
3868 if (arguments != NULL) \
3871 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2))); \
3873 return name##_types; \
3876 oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2))
3880 #define RexxMethod3(returnType ,name, t1, n1, t2, n2, t3, n3) \
3882 oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3)); \
3885 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), REXX_ARGUMENT_TERMINATOR}; \
3887 __cpp_method_proto(name) \
3889 __methodstub(name) \
3891 if (arguments != NULL) \
3894 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3))); \
3896 return name##_types; \
3899 oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3))
3903 #define RexxMethod4(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4) \
3905 oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4)); \
3908 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), REXX_ARGUMENT_TERMINATOR}; \
3910 __cpp_method_proto(name) \
3912 __methodstub(name) \
3914 if (arguments != NULL) \
3917 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4))); \
3919 return name##_types; \
3922 oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4))
3926 #define RexxMethod5(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5) \
3928 oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5)); \
3931 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), REXX_ARGUMENT_TERMINATOR}; \
3933 __cpp_method_proto(name) \
3935 __methodstub(name) \
3937 if (arguments != NULL) \
3940 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5))); \
3942 return name##_types; \
3945 oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5))
3949 #define RexxMethod6(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6) \
3951 oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6)); \
3954 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), oor__tdcl(t6), REXX_ARGUMENT_TERMINATOR}; \
3956 __cpp_method_proto(name) \
3958 __methodstub(name) \
3960 if (arguments != NULL) \
3963 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5), oor__arg(6, t6))); \
3965 return name##_types; \
3968 oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6))
3972 #define RexxMethod7(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7) \
3974 oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7)); \
3977 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), oor__tdcl(t6), oor__tdcl(t7), REXX_ARGUMENT_TERMINATOR}; \
3979 __cpp_method_proto(name) \
3981 __methodstub(name) \
3983 if (arguments != NULL) \
3986 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5), oor__arg(6, t6), oor__arg(7, t7))); \
3988 return name##_types; \
3991 oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7))
3995 #define RexxMethod8(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8) \
3997 oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8)); \
4000 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), oor__tdcl(t6), oor__tdcl(t7), oor__tdcl(t8), REXX_ARGUMENT_TERMINATOR}; \
4002 __cpp_method_proto(name) \
4004 __methodstub(name) \
4006 if (arguments != NULL) \
4009 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5), oor__arg(6, t6), oor__arg(7, t7), oor__arg(8, t8))); \
4011 return name##_types; \
4014 oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8))
4018 #define RexxMethod9(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9) \
4020 oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8), oor__adcl(t9, n9)); \
4023 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), oor__tdcl(t6), oor__tdcl(t7), oor__tdcl(t8), oor__tdcl(t9), REXX_ARGUMENT_TERMINATOR}; \
4025 __cpp_method_proto(name) \
4027 __methodstub(name) \
4029 if (arguments != NULL) \
4032 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5), oor__arg(6, t6), oor__arg(7, t7), oor__arg(8, t8), oor__arg(9, t9))); \
4034 return name##_types; \
4037 oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8), oor__adcl(t9, n9))
4041 #define RexxMethod10(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9, t10, n10) \
4043 oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8), oor__adcl(t9, n9), oor__adcl(t10, n10)); \
4046 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), oor__tdcl(t6), oor__tdcl(t7), oor__tdcl(t8), oor__tdcl(t9), oor__tdcl(t10), REXX_ARGUMENT_TERMINATOR}; \
4048 __cpp_method_proto(name) \
4050 __methodstub(name) \
4052 if (arguments != NULL) \
4055 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5), oor__arg(6, t6), oor__arg(7, t7), oor__arg(8, t8), oor__arg(9, t9), oor__arg(10, t10))); \
4057 return name##_types; \
4060 oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8), oor__adcl(t9, n9), oor__adcl(t10, n10))
4063 #define __functionstub(name) uint16_t * RexxEntry name(RexxCallContext *context, ValueDescriptor *arguments)
4066 #define __cpp_function_proto(name) extern "C" __functionstub(name);
4068 #define __cpp_function_proto(name) __functionstub(name);
4071 #define REXX_TYPED_ROUTINE_PROTOTYPE(name) __cpp_function_proto(name)
4075 #define RexxRoutine0(returnType, name) \
4077 oor__type(returnType) name##_impl (RexxCallContext * context); \
4080 static uint16_t name##_types[] = {oor__tdcl(returnType), REXX_ARGUMENT_TERMINATOR}; \
4082 __cpp_function_proto(name) \
4084 __functionstub(name) \
4086 if (arguments != NULL) \
4089 oor__ret(returnType, name##_impl(context)); \
4091 return name##_types; \
4094 oor__type(returnType) name##_impl(RexxCallContext *context)
4098 #define RexxRoutine1(returnType ,name, t1, n1) \
4100 oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1)); \
4103 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), REXX_ARGUMENT_TERMINATOR}; \
4105 __cpp_function_proto(name) \
4107 __functionstub(name) \
4109 if (arguments != NULL) \
4112 oor__ret(returnType, name##_impl(context, oor__arg(1, t1))); \
4114 return name##_types; \
4117 oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1))
4121 #define RexxRoutine2(returnType ,name, t1, n1, t2, n2) \
4123 oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2)); \
4126 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), REXX_ARGUMENT_TERMINATOR }; \
4128 __cpp_function_proto(name) \
4130 __functionstub(name) \
4132 if (arguments != NULL) \
4135 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2))); \
4137 return name##_types; \
4140 oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2))
4144 #define RexxRoutine3(returnType ,name, t1, n1, t2, n2, t3, n3) \
4146 oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3)); \
4149 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), REXX_ARGUMENT_TERMINATOR}; \
4151 __cpp_function_proto(name) \
4153 __functionstub(name) \
4155 if (arguments != NULL) \
4158 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3))); \
4160 return name##_types; \
4163 oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3))
4167 #define RexxRoutine4(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4) \
4169 oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4)); \
4172 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), REXX_ARGUMENT_TERMINATOR}; \
4174 __cpp_function_proto(name) \
4176 __functionstub(name) \
4178 if (arguments != NULL) \
4181 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4))); \
4183 return name##_types; \
4186 oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4))
4190 #define RexxRoutine5(returnType ,name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5) \
4192 oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5)); \
4195 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), REXX_ARGUMENT_TERMINATOR}; \
4197 __cpp_function_proto(name) \
4199 __functionstub(name) \
4201 if (arguments != NULL) \
4204 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5))); \
4206 return name##_types; \
4209 oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5))
4213 #define RexxRoutine6(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6) \
4215 oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6)); \
4218 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), oor__tdcl(t6), REXX_ARGUMENT_TERMINATOR}; \
4220 __cpp_function_proto(name) \
4222 __functionstub(name) \
4224 if (arguments != NULL) \
4227 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5), oor__arg(6, t6))); \
4229 return name##_types; \
4232 oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6))
4235 #define RexxRoutine7(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7) \
4237 oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7)); \
4240 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), oor__tdcl(t6), oor__tdcl(t7), REXX_ARGUMENT_TERMINATOR}; \
4242 __cpp_function_proto(name) \
4244 __functionstub(name) \
4246 if (arguments != NULL) \
4249 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5), oor__arg(6, t6), oor__arg(7, t7))); \
4251 return name##_types; \
4254 oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7))
4258 #define RexxRoutine8(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8) \
4260 oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8)); \
4263 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), oor__tdcl(t6), oor__tdcl(t7), oor__tdcl(t8), REXX_ARGUMENT_TERMINATOR}; \
4265 __cpp_function_proto(name) \
4267 __functionstub(name) \
4269 if (arguments != NULL) \
4272 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5), oor__arg(6, t6), oor__arg(7, t7), oor__arg(8, t8))); \
4274 return name##_types; \
4277 oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8))
4281 #define RexxRoutine9(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9) \
4283 oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8), oor__adcl(t9, n9)); \
4286 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), oor__tdcl(t6), oor__tdcl(t7), oor__tdcl(t8), oor__tdcl(t9), REXX_ARGUMENT_TERMINATOR}; \
4288 __cpp_function_proto(name) \
4290 __functionstub(name) \
4292 if (arguments != NULL) \
4295 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5), oor__arg(6, t6), oor__arg(7, t7), oor__arg(8, t8), oor__arg(9, t9))); \
4297 return name##_types; \
4300 oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8), oor__adcl(t9, n9))
4304 #define RexxRoutine10(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9, t10, n10) \
4306 oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8), oor__adcl(t9, n9), oor__adcl(t10, n10)); \
4309 static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), oor__tdcl(t5), oor__tdcl(t6), oor__tdcl(t7), oor__tdcl(t8), oor__tdcl(t9), oor__tdcl(t10), REXX_ARGUMENT_TERMINATOR}; \
4311 __cpp_function_proto(name) \
4313 __functionstub(name) \
4315 if (arguments != NULL) \
4318 oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4), oor__arg(5, t5), oor__arg(6, t6), oor__arg(7, t7), oor__arg(8, t8), oor__arg(9, t9), oor__arg(10, t10))); \
4320 return name##_types; \
4323 oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4), oor__adcl(t5, n5), oor__adcl(t6, n6), oor__adcl(t7, n7), oor__adcl(t8, n8), oor__adcl(t9, n9), oor__adcl(t10, n10))
RexxObjectPtr RexxEntry GetCallerContext(RexxCallContext *c)
void RexxEntry InvalidRoutine(RexxCallContext *c)
RexxDirectoryObject RexxEntry GetAllContextVariables(RexxCallContext *c)
RexxStemObject RexxEntry ResolveStemVariable(RexxCallContext *c, RexxObjectPtr s)
RexxObjectPtr RexxEntry GetContextVariable(RexxCallContext *c, CSTRING n)
CSTRING RexxEntry GetRoutineName(RexxCallContext *c)
void RexxEntry DropContextVariable(RexxCallContext *c, CSTRING n)
stringsize_t RexxEntry GetContextDigits(RexxCallContext *c)
logical_t RexxEntry GetContextForm(RexxCallContext *c)
stringsize_t RexxEntry GetContextFuzz(RexxCallContext *c)
void RexxEntry SetContextVariable(RexxCallContext *c, CSTRING n, RexxObjectPtr v)
logical_t RexxEntry AttachThread(RexxInstance *c, RexxThreadContext **tc)
void RexxEntry SetTrace(RexxInstance *c, logical_t setting)
size_t RexxEntry LanguageLevel(RexxInstance *)
void RexxEntry Halt(RexxInstance *c)
void RexxEntry Terminate(RexxInstance *c)
size_t RexxEntry InterpreterVersion(RexxInstance *)
void RexxEntry SetObjectVariable(RexxMethodContext *c, CSTRING n, RexxObjectPtr v)
void RexxEntry SetGuardOff(RexxMethodContext *c)
RexxObjectPtr RexxEntry GetScope(RexxMethodContext *c)
RexxObjectPtr RexxEntry GetSelf(RexxMethodContext *c)
void RexxEntry SetGuardOn(RexxMethodContext *c)
RexxObjectPtr RexxEntry GetObjectVariable(RexxMethodContext *c, CSTRING n)
POINTER RexxEntry GetCSelf(RexxMethodContext *c)
void RexxEntry DropObjectVariable(RexxMethodContext *c, CSTRING n)
RexxObjectPtr RexxEntry ForwardMessage(RexxMethodContext *c, RexxObjectPtr o, CSTRING n, RexxClassObject clazz, RexxArrayObject a, RexxDirectoryObject d)
RexxClassObject RexxEntry GetSuper(RexxMethodContext *c)
CSTRING RexxEntry GetMessageName(RexxMethodContext *c)
RexxClassObject RexxEntry FindContextClass(RexxMethodContext *c, CSTRING n)
RexxMutableBufferObject RexxEntry NewMutableBuffer(RexxThreadContext *c, size_t l)
logical_t RexxEntry IsString(RexxThreadContext *c, RexxObjectPtr o)
RexxArrayObject RexxEntry ArrayOfFour(RexxThreadContext *c, RexxObjectPtr o1, RexxObjectPtr o2, RexxObjectPtr o3, RexxObjectPtr o4)
RexxStringObject RexxEntry NewStringFromAsciiz(RexxThreadContext *c, CSTRING s)
RexxObjectPtr RexxEntry UnsignedInt64ToObject(RexxThreadContext *c, uint64_t n)
POINTER RexxEntry SetMutableBufferCapacity(RexxThreadContext *c, RexxMutableBufferObject b, size_t length)
size_t RexxEntry ArrayAppend(RexxThreadContext *c, RexxArrayObject a, RexxObjectPtr o)
RexxArrayObject RexxEntry NewArray(RexxThreadContext *c, size_t s)
void RexxEntry SetThreadTrace(RexxThreadContext *c, logical_t setting)
void RexxEntry DirectoryPut(RexxThreadContext *c, RexxDirectoryObject t, RexxObjectPtr o, CSTRING i)
logical_t RexxEntry ObjectToStringSize(RexxThreadContext *c, RexxObjectPtr o, stringsize_t *n)
RexxObjectPtr RexxEntry StringSizeToObject(RexxThreadContext *c, stringsize_t n)
RexxObjectPtr RexxEntry SupplierIndex(RexxThreadContext *c, RexxSupplierObject o)
void RexxEntry RaiseException4(RexxThreadContext *c, size_t n, RexxObjectPtr o1, RexxObjectPtr o2, RexxObjectPtr o3, RexxObjectPtr o4)
logical_t RexxEntry RegisterLibrary(RexxThreadContext *c, CSTRING n, RexxPackageEntry *e)
POINTER RexxEntry MutableBufferData(RexxThreadContext *c, RexxMutableBufferObject b)
void RexxEntry RaiseException2(RexxThreadContext *c, size_t n, RexxObjectPtr o1, RexxObjectPtr o2)
logical_t RexxEntry IsBuffer(RexxThreadContext *c, RexxObjectPtr o)
RexxDirectoryObject RexxEntry GetPackageRoutines(RexxThreadContext *c, RexxPackageObject m)
logical_t RexxEntry ObjectToUnsignedInt64(RexxThreadContext *c, RexxObjectPtr o, uint64_t *n)
CSTRING RexxEntry StringData(RexxThreadContext *c, RexxStringObject s)
RexxPackageObject RexxEntry LoadPackageFromData(RexxThreadContext *c, CSTRING n, CSTRING d, size_t l)
void RexxEntry ClearCondition(RexxThreadContext *c)
RexxObjectPtr RexxEntry DoubleToObjectWithPrecision(RexxThreadContext *c, double n, size_t precision)
RexxObjectPtr RexxEntry DoubleToObject(RexxThreadContext *c, double n)
void RexxEntry RaiseException5(RexxThreadContext *c, size_t n, RexxObjectPtr o1, RexxObjectPtr o2, RexxObjectPtr o3, RexxObjectPtr o4, RexxObjectPtr o5)
logical_t RexxEntry IsArray(RexxThreadContext *c, RexxObjectPtr o)
RexxArrayObject RexxEntry ArrayOfTwo(RexxThreadContext *c, RexxObjectPtr o1, RexxObjectPtr o2)
RexxArrayObject RexxEntry ArrayOfFive(RexxThreadContext *c, RexxObjectPtr o1, RexxObjectPtr o2, RexxObjectPtr o3, RexxObjectPtr o4, RexxObjectPtr o5)
size_t RexxEntry ArrayDimension(RexxThreadContext *c, RexxArrayObject a)
logical_t RexxEntry IsMethod(RexxThreadContext *c, RexxObjectPtr o)
RexxObjectPtr RexxEntry LogicalToObject(RexxThreadContext *c, logical_t n)
RexxClassObject RexxEntry FindClass(RexxThreadContext *c, CSTRING n)
RexxObjectPtr RexxEntry GetStemElement(RexxThreadContext *c, RexxStemObject s, CSTRING n)
logical_t RexxEntry ObjectToLogical(RexxThreadContext *c, RexxObjectPtr o, logical_t *n)
size_t RexxEntry StringLength(RexxThreadContext *c, RexxStringObject s)
RexxBufferStringObject RexxEntry NewBufferString(RexxThreadContext *c, size_t l)
RexxArrayObject RexxEntry ArrayOfOne(RexxThreadContext *c, RexxObjectPtr o)
RexxStringObject RexxEntry ObjectToString(RexxThreadContext *c, RexxObjectPtr o)
RexxObjectPtr RexxEntry WholeNumberToObject(RexxThreadContext *c, wholenumber_t n)
RexxPackageObject RexxEntry LoadPackage(RexxThreadContext *c, CSTRING n)
logical_t RexxEntry SupplierAvailable(RexxThreadContext *c, RexxSupplierObject o)
logical_t RexxEntry ObjectToValue(RexxThreadContext *c, RexxObjectPtr o, ValueDescriptor *d)
RexxObjectPtr RexxEntry GetStemValue(RexxThreadContext *c, RexxStemObject s)
void RexxEntry DetachThread(RexxThreadContext *c)
void RexxEntry ReleaseGlobalReference(RexxThreadContext *c, RexxObjectPtr o)
void RexxEntry SetStemElement(RexxThreadContext *c, RexxStemObject s, CSTRING n, RexxObjectPtr v)
RexxStringObject RexxEntry FinishBufferString(RexxThreadContext *c, RexxBufferStringObject s, size_t l)
logical_t RexxEntry IsRoutine(RexxThreadContext *c, RexxObjectPtr o)
size_t RexxEntry ArraySize(RexxThreadContext *c, RexxArrayObject a)
void RexxEntry HaltThread(RexxThreadContext *c)
logical_t RexxEntry ObjectToUnsignedInt32(RexxThreadContext *c, RexxObjectPtr o, uint32_t *n)
RexxBufferObject RexxEntry NewBuffer(RexxThreadContext *c, size_t l)
void RexxEntry DropStemArrayElement(RexxThreadContext *c, RexxStemObject s, size_t i)
RexxStemObject RexxEntry NewStem(RexxThreadContext *c, CSTRING n)
void RexxEntry RaiseException0(RexxThreadContext *c, size_t n)
RexxDirectoryObject RexxEntry GetLocalEnvironment(RexxThreadContext *c)
RexxDirectoryObject RexxEntry GetPackagePublicClasses(RexxThreadContext *c, RexxPackageObject m)
RexxObjectPtr RexxEntry CallProgram(RexxThreadContext *c, const char *p, RexxArrayObject a)
size_t RexxEntry StringGet(RexxThreadContext *c, RexxStringObject s, size_t o, POINTER r, size_t l)
RexxObjectPtr RexxEntry SendMessage0(RexxThreadContext *c, RexxObjectPtr o, CSTRING m)
logical_t RexxEntry ObjectToUintptr(RexxThreadContext *c, RexxObjectPtr o, uintptr_t *n)
size_t RexxEntry BufferLength(RexxThreadContext *c, RexxBufferObject b)
RexxSupplierObject RexxEntry NewSupplier(RexxThreadContext *c, RexxArrayObject values, RexxArrayObject names)
void RexxEntry ArrayPut(RexxThreadContext *c, RexxArrayObject a, RexxObjectPtr o, size_t i)
RexxArrayObject RexxEntry ValuesToObject(RexxThreadContext *c, ValueDescriptor *d, size_t count)
RexxObjectPtr RexxEntry GetStemArrayElement(RexxThreadContext *c, RexxStemObject s, size_t i)
logical_t RexxEntry IsOfType(RexxThreadContext *c, RexxObjectPtr o, CSTRING cn)
logical_t RexxEntry CheckCondition(RexxThreadContext *c)
logical_t RexxEntry IsMutableBuffer(RexxThreadContext *c, RexxObjectPtr o)
RexxDirectoryObject RexxEntry GetPackageMethods(RexxThreadContext *c, RexxPackageObject m)
logical_t RexxEntry IsDirectory(RexxThreadContext *c, RexxObjectPtr o)
RexxObjectPtr RexxEntry Int64ToObject(RexxThreadContext *c, int64_t n)
RexxPackageObject RexxEntry GetRoutinePackage(RexxThreadContext *c, RexxRoutineObject o)
POINTER RexxEntry ObjectToCSelfScoped(RexxThreadContext *c, RexxObjectPtr o, RexxObjectPtr s)
RexxDirectoryObject RexxEntry GetGlobalEnvironment(RexxThreadContext *c)
RexxMethodObject RexxEntry NewMethod(RexxThreadContext *c, CSTRING n, CSTRING source, stringsize_t length)
RexxObjectPtr RexxEntry UintptrToObject(RexxThreadContext *c, uintptr_t n)
RexxRoutineObject RexxEntry NewRoutine(RexxThreadContext *c, CSTRING n, CSTRING source, stringsize_t length)
RexxObjectPtr RexxEntry IntptrToObject(RexxThreadContext *c, intptr_t n)
CSTRING RexxEntry ObjectToStringValue(RexxThreadContext *c, RexxObjectPtr o)
size_t RexxEntry BufferStringLength(RexxThreadContext *c, RexxBufferStringObject s)
RexxDirectoryObject RexxEntry NewDirectory(RexxThreadContext *c)
wholenumber_t RexxEntry DisplayCondition(RexxThreadContext *c)
RexxObjectPtr RexxEntry SendMessage2(RexxThreadContext *c, RexxObjectPtr o, CSTRING m, RexxObjectPtr a1, RexxObjectPtr a2)
logical_t RexxEntry HasMethod(RexxThreadContext *c, RexxObjectPtr o, CSTRING n)
RexxStringObject RexxEntry StringUpper(RexxThreadContext *c, RexxStringObject s)
RexxObjectPtr RexxEntry DirectoryRemove(RexxThreadContext *c, RexxDirectoryObject t, CSTRING i)
logical_t RexxEntry ObjectToInt32(RexxThreadContext *c, RexxObjectPtr o, int32_t *n)
RexxObjectPtr RexxEntry RequestGlobalReference(RexxThreadContext *c, RexxObjectPtr o)
RexxObjectPtr RexxEntry ValueToObject(RexxThreadContext *c, ValueDescriptor *d)
RexxDirectoryObject RexxEntry GetAllStemElements(RexxThreadContext *c, RexxStemObject s)
RexxStringObject RexxEntry NewString(RexxThreadContext *c, CSTRING s, size_t l)
logical_t RexxEntry ObjectToWholeNumber(RexxThreadContext *c, RexxObjectPtr o, wholenumber_t *n)
void RexxEntry RaiseException3(RexxThreadContext *c, size_t n, RexxObjectPtr o1, RexxObjectPtr o2, RexxObjectPtr o3)
size_t RexxEntry ArrayItems(RexxThreadContext *c, RexxArrayObject a)
size_t RexxEntry SetMutableBufferLength(RexxThreadContext *c, RexxMutableBufferObject b, size_t length)
logical_t RexxEntry IsPointer(RexxThreadContext *c, RexxObjectPtr o)
RexxStringObject RexxEntry StringLower(RexxThreadContext *c, RexxStringObject s)
POINTER RexxEntry PointerValue(RexxThreadContext *c, RexxPointerObject o)
void RexxEntry DecodeConditionInfo(RexxThreadContext *c, RexxDirectoryObject d, RexxCondition *cd)
RexxPackageObject RexxEntry GetMethodPackage(RexxThreadContext *c, RexxMethodObject o)
logical_t RexxEntry ObjectToInt64(RexxThreadContext *c, RexxObjectPtr o, int64_t *n)
void RexxEntry SetStemArrayElement(RexxThreadContext *c, RexxStemObject s, size_t i, RexxObjectPtr v)
logical_t RexxEntry ObjectToIntptr(RexxThreadContext *c, RexxObjectPtr o, intptr_t *n)
POINTER RexxEntry BufferData(RexxThreadContext *c, RexxBufferObject b)
POINTER RexxEntry BufferStringData(RexxThreadContext *c, RexxBufferStringObject s)
void RexxEntry SupplierNext(RexxThreadContext *c, RexxSupplierObject o)
logical_t RexxEntry ObjectToDouble(RexxThreadContext *c, RexxObjectPtr o, double *n)
RexxObjectPtr RexxEntry SupplierItem(RexxThreadContext *c, RexxSupplierObject o)
logical_t RexxEntry IsInstanceOf(RexxThreadContext *c, RexxObjectPtr o, RexxClassObject cl)
void RexxEntry RaiseCondition(RexxThreadContext *c, CSTRING n, RexxStringObject desc, RexxObjectPtr add, RexxObjectPtr result)
void RexxEntry ReleaseLocalReference(RexxThreadContext *c, RexxObjectPtr o)
size_t RexxEntry ArrayAppendString(RexxThreadContext *c, RexxArrayObject a, CSTRING s, size_t l)
RexxDirectoryObject RexxEntry GetPackageClasses(RexxThreadContext *c, RexxPackageObject m)
RexxObjectPtr RexxEntry CallRoutine(RexxThreadContext *c, RexxRoutineObject r, RexxArrayObject a)
void RexxEntry RaiseException1(RexxThreadContext *c, size_t n, RexxObjectPtr o1)
RexxDirectoryObject RexxEntry GetConditionInfo(RexxThreadContext *c)
RexxObjectPtr RexxEntry SendMessage1(RexxThreadContext *c, RexxObjectPtr o, CSTRING m, RexxObjectPtr a1)
RexxObjectPtr RexxEntry ArrayAt(RexxThreadContext *c, RexxArrayObject a, size_t i)
size_t RexxEntry MutableBufferLength(RexxThreadContext *c, RexxMutableBufferObject b)
RexxDirectoryObject RexxEntry GetPackagePublicRoutines(RexxThreadContext *c, RexxPackageObject m)
RexxObjectPtr RexxEntry DirectoryAt(RexxThreadContext *c, RexxDirectoryObject t, CSTRING i)
RexxObjectPtr RexxEntry Int32ToObject(RexxThreadContext *c, int32_t n)
POINTER RexxEntry ObjectToCSelf(RexxThreadContext *c, RexxObjectPtr o)
RexxObjectPtr RexxEntry UnsignedInt32ToObject(RexxThreadContext *c, uint32_t n)
RexxArrayObject RexxEntry ArrayOfThree(RexxThreadContext *c, RexxObjectPtr o1, RexxObjectPtr o2, RexxObjectPtr o3)
RexxPointerObject RexxEntry NewPointer(RexxThreadContext *c, POINTER p)
logical_t RexxEntry IsStem(RexxThreadContext *c, RexxObjectPtr o)
size_t RexxEntry MutableBufferCapacity(RexxThreadContext *c, RexxMutableBufferObject b)
void RexxEntry DropStemElement(RexxThreadContext *c, RexxStemObject s, CSTRING n)
#define REXX_VALUE_double
void(RexxEntry * RexxPackageUnloader)(RexxThreadContext *)
#define REXX_VALUE_POINTER
#define REXX_VALUE_wholenumber_t
int REXXENTRY RexxContextExitHandler(RexxExitContext *, int, int, PEXIT)
struct _RexxMethodEntry RexxMethodEntry
const struct RexxCallContext_ * RexxCallContext
void(RexxEntry * RexxPackageLoader)(RexxThreadContext *)
RexxReturnCode RexxEntry RexxCreateInterpreter(RexxInstance **, RexxThreadContext **, RexxOption *)
#define REXX_VALUE_RexxMutableBufferObject
const struct RexxThreadContext_ * RexxThreadContext
#define REXX_VALUE_RexxStemObject
const struct RexxInstance_ * RexxInstance
struct _RexxContextExit RexxContextExit
const struct RexxMethodContext_ * RexxMethodContext
struct _RexxPackageEntry RexxPackageEntry
const struct RexxExitContext_ * RexxExitContext
struct _ValueDescriptor ValueDescriptor
#define REXX_VALUE_RexxArrayObject
#define REXX_VALUE_RexxObjectPtr
RexxObjectPtr REXXENTRY RexxContextCommandHandler(RexxExitContext *, RexxStringObject, RexxStringObject)
#define REXX_VALUE_RexxStringObject
struct _RexxRoutineEntry RexxRoutineEntry
#define REXX_VALUE_CSTRING
struct _RexxPackageObject * RexxPackageObject
struct _RexxClassObject * RexxClassObject
struct _RexxMutableBufferObject * RexxMutableBufferObject
struct _RexxStringObject * RexxStringObject
struct _RexxArrayObject * RexxArrayObject
struct _RexxBufferStringObject * RexxBufferStringObject
struct _RexxObjectPtr * RexxObjectPtr
struct _RexxRoutineObject * RexxRoutineObject
struct _RexxDirectoryObject * RexxDirectoryObject
struct _RexxSupplierObject * RexxSupplierObject
struct _RexxMethodObject * RexxMethodObject
struct _RexxBufferObject * RexxBufferObject
struct _RexxPointerObject * RexxPointerObject
struct _RexxStemObject * RexxStemObject
RexxContextExitHandler * handler
const char * packageVersion
RexxPackageUnloader unloader
struct _RexxRoutineEntry * routines
struct _RexxMethodEntry * methods
CSTRING value_OPTIONAL_CSTRING
RexxObjectPtr value_SCOPE
RexxMutableBufferObject value_RexxMutableBufferObject
RexxStringObject value_RexxStringObject
RexxArrayObject value_ARGLIST
RexxStringObject value_OPTIONAL_RexxStringObject
logical_t value_OPTIONAL_logical_t
uintptr_t value_OPTIONAL_uintptr_t
uintptr_t value_uintptr_t
RexxObjectPtr value_OPTIONAL_RexxObjectPtr
uint64_t value_OPTIONAL_uint64_t
RexxClassObject value_OPTIONAL_RexxClassObject
float value_OPTIONAL_float
logical_t value_logical_t
RexxClassObject value_OSELF
POINTER value_OPTIONAL_POINTER
size_t value_OPTIONAL_size_t
POINTER value_POINTERSTRING
RexxStemObject value_OPTIONAL_RexxStemObject
RexxMutableBufferObject value_OPTIONAL_RexxMutableBufferObject
intptr_t value_OPTIONAL_intptr_t
wholenumber_t value_wholenumber_t
RexxClassObject value_RexxClassObject
RexxStemObject value_RexxStemObject
wholenumber_t value_OPTIONAL_wholenumber_t
uintptr_t value___uintptr_t
union _ValueDescriptor::@26 value
uint32_t value_OPTIONAL_uint32_t
int32_t value_OPTIONAL_int32_t
RexxArrayObject value_OPTIONAL_RexxArrayObject
uint16_t value_OPTIONAL_uint16_t
stringsize_t value_stringsize_t
double value_OPTIONAL_double
stringsize_t value_OPTIONAL_stringsize_t
RexxClassObject value_SUPER
uint64_t value___uint64_t
RexxArrayObject value_RexxArrayObject
uint8_t value_OPTIONAL_uint8_t
int64_t value_OPTIONAL_int64_t
int16_t value_OPTIONAL_int16_t
ssize_t value_OPTIONAL_ssize_t
int8_t value_OPTIONAL_int8_t
POINTER value_OPTIONAL_POINTERSTRING
RexxObjectPtr value_RexxObjectPtr
stringsize_t(RexxEntry *GetContextFuzz)(RexxCallContext *)
wholenumber_t interfaceVersion
RexxRoutineObject(RexxEntry *GetRoutine)(RexxCallContext *)
RexxArrayObject(RexxEntry *GetArguments)(RexxCallContext *)
logical_t(RexxEntry *GetContextForm)(RexxCallContext *)
RexxObjectPtr(RexxEntry *GetContextVariable)(RexxCallContext *
RexxObjectPtr(RexxEntry *GetArgument)(RexxCallContext *
void(RexxEntry *DropContextVariable)(RexxCallContext *
RexxObjectPtr(RexxEntry *GetCallerContext)(RexxCallContext *)
void(RexxEntry *InvalidRoutine)(RexxCallContext *)
RexxDirectoryObject(RexxEntry *GetAllContextVariables)(RexxCallContext *)
RexxStemObject(RexxEntry *ResolveStemVariable)(RexxCallContext *
stringsize_t(RexxEntry *GetContextDigits)(RexxCallContext *)
CSTRING(RexxEntry *GetRoutineName)(RexxCallContext *)
RexxClassObject(RexxEntry *FindContextClass)(RexxCallContext *
void(RexxEntry *DropContextVariable)(RexxExitContext *
RexxObjectPtr(RexxEntry *GetCallerContext)(RexxExitContext *)
RexxObjectPtr(RexxEntry *GetContextVariable)(RexxExitContext *
RexxDirectoryObject(RexxEntry *GetAllContextVariables)(RexxExitContext *)
wholenumber_t interfaceVersion
RexxArrayObject(RexxEntry *GetArguments)(RexxMethodContext *)
RexxObjectPtr(RexxEntry *GetSelf)(RexxMethodContext *)
void(RexxEntry *SetGuardOff)(RexxMethodContext *)
RexxMethodObject(RexxEntry *GetMethod)(RexxMethodContext *)
RexxObjectPtr(RexxEntry *GetArgument)(RexxMethodContext *
RexxClassObject(RexxEntry *FindContextClass)(RexxMethodContext *
POINTER(RexxEntry *GetCSelf)(RexxMethodContext *)
CSTRING(RexxEntry *GetMessageName)(RexxMethodContext *)
wholenumber_t interfaceVersion
void(RexxEntry *SetGuardOn)(RexxMethodContext *)
void(RexxEntry *DropObjectVariable)(RexxMethodContext *
RexxClassObject(RexxEntry *GetSuper)(RexxMethodContext *)
RexxObjectPtr(RexxEntry *GetObjectVariable)(RexxMethodContext *
RexxObjectPtr(RexxEntry *GetScope)(RexxMethodContext *)
CallContextInterface * functions
RexxThreadContext * threadContext
ValueDescriptor * arguments
RexxStringObject description
RexxArrayObject additional
RexxStringObject conditionName
RexxStringObject errortext
RexxContextCommandHandler * handler
RexxThreadContext * threadContext
ExitContextInterface * functions
ValueDescriptor * arguments
RexxInstanceInterface * functions
void(RexxEntry *Halt)(RexxInstance *)
void(RexxEntry *Terminate)(RexxInstance *)
wholenumber_t interfaceVersion
size_t(RexxEntry *LanguageLevel)(RexxInstance *)
RexxThreadContext ** size_t(RexxEntry *InterpreterVersion)(RexxInstance *)
logical_t(RexxEntry *AttachThread)(RexxInstance *
const char * registeredName
MethodContextInterface * functions
RexxThreadContext * threadContext
ValueDescriptor * arguments
const char * registeredName
RexxThreadInterface * functions
int32_t * logical_t(RexxEntry *ObjectToUnsignedInt32)(RexxThreadContext *
size_t(RexxEntry *ArraySize)(RexxThreadContext *
RexxDirectoryObject(RexxEntry *GetPackagePublicClasses)(RexxThreadContext *
logical_t(RexxEntry *IsRoutine)(RexxThreadContext *
logical_t(RexxEntry *CheckCondition)(RexxThreadContext *)
RexxPackageObject(RexxEntry *GetRoutinePackage)(RexxThreadContext *
logical_t(RexxEntry *IsString)(RexxThreadContext *
void(RexxEntry *SetStemArrayElement)(RexxThreadContext *
RexxDirectoryObject(RexxEntry *GetConditionInfo)(RexxThreadContext *)
logical_t(RexxEntry *ObjectToValue)(RexxThreadContext *
RexxStringObject(RexxEntry *StringLower)(RexxThreadContext *
void(RexxEntry *DetachThread)(RexxThreadContext *)
RexxStemObject(RexxEntry *NewStem)(RexxThreadContext *
size_t(RexxEntry *MutableBufferLength)(RexxThreadContext *
RexxArrayObject(RexxEntry *NewArray)(RexxThreadContext *
RexxObjectPtr(RexxEntry *ArrayAt)(RexxThreadContext *
RexxObjectPtr(RexxEntry *ValueToObject)(RexxThreadContext *
int32_t uint32_t uintptr_t intptr_t * logical_t(RexxEntry *ObjectToLogical)(RexxThreadContext *
wholenumber_t interfaceVersion
logical_t(RexxEntry *IsMutableBuffer)(RexxThreadContext *
void(RexxEntry *ArrayPut)(RexxThreadContext *
RexxDirectoryObject(RexxEntry *GetPackagePublicRoutines)(RexxThreadContext *
RexxArrayObject(RexxEntry *ArrayOfThree)(RexxThreadContext *
logical_t(RexxEntry *HasMethod)(RexxThreadContext *
void(RexxEntry *RaiseException0)(RexxThreadContext *
RexxStringObject(RexxEntry *NewString)(RexxThreadContext *
RexxDirectoryObject(RexxEntry *GetPackageClasses)(RexxThreadContext *
void(RexxEntry *DropStemElement)(RexxThreadContext *
void(RexxEntry *ReleaseGlobalReference)(RexxThreadContext *
RexxArrayObject(RexxEntry *ArrayOfFive)(RexxThreadContext *
logical_t(RexxEntry *IsStem)(RexxThreadContext *
CSTRING RexxPackageEntry CSTRING
size_t(RexxEntry *ArrayAppend)(RexxThreadContext *
RexxObjectPtr(RexxEntry *SupplierItem)(RexxThreadContext *
POINTER(RexxEntry *SetMutableBufferCapacity)(RexxThreadContext *
void(RexxEntry *RaiseException2)(RexxThreadContext *
RexxDirectoryObject(RexxEntry *NewDirectory)(RexxThreadContext *)
RexxObjectPtr(RexxEntry *UintptrToObject)(RexxThreadContext *
void(RexxEntry *RaiseException4)(RexxThreadContext *
logical_t(RexxEntry *ObjectToWholeNumber)(RexxThreadContext *
void(RexxEntry *SupplierNext)(RexxThreadContext *
size_t(RexxEntry *MutableBufferCapacity)(RexxThreadContext *
logical_t(RexxEntry *RegisterLibrary)(RexxThreadContext *
RexxMethodObject(RexxEntry *NewMethod)(RexxThreadContext *
void(RexxEntry *DropStemArrayElement)(RexxThreadContext *
RexxStringObject RexxNullString
logical_t(RexxEntry *IsBuffer)(RexxThreadContext *
RexxObjectPtr(RexxEntry *DirectoryRemove)(RexxThreadContext *
void(RexxEntry *RaiseException1)(RexxThreadContext *
POINTER(RexxEntry *MutableBufferData)(RexxThreadContext *
RexxDirectoryObject(RexxEntry *GetLocalEnvironment)(RexxThreadContext *)
RexxObjectPtr(RexxEntry *SendMessage1)(RexxThreadContext *
POINTER(RexxEntry *PointerValue)(RexxThreadContext *
RexxObjectPtr(RexxEntry *CallRoutine)(RexxThreadContext *
POINTER(RexxEntry *ObjectToCSelfScoped)(RexxThreadContext *
RexxObjectPtr(RexxEntry *UnsignedInt32ToObject)(RexxThreadContext *
RexxStringObject(RexxEntry *StringUpper)(RexxThreadContext *
size_t(RexxEntry *ArrayItems)(RexxThreadContext *
logical_t(RexxEntry *LoadLibrary)(RexxThreadContext *
RexxArrayObject RexxArrayObject names
void(RexxEntry *RaiseCondition)(RexxThreadContext *
logical_t(RexxEntry *IsOfType)(RexxThreadContext *
size_t(RexxEntry *ArrayAppendString)(RexxThreadContext *
RexxDirectoryObject(RexxEntry *GetPackageRoutines)(RexxThreadContext *
int32_t uint32_t uintptr_t intptr_t logical_t logical_t
logical_t(RexxEntry *IsArray)(RexxThreadContext *
int64_t * logical_t(RexxEntry *ObjectToUnsignedInt64)(RexxThreadContext *
RexxObjectPtr(RexxEntry *GetStemArrayElement)(RexxThreadContext *
CSTRING(RexxEntry *ObjectToStringValue)(RexxThreadContext *
RexxArrayObject(RexxEntry *ArrayOfFour)(RexxThreadContext *
void(RexxEntry *HaltThread)(RexxThreadContext *)
RexxRoutineObject(RexxEntry *NewRoutine)(RexxThreadContext *
RexxObjectPtr(RexxEntry *WholeNumberToObject)(RexxThreadContext *
RexxObjectPtr(RexxEntry *CallProgram)(RexxThreadContext *
size_t(RexxEntry *SetMutableBufferLength)(RexxThreadContext *
RexxObjectPtr(RexxEntry *GetStemValue)(RexxThreadContext *
RexxArrayObject(RexxEntry *ArrayOfOne)(RexxThreadContext *
void(RexxEntry *RaiseException)(RexxThreadContext *
POINTER(RexxEntry *BufferStringData)(RexxThreadContext *
wholenumber_t * logical_t(RexxEntry *ObjectToStringSize)(RexxThreadContext *
RexxPointerObject(RexxEntry *NewPointer)(RexxThreadContext *
RexxObjectPtr(RexxEntry *DirectoryAt)(RexxThreadContext *
RexxArrayObject(RexxEntry *ArrayOfTwo)(RexxThreadContext *
wholenumber_t(RexxEntry *DisplayCondition)(RexxThreadContext *)
void(RexxEntry *RaiseException5)(RexxThreadContext *
RexxObjectPtr(RexxEntry *SendMessage2)(RexxThreadContext *
void(RexxEntry *DecodeConditionInfo)(RexxThreadContext *
logical_t(RexxEntry *ObjectToInt64)(RexxThreadContext *
RexxCondition * void(RexxEntry *ClearCondition)(RexxThreadContext *)
RexxStringObject(RexxEntry *NewStringFromAsciiz)(RexxThreadContext *
logical_t(RexxEntry *ObjectToDouble)(RexxThreadContext *
POINTER(RexxEntry *BufferData)(RexxThreadContext *
size_t(RexxEntry *BufferLength)(RexxThreadContext *
logical_t(RexxEntry *SupplierAvailable)(RexxThreadContext *
RexxObjectPtr(RexxEntry *SupplierIndex)(RexxThreadContext *
RexxBufferStringObject(RexxEntry *NewBufferString)(RexxThreadContext *
logical_t(RexxEntry *IsDirectory)(RexxThreadContext *
RexxDirectoryObject(RexxEntry *GetPackageMethods)(RexxThreadContext *
RexxStringObject(RexxEntry *FinishBufferString)(RexxThreadContext *
logical_t(RexxEntry *IsInstanceOf)(RexxThreadContext *
POINTER(RexxEntry *ObjectToCSelf)(RexxThreadContext *
void(RexxEntry *ReleaseLocalReference)(RexxThreadContext *
RexxObjectPtr(RexxEntry *SendMessage0)(RexxThreadContext *
logical_t(RexxEntry *ObjectToInt32)(RexxThreadContext *
logical_t(RexxEntry *IsMethod)(RexxThreadContext *
logical_t(RexxEntry *IsPointer)(RexxThreadContext *
RexxClassObject(RexxEntry *FindPackageClass)(RexxThreadContext *
ValueDescriptor ValueDescriptor size_t count
int32_t uint32_t * logical_t(RexxEntry *ObjectToUintptr)(RexxThreadContext *
CSTRING(RexxEntry *StringData)(RexxThreadContext *
RexxDirectoryObject(RexxEntry *GetAllStemElements)(RexxThreadContext *
wholenumber_t stringsize_t int64_t
size_t(RexxEntry *StringLength)(RexxThreadContext *
void(RexxEntry *RaiseException3)(RexxThreadContext *
int32_t uint32_t uintptr_t * logical_t(RexxEntry *ObjectToIntptr)(RexxThreadContext *
RexxMutableBufferObject(RexxEntry *NewMutableBuffer)(RexxThreadContext *
RexxObjectPtr(RexxEntry *GetStemElement)(RexxThreadContext *
RexxObjectPtr(RexxEntry *UnsignedInt64ToObject)(RexxThreadContext *
size_t(RexxEntry *ArrayDimension)(RexxThreadContext *
ValueDescriptor * RexxObjectPtr(RexxEntry *StringSizeToObject)(RexxThreadContext *
RexxDirectoryObject(RexxEntry *GetGlobalEnvironment)(RexxThreadContext *)
RexxBufferObject(RexxEntry *NewBuffer)(RexxThreadContext *
unsigned __int64 uint64_t