oorexxapi.h File Reference
#include "rexx.h"
#include "oorexxerrors.h"
Include dependency graph for oorexxapi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _RexxContextExit
 
struct  _RexxRoutineEntry
 
struct  _RexxMethodEntry
 
struct  _RexxPackageEntry
 
struct  ValueDescriptor
 
struct  RexxContextEnvironment
 
struct  RexxRegisteredEnvironment
 
struct  RexxLibraryPackage
 
struct  RexxOption
 
struct  RexxCondition
 
struct  RexxInstanceInterface
 
struct  RexxThreadInterface
 
struct  MethodContextInterface
 
struct  CallContextInterface
 
struct  ExitContextInterface
 
struct  RexxInstance_
 
struct  RexxThreadContext_
 
struct  RexxMethodContext_
 
struct  RexxCallContext_
 
struct  RexxExitContext_
 

Macros

#define REXX_ARGUMENT_TERMINATOR   0
 
#define REXX_VALUE_ARGLIST   2
 
#define REXX_VALUE_NAME   3
 
#define REXX_VALUE_SCOPE   4
 
#define REXX_VALUE_CSELF   5
 
#define REXX_VALUE_OSELF   6
 
#define REXX_VALUE_SUPER   7
 
#define REXX_VALUE_RexxObjectPtr   11
 
#define REXX_VALUE_int   12
 
#define REXX_VALUE_wholenumber_t   13
 
#define REXX_VALUE_double   14
 
#define REXX_VALUE_CSTRING   15
 
#define REXX_VALUE_POINTER   16
 
#define REXX_VALUE_RexxStringObject   17
 
#define REXX_VALUE_stringsize_t   18
 
#define REXX_VALUE_float   19
 
#define REXX_VALUE_int8_t   20
 
#define REXX_VALUE_int16_t   21
 
#define REXX_VALUE_int32_t   22
 
#define REXX_VALUE_int64_t   23
 
#define REXX_VALUE___int64_t   23
 
#define REXX_VALUE_uint8_t   24
 
#define REXX_VALUE_uint16_t   25
 
#define REXX_VALUE_uint32_t   26
 
#define REXX_VALUE_uint64_t   27
 
#define REXX_VALUE___uint64_t   27 -- aliased
 
#define REXX_VALUE_intptr_t   28
 
#define REXX_VALUE_uintptr_t   29
 
#define REXX_VALUE___uintptr_t   29 -- aliased
 
#define REXX_VALUE_logical_t   30
 
#define REXX_VALUE_RexxArrayObject   31
 
#define REXX_VALUE_RexxStemObject   32
 
#define REXX_VALUE_size_t   33
 
#define REXX_VALUE_ssize_t   34
 
#define REXX_VALUE_POINTERSTRING   35
 
#define REXX_VALUE_RexxClassObject   36
 
#define REXX_VALUE_RexxMutableBufferObject   37
 
#define REXX_OPTIONAL_ARGUMENT   0x8000
 
#define REXX_VALUE_OPTIONAL_RexxObjectPtr   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxObjectPtr)
 
#define REXX_VALUE_OPTIONAL_int   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int)
 
#define REXX_VALUE_OPTIONAL_wholenumber_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_wholenumber_t)
 
#define REXX_VALUE_OPTIONAL_double   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_double)
 
#define REXX_VALUE_OPTIONAL_CSTRING   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_CSTRING)
 
#define REXX_VALUE_OPTIONAL_POINTER   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_POINTER)
 
#define REXX_VALUE_OPTIONAL_RexxStringObject   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxStringObject)
 
#define REXX_VALUE_OPTIONAL_stringsize_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_stringsize_t)
 
#define REXX_VALUE_OPTIONAL_float   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_float)
 
#define REXX_VALUE_OPTIONAL_int8_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int8_t)
 
#define REXX_VALUE_OPTIONAL_int16_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int16_t)
 
#define REXX_VALUE_OPTIONAL_int32_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int32_t)
 
#define REXX_VALUE_OPTIONAL_int64_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int64_t)
 
#define REXX_VALUE_OPTIONAL_uint8_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint8_t)
 
#define REXX_VALUE_OPTIONAL_uint16_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint16_t)
 
#define REXX_VALUE_OPTIONAL_uint32_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint32_t)
 
#define REXX_VALUE_OPTIONAL_uint64_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint64_t)
 
#define REXX_VALUE_OPTIONAL_size_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_size_t)
 
#define REXX_VALUE_OPTIONAL_ssize_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_ssize_t)
 
#define REXX_VALUE_OPTIONAL_intptr_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_intptr_t)
 
#define REXX_VALUE_OPTIONAL_uintptr_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uintptr_t)
 
#define REXX_VALUE_OPTIONAL_logical_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_logical_t)
 
#define REXX_VALUE_OPTIONAL_RexxArrayObject   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxArrayObject)
 
#define REXX_VALUE_OPTIONAL_RexxStemObject   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxStemObject)
 
#define REXX_VALUE_OPTIONAL_POINTERSTRING   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_POINTERSTRING)
 
#define REXX_VALUE_OPTIONAL_RexxClassObject   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxClassObject)
 
#define REXX_VALUE_OPTIONAL_RexxMutableBufferObject   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxMutableBufferObject)
 
#define ROUTINE_TYPED_STYLE   1
 
#define ROUTINE_CLASSIC_STYLE   2
 
#define REXX_ROUTINE(s, n, e)   { s, 0, #n, (void *)e, 0, 0 }
 
#define REXX_TYPED_ROUTINE(n, e)   REXX_ROUTINE(ROUTINE_TYPED_STYLE, n, e)
 
#define REXX_CLASSIC_ROUTINE(n, e)   REXX_ROUTINE(ROUTINE_CLASSIC_STYLE, n, e)
 
#define REXX_LAST_ROUTINE()   { 0, 0, NULL, (void *)NULL, 0, 0 }
 
#define REXX_CLASSIC_ROUTINE_PROTOTYPE(name)   size_t RexxEntry name(const char *, size_t, CONSTRXSTRING *, const char *, RXSTRING *)
 
#define METHOD_TYPED_STYLE   1
 
#define REXX_METHOD_ENTRY(n, e)   { METHOD_TYPED_STYLE, 0, #n, (void *)e, 0, 0 }
 
#define REXX_METHOD(n, e)   REXX_METHOD_ENTRY(n, e)
 
#define REXX_LAST_METHOD()   { 0, 0, NULL, (void *)NULL, 0, 0 }
 
#define REXX_PACKAGE_API_NO   20081030
 
#define REXX_INTERPRETER_4_0_0   0x00040000
 
#define REXX_INTERPRETER_4_0_1   0x00040001
 
#define REXX_INTERPRETER_4_1_0   0x00040100
 
#define REXX_INTERPRETER_4_1_2   0x00040102
 
#define REXX_INTERPRETER_4_1_3   0x00040103
 
#define REXX_INTERPRETER_4_2_0   0x00040200
 
#define REXX_INTERPRETER_4_3_0   0x00040300
 
#define REXX_CURRENT_INTERPRETER_VERSION   REXX_INTERPRETER_4_3_0
 
#define NO_VERSION_YET   NULL
 
#define REXX_LANGUAGE_6_03   0x00000603
 
#define REXX_LANGUAGE_6_04   0x00000604
 
#define REXX_CURRENT_LANGUAGE_LEVEL   REXX_LANGUAGE_6_04
 
