62 #include "SystemInterpreter.hpp"
122 const char *programname,
130 if (calltype ==
RXCOMMAND && argcount == 1 && arglist[0].strptr != NULL && arglist[0].strlength > 0 &&
140 arguments.
invoke(exits, envname);
142 return (
int)arguments.
rc;
161 arguments.
result = result;
164 arguments.
invoke(exits, envname);
171 return (
int)arguments.
rc;
195 arguments.
invoke(exits, NULL);
220 arguments.
source = source;
221 arguments.
image = image;
223 arguments.
invoke(NULL, NULL);
236 snprintf( ver,
sizeof ver,
" %d.%d.%d", ORX_VER, ORX_REL, ORX_MOD );
237 char header[] =
"Open Object Rexx Version";
239 char build[] =
" - Internal Test Version\nBuild date: ";
241 char build[] =
"\nBuild date: ";
244 char mode[] =
"\nAddressing Mode: 64";
246 char mode[] =
"\nAddressing Mode: 32";
248 char copy1[] =
"\n\nCopyright (c) IBM Corporation 1995, 2004.\nCopyright (c) RexxLA " OOREXX_COPY_YEAR
".\nAll Rights Reserved.";
249 char copy2[] =
"\nThis program and the accompanying materials are made available under";
250 char copy3[] =
"\nthe terms of the Common Public License v1.0 which accompanies this";
251 char copy4[] =
"\ndistribution or at";
252 char copy5[] =
"\nhttp://www.oorexx.org/license.html";
253 size_t size = strlen(header) + strlen(ver) + strlen(
build) + strlen(__DATE__) +
254 strlen(mode) + strlen(copy1) + strlen(copy2) + strlen(copy3) + strlen(copy4) + strlen(copy5) + 1;
258 snprintf(ptr, size,
"%s%s%s%s%s%s%s%s%s%s", header, ver,
build, __DATE__, mode, copy1, copy2, copy3, copy4, copy5);
414 size_t start,
size_t end,
size_t firstcol,
size_t lastcol)
418 return context.
self->
stemSort(stemname, order,
type, start, end, firstcol, lastcol);
RexxObject * build(RexxString *variable_name, bool direct)
char *REXXENTRY RexxGetVersionInformation()
RexxReturnCode RexxEntry RexxVariablePool(PSHVBLOCK pshvblock)
RexxReturnCode RexxEntry RexxStemSort(const char *stemname, int order, int type, size_t start, size_t end, size_t firstcol, size_t lastcol)
RexxReturnCode REXXENTRY RexxTranslateProgram(const char *inFile, const char *outFile, PRXSYSEXIT exits)
void REXXENTRY RexxCreateInterpreterImage(const char *target)
RexxReturnCode REXXENTRY RexxTranslateInstoreProgram(const char *inFile, CONSTRXSTRING *source, RXSTRING *image)
int REXXENTRY RexxStart(size_t argcount, PCONSTRXSTRING arglist, const char *programname, PRXSTRING instore, const char *envname, int calltype, PRXSYSEXIT exits, short *retcode, PRXSTRING result)
int REXXENTRY RexxInitialize()
RexxReturnCode REXXENTRY RexxResetTrace(process_id_t procid, thread_id_t threadid)
RexxReturnCode REXXENTRY RexxResetThreadTrace(thread_id_t threadid)
RexxReturnCode REXXENTRY RexxSetThreadTrace(thread_id_t threadid)
void RexxEntry RexxWaitForTermination()
RexxReturnCode REXXENTRY RexxSetTrace(process_id_t procid, thread_id_t threadid)
RexxReturnCode REXXENTRY RexxHaltThread(thread_id_t threadid)
RexxReturnCode REXXENTRY RexxSetHalt(process_id_t procid, thread_id_t threadid)
RexxReturnCode RexxEntry RexxCreateInterpreter(RexxInstance **instance, RexxThreadContext **context, RexxOption *options)
RexxReturnCode RexxEntry RexxDidRexxTerminate()
int REXXENTRY RexxTerminate()
static bool setActivityTrace(thread_id_t thread_id, bool on_or_off)
static bool haltActivity(thread_id_t thread_id, RexxString *description)
static void startInterpreter(InterpreterStartupMode mode, const char *imageTarget)
static bool terminateInterpreter()
static int createInstance(RexxInstance *&instance, RexxThreadContext *&threadContext, RexxOption *options)
RexxNativeActivation * self
RexxReturnCode variablePoolInterface(PSHVBLOCK requests)
int stemSort(const char *stemname, int order, int type, size_t start, size_t end, size_t firstcol, size_t lastcol)
static int caselessCompare(const char *, const char *, size_t)
static void * allocateResultMemory(size_t)
CONSTANT_RXSTRING * PCONSTRXSTRING