rexx.h
Go to the documentation of this file.
1 /*----------------------------------------------------------------------------*/
2 /* */
3 /* Copyright (c) 1995, 2004 IBM Corporation. All rights reserved. */
4 /* Copyright (c) 2005-2009 Rexx Language Association. All rights reserved. */
5 /* */
6 /* This program and the accompanying materials are made available under */
7 /* the terms of the Common Public License v1.0 which accompanies this */
8 /* distribution. A copy is also available at the following address: */
9 /* http://www.ibm.com/developerworks/oss/CPLv1.0.htm */
10 /* */
11 /* Redistribution and use in source and binary forms, with or */
12 /* without modification, are permitted provided that the following */
13 /* conditions are met: */
14 /* */
15 /* Redistributions of source code must retain the above copyright */
16 /* notice, this list of conditions and the following disclaimer. */
17 /* Redistributions in binary form must reproduce the above copyright */
18 /* notice, this list of conditions and the following disclaimer in */
19 /* the documentation and/or other materials provided with the distribution. */
20 /* */
21 /* Neither the name of Rexx Language Association nor the names */
22 /* of its contributors may be used to endorse or promote products */
23 /* derived from this software without specific prior written permission. */
24 /* */
25 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
26 /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
27 /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
28 /* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
29 /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
30 /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
31 /* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
32 /* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */
33 /* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
34 /* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
35 /* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
36 /* */
37 /*----------------------------------------------------------------------------*/
38 
39 /*----------------------------------------------------------------------------*/
40 /* */
41 /* Module Name: rexx.h */
42 /* */
43 /* ooRexx Common Definitions File */
44 /* */
45 /* Note: This is a revision of the original IBM rexx.h header file. All of the*/
46 /* conditional sections have been removed and it has been split into multiple */
47 /* header files, some of which are platform specific. Many of the types have */
48 /* been changed to more portable types. */
49 /* */
50 /*----------------------------------------------------------------------------*/
51 
52 #ifndef REXXSAA_INCLUDED
53 #define REXXSAA_INCLUDED
54 
55 
56 #ifdef __cplusplus
57 #define BEGIN_EXTERN_C() extern "C" {
58 #define END_EXTERN_C() }
59 #else
60 #define BEGIN_EXTERN_C()
61 #define END_EXTERN_C()
62 #endif
63 
64 
65 #include "rexxapitypes.h" // Platform specific stuff
66 
67 /*----------------------------------------------------------------------------*/
68 /* */
69 /* Common */
70 /* */
71 /*----------------------------------------------------------------------------*/
72 
73 typedef int RexxReturnCode; // API return type
74 
75 /******************************************************************************/
76 /* Types (for general use) */
77 /******************************************************************************/
78 typedef const char *CSTRING; /* pointer to zero-terminated string */
79 typedef void *POINTER;
80 
81 #ifdef __cplusplus
82 
83 class _RexxObjectPtr {};
84 class _RexxStringObject : public _RexxObjectPtr {};
85 class _RexxBufferStringObject : public _RexxStringObject {};
86 class _RexxArrayObject : public _RexxObjectPtr {};
87 class _RexxBufferObject : public _RexxObjectPtr {};
88 class _RexxPointerObject : public _RexxObjectPtr {};
89 class _RexxMethodObject : public _RexxObjectPtr {};
90 class _RexxRoutineObject : public _RexxObjectPtr {};
91 class _RexxPackageObject : public _RexxObjectPtr {};
92 class _RexxClassObject : public _RexxObjectPtr {};
93 class _RexxDirectoryObject : public _RexxObjectPtr {};
94 class _RexxSupplierObject : public _RexxObjectPtr {};
95 class _RexxStemObject : public _RexxObjectPtr {};
96 class _RexxMutableBufferObject : public _RexxObjectPtr {};
97 
98 typedef _RexxObjectPtr *RexxObjectPtr;
99 typedef _RexxStringObject *RexxStringObject;
100 typedef _RexxBufferStringObject *RexxBufferStringObject;
101 typedef _RexxArrayObject *RexxArrayObject;
102 typedef _RexxBufferObject *RexxBufferObject;
103 typedef _RexxPointerObject *RexxPointerObject;
104 typedef _RexxMethodObject *RexxMethodObject;
105 typedef _RexxRoutineObject *RexxRoutineObject;
106 typedef _RexxPackageObject *RexxPackageObject;
107 typedef _RexxClassObject *RexxClassObject;
108 typedef _RexxDirectoryObject *RexxDirectoryObject;
109 typedef _RexxSupplierObject *RexxSupplierObject;
110 typedef _RexxStemObject *RexxStemObject;
111 typedef _RexxMutableBufferObject *RexxMutableBufferObject;
112 #else
113 struct _RexxObjectPtr;
114 struct _RexxStringObject;
115 struct _RexxArrayObject;
116 struct _RexxBufferObject;
117 struct _RexxPointerObject;
118 struct _RexxMethodObject;
119 struct _RexxRoutineObject;
120 struct _RexxPackageObject;
121 struct _RexxClassObject;
122 struct _RexxDirectoryObject;
123 struct _RexxSupplierObject;
124 struct _RexxStemObject;
125 struct _RexxMutableBufferObject;
126 
127 typedef struct _RexxObjectPtr *RexxObjectPtr;
128 typedef struct _RexxStringObject *RexxStringObject;
129 typedef struct _RexxBufferStringObject *RexxBufferStringObject;
130 typedef struct _RexxArrayObject *RexxArrayObject;
131 typedef struct _RexxBufferObject *RexxBufferObject;
132 typedef struct _RexxPointerObject *RexxPointerObject;
133 typedef struct _RexxMethodObject *RexxMethodObject;
134 typedef struct _RexxRoutineObject *RexxRoutineObject;
135 typedef struct _RexxPackageObject *RexxPackageObject;
136 typedef struct _RexxClassObject *RexxClassObject;
137 typedef struct _RexxDirectoryObject *RexxDirectoryObject;
138 typedef struct _RexxSupplierObject *RexxSupplierObject;
139 typedef struct _RexxStemObject *RexxStemObject;
140 typedef struct _RexxMutableBufferObject *RexxMutableBufferObject;
141 #endif
142 
143 /******************************************************************************/
144 /* Constant values (for general use) */
145 /******************************************************************************/
146 #define NO_CSTRING NULL
147 #define NULLOBJECT NULL
148 
149 
150 /*----------------------------------------------------------------------------*/
151 /*** RXSTRING defines */
152 /*----------------------------------------------------------------------------*/
153 
154 /*** Structure for external interface string (RXSTRING) */
155 
156 typedef struct _RXSTRING { /* rxstr */
157  size_t strlength; /* length of string */
158  char *strptr; /* pointer to string */
160 
161 typedef struct _CONSTRXSTRING { /* const rxstr */
162  size_t strlength; /* length of string */
163  const char *strptr; /* pointer to string */
165 
166 #ifndef OOREXX_COMPATIBILITY
167 #define CONSTANT_RXSTRING CONSTRXSTRING
168 #define CONSTANT_STRING CSTRING
169 #else
170 typedef char *PSZ;
171 #define CONSTANT_RXSTRING RXSTRING
172 #define CONSTANT_STRING PSZ
173 #endif
174 
175 /*** Macros for RexxString manipulation */
176 
177 #define RXNULLSTRING(r) ((r).strptr == NULL)
178 #define RXZEROLENSTRING(r) ((r).strptr != NULL && (r).strlength == 0)
179 #define RXVALIDSTRING(r) ((r).strptr != NULL && (r).strlength != 0)
180 #define RXSTRLEN(r) (RXNULLSTRING(r) ? 0 : (r).strlength)
181 #define RXSTRPTR(r) ((r).strptr)
182 #define MAKERXSTRING(r,p,l) { (r).strptr = p; (r).strlength = l; }
183 
184 
185 typedef RXSTRING *PRXSTRING; /* pointer to a RXSTRING */
186 typedef CONSTANT_RXSTRING *PCONSTRXSTRING; /* pointer to a RXSTRING */
187 
188 /*** Structure for system exit block (RXSYSEXIT) */
189 
190 typedef struct _RXSYSEXIT { /* syse */
191  CONSTANT_STRING sysexit_name; /* subcom enviro for sysexit */
192  int sysexit_code; /* sysexit function code */
194 typedef RXSYSEXIT *PRXSYSEXIT; /* pointer to a RXSYSEXIT */
195 
196 
197 
198 /*----------------------------------------------------------------------------*/
199 /*** Shared Variable Pool Interface defines */
200 /*----------------------------------------------------------------------------*/
201 
202 /*** Structure of Shared Variable Request Block (SHVBLOCK) */
203 
204 typedef struct _SHVBLOCK { /* shvb */
205  struct _SHVBLOCK *shvnext; /* pointer to the next block */
206  CONSTANT_RXSTRING shvname; /* Pointer to the name buffer */
207  RXSTRING shvvalue; /* Pointer to the value buffer */
208  size_t shvnamelen; /* Length of the name value */
209  size_t shvvaluelen; /* Length of the fetch value */
210  unsigned char shvcode; /* Function code for this block*/
211  unsigned char shvret; /* Individual Return Code Flags*/
214 
215 typedef char *PEXIT; /* ptr to exit parameter block */
216 
217 
218 
219 
220 /*----------------------------------------------------------------------------*/
221 /*** Include the other common and platform specific stuff */
222 /*----------------------------------------------------------------------------*/
223 
224 /* These must be placed after RXSTRING and CONSTRXSTRING are defined */
225 #include "rexxapidefs.h"
226 #include "rexxplatformdefs.h" // Platform specific stuff
227 
228 typedef size_t stringsize_t; // a Rexx string size
229 typedef size_t uwholenumber_t; // a Rexx whole number (unsigned)
230 typedef ssize_t wholenumber_t; // a Rexx whole number (signed)
231 typedef size_t logical_t; // a Rexx logical (1 or 0) value
232 typedef ssize_t codepoint_t; // a Rexx signed codepoint, which allows to pass -1 as default value or return -1 when error
233 
234 // a synonym for readability
235 #define RexxEntry REXXENTRY
236 
237 
238 /*** RexxPullFromQueue - Retrieve data from an External Data Queue */
239 typedef struct _RexxQueueTime { /* REXX time stamp format */
240  uint16_t hours; /* hour of the day (24-hour) */
241  uint16_t minutes; /* minute of the hour */
242  uint16_t seconds; /* second of the minute */
243  uint16_t hundredths; /* hundredths of a second */
244  uint16_t day; /* day of the month */
245  uint16_t month; /* month of the year */
246  uint16_t year; /* current year */
247  uint16_t weekday; /* day of the week */
248  uint32_t microseconds; /* microseconds */
249  uint32_t yearday; /* day number within the year */
251 
252 
253 typedef struct _RexxConditionData
254 {
255  wholenumber_t code; // The condition CODE information
256  wholenumber_t rc; // The condition RC value
257  RXSTRING message; // The condition secondary message text
258  RXSTRING errortext; // The condition error text.
259  size_t position; // The failure line number value
260  RXSTRING program; // The running program name
262 
263 /*----------------------------------------------------------------------------*/
264 /* */
265 /* 32-bit */
266 /* */
267 /*----------------------------------------------------------------------------*/
268 
269 /*----------------------------------------------------------------------------*/
270 /*** Main Entry Point to the Rexx Interpreter */
271 /*----------------------------------------------------------------------------*/
272 
274 
276  size_t, /* Num of args passed to rexx */
277  PCONSTRXSTRING, /* Array of args passed to rex */
278  CONSTANT_STRING, /* [d:][path] filename[.ext] */
279  PRXSTRING, /* Loc of rexx proc in memory */
280  CONSTANT_STRING, /* ASCIIZ initial environment.*/
281  int, /* type (command,subrtn,funct) */
282  PRXSYSEXIT, /* SysExit env. names & codes */
283  short *, /* Ret code from if numeric */
284  PRXSTRING ); /* Retvalue from the rexx proc */
286  CONSTANT_STRING, int, PRXSYSEXIT, short *,
287  PRXSTRING);
288 #define REXXSTART RexxStart
289 
290 // the following APIs are deprecated, and are included only for binary compatibility.
291 // These are nops if called.
293 typedef void (REXXENTRY *PFNREXXWAITFORTERMINATION)(void);
294 #define REXXWAITFORTERMINATION RexxWaitForTermination
295 
298 #define REXXDIDREXXTERMINATE RexxDidRexxTerminate
299 
302 #define REXXSHUTDOWNAPI RexxShutDownAPI
303 
304 
306  CONSTANT_STRING, // input program name
307  CONSTANT_STRING, // output file name
308  PRXSYSEXIT); // system exits to use during translation
309 
310 
312 
313 #define REXXTRANSLATEPROGRAM RexxTranslateProgram
314 
315 
317  CONSTANT_STRING, // input program name
318  CONSTANT_RXSTRING *, // program source
319  RXSTRING *); // returned image
320 
321 
323 
324 #define REXXTRANSLATEINSTOREPROGRAM RexxTranslateInstoreProgram
325 
326 
328 
329 typedef char *(REXXENTRY *PFNGETVERSIONINFORMATION)(void);
330 
331 #define REXXGETVERSIONINFORMATON RexxGetVersionInformation
332 
333 
334 /*----------------------------------------------------------------------------*/
335 /*** Subcommand Interface */
336 /*----------------------------------------------------------------------------*/
337 
338 /* This typedef simplifies coding of a Subcommand handler. */
340  unsigned short *,
341  PRXSTRING);
342 
343 /*** RexxRegisterSubcomDll -- Register a DLL entry point */
344 /*** as a Subcommand handler */
345 
347  CONSTANT_STRING, /* Name of subcom handler */
348  CONSTANT_STRING, /* Name of DLL */
349  CONSTANT_STRING, /* Name of procedure in DLL */
350  CONSTANT_STRING, /* User area */
351  size_t ); /* Drop authority. */
353  char *, size_t);
354 #define REXXREGISTERSUBCOMDLL RexxRegisterSubcomDll
355 
356 
357 /*** RexxRegisterSubcomExe -- Register an EXE entry point */
358 /*** as a Subcommand handler */
359 
361  CONSTANT_STRING, /* Name of subcom handler */
362  REXXPFN, /* address of handler in EXE */
363  CONSTANT_STRING); /* User area */
365 #define REXXREGISTERSUBCOMEXE RexxRegisterSubcomExe
366 
367 
368 /*** RexxQuerySubcom - Query an environment for Existance */
369 
371  CONSTANT_STRING, /* Name of the Environment */
372  CONSTANT_STRING, /* DLL Module Name */
373  unsigned short *, /* Stor for existance code */
374  char *); /* Stor for user word */
376  char *);
377 #define REXXQUERYSUBCOM RexxQuerySubcom
378 
379 
380 /*** RexxDeregisterSubcom - Drop registration of a Subcommand */
381 /*** environment */
382 
384  CONSTANT_STRING, /* Name of the Environment */
385  CONSTANT_STRING); /* DLL Module Name */
387 #define REXXDEREGISTERSUBCOM RexxDeregisterSubcom
388 
389 
390 /*----------------------------------------------------------------------------*/
391 /*** Shared Variable Pool Interface */
392 /*----------------------------------------------------------------------------*/
393 
394 /*** RexxVariablePool - Request Variable Pool Service */
395 
397  PSHVBLOCK); /* Pointer to list of SHVBLOCKs*/
399 #define REXXVARIABLEPOOL RexxVariablePool
400 
401 
402 /*----------------------------------------------------------------------------*/
403 /*** External Function Interface */
404 /*----------------------------------------------------------------------------*/
405 
406 /* This typedef simplifies coding of an External Function. */
407 
409  size_t,
412  PRXSTRING);
413 
415  size_t,
418  PRXSTRING);
419 
420 /*** RexxRegisterFunctionDll - Register a function in the AFT */
421 
423  CONSTANT_STRING, /* Name of function to add */
424  CONSTANT_STRING, /* Dll file name (if in dll) */
425  CONSTANT_STRING); /* Entry in dll */
427 #define REXXREGISTERFUNCTIONDLL RexxRegisterFunctionDll
428 
429 
430 /*** RexxRegisterFunctionExe - Register a function in the AFT */
431 
433  CONSTANT_STRING, /* Name of function to add */
434  REXXPFN); /* Entry point in EXE */
436 #define REXXREGISTERFUNCTIONEXE RexxRegisterFunctionExe
437 
438 
439 /*** RexxDeregisterFunction - Delete a function from the AFT */
440 
442  CONSTANT_STRING ); /* Name of function to remove */
444 #define REXXDEREGISTERFUNCTION RexxDeregisterFunction
445 
446 
447 /*** RexxQueryFunction - Scan the AFT for a function */
448 
450  CONSTANT_STRING ); /* Name of function to find */
452 #define REXXQUERYFUNCTION RexxQueryFunction
453 
454 
455 /*----------------------------------------------------------------------------*/
456 /*** System Exits */
457 /*----------------------------------------------------------------------------*/
458 
459 /*** Subfunction RXFNCCAL - External Function Calls */
460 
461 typedef struct _RXFNC_FLAGS { /* fl */
462  unsigned rxfferr : 1; /* Invalid call to routine. */
463  unsigned rxffnfnd : 1; /* Function not found. */
464  unsigned rxffsub : 1; /* Called as a subroutine */
466 
467 typedef struct _RXFNCCAL_PARM { /* fnc */
468  RXFNC_FLAGS rxfnc_flags ; /* function flags */
469  CONSTANT_STRING rxfnc_name; /* Pointer to function name. */
470  unsigned short rxfnc_namel; /* Length of function name. */
471  CONSTANT_STRING rxfnc_que; /* Current queue name. */
472  unsigned short rxfnc_quel; /* Length of queue name. */
473  unsigned short rxfnc_argc; /* Number of args in list. */
474  PCONSTRXSTRING rxfnc_argv; /* Pointer to argument list. */
475  RXSTRING rxfnc_retc; /* Return value. */
477 
478 
479 /*** Subfunction RXOFNCCAL - Object valued external function call */
480 
481 typedef struct _RXOFNC_FLAGS { /* fl */
482  unsigned rxfferr : 1; /* Invalid call to routine. */
483  unsigned rxffnfnd : 1; /* Function not found. */
484  unsigned rxffsub : 1; /* Called as a subroutine */
486 
487 typedef struct _RXOFNCCAL_PARM { /* fnc */
488  RXOFNC_FLAGS rxfnc_flags ; /* function flags */
489  CONSTANT_RXSTRING rxfnc_name; // the called function name
490  size_t rxfnc_argc; /* Number of args in list. */
491  RexxObjectPtr *rxfnc_argv; /* Pointer to argument list. */
492  RexxObjectPtr rxfnc_retc; /* Return value. */
494 
495 
496 
497 /*** Subfunction RXEXFCAL - Scripting Function Calls */
498 
499 typedef struct _RXEXF_FLAGS { /* fl */
500  unsigned rxfferr : 1; /* Invalid call to routine. */
501  unsigned rxffnfnd : 1; /* Function not found. */
502  unsigned rxffsub : 1; /* Called as a subroutine */
504 
505 typedef struct _RXEXFCAL_PARM { /* fnc */
506  RXEXF_FLAGS rxfnc_flags ; /* function flags */
507  CONSTANT_RXSTRING rxfnc_name; // the called function name
508  size_t rxfnc_argc; /* Number of args in list. */
509  RexxObjectPtr *rxfnc_argv; /* Pointer to argument list. */
510  RexxObjectPtr rxfnc_retc; /* Return value. */
512 
513 /*** Subfunction RXCMDHST -- Process Host Commands */
514 
515 typedef struct _RXCMD_FLAGS { /* fl */
516  unsigned rxfcfail : 1; /* Command failed. */
517  unsigned rxfcerr : 1; /* Command ERROR occurred. */
519 
520 typedef struct _RXCMDHST_PARM { /* rx */
521  RXCMD_FLAGS rxcmd_flags; /* error/failure flags */
522  CONSTANT_STRING rxcmd_address; /* Pointer to address name. */
523  unsigned short rxcmd_addressl; /* Length of address name. */
524  CONSTANT_STRING rxcmd_dll; /* dll name for command. */
525  unsigned short rxcmd_dll_len; /* Length of dll name. */
526  CONSTANT_RXSTRING rxcmd_command; /* The command string. */
527  RXSTRING rxcmd_retc; /* Pointer to return buffer */
529 
530 
531 /*** Subfunction RXMSQPLL -- Pull Entry from Queue */
532 
533 typedef struct _RXMSQPLL_PARM { /* pll */
534  RXSTRING rxmsq_retc; /* Pointer to dequeued entry */
535  /* buffer. User allocated. */
537 
538 
539 /*** Subfunction RXMSQPSH -- Push Entry on Queue */
540 typedef struct _RXMSQ_FLAGS { /* fl */
541  unsigned rxfmlifo : 1; /* Stack entry LIFO if set */
543 
544 
545 typedef struct _RXMSQPSH_PARM { /* psh */
546  RXMSQ_FLAGS rxmsq_flags; /* LIFO/FIFO flag */
547  CONSTANT_RXSTRING rxmsq_value; /* The entry to be pushed. */
549 
550 
551 /*** Subfunction RXMSQSIZ -- Return the Current Queue Size */
552 
553 typedef struct _RXMSQSIZ_PARM { /* siz */
554  size_t rxmsq_size; /* Number of Lines in Queue */
556 
557 
558 /*** Subfunction RXMSQNAM -- Set Current Queue Name */
559 
560 typedef struct _RXMSQNAM_PARM { /* nam */
561  RXSTRING rxmsq_name; /* RXSTRING containing */
562  /* queue name. */
564 
565 
566 /*** Subfunction RXSIOSAY -- Perform SAY Clause */
567 
568 typedef struct _RXSIOSAY_PARM { /* say */
569  CONSTANT_RXSTRING rxsio_string; /* String to display. */
571 
572 
573 /*** Subfunction RXSIOTRC -- Write Trace Output */
574 
575 typedef struct _RXSIOTRC_PARM { /* trcparm */
576  CONSTANT_RXSTRING rxsio_string; /* Trace line to display. */
578 
579 
580 /*** Subfunction RXSIOTRD -- Read Input from the Terminal */
581 
582 typedef struct _RXSIOTRD_PARM { /* trd */
583  RXSTRING rxsiotrd_retc; /* RXSTRING for output. */
585 
586 
587 /*** Subfunction RXSIODTR -- Read Debug Input from the Terminal */
588 
589 typedef struct _RXSIODTR_PARM { /* dtr */
590  RXSTRING rxsiodtr_retc; /* RXSTRING for output. */
592 
593 
594 /*** Subfunction RXHSTTST -- Test for HALT Condition */
595 
596 typedef struct _RXHLT_FLAGS { /* fl Halt flag */
597  unsigned rxfhhalt : 1; /* Set if HALT occurred. */
599 
600 typedef struct _RXHLTTST_PARM { /* tst */
601  RXHLT_FLAGS rxhlt_flags; /* Set if HALT occurred */
603 
604 
605 /*** Subfunction RXTRCTST -- Test for TRACE Condition */
606 
607 typedef struct _RXTRC_FLAGS { /* fl Trace flags */
608  unsigned rxftrace : 1; /* Set to run external trace. */
610 
611 
612 typedef struct _RXTRCTST_PARM { /* tst */
613  RXTRC_FLAGS rxtrc_flags; /* Set to run external trace */
615 
616 
617 typedef struct _RXVARNOVALUE_PARM { /* var */
618  RexxStringObject variable_name; // the request variable name
619  RexxObjectPtr value; // returned variable value
621 
622 
623 typedef struct _RXVALCALL_PARM { /* val */
624  RexxStringObject selector; // the environment selector name
625  RexxStringObject variable_name; // the request variable name
626  RexxObjectPtr value; // returned variable value
628 
629 /* This typedef simplifies coding of an Exit handler. */
630 typedef int REXXENTRY RexxExitHandler(int, int, PEXIT);
631 
632 
633 /*** RexxRegisterExitDll - Register a system exit. */
634 
636  CONSTANT_STRING, /* Name of the exit handler */
637  CONSTANT_STRING, /* Name of the DLL */
638  CONSTANT_STRING, /* Name of the procedure */
639  CONSTANT_STRING, /* User area */
640  size_t); /* Drop authority */
642  char *, size_t);
643 #define REXXREGISTEREXITDLL RexxRegisterExitDll
644 
645 
646 /*** RexxRegisterExitExe - Register a system exit. */
647 
649  CONSTANT_STRING, /* Name of the exit handler */
650  REXXPFN, /* Address of exit handler */
651  CONSTANT_STRING); /* User area */
653 #define REXXREGISTEREXITEXE RexxRegisterExitExe
654 
655 
656 /*** RexxDeregisterExit - Drop registration of a system exit. */
657 
659  CONSTANT_STRING, /* Exit name */
660  CONSTANT_STRING) ; /* DLL module name */
662 #define REXXDEREGISTEREXIT RexxDeregisterExit
663 
664 
665 /*** RexxQueryExit - Query an exit for existance. */
666 
668  CONSTANT_STRING, /* Exit name */
669  CONSTANT_STRING, /* DLL Module name. */
670  unsigned short *, /* Existance flag. */
671  char * ); /* User data. */
673 #define REXXQUERYEXIT RexxQueryExit
674 
675 
676 /*----------------------------------------------------------------------------*/
677 /*** Asynchronous Request Interface */
678 /*----------------------------------------------------------------------------*/
679 
680 /*** RexxSetHalt - Request Program Halt */
681 
683  process_id_t, /* Process Id */
684  thread_id_t); /* Thread Id */
686 #define REXXSETHALT RexxSetHalt
687 
688 
689 /*** RexxSetTrace - Request Program Trace */
690 
692  process_id_t, /* Process Id */
693  thread_id_t); /* Thread Id */
695 #define REXXSETTRACE RexxSetTrace
696 
697 
698 /*** RexxResetTrace - Turn Off Program Trace */
699 
701  process_id_t, /* Process Id */
702  thread_id_t); /* Thread Id */
704 #define REXXRESETTRACE RexxResetTrace
705 
706 
707 /*----------------------------------------------------------------------------*/
708 /*** Macro Space Interface */
709 /*----------------------------------------------------------------------------*/
710 
711 /*** RexxAddMacro - Register a function in the Macro Space */
712 
714  CONSTANT_STRING, /* Function to add or change */
715  CONSTANT_STRING, /* Name of file to get function*/
716  size_t); /* Flag indicating search pos */
718 #define REXXADDMACRO RexxAddMacro
719 
720 
721 /*** RexxDropMacro - Remove a function from the Macro Space */
722 
724  CONSTANT_STRING); /* Name of function to remove */
726 #define REXXDROPMACRO RexxDropMacro
727 
728 
729 /*** RexxSaveMacroSpace - Save Macro Space functions to a file */
730 
732  size_t, /* Argument count (0==save all)*/
733  CONSTANT_STRING *, /* List of funct names to save */
734  CONSTANT_STRING); /* File to save functions in */
736 #define REXXSAVEMACROSPACE RexxSaveMacroSpace
737 
738 
739 /*** RexxLoadMacroSpace - Load Macro Space functions from a file */
740 
742  size_t, /* Argument count (0==load all)*/
743  CONSTANT_STRING *, /* List of funct names to load */
744  CONSTANT_STRING); /* File to load functions from */
746 #define REXXLOADMACROSPACE RexxLoadMacroSpace
747 
748 
749 /*** RexxQueryMacro - Find a function's search-order position */
750 
752  CONSTANT_STRING, /* Function to search for */
753  unsigned short * ); /* Ptr for position flag return*/
755 #define REXXQUERYMACRO RexxQueryMacro
756 
757 
758 /*** RexxReorderMacro - Change a function's search-order */
759 /*** position */
760 
762  CONSTANT_STRING, /* Name of funct change order */
763  size_t); /* New position for function */
765 #define REXXREORDERMACRO RexxReorderMacro
766 
767 
768 /*** RexxClearMacroSpace - Remove all functions from a MacroSpace */
769 
771  void ); /* No Arguments. */
773 #define REXXCLEARMACROSPACE RexxClearMacroSpace
774 
775 
776 /*----------------------------------------------------------------------------*/
777 /*** Queing Services */
778 /*----------------------------------------------------------------------------*/
779 
780 #define MAX_QUEUE_NAME_LENGTH 250
781 
782 /*** RexxCreateQueue - Create an External Data Queue */
783 
785  char *, /* Name of queue created */
786  size_t, /* Size of buf for ret name */
787  CONSTANT_STRING, /* Requested name for queue */
788  size_t *); /* Duplicate name flag. */
789 typedef RexxReturnCode (REXXENTRY *PFNREXXCREATEQUEUE)(char *, size_t, CONSTANT_STRING, size_t);
790 
791 /*** RexxOpenQueue - Create a named external queue, if necessary */
792 
794  CONSTANT_STRING, /* Requested name for queue */
795  size_t *); /* Flag for already created queue */
797 
798 
799 /*** RexxQueueExists - Check for the existance of an external data queue */
800 
802  CONSTANT_STRING); /* Name of queue to be deleted */
804 
805 /*** RexxDeleteQueue - Delete an External Data Queue */
806 
808  CONSTANT_STRING); /* Name of queue to be deleted */
810 
811 
812 /*** RexxQueryQueue - Query an External Data Queue for number of */
813 /*** entries */
814 
816  CONSTANT_STRING, /* Name of queue to query */
817  size_t *); /* Place to put element count */
819 
820 
821 /*** RexxAddQueue - Add an entry to an External Data Queue */
822 
824  CONSTANT_STRING, /* Name of queue to add to */
825  PCONSTRXSTRING, /* Data string to add */
826  size_t); /* Queue type (FIFO|LIFO) */
828 
829 /*** RexxPullFromQueue - Retrieve data from an External Data Queue */
831  CONSTANT_STRING, /* Name of queue to read from */
832  PRXSTRING, /* RXSTRING to receive data */
833  RexxQueueTime *, /* Stor for data date/time */
834  size_t); /* wait status (WAIT|NOWAIT) */
836  size_t);
837 
838 /*** RexxClearQueue - Clear all lines in a queue */
839 
841  CONSTANT_STRING ); /* Name of queue to be deleted */
843 
844 
845 #include "rexxplatformapis.h"
846 
847 /*----------------------------------------------------------------------------*/
848 /*** Memory Allocation Services */
849 /*----------------------------------------------------------------------------*/
850 
851 /*** RexxAllocateMemory */
852 
854  size_t); /* number of bytes to allocate */
855 typedef void *(REXXENTRY *PFNREXXALLOCATEMEMORY)(size_t );
856 
857 
858 /*** RexxFreeMemory */
859 
861  void *); /* pointer to the memory returned by */
862  /* RexxAllocateMemory */
864 
865 
866 /*----------------------------------------------------------------------------*/
867 /*** Monitoring */
868 /*----------------------------------------------------------------------------*/
869 
871 
872 END_EXTERN_C()
873 
874 #endif /* REXXSAA_INCLUDED */
875 
RexxReturnCode REXXENTRY RexxDeregisterFunction(CONSTANT_STRING)
wholenumber_t REXXENTRY getAPIManagerCounter()
struct _RXMSQNAM_PARM RXMSQNAM_PARM
struct _RXVALCALL_PARM RXVALCALL_PARM
#define END_EXTERN_C()
Definition: rexx.h:61
RexxReturnCode(REXXENTRY * PFNREXXQUERYFUNCTION)(CONSTANT_STRING)
Definition: rexx.h:451
RexxReturnCode(REXXENTRY * PFNREXXDEREGISTERFUNCTION)(CONSTANT_STRING)
Definition: rexx.h:443
#define CONSTANT_STRING
Definition: rexx.h:168
RexxReturnCode REXXENTRY RexxRegisterSubcomExe(CONSTANT_STRING, REXXPFN, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXDIDREXXTERMINATE)(void)
Definition: rexx.h:297
RexxReturnCode REXXENTRY RexxDidRexxTerminate(void)
RexxReturnCode(REXXENTRY * PFNREXXCLEARMACROSPACE)(void)
Definition: rexx.h:772
RexxReturnCode(REXXENTRY * PFNREXXSETTRACE)(process_id_t, thread_id_t)
Definition: rexx.h:694
RexxReturnCode(REXXENTRY * PFNREXXQUERYEXIT)(CONSTANT_STRING, CONSTANT_STRING, unsigned short *, char *)
Definition: rexx.h:672
struct _RexxPackageObject * RexxPackageObject
Definition: rexx.h:135
#define CONSTANT_RXSTRING
Definition: rexx.h:167
struct _RexxClassObject * RexxClassObject
Definition: rexx.h:136
RexxReturnCode(REXXENTRY * PFNREXXVARIABLEPOOL)(PSHVBLOCK)
Definition: rexx.h:398
RexxReturnCode REXXENTRY RexxQueryExit(CONSTANT_STRING, CONSTANT_STRING, unsigned short *, char *)
RexxReturnCode(REXXENTRY * PFNREXXADDMACRO)(CONSTANT_STRING, CONSTANT_STRING, size_t)
Definition: rexx.h:717
RexxReturnCode REXXENTRY RexxVariablePool(PSHVBLOCK)
size_t REXXENTRY RexxRoutineHandler(CONSTANT_STRING, size_t, PCONSTRXSTRING, CONSTANT_STRING, PRXSTRING)
Definition: rexx.h:408
RexxReturnCode REXXENTRY RexxQuerySubcom(CONSTANT_STRING, CONSTANT_STRING, unsigned short *, char *)
struct _RXVARNOVALUE_PARM RXVARNOVALUE_PARM
struct _RXCMDHST_PARM RXCMDHST_PARM
RexxReturnCode(REXXENTRY * PFNREXXTRANSLATEPROGRAM)(CONSTANT_STRING, CONSTANT_STRING, PRXSYSEXIT)
Definition: rexx.h:311
struct _RXMSQPLL_PARM RXMSQPLL_PARM
RexxReturnCode REXXENTRY RexxQueryFunction(CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXDROPMACRO)(CONSTANT_STRING)
Definition: rexx.h:725
RexxReturnCode REXXENTRY RexxPullFromQueue(CONSTANT_STRING, PRXSTRING, RexxQueueTime *, size_t)
char *(REXXENTRY * PFNGETVERSIONINFORMATION)(void)
Definition: rexx.h:329
RexxReturnCode REXXENTRY RexxLoadMacroSpace(size_t, CONSTANT_STRING *, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXQUERYMACRO)(CONSTANT_STRING, unsigned short *)
Definition: rexx.h:754
RexxReturnCode REXXENTRY RexxAddMacro(CONSTANT_STRING, CONSTANT_STRING, size_t)
RexxReturnCode REXXENTRY RexxTranslateInstoreProgram(CONSTANT_STRING, CONSTANT_RXSTRING *, RXSTRING *)
void *(REXXENTRY * PFNREXXALLOCATEMEMORY)(size_t)
Definition: rexx.h:855
struct _RXEXFCAL_PARM RXEXFCAL_PARM
SHVBLOCK * PSHVBLOCK
Definition: rexx.h:213
RexxReturnCode REXXENTRY RexxDeregisterSubcom(CONSTANT_STRING, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXSTART)(size_t, PCONSTRXSTRING, CONSTANT_STRING, PRXSTRING, CONSTANT_STRING, int, PRXSYSEXIT, short *, PRXSTRING)
Definition: rexx.h:285
RexxReturnCode REXXENTRY RexxClearQueue(CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXOPENQUEUE)(CONSTANT_STRING, size_t)
Definition: rexx.h:796
const char * CSTRING
Definition: rexx.h:78
RexxReturnCode(REXXENTRY * PFNREXXCREATEQUEUE)(char *, size_t, CONSTANT_STRING, size_t)
Definition: rexx.h:789
RexxReturnCode REXXENTRY RexxSubcomHandler(PCONSTRXSTRING, unsigned short *, PRXSTRING)
Definition: rexx.h:339
RexxReturnCode(REXXENTRY * PFNREXXQUERYQUEUE)(CONSTANT_STRING, size_t *)
Definition: rexx.h:818
RexxReturnCode REXXENTRY RexxFreeMemory(void *)
size_t logical_t
Definition: rexx.h:231
RexxReturnCode(REXXENTRY * PFNREXXCLEARQUEUE)(CONSTANT_STRING)
Definition: rexx.h:842
struct _RexxMutableBufferObject * RexxMutableBufferObject
Definition: rexx.h:140
RexxReturnCode REXXENTRY RexxResetTrace(process_id_t, thread_id_t)
struct _RexxStringObject * RexxStringObject
Definition: rexx.h:128
RexxReturnCode(REXXENTRY * PFNREXXRESETTRACE)(process_id_t, thread_id_t)
Definition: rexx.h:703
ssize_t codepoint_t
Definition: rexx.h:232
struct _RXSTRING RXSTRING
RexxReturnCode(REXXENTRY * PFNREXXQUERYSUBCOM)(CONSTANT_STRING, CONSTANT_STRING, unsigned short *, char *)
Definition: rexx.h:375
struct _RexxArrayObject * RexxArrayObject
Definition: rexx.h:130
RexxReturnCode REXXENTRY RexxDeleteQueue(CONSTANT_STRING)
RexxReturnCode REXXENTRY RexxSaveMacroSpace(size_t, CONSTANT_STRING *, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXREGISTERFUNCTIONEXE)(CONSTANT_STRING, REXXPFN)
Definition: rexx.h:435
RexxReturnCode REXXENTRY RexxRegisterFunctionExe(CONSTANT_STRING, REXXPFN)
RexxReturnCode(REXXENTRY * PFNREXXREGISTERSUBCOMDLL)(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, char *, size_t)
Definition: rexx.h:352
RXSTRING * PRXSTRING
Definition: rexx.h:185
size_t REXXENTRY RexxFunctionHandler(CONSTANT_STRING, size_t, PCONSTRXSTRING, CONSTANT_STRING, PRXSTRING)
Definition: rexx.h:414
struct _RexxBufferStringObject * RexxBufferStringObject
Definition: rexx.h:129
RexxReturnCode REXXENTRY RexxRegisterFunctionDll(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXREGISTERSUBCOMEXE)(CONSTANT_STRING, REXXPFN, char *)
Definition: rexx.h:364
RexxReturnCode REXXENTRY RexxRegisterSubcomDll(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, size_t)
RexxReturnCode REXXENTRY RexxRegisterExitDll(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, size_t)
RexxReturnCode REXXENTRY RexxOpenQueue(CONSTANT_STRING, size_t *)
RexxReturnCode REXXENTRY RexxAddQueue(CONSTANT_STRING, PCONSTRXSTRING, size_t)
struct _RXSIODTR_PARM RXSIODTR_PARM
struct _SHVBLOCK SHVBLOCK
RexxReturnCode REXXENTRY RexxQueryMacro(CONSTANT_STRING, unsigned short *)
RexxReturnCode REXXENTRY RexxDeregisterExit(CONSTANT_STRING, CONSTANT_STRING)
CONSTANT_RXSTRING * PCONSTRXSTRING
Definition: rexx.h:186
RexxReturnCode(REXXENTRY * PFNREXXSHUTDOWNAPI)(void)
Definition: rexx.h:301
RexxReturnCode REXXENTRY RexxRegisterExitExe(CONSTANT_STRING, REXXPFN, CONSTANT_STRING)
RexxReturnCode(REXXENTRY * PFNREXXREGISTERFUNCTIONDLL)(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING)
Definition: rexx.h:426
RexxReturnCode REXXENTRY RexxShutDownAPI(void)
struct _RexxObjectPtr * RexxObjectPtr
Definition: rexx.h:127
RexxReturnCode(REXXENTRY * PFNREXXADDQUEUE)(CONSTANT_STRING, PCONSTRXSTRING, size_t)
Definition: rexx.h:827
struct _RXFNCCAL_PARM RXFNCCAL_PARM
struct _RXOFNC_FLAGS RXOFNC_FLAGS
RexxReturnCode(REXXENTRY * PFNREXXREGISTEREXITDLL)(CONSTANT_STRING, CONSTANT_STRING, CONSTANT_STRING, char *, size_t)
Definition: rexx.h:641
RexxReturnCode REXXENTRY RexxReorderMacro(CONSTANT_STRING, size_t)
ssize_t wholenumber_t
Definition: rexx.h:230
RexxReturnCode(REXXENTRY * PFNREXXQUEUEEXISTS)(CONSTANT_STRING)
Definition: rexx.h:803
RXSYSEXIT * PRXSYSEXIT
Definition: rexx.h:194
struct _RXMSQSIZ_PARM RXMSQSIZ_PARM
void(REXXENTRY * PFNREXXWAITFORTERMINATION)(void)
Definition: rexx.h:293
int REXXENTRY RexxStart(size_t, PCONSTRXSTRING, CONSTANT_STRING, PRXSTRING, CONSTANT_STRING, int, PRXSYSEXIT, short *, PRXSTRING)
struct _RexxRoutineObject * RexxRoutineObject
Definition: rexx.h:134
char * PEXIT
Definition: rexx.h:215
struct _RXCMD_FLAGS RXCMD_FLAGS
struct _RXHLT_FLAGS RXHLT_FLAGS
struct _RexxConditionData RexxConditionData
RexxReturnCode(REXXENTRY * PFNREXXDELETEQUEUE)(CONSTANT_STRING)
Definition: rexx.h:809
struct _RXOFNCCAL_PARM RXOFNCCAL_PARM
RexxReturnCode(REXXENTRY * PFNREXXTRANSLATEINSTOREPROGRAM)(CONSTANT_STRING, CONSTANT_RXSTRING *, RXSTRING *)
Definition: rexx.h:322
struct _RXSIOTRC_PARM RXSIOTRC_PARM
struct _RXMSQPSH_PARM RXMSQPSH_PARM
struct _RexxDirectoryObject * RexxDirectoryObject
Definition: rexx.h:137
struct _RexxSupplierObject * RexxSupplierObject
Definition: rexx.h:138
RexxReturnCode REXXENTRY RexxQueryQueue(CONSTANT_STRING, size_t *)
int REXXENTRY RexxExitHandler(int, int, PEXIT)
Definition: rexx.h:630
struct _RXMSQ_FLAGS RXMSQ_FLAGS
struct _RXTRC_FLAGS RXTRC_FLAGS
void *REXXENTRY RexxAllocateMemory(size_t)
int RexxReturnCode
Definition: rexx.h:73
RexxReturnCode(REXXENTRY * PFNREXXLOADMACROSPACE)(size_t, CONSTANT_STRING *, CONSTANT_STRING)
Definition: rexx.h:745
RexxReturnCode(REXXENTRY * PFNREXXREGISTEREXITEXE)(CONSTANT_STRING, REXXPFN, char *)
Definition: rexx.h:652
struct _RexxMethodObject * RexxMethodObject
Definition: rexx.h:133
struct _RXSYSEXIT RXSYSEXIT
RexxReturnCode(REXXENTRY * PFNREXXSAVEMACROSPACE)(size_t, CONSTANT_STRING *, CONSTANT_STRING)
Definition: rexx.h:735
RexxReturnCode(REXXENTRY * PFNREXXREORDERMACRO)(CONSTANT_STRING, size_t)
Definition: rexx.h:764
RexxReturnCode REXXENTRY RexxClearMacroSpace(void)
struct _CONSTRXSTRING CONSTRXSTRING
struct _RexxBufferObject * RexxBufferObject
Definition: rexx.h:131
RexxReturnCode REXXENTRY RexxTranslateProgram(CONSTANT_STRING, CONSTANT_STRING, PRXSYSEXIT)
struct _RXSIOTRD_PARM RXSIOTRD_PARM
void * POINTER
Definition: rexx.h:79
RexxReturnCode REXXENTRY RexxQueueExists(CONSTANT_STRING)
char *REXXENTRY RexxGetVersionInformation(void)
RexxReturnCode REXXENTRY RexxCreateQueue(char *, size_t, CONSTANT_STRING, size_t *)
size_t stringsize_t
Definition: rexx.h:228
struct _RexxPointerObject * RexxPointerObject
Definition: rexx.h:132
RexxReturnCode(REXXENTRY * PFNREXXFREEMEMORY)(void *)
Definition: rexx.h:863
RexxReturnCode REXXENTRY RexxSetTrace(process_id_t, thread_id_t)
struct _RXHLTTST_PARM RXHLTTST_PARM
struct _RXFNC_FLAGS RXFNC_FLAGS
RexxReturnCode REXXENTRY RexxDropMacro(CONSTANT_STRING)
struct _RXTRCTST_PARM RXTRCTST_PARM
RexxReturnCode(REXXENTRY * PFNREXXSETHALT)(process_id_t, thread_id_t)
Definition: rexx.h:685
void REXXENTRY RexxWaitForTermination(void)
RexxReturnCode(REXXENTRY * PFNREXXDEREGISTERSUBCOM)(CONSTANT_STRING, CONSTANT_STRING)
Definition: rexx.h:386
struct _RexxStemObject * RexxStemObject
Definition: rexx.h:139
struct _RexxQueueTime RexxQueueTime
#define BEGIN_EXTERN_C()
Definition: rexx.h:60
size_t uwholenumber_t
Definition: rexx.h:229
RexxReturnCode REXXENTRY RexxSetHalt(process_id_t, thread_id_t)
struct _RXSIOSAY_PARM RXSIOSAY_PARM
struct _RXEXF_FLAGS RXEXF_FLAGS
RexxReturnCode(REXXENTRY * PFNREXXDEREGISTEREXIT)(CONSTANT_STRING, CONSTANT_STRING)
Definition: rexx.h:661
RexxReturnCode(REXXENTRY * PFNREXXPULLFROMQUEUE)(CONSTANT_STRING, PRXSTRING, RexxQueueTime *, size_t)
Definition: rexx.h:835
const char * strptr
Definition: rexx.h:163
size_t strlength
Definition: rexx.h:162
unsigned rxfcfail
Definition: rexx.h:516
unsigned rxfcerr
Definition: rexx.h:517
RXSTRING rxcmd_retc
Definition: rexx.h:527
RXCMD_FLAGS rxcmd_flags
Definition: rexx.h:521
CONSTANT_STRING rxcmd_address
Definition: rexx.h:522
unsigned short rxcmd_dll_len
Definition: rexx.h:525
unsigned short rxcmd_addressl
Definition: rexx.h:523
CONSTANT_STRING rxcmd_dll
Definition: rexx.h:524
CONSTANT_RXSTRING rxcmd_command
Definition: rexx.h:526
unsigned rxfferr
Definition: rexx.h:500
unsigned rxffsub
Definition: rexx.h:502
unsigned rxffnfnd
Definition: rexx.h:501
CONSTANT_RXSTRING rxfnc_name
Definition: rexx.h:507
RexxObjectPtr rxfnc_retc
Definition: rexx.h:510
RexxObjectPtr * rxfnc_argv
Definition: rexx.h:509
size_t rxfnc_argc
Definition: rexx.h:508
RXEXF_FLAGS rxfnc_flags
Definition: rexx.h:506
unsigned rxfferr
Definition: rexx.h:462
unsigned rxffsub
Definition: rexx.h:464
unsigned rxffnfnd
Definition: rexx.h:463
PCONSTRXSTRING rxfnc_argv
Definition: rexx.h:474
unsigned short rxfnc_namel
Definition: rexx.h:470
RXSTRING rxfnc_retc
Definition: rexx.h:475
RXFNC_FLAGS rxfnc_flags
Definition: rexx.h:468
CONSTANT_STRING rxfnc_que
Definition: rexx.h:471
unsigned short rxfnc_quel
Definition: rexx.h:472
unsigned short rxfnc_argc
Definition: rexx.h:473
CONSTANT_STRING rxfnc_name
Definition: rexx.h:469
unsigned rxfhhalt
Definition: rexx.h:597
RXHLT_FLAGS rxhlt_flags
Definition: rexx.h:601
unsigned rxfmlifo
Definition: rexx.h:541
RXSTRING rxmsq_name
Definition: rexx.h:561
RXSTRING rxmsq_retc
Definition: rexx.h:534
RXMSQ_FLAGS rxmsq_flags
Definition: rexx.h:546
CONSTANT_RXSTRING rxmsq_value
Definition: rexx.h:547
size_t rxmsq_size
Definition: rexx.h:554
unsigned rxfferr
Definition: rexx.h:482
unsigned rxffnfnd
Definition: rexx.h:483
unsigned rxffsub
Definition: rexx.h:484
CONSTANT_RXSTRING rxfnc_name
Definition: rexx.h:489
RexxObjectPtr rxfnc_retc
Definition: rexx.h:492
RexxObjectPtr * rxfnc_argv
Definition: rexx.h:491
RXOFNC_FLAGS rxfnc_flags
Definition: rexx.h:488
size_t rxfnc_argc
Definition: rexx.h:490
RXSTRING rxsiodtr_retc
Definition: rexx.h:590
CONSTANT_RXSTRING rxsio_string
Definition: rexx.h:569
CONSTANT_RXSTRING rxsio_string
Definition: rexx.h:576
RXSTRING rxsiotrd_retc
Definition: rexx.h:583
size_t strlength
Definition: rexx.h:157
char * strptr
Definition: rexx.h:158
CONSTANT_STRING sysexit_name
Definition: rexx.h:191
int sysexit_code
Definition: rexx.h:192
unsigned rxftrace
Definition: rexx.h:608
RXTRC_FLAGS rxtrc_flags
Definition: rexx.h:613
RexxStringObject variable_name
Definition: rexx.h:625
RexxStringObject selector
Definition: rexx.h:624
RexxObjectPtr value
Definition: rexx.h:626
RexxStringObject variable_name
Definition: rexx.h:618
RexxObjectPtr value
Definition: rexx.h:619
RXSTRING errortext
Definition: rexx.h:258
wholenumber_t rc
Definition: rexx.h:256
wholenumber_t code
Definition: rexx.h:255
RXSTRING message
Definition: rexx.h:257
size_t position
Definition: rexx.h:259
RXSTRING program
Definition: rexx.h:260
uint32_t microseconds
Definition: rexx.h:248
uint16_t year
Definition: rexx.h:246
uint16_t seconds
Definition: rexx.h:242
uint16_t day
Definition: rexx.h:244
uint32_t yearday
Definition: rexx.h:249
uint16_t month
Definition: rexx.h:245
uint16_t hours
Definition: rexx.h:240
uint16_t hundredths
Definition: rexx.h:243
uint16_t minutes
Definition: rexx.h:241
uint16_t weekday
Definition: rexx.h:247
size_t shvvaluelen
Definition: rexx.h:209
CONSTANT_RXSTRING shvname
Definition: rexx.h:206
unsigned char shvret
Definition: rexx.h:211
unsigned char shvcode
Definition: rexx.h:210
RXSTRING shvvalue
Definition: rexx.h:207
size_t shvnamelen
Definition: rexx.h:208
struct _SHVBLOCK * shvnext
Definition: rexx.h:205
pid_t process_id_t
void * REXXPFN
#define REXXENTRY
pthread_t thread_id_t
unsigned short uint16_t
unsigned int uint32_t
SSIZE_T ssize_t