#define STANDARD_PACKAGE_HEADER   sizeof(RexxPackageEntry), REXX_PACKAGE_API_NO,
 
#define OOREXX_GET_PACKAGE(name)
 
#define ARGUMENT_EXISTS   0x01
 
#define SPECIAL_ARGUMENT   0x02
 
#define INITIAL_ADDRESS_ENVIRONMENT   "InitialAddress"
 
#define APPLICATION_DATA   "ApplicationData"
 
#define EXTERNAL_CALL_PATH   "ExternalCallPath"
 
#define EXTERNAL_CALL_EXTENSIONS   "ExternalCallPathExt"
 
#define LOAD_REQUIRED_LIBRARY   "LoadRequiredLibrary"
 
#define REGISTERED_EXITS   "RegisteredExits"
 
#define DIRECT_EXITS   "DirectExits"
 
#define REGISTERED_ENVIRONMENTS   "RegisteredEnvironments"
 
#define DIRECT_ENVIRONMENTS   "DirectEnvironments"
 
#define REGISTER_LIBRARY   "RegisterLibrary"
 
#define INSTANCE_INTERFACE_VERSION   100
 
#define THREAD_INTERFACE_VERSION_4_0_0   100
 
#define THREAD_INTERFACE_VERSION_4_1_1   101
 
#define THREAD_INTERFACE_VERSION   102
 
#define METHOD_INTERFACE_VERSION_4_0_0   100
 
#define METHOD_INTERFACE_VERSION   101
 
#define CALL_INTERFACE_VERSION   100
 
#define EXIT_INTERFACE_VERSION   100
 
#define ARGUMENT_TYPE_ARGLIST   RexxArrayObject
 
#define ARGUMENT_TYPE_NAME   CSTRING
 
#define ARGUMENT_TYPE_SCOPE   RexxObjectPtr
 
#define ARGUMENT_TYPE_CSELF   POINTER
 
#define ARGUMENT_TYPE_OSELF   RexxObjectPtr
 
#define ARGUMENT_TYPE_SUPER   RexxClassObject
 
#define ARGUMENT_TYPE_RexxObjectPtr   RexxObjectPtr
 
#define ARGUMENT_TYPE_RexxClassObject   RexxClassObject
 
#define ARGUMENT_TYPE_int   int
 
#define ARGUMENT_TYPE_wholenumber_t   wholenumber_t
 
#define ARGUMENT_TYPE_stringsize_t   stringsize_t
 
#define ARGUMENT_TYPE_double   double
 
#define ARGUMENT_TYPE_CSTRING   CSTRING
 
#define ARGUMENT_TYPE_POINTER   POINTER
 
#define ARGUMENT_TYPE_RexxStringObject   RexxStringObject
 
#define ARGUMENT_TYPE_float   float
 
#define ARGUMENT_TYPE_int8_t   int8_t
 
#define ARGUMENT_TYPE_int16_t   int16_t
 
#define ARGUMENT_TYPE_int32_t   int32_t
 
#define ARGUMENT_TYPE_int64_t   int64_t
 
#define ARGUMENT_TYPE___int64_t   int64_t
 
#define ARGUMENT_TYPE_uint8_t   uint8_t
 
#define ARGUMENT_TYPE_uint16_t   uint16_t
 
#define ARGUMENT_TYPE_uint32_t   uint32_t
 
#define ARGUMENT_TYPE_uint64_t   uint64_t
 
#define ARGUMENT_TYPE___uint64_t   uint64_t
 
#define ARGUMENT_TYPE_size_t   size_t
 
#define ARGUMENT_TYPE_ssize_t   ssize_t
 
#define ARGUMENT_TYPE_intptr_t   intptr_t
 
#define ARGUMENT_TYPE_uintptr_t   uintptr_t
 
#define ARGUMENT_TYPE___uintptr_t   uintptr_t
 
#define ARGUMENT_TYPE_logical_t   logical_t
 
#define ARGUMENT_TYPE_RexxArrayObject   RexxArrayObject
 
#define ARGUMENT_TYPE_RexxStemObject   RexxStemObject
 
#define ARGUMENT_TYPE_POINTERSTRING   POINTER
 
#define ARGUMENT_TYPE_RexxMutableBufferObject   RexxMutableBufferObject
 
#define ARGUMENT_TYPE_OPTIONAL_RexxObjectPtr   RexxObjectPtr
 
#define ARGUMENT_TYPE_OPTIONAL_int   int
 
#define ARGUMENT_TYPE_OPTIONAL_wholenumber_t   wholenumber_t
 
#define ARGUMENT_TYPE_OPTIONAL_stringsize_t   stringsize_t
 
#define ARGUMENT_TYPE_OPTIONAL_double   double
 
#define ARGUMENT_TYPE_OPTIONAL_CSTRING   CSTRING
 
#define ARGUMENT_TYPE_OPTIONAL_POINTER   POINTER
 
#define ARGUMENT_TYPE_OPTIONAL_RexxStringObject   RexxStringObject
 
#define ARGUMENT_TYPE_OPTIONAL_float   float
 
#define ARGUMENT_TYPE_OPTIONAL_int8_t   int8_t
 
#define ARGUMENT_TYPE_OPTIONAL_int16_t   int16_t
 
#define ARGUMENT_TYPE_OPTIONAL_int32_t   int32_t
 
#define ARGUMENT_TYPE_OPTIONAL_int64_t   int64_t
 
#define ARGUMENT_TYPE_OPTIONAL_uint8_t   uint8_t
 
#define ARGUMENT_TYPE_OPTIONAL_uint16_t   uint16_t
 
#define ARGUMENT_TYPE_OPTIONAL_uint32_t   uint32_t
 
#define ARGUMENT_TYPE_OPTIONAL_uint64_t   uint64_t
 
#define ARGUMENT_TYPE_OPTIONAL_size_t   size_t
 
#define ARGUMENT_TYPE_OPTIONAL_ssize_t   ssize_t
 
#define ARGUMENT_TYPE_OPTIONAL_intptr_t   intptr_t
 
#define ARGUMENT_TYPE_OPTIONAL_uintptr_t   uintptr_t
 
#define ARGUMENT_TYPE_OPTIONAL_logical_t   logical_t
 
#define ARGUMENT_TYPE_OPTIONAL_RexxArrayObject   RexxArrayObject
 
#define ARGUMENT_TYPE_OPTIONAL_RexxStemObject   RexxStemObject
 
#define ARGUMENT_TYPE_OPTIONAL_POINTERSTRING   POINTER
 
#define ARGUMENT_TYPE_OPTIONAL_RexxClassObject   RexxClassObject
 
#define ARGUMENT_TYPE_OPTIONAL_RexxMutableBufferObject   RexxMutableBufferObject
 
#define ARGUMENT_TYPE(t)   ((t) & ~REXX_OPTIONAL_ARGUMENT)
 
#define IS_OPTIONAL_ARGUMENT(t)   (((t) & REXX_OPTIONAL_ARGUMENT) != 0)
 
#define argumentExists(i)   ((context->arguments[i].flags & ARGUMENT_EXISTS) != 0)
 
#define argumentOmitted(i)   (!argumentExists(i))
 
#define oor__type(t)   ARGUMENT_TYPE_##t
 
#define oor__arg(p, t)   arguments[p].value.value_##t
 
#define oor__ret(t, v)   arguments[0].value.value_##t = (v); return NULL;
 
#define oor__adcl(t, n)   oor__type(t) n
 
#define oor__tdcl(t)   REXX_VALUE_##t
 
#define __methodstub(name)   uint16_t * RexxEntry name (RexxMethodContext *context, ValueDescriptor *arguments)
 
#define __cpp_method_proto(name)   __methodstub(name);
 
#define SET_REXX_VALUE(v, t, val)
 
#define GET_REXX_VALUE(v, t)   ((v).value.value_##t)
 
#define REXX_METHOD_PROTOTYPE(name)   __cpp_method_proto(name)
 
#define RexxMethod0(returnType, name)
 
#define RexxMethod1(returnType, name, t1, n1)
 
#define RexxMethod2(returnType, name, t1, n1, t2, n2)
 
#define RexxMethod3(returnType, name, t1, n1, t2, n2, t3, n3)
 
#define RexxMethod4(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4)
 
#define RexxMethod5(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5)
 
#define RexxMethod6(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6)
 
#define RexxMethod7(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7)
 
#define RexxMethod8(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8)
 
#define RexxMethod9(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9)
 
#define RexxMethod10(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9, t10, n10)
 
#define __functionstub(name)   uint16_t * RexxEntry name(RexxCallContext *context, ValueDescriptor *arguments)
 
#define __cpp_function_proto(name)   __functionstub(name);
 
#define REXX_TYPED_ROUTINE_PROTOTYPE(name)   __cpp_function_proto(name)
 
#define RexxRoutine0(returnType, name)
 
#define RexxRoutine1(returnType, name, t1, n1)
 
#define RexxRoutine2(returnType, name, t1, n1, t2, n2)
 
#define RexxRoutine3(returnType, name, t1, n1, t2, n2, t3, n3)
 
#define RexxRoutine4(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4)
 
#define RexxRoutine5(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5)
 
#define RexxRoutine6(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6)
 
#define RexxRoutine7(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7)
 
#define RexxRoutine8(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8)
 
#define RexxRoutine9(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9)
 
#define RexxRoutine10(returnType, name, t1, n1, t2, n2, t3, n3, t4, n4, t5, n5, t6, n6, t7, n7, t8, n8, t9, n9, t10, n10)
 

Typedefs

typedef const struct RexxInstance_RexxInstance
 
typedef const struct RexxThreadContext_RexxThreadContext
 
typedef const struct RexxMethodContext_RexxMethodContext
 
typedef const struct RexxCallContext_RexxCallContext
 
typedef const struct RexxExitContext_RexxExitContext
 
typedef int REXXENTRY RexxContextExitHandler(RexxExitContext *, int, int, PEXIT)
 
typedef struct _RexxContextExit RexxContextExit
 
typedef struct _RexxRoutineEntry RexxRoutineEntry
 
typedef struct _RexxMethodEntry RexxMethodEntry
 
typedef void(RexxEntryRexxPackageLoader) (RexxThreadContext *)
 
typedef void(RexxEntryRexxPackageUnloader) (RexxThreadContext *)
 
typedef struct _RexxPackageEntry RexxPackageEntry
 
typedef RexxObjectPtr REXXENTRY RexxContextCommandHandler(RexxExitContext *, RexxStringObject, RexxStringObject)
 
typedef RexxObjectPtr OSELF
 
typedef void * CSELF
 
typedef void * BUFFER
 
typedef RexxArrayObject ARGLIST
 
typedef RexxObjectPtr SCOPE
 
typedef RexxClassObject SUPER
 
typedef CSTRING NAME
 

Functions

RexxReturnCode RexxEntry RexxCreateInterpreter (RexxInstance **, RexxThreadContext **, RexxOption *)
 

Macro Definition Documentation

◆ __cpp_function_proto

#define __cpp_function_proto (   name)    __functionstub(name);

Definition at line 4068 of file oorexxapi.h.

◆ __cpp_method_proto

#define __cpp_method_proto (   name)    __methodstub(name);

Definition at line 3792 of file oorexxapi.h.

◆ __functionstub

#define __functionstub (   name)    uint16_t * RexxEntry name(RexxCallContext *context, ValueDescriptor *arguments)

Definition at line 4063 of file oorexxapi.h.

◆ __methodstub

#define __methodstub (   name)    uint16_t * RexxEntry name (RexxMethodContext *context, ValueDescriptor *arguments)

Definition at line 3787 of file oorexxapi.h.

◆ APPLICATION_DATA

#define APPLICATION_DATA   "ApplicationData"

Definition at line 372 of file oorexxapi.h.

◆ ARGUMENT_EXISTS

#define ARGUMENT_EXISTS   0x01

Definition at line 257 of file oorexxapi.h.

◆ ARGUMENT_TYPE

#define ARGUMENT_TYPE (   t)    ((t) & ~REXX_OPTIONAL_ARGUMENT)

Definition at line 3773 of file oorexxapi.h.

◆ ARGUMENT_TYPE___int64_t

#define ARGUMENT_TYPE___int64_t   int64_t

Definition at line 3728 of file oorexxapi.h.

◆ ARGUMENT_TYPE___uint64_t

#define ARGUMENT_TYPE___uint64_t   uint64_t

Definition at line 3733 of file oorexxapi.h.

◆ ARGUMENT_TYPE___uintptr_t

#define ARGUMENT_TYPE___uintptr_t   uintptr_t

Definition at line 3738 of file oorexxapi.h.

◆ ARGUMENT_TYPE_ARGLIST

#define ARGUMENT_TYPE_ARGLIST   RexxArrayObject

Definition at line 3705 of file oorexxapi.h.

◆ ARGUMENT_TYPE_CSELF

#define ARGUMENT_TYPE_CSELF   POINTER

Definition at line 3708 of file oorexxapi.h.

◆ ARGUMENT_TYPE_CSTRING

#define ARGUMENT_TYPE_CSTRING   CSTRING

Definition at line 3720 of file oorexxapi.h.

◆ ARGUMENT_TYPE_double

#define ARGUMENT_TYPE_double   double

Definition at line 3719 of file oorexxapi.h.

◆ ARGUMENT_TYPE_float

#define ARGUMENT_TYPE_float   float

Definition at line 3723 of file oorexxapi.h.

◆ ARGUMENT_TYPE_int

#define ARGUMENT_TYPE_int   int

Definition at line 3716 of file oorexxapi.h.

◆ ARGUMENT_TYPE_int16_t

#define ARGUMENT_TYPE_int16_t   int16_t

Definition at line 3725 of file oorexxapi.h.

◆ ARGUMENT_TYPE_int32_t

#define ARGUMENT_TYPE_int32_t   int32_t

Definition at line 3726 of file oorexxapi.h.

◆ ARGUMENT_TYPE_int64_t

#define ARGUMENT_TYPE_int64_t   int64_t

Definition at line 3727 of file oorexxapi.h.

◆ ARGUMENT_TYPE_int8_t

#define ARGUMENT_TYPE_int8_t   int8_t

Definition at line 3724 of file oorexxapi.h.

◆ ARGUMENT_TYPE_intptr_t

#define ARGUMENT_TYPE_intptr_t   intptr_t

Definition at line 3736 of file oorexxapi.h.

◆ ARGUMENT_TYPE_logical_t

#define ARGUMENT_TYPE_logical_t   logical_t

Definition at line 3739 of file oorexxapi.h.

◆ ARGUMENT_TYPE_NAME

#define ARGUMENT_TYPE_NAME   CSTRING

Definition at line 3706 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_CSTRING

#define ARGUMENT_TYPE_OPTIONAL_CSTRING   CSTRING

Definition at line 3750 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_double

#define ARGUMENT_TYPE_OPTIONAL_double   double

Definition at line 3749 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_float

#define ARGUMENT_TYPE_OPTIONAL_float   float

Definition at line 3753 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_int

#define ARGUMENT_TYPE_OPTIONAL_int   int

Definition at line 3746 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_int16_t

#define ARGUMENT_TYPE_OPTIONAL_int16_t   int16_t

Definition at line 3755 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_int32_t

#define ARGUMENT_TYPE_OPTIONAL_int32_t   int32_t

Definition at line 3756 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_int64_t

#define ARGUMENT_TYPE_OPTIONAL_int64_t   int64_t

Definition at line 3757 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_int8_t

#define ARGUMENT_TYPE_OPTIONAL_int8_t   int8_t

Definition at line 3754 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_intptr_t

#define ARGUMENT_TYPE_OPTIONAL_intptr_t   intptr_t

Definition at line 3764 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_logical_t

#define ARGUMENT_TYPE_OPTIONAL_logical_t   logical_t

Definition at line 3766 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_POINTER

#define ARGUMENT_TYPE_OPTIONAL_POINTER   POINTER

Definition at line 3751 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_POINTERSTRING

#define ARGUMENT_TYPE_OPTIONAL_POINTERSTRING   POINTER

Definition at line 3769 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_RexxArrayObject

#define ARGUMENT_TYPE_OPTIONAL_RexxArrayObject   RexxArrayObject

Definition at line 3767 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_RexxClassObject

#define ARGUMENT_TYPE_OPTIONAL_RexxClassObject   RexxClassObject

Definition at line 3770 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_RexxMutableBufferObject

#define ARGUMENT_TYPE_OPTIONAL_RexxMutableBufferObject   RexxMutableBufferObject

Definition at line 3771 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_RexxObjectPtr

#define ARGUMENT_TYPE_OPTIONAL_RexxObjectPtr   RexxObjectPtr

Definition at line 3745 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_RexxStemObject

#define ARGUMENT_TYPE_OPTIONAL_RexxStemObject   RexxStemObject

Definition at line 3768 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_RexxStringObject

#define ARGUMENT_TYPE_OPTIONAL_RexxStringObject   RexxStringObject

Definition at line 3752 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_size_t

#define ARGUMENT_TYPE_OPTIONAL_size_t   size_t

Definition at line 3762 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_ssize_t

#define ARGUMENT_TYPE_OPTIONAL_ssize_t   ssize_t

Definition at line 3763 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_stringsize_t

#define ARGUMENT_TYPE_OPTIONAL_stringsize_t   stringsize_t

Definition at line 3748 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_uint16_t

#define ARGUMENT_TYPE_OPTIONAL_uint16_t   uint16_t

Definition at line 3759 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_uint32_t

#define ARGUMENT_TYPE_OPTIONAL_uint32_t   uint32_t

Definition at line 3760 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_uint64_t

#define ARGUMENT_TYPE_OPTIONAL_uint64_t   uint64_t

Definition at line 3761 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_uint8_t

#define ARGUMENT_TYPE_OPTIONAL_uint8_t   uint8_t

Definition at line 3758 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_uintptr_t

#define ARGUMENT_TYPE_OPTIONAL_uintptr_t   uintptr_t

Definition at line 3765 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OPTIONAL_wholenumber_t

#define ARGUMENT_TYPE_OPTIONAL_wholenumber_t   wholenumber_t

Definition at line 3747 of file oorexxapi.h.

◆ ARGUMENT_TYPE_OSELF

#define ARGUMENT_TYPE_OSELF   RexxObjectPtr

Definition at line 3709 of file oorexxapi.h.

◆ ARGUMENT_TYPE_POINTER

#define ARGUMENT_TYPE_POINTER   POINTER

Definition at line 3721 of file oorexxapi.h.

◆ ARGUMENT_TYPE_POINTERSTRING

#define ARGUMENT_TYPE_POINTERSTRING   POINTER

Definition at line 3742 of file oorexxapi.h.

◆ ARGUMENT_TYPE_RexxArrayObject

#define ARGUMENT_TYPE_RexxArrayObject   RexxArrayObject

Definition at line 3740 of file oorexxapi.h.

◆ ARGUMENT_TYPE_RexxClassObject

#define ARGUMENT_TYPE_RexxClassObject   RexxClassObject

Definition at line 3715 of file oorexxapi.h.

◆ ARGUMENT_TYPE_RexxMutableBufferObject

#define ARGUMENT_TYPE_RexxMutableBufferObject   RexxMutableBufferObject

Definition at line 3743 of file oorexxapi.h.

◆ ARGUMENT_TYPE_RexxObjectPtr

#define ARGUMENT_TYPE_RexxObjectPtr   RexxObjectPtr

Definition at line 3714 of file oorexxapi.h.

◆ ARGUMENT_TYPE_RexxStemObject

#define ARGUMENT_TYPE_RexxStemObject   RexxStemObject

Definition at line 3741 of file oorexxapi.h.

◆ ARGUMENT_TYPE_RexxStringObject

#define ARGUMENT_TYPE_RexxStringObject   RexxStringObject

Definition at line 3722 of file oorexxapi.h.

◆ ARGUMENT_TYPE_SCOPE

#define ARGUMENT_TYPE_SCOPE   RexxObjectPtr

Definition at line 3707 of file oorexxapi.h.

◆ ARGUMENT_TYPE_size_t

#define ARGUMENT_TYPE_size_t   size_t

Definition at line 3734 of file oorexxapi.h.

◆ ARGUMENT_TYPE_ssize_t

#define ARGUMENT_TYPE_ssize_t   ssize_t

Definition at line 3735 of file oorexxapi.h.

◆ ARGUMENT_TYPE_stringsize_t

#define ARGUMENT_TYPE_stringsize_t   stringsize_t

Definition at line 3718 of file oorexxapi.h.

◆ ARGUMENT_TYPE_SUPER

#define ARGUMENT_TYPE_SUPER   RexxClassObject

Definition at line 3710 of file oorexxapi.h.

◆ ARGUMENT_TYPE_uint16_t

#define ARGUMENT_TYPE_uint16_t   uint16_t

Definition at line 3730 of file oorexxapi.h.

◆ ARGUMENT_TYPE_uint32_t

#define ARGUMENT_TYPE_uint32_t   uint32_t

Definition at line 3731 of file oorexxapi.h.

◆ ARGUMENT_TYPE_uint64_t

#define ARGUMENT_TYPE_uint64_t   uint64_t

Definition at line 3732 of file oorexxapi.h.

◆ ARGUMENT_TYPE_uint8_t

#define ARGUMENT_TYPE_uint8_t   uint8_t

Definition at line 3729 of file oorexxapi.h.

◆ ARGUMENT_TYPE_uintptr_t

#define ARGUMENT_TYPE_uintptr_t   uintptr_t

Definition at line 3737 of file oorexxapi.h.

◆ ARGUMENT_TYPE_wholenumber_t

#define ARGUMENT_TYPE_wholenumber_t   wholenumber_t

Definition at line 3717 of file oorexxapi.h.

◆ argumentExists

#define argumentExists (   i)    ((context->arguments[i].flags & ARGUMENT_EXISTS) != 0)

Definition at line 3777 of file oorexxapi.h.

◆ argumentOmitted

#define argumentOmitted (   i)    (!argumentExists(i))

Definition at line 3778 of file oorexxapi.h.

◆ CALL_INTERFACE_VERSION

#define CALL_INTERFACE_VERSION   100

Definition at line 644 of file oorexxapi.h.

◆ DIRECT_ENVIRONMENTS

#define DIRECT_ENVIRONMENTS   "DirectEnvironments"

Definition at line 389 of file oorexxapi.h.

◆ DIRECT_EXITS

#define DIRECT_EXITS   "DirectExits"

Definition at line 384 of file oorexxapi.h.

◆ EXIT_INTERFACE_VERSION

#define EXIT_INTERFACE_VERSION   100

Definition at line 667 of file oorexxapi.h.

◆ EXTERNAL_CALL_EXTENSIONS

#define EXTERNAL_CALL_EXTENSIONS   "ExternalCallPathExt"

Definition at line 376 of file oorexxapi.h.

◆ EXTERNAL_CALL_PATH

#define EXTERNAL_CALL_PATH   "ExternalCallPath"

Definition at line 374 of file oorexxapi.h.

◆ GET_REXX_VALUE

#define GET_REXX_VALUE (   v,
 
)    ((v).value.value_##t)

Definition at line 3804 of file oorexxapi.h.

◆ INITIAL_ADDRESS_ENVIRONMENT

#define INITIAL_ADDRESS_ENVIRONMENT   "InitialAddress"

Definition at line 370 of file oorexxapi.h.

◆ INSTANCE_INTERFACE_VERSION

#define INSTANCE_INTERFACE_VERSION   100

Definition at line 435 of file oorexxapi.h.

◆ IS_OPTIONAL_ARGUMENT

#define IS_OPTIONAL_ARGUMENT (   t)    (((t) & REXX_OPTIONAL_ARGUMENT) != 0)

Definition at line 3774 of file oorexxapi.h.

◆ LOAD_REQUIRED_LIBRARY

#define LOAD_REQUIRED_LIBRARY   "LoadRequiredLibrary"

Definition at line 379 of file oorexxapi.h.

◆ METHOD_INTERFACE_VERSION

#define METHOD_INTERFACE_VERSION   101

Definition at line 621 of file oorexxapi.h.

◆ METHOD_INTERFACE_VERSION_4_0_0

#define METHOD_INTERFACE_VERSION_4_0_0   100

Definition at line 620 of file oorexxapi.h.

◆ METHOD_TYPED_STYLE

#define METHOD_TYPED_STYLE   1

Definition at line 207 of file oorexxapi.h.

◆ NO_VERSION_YET

#define NO_VERSION_YET   NULL

Definition at line 224 of file oorexxapi.h.

◆ oor__adcl

#define oor__adcl (   t,
 
)    oor__type(t) n

Definition at line 3784 of file oorexxapi.h.

◆ oor__arg

#define oor__arg (   p,
 
)    arguments[p].value.value_##t

Definition at line 3782 of file oorexxapi.h.

◆ oor__ret

#define oor__ret (   t,
 
)    arguments[0].value.value_##t = (v); return NULL;

Definition at line 3783 of file oorexxapi.h.

◆ oor__tdcl

#define oor__tdcl (   t)    REXX_VALUE_##t

Definition at line 3785 of file oorexxapi.h.

◆ oor__type

#define oor__type (   t)    ARGUMENT_TYPE_##t

Definition at line 3781 of file oorexxapi.h.

◆ OOREXX_GET_PACKAGE

#define OOREXX_GET_PACKAGE (   name)
Value:
REXXEXPORT RexxPackageEntry *RexxGetPackage(void) { return &name##_package_entry; }\
END_EXTERN_C()
#define BEGIN_EXTERN_C()
Definition: rexx.h:60
Definition: oorexxapi.h:242

Definition at line 232 of file oorexxapi.h.

◆ REGISTER_LIBRARY

#define REGISTER_LIBRARY   "RegisterLibrary"

Definition at line 391 of file oorexxapi.h.

◆ REGISTERED_ENVIRONMENTS

#define REGISTERED_ENVIRONMENTS   "RegisteredEnvironments"

Definition at line 386 of file oorexxapi.h.

◆ REGISTERED_EXITS

#define REGISTERED_EXITS   "RegisteredExits"

Definition at line 381 of file oorexxapi.h.

◆ REXX_ARGUMENT_TERMINATOR

#define REXX_ARGUMENT_TERMINATOR   0

Definition at line 54 of file oorexxapi.h.

◆ REXX_CLASSIC_ROUTINE

#define REXX_CLASSIC_ROUTINE (   n,
 
)    REXX_ROUTINE(ROUTINE_CLASSIC_STYLE, n, e)

Definition at line 192 of file oorexxapi.h.

◆ REXX_CLASSIC_ROUTINE_PROTOTYPE

#define REXX_CLASSIC_ROUTINE_PROTOTYPE (   name)    size_t RexxEntry name(const char *, size_t, CONSTRXSTRING *, const char *, RXSTRING *)

Definition at line 195 of file oorexxapi.h.

◆ REXX_CURRENT_INTERPRETER_VERSION

#define REXX_CURRENT_INTERPRETER_VERSION   REXX_INTERPRETER_4_3_0

Definition at line 223 of file oorexxapi.h.

◆ REXX_CURRENT_LANGUAGE_LEVEL

#define REXX_CURRENT_LANGUAGE_LEVEL   REXX_LANGUAGE_6_04

Definition at line 228 of file oorexxapi.h.

◆ REXX_INTERPRETER_4_0_0

#define REXX_INTERPRETER_4_0_0   0x00040000

Definition at line 216 of file oorexxapi.h.

◆ REXX_INTERPRETER_4_0_1

#define REXX_INTERPRETER_4_0_1   0x00040001

Definition at line 217 of file oorexxapi.h.

◆ REXX_INTERPRETER_4_1_0

#define REXX_INTERPRETER_4_1_0   0x00040100

Definition at line 218 of file oorexxapi.h.

◆ REXX_INTERPRETER_4_1_2

#define REXX_INTERPRETER_4_1_2   0x00040102

Definition at line 219 of file oorexxapi.h.

◆ REXX_INTERPRETER_4_1_3

#define REXX_INTERPRETER_4_1_3   0x00040103

Definition at line 220 of file oorexxapi.h.

◆ REXX_INTERPRETER_4_2_0

#define REXX_INTERPRETER_4_2_0   0x00040200

Definition at line 221 of file oorexxapi.h.

◆ REXX_INTERPRETER_4_3_0

#define REXX_INTERPRETER_4_3_0   0x00040300

Definition at line 222 of file oorexxapi.h.

◆ REXX_LANGUAGE_6_03

#define REXX_LANGUAGE_6_03   0x00000603

Definition at line 226 of file oorexxapi.h.

◆ REXX_LANGUAGE_6_04

#define REXX_LANGUAGE_6_04   0x00000604

Definition at line 227 of file oorexxapi.h.

◆ REXX_LAST_METHOD

#define REXX_LAST_METHOD ( )    { 0, 0, NULL, (void *)NULL, 0, 0 }

Definition at line 212 of file oorexxapi.h.

◆ REXX_LAST_ROUTINE

#define REXX_LAST_ROUTINE ( )    { 0, 0, NULL, (void *)NULL, 0, 0 }

Definition at line 193 of file oorexxapi.h.

◆ REXX_METHOD

#define REXX_METHOD (   n,
 
)    REXX_METHOD_ENTRY(n, e)

Definition at line 211 of file oorexxapi.h.

◆ REXX_METHOD_ENTRY

#define REXX_METHOD_ENTRY (   n,
 
)    { METHOD_TYPED_STYLE, 0, #n, (void *)e, 0, 0 }

Definition at line 209 of file oorexxapi.h.

◆ REXX_METHOD_PROTOTYPE

#define REXX_METHOD_PROTOTYPE (   name)    __cpp_method_proto(name)

Definition at line 3807 of file oorexxapi.h.

◆ REXX_OPTIONAL_ARGUMENT

#define REXX_OPTIONAL_ARGUMENT   0x8000

Definition at line 95 of file oorexxapi.h.

◆ REXX_PACKAGE_API_NO

#define REXX_PACKAGE_API_NO   20081030

Definition at line 214 of file oorexxapi.h.

◆ REXX_ROUTINE

#define REXX_ROUTINE (   s,
  n,
 
)    { s, 0, #n, (void *)e, 0, 0 }

Definition at line 189 of file oorexxapi.h.

◆ REXX_TYPED_ROUTINE

#define REXX_TYPED_ROUTINE (   n,
 
)    REXX_ROUTINE(ROUTINE_TYPED_STYLE, n, e)

Definition at line 191 of file oorexxapi.h.

◆ REXX_TYPED_ROUTINE_PROTOTYPE

#define REXX_TYPED_ROUTINE_PROTOTYPE (   name)    __cpp_function_proto(name)

Definition at line 4071 of file oorexxapi.h.

◆ REXX_VALUE___int64_t

#define REXX_VALUE___int64_t   23

Definition at line 77 of file oorexxapi.h.

◆ REXX_VALUE___uint64_t

#define REXX_VALUE___uint64_t   27 -- aliased

Definition at line 82 of file oorexxapi.h.

◆ REXX_VALUE___uintptr_t

#define REXX_VALUE___uintptr_t   29 -- aliased

Definition at line 85 of file oorexxapi.h.

◆ REXX_VALUE_ARGLIST

#define REXX_VALUE_ARGLIST   2

Definition at line 55 of file oorexxapi.h.

◆ REXX_VALUE_CSELF

#define REXX_VALUE_CSELF   5

Definition at line 58 of file oorexxapi.h.

◆ REXX_VALUE_CSTRING

#define REXX_VALUE_CSTRING   15

Definition at line 68 of file oorexxapi.h.

◆ REXX_VALUE_double

#define REXX_VALUE_double   14

Definition at line 67 of file oorexxapi.h.

◆ REXX_VALUE_float

#define REXX_VALUE_float   19

Definition at line 72 of file oorexxapi.h.

◆ REXX_VALUE_int

#define REXX_VALUE_int   12

Definition at line 65 of file oorexxapi.h.

◆ REXX_VALUE_int16_t

#define REXX_VALUE_int16_t   21

Definition at line 74 of file oorexxapi.h.

◆ REXX_VALUE_int32_t

#define REXX_VALUE_int32_t   22

Definition at line 75 of file oorexxapi.h.

◆ REXX_VALUE_int64_t

#define REXX_VALUE_int64_t   23

Definition at line 76 of file oorexxapi.h.

◆ REXX_VALUE_int8_t

#define REXX_VALUE_int8_t   20

Definition at line 73 of file oorexxapi.h.

◆ REXX_VALUE_intptr_t

#define REXX_VALUE_intptr_t   28

Definition at line 83 of file oorexxapi.h.

◆ REXX_VALUE_logical_t

#define REXX_VALUE_logical_t   30

Definition at line 86 of file oorexxapi.h.

◆ REXX_VALUE_NAME

#define REXX_VALUE_NAME   3

Definition at line 56 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_CSTRING

#define REXX_VALUE_OPTIONAL_CSTRING   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_CSTRING)

Definition at line 101 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_double

#define REXX_VALUE_OPTIONAL_double   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_double)

Definition at line 100 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_float

#define REXX_VALUE_OPTIONAL_float   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_float)

Definition at line 105 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_int

#define REXX_VALUE_OPTIONAL_int   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int)

Definition at line 98 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_int16_t

#define REXX_VALUE_OPTIONAL_int16_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int16_t)

Definition at line 107 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_int32_t

#define REXX_VALUE_OPTIONAL_int32_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int32_t)

Definition at line 108 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_int64_t

#define REXX_VALUE_OPTIONAL_int64_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int64_t)

Definition at line 109 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_int8_t

#define REXX_VALUE_OPTIONAL_int8_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_int8_t)

Definition at line 106 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_intptr_t

#define REXX_VALUE_OPTIONAL_intptr_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_intptr_t)

Definition at line 116 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_logical_t

#define REXX_VALUE_OPTIONAL_logical_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_logical_t)

Definition at line 118 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_POINTER

#define REXX_VALUE_OPTIONAL_POINTER   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_POINTER)

Definition at line 102 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_POINTERSTRING

#define REXX_VALUE_OPTIONAL_POINTERSTRING   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_POINTERSTRING)

Definition at line 121 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_RexxArrayObject

#define REXX_VALUE_OPTIONAL_RexxArrayObject   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxArrayObject)

Definition at line 119 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_RexxClassObject

#define REXX_VALUE_OPTIONAL_RexxClassObject   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxClassObject)

Definition at line 122 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_RexxMutableBufferObject

#define REXX_VALUE_OPTIONAL_RexxMutableBufferObject   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxMutableBufferObject)

Definition at line 123 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_RexxObjectPtr

#define REXX_VALUE_OPTIONAL_RexxObjectPtr   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxObjectPtr)

Definition at line 97 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_RexxStemObject

#define REXX_VALUE_OPTIONAL_RexxStemObject   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxStemObject)

Definition at line 120 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_RexxStringObject

#define REXX_VALUE_OPTIONAL_RexxStringObject   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_RexxStringObject)

Definition at line 103 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_size_t

#define REXX_VALUE_OPTIONAL_size_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_size_t)

Definition at line 114 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_ssize_t

#define REXX_VALUE_OPTIONAL_ssize_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_ssize_t)

Definition at line 115 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_stringsize_t

#define REXX_VALUE_OPTIONAL_stringsize_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_stringsize_t)

Definition at line 104 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_uint16_t

#define REXX_VALUE_OPTIONAL_uint16_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint16_t)

Definition at line 111 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_uint32_t

#define REXX_VALUE_OPTIONAL_uint32_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint32_t)

Definition at line 112 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_uint64_t

#define REXX_VALUE_OPTIONAL_uint64_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint64_t)

Definition at line 113 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_uint8_t

#define REXX_VALUE_OPTIONAL_uint8_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uint8_t)

Definition at line 110 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_uintptr_t

#define REXX_VALUE_OPTIONAL_uintptr_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_uintptr_t)

Definition at line 117 of file oorexxapi.h.

◆ REXX_VALUE_OPTIONAL_wholenumber_t

#define REXX_VALUE_OPTIONAL_wholenumber_t   (REXX_OPTIONAL_ARGUMENT | REXX_VALUE_wholenumber_t)

Definition at line 99 of file oorexxapi.h.

◆ REXX_VALUE_OSELF

#define REXX_VALUE_OSELF   6

Definition at line 59 of file oorexxapi.h.

◆ REXX_VALUE_POINTER

#define REXX_VALUE_POINTER   16

Definition at line 69 of file oorexxapi.h.

◆ REXX_VALUE_POINTERSTRING

#define REXX_VALUE_POINTERSTRING   35

Definition at line 91 of file oorexxapi.h.

◆ REXX_VALUE_RexxArrayObject

#define REXX_VALUE_RexxArrayObject   31

Definition at line 87 of file oorexxapi.h.

◆ REXX_VALUE_RexxClassObject

#define REXX_VALUE_RexxClassObject   36

Definition at line 92 of file oorexxapi.h.

◆ REXX_VALUE_RexxMutableBufferObject

#define REXX_VALUE_RexxMutableBufferObject   37

Definition at line 93 of file oorexxapi.h.

◆ REXX_VALUE_RexxObjectPtr

#define REXX_VALUE_RexxObjectPtr   11

Definition at line 64 of file oorexxapi.h.

◆ REXX_VALUE_RexxStemObject

#define REXX_VALUE_RexxStemObject   32

Definition at line 88 of file oorexxapi.h.

◆ REXX_VALUE_RexxStringObject

#define REXX_VALUE_RexxStringObject   17

Definition at line 70 of file oorexxapi.h.

◆ REXX_VALUE_SCOPE

#define REXX_VALUE_SCOPE   4

Definition at line 57 of file oorexxapi.h.

◆ REXX_VALUE_size_t

#define REXX_VALUE_size_t   33

Definition at line 89 of file oorexxapi.h.

◆ REXX_VALUE_ssize_t

#define REXX_VALUE_ssize_t   34

Definition at line 90 of file oorexxapi.h.

◆ REXX_VALUE_stringsize_t

#define REXX_VALUE_stringsize_t   18

Definition at line 71 of file oorexxapi.h.

◆ REXX_VALUE_SUPER

#define REXX_VALUE_SUPER   7

Definition at line 60 of file oorexxapi.h.

◆ REXX_VALUE_uint16_t

#define REXX_VALUE_uint16_t   25

Definition at line 79 of file oorexxapi.h.

◆ REXX_VALUE_uint32_t

#define REXX_VALUE_uint32_t   26

Definition at line 80 of file oorexxapi.h.

◆ REXX_VALUE_uint64_t

#define REXX_VALUE_uint64_t   27

Definition at line 81 of file oorexxapi.h.

◆ REXX_VALUE_uint8_t

#define REXX_VALUE_uint8_t   24

Definition at line 78 of file oorexxapi.h.

◆ REXX_VALUE_uintptr_t

#define REXX_VALUE_uintptr_t   29

Definition at line 84 of file oorexxapi.h.

◆ REXX_VALUE_wholenumber_t

#define REXX_VALUE_wholenumber_t   13

Definition at line 66 of file oorexxapi.h.

◆ RexxMethod0

#define RexxMethod0 (   returnType,
  name 
)
Value:
/* forward reference definition for method */ \
oor__type(returnType) name##_impl (RexxMethodContext * context); \
\
/* method signature definition */ \
static uint16_t name##_types[] = {oor__tdcl(returnType), REXX_ARGUMENT_TERMINATOR}; \
/* generated calling stub function */ \
__methodstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
oor__ret(returnType, (name##_impl(context))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
oor__type(returnType) name##_impl(RexxMethodContext *context)
#define __cpp_method_proto(name)
Definition: oorexxapi.h:3792
#define REXX_ARGUMENT_TERMINATOR
Definition: oorexxapi.h:54
#define oor__tdcl(t)
Definition: oorexxapi.h:3785
unsigned short uint16_t

Definition at line 3811 of file oorexxapi.h.

◆ RexxMethod1

#define RexxMethod1 (   returnType,
  name,
  t1,
  n1 
)
Value:
/* forward reference definition for method */ \
oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1)); \
\
/* method signature definition */ \
static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), REXX_ARGUMENT_TERMINATOR}; \
/* generated calling stub function */ \
__methodstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
oor__ret(returnType, name##_impl(context, oor__arg(1, t1))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1))
#define oor__adcl(t, n)
Definition: oorexxapi.h:3784
#define oor__arg(p, t)
Definition: oorexxapi.h:3782

Definition at line 3834 of file oorexxapi.h.

◆ RexxMethod10

#define RexxMethod10 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5,
  t6,
  n6,
  t7,
  n7,
  t8,
  n8,
  t9,
  n9,
  t10,
  n10 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__methodstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 4041 of file oorexxapi.h.

◆ RexxMethod2

#define RexxMethod2 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2 
)
Value:
/* forward reference definition for method */ \
oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2)); \
\
/* method signature definition */ \
static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), REXX_ARGUMENT_TERMINATOR}; \
/* generated calling stub function */ \
__methodstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2))

Definition at line 3857 of file oorexxapi.h.

◆ RexxMethod3

#define RexxMethod3 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3 
)
Value:
/* forward reference definition for method */ \
oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3)); \
\
/* method signature definition */ \
static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), REXX_ARGUMENT_TERMINATOR}; \
/* generated calling stub function */ \
__methodstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3))

Definition at line 3880 of file oorexxapi.h.

◆ RexxMethod4

#define RexxMethod4 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4 
)
Value:
/* forward reference definition for method */ \
oor__type(returnType) name##_impl (RexxMethodContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4)); \
\
/* method signature definition */ \
static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), REXX_ARGUMENT_TERMINATOR}; \
/* generated calling stub function */ \
__methodstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
oor__type(returnType) name##_impl(RexxMethodContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4))

Definition at line 3903 of file oorexxapi.h.

◆ RexxMethod5

#define RexxMethod5 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__methodstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 3926 of file oorexxapi.h.

◆ RexxMethod6

#define RexxMethod6 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5,
  t6,
  n6 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__methodstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 3949 of file oorexxapi.h.

◆ RexxMethod7

#define RexxMethod7 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5,
  t6,
  n6,
  t7,
  n7 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__methodstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 3972 of file oorexxapi.h.

◆ RexxMethod8

#define RexxMethod8 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5,
  t6,
  n6,
  t7,
  n7,
  t8,
  n8 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__methodstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 3995 of file oorexxapi.h.

◆ RexxMethod9

#define RexxMethod9 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5,
  t6,
  n6,
  t7,
  n7,
  t8,
  n8,
  t9,
  n9 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__methodstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 4018 of file oorexxapi.h.

◆ RexxRoutine0

#define RexxRoutine0 (   returnType,
  name 
)
Value:
/* forward reference definition for method */ \
oor__type(returnType) name##_impl (RexxCallContext * context); \
\
/* method signature definition */ \
static uint16_t name##_types[] = {oor__tdcl(returnType), REXX_ARGUMENT_TERMINATOR}; \
/* generated calling stub function */ \
__functionstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
oor__ret(returnType, name##_impl(context)); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
oor__type(returnType) name##_impl(RexxCallContext *context)
#define __cpp_function_proto(name)
Definition: oorexxapi.h:4068

Definition at line 4075 of file oorexxapi.h.

◆ RexxRoutine1

#define RexxRoutine1 (   returnType,
  name,
  t1,
  n1 
)
Value:
/* forward reference definition for method */ \
oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1)); \
\
/* method signature definition */ \
static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), REXX_ARGUMENT_TERMINATOR}; \
/* generated calling stub function */ \
__functionstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
oor__ret(returnType, name##_impl(context, oor__arg(1, t1))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1))

Definition at line 4098 of file oorexxapi.h.

◆ RexxRoutine10

#define RexxRoutine10 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5,
  t6,
  n6,
  t7,
  n7,
  t8,
  n8,
  t9,
  n9,
  t10,
  n10 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__functionstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 4304 of file oorexxapi.h.

◆ RexxRoutine2

#define RexxRoutine2 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2 
)
Value:
/* forward reference definition for method */ \
oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2)); \
\
/* method signature definition */ \
static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), REXX_ARGUMENT_TERMINATOR }; \
/* generated calling stub function */ \
__functionstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2))

Definition at line 4121 of file oorexxapi.h.

◆ RexxRoutine3

#define RexxRoutine3 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3 
)
Value:
/* forward reference definition for method */ \
oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3)); \
\
/* method signature definition */ \
static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), REXX_ARGUMENT_TERMINATOR}; \
/* generated calling stub function */ \
__functionstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3))

Definition at line 4144 of file oorexxapi.h.

◆ RexxRoutine4

#define RexxRoutine4 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4 
)
Value:
/* forward reference definition for method */ \
oor__type(returnType) name##_impl (RexxCallContext * context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4)); \
\
/* method signature definition */ \
static uint16_t name##_types[] = {oor__tdcl(returnType), oor__tdcl(t1), oor__tdcl(t2), oor__tdcl(t3), oor__tdcl(t4), REXX_ARGUMENT_TERMINATOR}; \
/* generated calling stub function */ \
__functionstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
oor__ret(returnType, name##_impl(context, oor__arg(1, t1), oor__arg(2, t2), oor__arg(3, t3), oor__arg(4, t4))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
oor__type(returnType) name##_impl(RexxCallContext *context, oor__adcl(t1, n1), oor__adcl(t2, n2), oor__adcl(t3, n3), oor__adcl(t4, n4))

Definition at line 4167 of file oorexxapi.h.

◆ RexxRoutine5

#define RexxRoutine5 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__functionstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 4190 of file oorexxapi.h.

◆ RexxRoutine6

#define RexxRoutine6 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5,
  t6,
  n6 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__functionstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 4213 of file oorexxapi.h.

◆ RexxRoutine7

#define RexxRoutine7 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5,
  t6,
  n6,
  t7,
  n7 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__functionstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 4235 of file oorexxapi.h.

◆ RexxRoutine8

#define RexxRoutine8 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5,
  t6,
  n6,
  t7,
  n7,
  t8,
  n8 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__functionstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 4258 of file oorexxapi.h.

◆ RexxRoutine9

#define RexxRoutine9 (   returnType,
  name,
  t1,
  n1,
  t2,
  n2,
  t3,
  n3,
  t4,
  n4,
  t5,
  n5,
  t6,
  n6,
  t7,
  n7,
  t8,
  n8,
  t9,
  n9 
)
Value:
/* forward reference definition for method */ \
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)); \
\
/* method signature definition */ \
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}; \
/* generated calling stub function */ \
__functionstub(name) \
{ \
if (arguments != NULL) /* if no arguments passed, this a signature request */ \
{ \
/* forward to the method implementation */ \
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))); \
} \
return name##_types; /* return the type signature */ \
} \
/* the real target method code */ \
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))

Definition at line 4281 of file oorexxapi.h.

◆ ROUTINE_CLASSIC_STYLE

#define ROUTINE_CLASSIC_STYLE   2

Definition at line 187 of file oorexxapi.h.

◆ ROUTINE_TYPED_STYLE

#define ROUTINE_TYPED_STYLE   1

Definition at line 186 of file oorexxapi.h.

◆ SET_REXX_VALUE

#define SET_REXX_VALUE (   v,
  t,
  val 
)
Value:
{ \
(v).type = REXX_VALUE##t; \
(v).value.value_##t = (val);\
}
int type
Definition: cmdparse.cpp:383

Definition at line 3797 of file oorexxapi.h.

◆ SPECIAL_ARGUMENT

#define SPECIAL_ARGUMENT   0x02

Definition at line 259 of file oorexxapi.h.

◆ STANDARD_PACKAGE_HEADER

#define STANDARD_PACKAGE_HEADER   sizeof(RexxPackageEntry), REXX_PACKAGE_API_NO,

Definition at line 230 of file oorexxapi.h.

◆ THREAD_INTERFACE_VERSION

#define THREAD_INTERFACE_VERSION   102

Definition at line 451 of file oorexxapi.h.

◆ THREAD_INTERFACE_VERSION_4_0_0

#define THREAD_INTERFACE_VERSION_4_0_0   100

Definition at line 449 of file oorexxapi.h.

◆ THREAD_INTERFACE_VERSION_4_1_1

#define THREAD_INTERFACE_VERSION_4_1_1   101

Definition at line 450 of file oorexxapi.h.

Typedef Documentation

◆ ARGLIST

Definition at line 4331 of file oorexxapi.h.

◆ BUFFER

typedef void* BUFFER

Definition at line 4330 of file oorexxapi.h.

◆ CSELF

typedef void* CSELF

Definition at line 4329 of file oorexxapi.h.

◆ NAME

typedef CSTRING NAME

Definition at line 4334 of file oorexxapi.h.

◆ OSELF

Definition at line 4328 of file oorexxapi.h.

◆ RexxCallContext

typedef const struct RexxCallContext_* RexxCallContext

Definition at line 153 of file oorexxapi.h.

◆ RexxContextCommandHandler

Definition at line 395 of file oorexxapi.h.

◆ RexxContextExit

◆ RexxContextExitHandler

typedef int REXXENTRY RexxContextExitHandler(RexxExitContext *, int, int, PEXIT)

Definition at line 165 of file oorexxapi.h.

◆ RexxExitContext

typedef const struct RexxExitContext_* RexxExitContext

Definition at line 160 of file oorexxapi.h.

◆ RexxInstance

typedef const struct RexxInstance_* RexxInstance

Definition at line 132 of file oorexxapi.h.

◆ RexxMethodContext

typedef const struct RexxMethodContext_* RexxMethodContext

Definition at line 146 of file oorexxapi.h.

◆ RexxMethodEntry

◆ RexxPackageEntry

◆ RexxPackageLoader

typedef void(RexxEntry * RexxPackageLoader) (RexxThreadContext *)

Definition at line 238 of file oorexxapi.h.

◆ RexxPackageUnloader

typedef void(RexxEntry * RexxPackageUnloader) (RexxThreadContext *)

Definition at line 239 of file oorexxapi.h.

◆ RexxRoutineEntry

◆ RexxThreadContext

typedef const struct RexxThreadContext_* RexxThreadContext

Definition at line 139 of file oorexxapi.h.

◆ SCOPE

Definition at line 4332 of file oorexxapi.h.

◆ SUPER

Definition at line 4333 of file oorexxapi.h.

Function Documentation

◆ RexxCreateInterpreter()

RexxReturnCode RexxEntry RexxCreateInterpreter ( RexxInstance **  instance,
RexxThreadContext **  context,
RexxOption options 
)

Create an interpreter instance at the API level.

Parameters
instanceThe returned instance pointer.
contextThe initial thread context for this instance.
exitsA list of user exits to be used for this context.
userDataA pointer to a user defined data area.
Returns
RXAPI_OK if the instance was created, RXAPI_MEMFAIL for any creation errors.

Definition at line 380 of file InterpreterAPI.cpp.

References Interpreter::createInstance(), RXAPI_MEMFAIL, and RXAPI_OK.

Referenced by main(), and WinMain().