[60] | 1 | /*********************************************************************\
|
---|
| 2 | *
|
---|
| 3 | * Module Name: REXXSAA.H
|
---|
| 4 | *
|
---|
| 5 | * REXX Common Definitions File
|
---|
| 6 | *
|
---|
| 7 | * @Copyright 1989, 1991 IBM Corporation
|
---|
| 8 | * Licensed Materials - Property of IBM
|
---|
| 9 | *
|
---|
| 10 | * *********************************************************************
|
---|
| 11 | *
|
---|
| 12 | * #define: To include:
|
---|
| 13 | *
|
---|
| 14 | * INCL_REXXSAA Complete Rexx support
|
---|
| 15 | * INCL_RXSUBCOM Rexx subcommand handler support
|
---|
| 16 | * INCL_RXSHV Rexx shared variable pool support
|
---|
| 17 | * INCL_RXFUNC Rexx external function support
|
---|
| 18 | * INCL_RXSYSEXIT Rexx system exit support
|
---|
| 19 | * INCL_RXMACRO Rexx macro space support
|
---|
| 20 | * INCL_RXARI Rexx asynchronous Trace/Halt support
|
---|
| 21 | *
|
---|
| 22 | \*********************************************************************/
|
---|
| 23 |
|
---|
| 24 | /* NOINC */
|
---|
| 25 | #if __IBMC__ || __IBMCPP__
|
---|
| 26 | #pragma info( none )
|
---|
| 27 | #ifndef __CHKHDR__
|
---|
| 28 | #pragma info( none )
|
---|
| 29 | #endif
|
---|
| 30 | #pragma info( restore )
|
---|
| 31 | #endif
|
---|
| 32 | #ifdef __cplusplus
|
---|
| 33 | extern "C" {
|
---|
| 34 | #endif
|
---|
| 35 | /* INC */
|
---|
| 36 |
|
---|
| 37 | #ifndef REXXSAA_INCLUDED
|
---|
| 38 | #define REXXSAA_INCLUDED
|
---|
| 39 |
|
---|
| 40 | /* XLATON */
|
---|
| 41 |
|
---|
| 42 | #ifndef OS2_INCLUDED
|
---|
| 43 | #include <os2.h>
|
---|
| 44 | #endif
|
---|
| 45 |
|
---|
| 46 | /*********************************************************************/
|
---|
| 47 | /* */
|
---|
| 48 | /* Common */
|
---|
| 49 | /* */
|
---|
| 50 | /*********************************************************************/
|
---|
| 51 |
|
---|
| 52 | /* This section defines return codes and constants that are the */
|
---|
| 53 | /* same for both 16-bit and 32-bit REXX calls. */
|
---|
| 54 |
|
---|
| 55 | #ifdef INCL_REXXSAA
|
---|
| 56 | #define INCL_RXSUBCOM
|
---|
| 57 | #define INCL_RXSHV
|
---|
| 58 | #define INCL_RXFUNC
|
---|
| 59 | #define INCL_RXSYSEXIT
|
---|
| 60 | #define INCL_RXMACRO
|
---|
| 61 | #define INCL_RXARI
|
---|
| 62 | #endif /* INCL_REXXSAA */
|
---|
| 63 |
|
---|
| 64 |
|
---|
| 65 | /*** Structure for external interface string (RXSTRING) */
|
---|
| 66 |
|
---|
| 67 | typedef struct _RXSTRING { /* rxstr */
|
---|
| 68 | ULONG strlength; /* length of string */
|
---|
| 69 | PCH strptr; /* pointer to string */
|
---|
| 70 | } RXSTRING;
|
---|
| 71 |
|
---|
| 72 | typedef RXSTRING *PRXSTRING; /* pointer to a RXSTRING */
|
---|
| 73 |
|
---|
| 74 | #define RXAUTOBUFLEN 256L
|
---|
| 75 |
|
---|
| 76 |
|
---|
| 77 | /*** Structure for system exit block (RXSYSEXIT) 32-bit */
|
---|
| 78 |
|
---|
| 79 | typedef struct _RXSYSEXIT { /* syse */
|
---|
| 80 | PSZ sysexit_name; /* subcom enviro for sysexit */
|
---|
| 81 | LONG sysexit_code; /* sysexit function code */
|
---|
| 82 | } RXSYSEXIT;
|
---|
| 83 |
|
---|
| 84 | typedef RXSYSEXIT *PRXSYSEXIT; /* pointer to a RXSYSEXIT */
|
---|
| 85 |
|
---|
| 86 |
|
---|
| 87 | /* XLATOFF */
|
---|
| 88 | /*** Macros for RXSTRING manipulation */
|
---|
| 89 |
|
---|
| 90 | #define RXNULLSTRING(r) (!(r).strptr)
|
---|
| 91 | #define RXZEROLENSTRING(r) ((r).strptr && !(r).strlength)
|
---|
| 92 | #define RXVALIDSTRING(r) ((r).strptr && (r).strlength)
|
---|
| 93 | #define RXSTRLEN(r) (RXNULLSTRING(r)?0L:(r).strlength)
|
---|
| 94 | #define RXSTRPTR(r) (r).strptr
|
---|
| 95 | #define MAKERXSTRING(r,p,l) {(r).strptr=(PCH)p;(r).strlength=(ULONG)l;}
|
---|
| 96 |
|
---|
| 97 | /* XLATON */
|
---|
| 98 |
|
---|
| 99 | /*** Call type codes for use on interpreter startup */
|
---|
| 100 | #define RXCOMMAND 0 /* Program called as Command */
|
---|
| 101 | #define RXSUBROUTINE 1 /* Program called as Subroutin*/
|
---|
| 102 | #define RXFUNCTION 2 /* Program called as Function */
|
---|
| 103 |
|
---|
| 104 | /*** Subcommand Interface defines*/
|
---|
| 105 | #ifdef INCL_RXSUBCOM
|
---|
| 106 |
|
---|
| 107 |
|
---|
| 108 | /*** Drop Authority for RXSUBCOM interface */
|
---|
| 109 |
|
---|
| 110 | #define RXSUBCOM_DROPPABLE 0x00 /* handler to be dropped by all*/
|
---|
| 111 | #define RXSUBCOM_NONDROP 0x01 /* process with same PID as the*/
|
---|
| 112 | /* registrant may drop environ */
|
---|
| 113 |
|
---|
| 114 | /*** Return Codes from RXSUBCOM interface */
|
---|
| 115 |
|
---|
| 116 | #define RXSUBCOM_ISREG 0x01 /* Subcommand is registered */
|
---|
| 117 | #define RXSUBCOM_ERROR 0x01 /* Subcommand Ended in Error */
|
---|
| 118 | #define RXSUBCOM_FAILURE 0x02 /* Subcommand Ended in Failure */
|
---|
| 119 | #define RXSUBCOM_BADENTRY 1001 /* Invalid Entry Conditions */
|
---|
| 120 | #define RXSUBCOM_NOEMEM 1002 /* Insuff stor to complete req */
|
---|
| 121 | #define RXSUBCOM_BADTYPE 1003 /* Bad registration type. */
|
---|
| 122 | #define RXSUBCOM_NOTINIT 1004 /* API system not initialized. */
|
---|
| 123 | #define RXSUBCOM_OK 0 /* Function Complete */
|
---|
| 124 | #define RXSUBCOM_DUP 10 /* Duplicate Environment Name- */
|
---|
| 125 | /* but Registration Completed */
|
---|
| 126 | #define RXSUBCOM_MAXREG 20 /* Cannot register more */
|
---|
| 127 | /* handlers */
|
---|
| 128 | #define RXSUBCOM_NOTREG 30 /* Name Not Registered */
|
---|
| 129 | #define RXSUBCOM_NOCANDROP 40 /* Name not droppable */
|
---|
| 130 | #define RXSUBCOM_LOADERR 50 /* Could not load function */
|
---|
| 131 | #define RXSUBCOM_NOPROC 127 /* RXSUBCOM routine - not found*/
|
---|
| 132 |
|
---|
| 133 | #endif /* INCL_RXSUBCOM for defines */
|
---|
| 134 |
|
---|
| 135 | /*** Shared Variable Pool Interface defines */
|
---|
| 136 | #ifdef INCL_RXSHV
|
---|
| 137 |
|
---|
| 138 | /*** Function Codes for Variable Pool Interface (shvcode) */
|
---|
| 139 |
|
---|
| 140 | #define RXSHV_SET 0x00 /* Set var from given value */
|
---|
| 141 | #define RXSHV_FETCH 0x01 /* Copy value of var to buffer */
|
---|
| 142 | #define RXSHV_DROPV 0x02 /* Drop variable */
|
---|
| 143 | #define RXSHV_SYSET 0x03 /* Symbolic name Set variable */
|
---|
| 144 | #define RXSHV_SYFET 0x04 /* Symbolic name Fetch variable*/
|
---|
| 145 | #define RXSHV_SYDRO 0x05 /* Symbolic name Drop variable */
|
---|
| 146 | #define RXSHV_NEXTV 0x06 /* Fetch "next" variable */
|
---|
| 147 | #define RXSHV_PRIV 0x07 /* Fetch private information */
|
---|
| 148 | #define RXSHV_EXIT 0x08 /* Set function exit value */
|
---|
| 149 |
|
---|
| 150 | /*** Return Codes for Variable Pool Interface */
|
---|
| 151 |
|
---|
| 152 | #define RXSHV_NOAVL 144 /* Interface not available */
|
---|
| 153 |
|
---|
| 154 | /*** Return Code Flags for Variable Pool Interface (shvret) */
|
---|
| 155 |
|
---|
| 156 | #define RXSHV_OK 0x00 /* Execution was OK */
|
---|
| 157 | #define RXSHV_NEWV 0x01 /* Variable did not exist */
|
---|
| 158 | #define RXSHV_LVAR 0x02 /* Last var trans via SHVNEXTV */
|
---|
| 159 | #define RXSHV_TRUNC 0x04 /* Truncation occurred-Fetch */
|
---|
| 160 | #define RXSHV_BADN 0x08 /* Invalid variable name */
|
---|
| 161 | #define RXSHV_MEMFL 0x10 /* Out of memory failure */
|
---|
| 162 | #define RXSHV_BADF 0x80 /* Invalid funct code (shvcode)*/
|
---|
| 163 |
|
---|
| 164 |
|
---|
| 165 | /*** Structure of Shared Variable Request Block (SHVBLOCK) */
|
---|
| 166 |
|
---|
| 167 | typedef struct _SHVBLOCK { /* shvb */
|
---|
| 168 | struct _SHVBLOCK *shvnext; /* pointer to the next block */
|
---|
| 169 | RXSTRING shvname; /* Pointer to the name buffer */
|
---|
| 170 | RXSTRING shvvalue; /* Pointer to the value buffer */
|
---|
| 171 | ULONG shvnamelen; /* Length of the name value */
|
---|
| 172 | ULONG shvvaluelen; /* Length of the fetch value */
|
---|
| 173 | UCHAR shvcode; /* Function code for this block*/
|
---|
| 174 | UCHAR shvret; /* Individual Return Code Flags*/
|
---|
| 175 | } SHVBLOCK;
|
---|
| 176 |
|
---|
| 177 | typedef SHVBLOCK *PSHVBLOCK;
|
---|
| 178 |
|
---|
| 179 | #endif /* INCL_RXSHV for defines */
|
---|
| 180 |
|
---|
| 181 | /*** External Function Interface */
|
---|
| 182 | #ifdef INCL_RXFUNC
|
---|
| 183 |
|
---|
| 184 | /*** Registration Type Identifiers for Available Function Table */
|
---|
| 185 |
|
---|
| 186 | #define RXFUNC_DYNALINK 1 /* Function Available in DLL */
|
---|
| 187 | #define RXFUNC_CALLENTRY 2 /* Registered as mem entry pt.*/
|
---|
| 188 |
|
---|
| 189 |
|
---|
| 190 | /*** Return Codes from RxFunction interface */
|
---|
| 191 |
|
---|
| 192 |
|
---|
| 193 | #define RXFUNC_OK 0 /* REXX-API Call Successful */
|
---|
| 194 | #define RXFUNC_DEFINED 10 /* Function Defined in AFT */
|
---|
| 195 | #define RXFUNC_NOMEM 20 /* Not Enough Mem to Add */
|
---|
| 196 | #define RXFUNC_NOTREG 30 /* Funct Not Registered in AFT*/
|
---|
| 197 | #define RXFUNC_MODNOTFND 40 /* Funct Dll Module Not Found */
|
---|
| 198 | #define RXFUNC_ENTNOTFND 50 /* Funct Entry Point Not Found*/
|
---|
| 199 | #define RXFUNC_NOTINIT 60 /* API not initialized */
|
---|
| 200 | #define RXFUNC_BADTYPE 70 /* Bad function type */
|
---|
| 201 | #endif /* INCL_RXFUNC for defines */
|
---|
| 202 |
|
---|
| 203 | /*** System Exits defines */
|
---|
| 204 | #ifdef INCL_RXSYSEXIT
|
---|
| 205 |
|
---|
| 206 | /*** Drop Authority for Rexx Exit interface */
|
---|
| 207 |
|
---|
| 208 | #define RXEXIT_DROPPABLE 0x00 /* handler to be dropped by all*/
|
---|
| 209 | #define RXEXIT_NONDROP 0x01 /* process with same PID as the*/
|
---|
| 210 | /* registrant may drop environ */
|
---|
| 211 |
|
---|
| 212 |
|
---|
| 213 | /*** Exit return actions */
|
---|
| 214 |
|
---|
| 215 | #define RXEXIT_HANDLED 0 /* Exit handled exit event */
|
---|
| 216 | #define RXEXIT_NOT_HANDLED 1 /* Exit passes on exit event */
|
---|
| 217 | #define RXEXIT_RAISE_ERROR (-1) /* Exit handler error occurred */
|
---|
| 218 |
|
---|
| 219 | /*** Return Codes from RXEXIT interface */
|
---|
| 220 |
|
---|
| 221 | #define RXEXIT_ISREG 0x01 /* Exit is registered */
|
---|
| 222 | #define RXEXIT_ERROR 0x01 /* Exit Ended in Error */
|
---|
| 223 | #define RXEXIT_FAILURE 0x02 /* Exit Ended in Failure */
|
---|
| 224 | #define RXEXIT_BADENTRY 1001 /* Invalid Entry Conditions */
|
---|
| 225 | #define RXEXIT_NOEMEM 1002 /* Insuff stor to complete req */
|
---|
| 226 | #define RXEXIT_BADTYPE 1003 /* Bad registration type. */
|
---|
| 227 | #define RXEXIT_NOTINIT 1004 /* API system not initialized. */
|
---|
| 228 | #define RXEXIT_OK 0 /* Function Complete */
|
---|
| 229 | #define RXEXIT_DUP 10 /* Duplicate Exit Name- */
|
---|
| 230 | /* but Registration Completed */
|
---|
| 231 | #define RXEXIT_MAXREG 20 /* Cannot register more */
|
---|
| 232 | /* handlers */
|
---|
| 233 | #define RXEXIT_NOTREG 30 /* Name Not Registered */
|
---|
| 234 | #define RXEXIT_NOCANDROP 40 /* Name not droppable */
|
---|
| 235 | #define RXEXIT_LOADERR 50 /* Could not load function */
|
---|
| 236 | #define RXEXIT_NOPROC 127 /* RXEXIT routine - not found */
|
---|
| 237 |
|
---|
| 238 |
|
---|
| 239 |
|
---|
| 240 | /* System Exit function and sub-function definitions */
|
---|
| 241 |
|
---|
| 242 | #define RXENDLST 0 /* End of exit list. */
|
---|
| 243 | #define RXFNC 2 /* Process external functions. */
|
---|
| 244 | #define RXFNCCAL 1 /* subcode value. */
|
---|
| 245 | #define RXCMD 3 /* Process host commands. */
|
---|
| 246 | #define RXCMDHST 1 /* subcode value. */
|
---|
| 247 | #define RXMSQ 4 /* Manipulate queue. */
|
---|
| 248 | #define RXMSQPLL 1 /* Pull a line from queue */
|
---|
| 249 | #define RXMSQPSH 2 /* Place a line on queue */
|
---|
| 250 | #define RXMSQSIZ 3 /* Return num of lines on queue*/
|
---|
| 251 | #define RXMSQNAM 20 /* Set active queue name */
|
---|
| 252 | #define RXSIO 5 /* Session I/O. */
|
---|
| 253 | #define RXSIOSAY 1 /* SAY a line to STDOUT */
|
---|
| 254 | #define RXSIOTRC 2 /* Trace output */
|
---|
| 255 | #define RXSIOTRD 3 /* Read from char stream */
|
---|
| 256 | #define RXSIODTR 4 /* DEBUG read from char stream */
|
---|
| 257 | #define RXSIOTLL 5 /* Return linelength(N/A OS/2) */
|
---|
| 258 | #define RXHLT 7 /* Halt processing. */
|
---|
| 259 | #define RXHLTCLR 1 /* Clear HALT indicator */
|
---|
| 260 | #define RXHLTTST 2 /* Test HALT indicator */
|
---|
| 261 | #define RXTRC 8 /* Test ext trace indicator. */
|
---|
| 262 | #define RXTRCTST 1 /* subcode value. */
|
---|
| 263 | #define RXINI 9 /* Initialization processing. */
|
---|
| 264 | #define RXINIEXT 1 /* subcode value. */
|
---|
| 265 | #define RXTER 10 /* Termination processing. */
|
---|
| 266 | #define RXTEREXT 1 /* subcode value. */
|
---|
| 267 | #define RXNOOFEXITS 11 /* 1 + largest exit number. */
|
---|
| 268 |
|
---|
| 269 | typedef PUCHAR PEXIT; /* ptr to exit parameter block */
|
---|
| 270 | #endif /* INCL_RXSYSEXIT for defines */
|
---|
| 271 |
|
---|
| 272 | /*** Asynchronous Request Interface defines */
|
---|
| 273 | #ifdef INCL_RXARI
|
---|
| 274 |
|
---|
| 275 | /*** Return Codes from Asynchronous Request interface */
|
---|
| 276 |
|
---|
| 277 | #define RXARI_OK 0 /* Interface completed */
|
---|
| 278 | #define RXARI_NOT_FOUND 1 /* Target program not found */
|
---|
| 279 | #define RXARI_PROCESSING_ERROR 2 /* Error processing request */
|
---|
| 280 | #endif /* INCL_RXARI for defines */
|
---|
| 281 |
|
---|
| 282 | /*** Macro Space Interface defines */
|
---|
| 283 | #ifdef INCL_RXMACRO
|
---|
| 284 |
|
---|
| 285 | /*** Registration Search Order Flags */
|
---|
| 286 |
|
---|
| 287 | #define RXMACRO_SEARCH_BEFORE 1 /* Beginning of search order */
|
---|
| 288 | #define RXMACRO_SEARCH_AFTER 2 /* End of search order */
|
---|
| 289 |
|
---|
| 290 |
|
---|
| 291 | /*** Return Codes from RxMacroSpace interface */
|
---|
| 292 |
|
---|
| 293 | #define RXMACRO_OK 0 /* Macro interface completed */
|
---|
| 294 | #define RXMACRO_NO_STORAGE 1 /* Not Enough Storage Available*/
|
---|
| 295 | #define RXMACRO_NOT_FOUND 2 /* Requested function not found*/
|
---|
| 296 | #define RXMACRO_EXTENSION_REQUIRED 3 /* File ext required for save */
|
---|
| 297 | #define RXMACRO_ALREADY_EXISTS 4 /* Macro functions exist */
|
---|
| 298 | #define RXMACRO_FILE_ERROR 5 /* File I/O error in save/load */
|
---|
| 299 | #define RXMACRO_SIGNATURE_ERROR 6 /* Incorrect format for load */
|
---|
| 300 | #define RXMACRO_SOURCE_NOT_FOUND 7 /* Requested cannot be found */
|
---|
| 301 | #define RXMACRO_INVALID_POSITION 8 /* Invalid search order pos */
|
---|
| 302 | #define RXMACRO_NOT_INIT 9 /* API not initialized */
|
---|
| 303 | #endif /* INCL_RXMACRO for defines */
|
---|
| 304 |
|
---|
| 305 | /*********************************************************************/
|
---|
| 306 | /* */
|
---|
| 307 | /* 32-bit */
|
---|
| 308 | /* */
|
---|
| 309 | /*********************************************************************/
|
---|
| 310 |
|
---|
| 311 | /* XLATOFF */
|
---|
| 312 | /*** Main Entry Point to the REXXSAA Interpreter */
|
---|
| 313 |
|
---|
| 314 |
|
---|
| 315 | #ifdef __cplusplus
|
---|
| 316 | LONG APIENTRY RexxStart(LONG , /* Num of args passed to rexx */
|
---|
| 317 | PRXSTRING, /* Array of args passed to rex */
|
---|
| 318 | PCSZ , /* [d:][path] filename[.ext] */
|
---|
| 319 | PRXSTRING, /* Loc of rexx proc in memory */
|
---|
| 320 | PCSZ , /* ASCIIZ initial environment.*/
|
---|
| 321 | LONG , /* type (command,subrtn,funct) */
|
---|
| 322 | PRXSYSEXIT, /* SysExit env. names & codes */
|
---|
| 323 | PSHORT, /* Ret code from if numeric */
|
---|
| 324 | PRXSTRING ); /* Retvalue from the rexx proc */
|
---|
| 325 | #else
|
---|
| 326 | LONG APIENTRY RexxStart(LONG , /* Num of args passed to rexx */
|
---|
| 327 | PRXSTRING, /* Array of args passed to rex */
|
---|
| 328 | PSZ, /* [d:][path] filename[.ext] */
|
---|
| 329 | PRXSTRING, /* Loc of rexx proc in memory */
|
---|
| 330 | PSZ, /* ASCIIZ initial environment.*/
|
---|
| 331 | LONG , /* type (command,subrtn,funct) */
|
---|
| 332 | PRXSYSEXIT, /* SysExit env. names & codes */
|
---|
| 333 | PSHORT, /* Ret code from if numeric */
|
---|
| 334 | PRXSTRING ); /* Retvalue from the rexx proc */
|
---|
| 335 | #endif
|
---|
| 336 |
|
---|
| 337 | /*** Uppercase Entry Point Name */
|
---|
| 338 | #define REXXSTART RexxStart
|
---|
| 339 |
|
---|
| 340 | /* XLATON */
|
---|
| 341 |
|
---|
| 342 | /*** Subcommand Interface */
|
---|
| 343 | #ifdef INCL_RXSUBCOM
|
---|
| 344 |
|
---|
| 345 |
|
---|
| 346 | /* XLATOFF */
|
---|
| 347 |
|
---|
| 348 | /* This typedef simplifies coding of a Subcommand handler. */
|
---|
| 349 | typedef ULONG APIENTRY RexxSubcomHandler(PRXSTRING,
|
---|
| 350 | PUSHORT,
|
---|
| 351 | PRXSTRING);
|
---|
| 352 |
|
---|
| 353 | /*** RexxRegisterSubcomDll -- Register a DLL entry point */
|
---|
| 354 | /*** as a Subcommand handler */
|
---|
| 355 |
|
---|
| 356 | #ifdef __cplusplus
|
---|
| 357 | APIRET APIENTRY RexxRegisterSubcomDll(PCSZ , /* Name of subcom handler */
|
---|
| 358 | PCSZ , /* Name of DLL */
|
---|
| 359 | PCSZ , /* Name of procedure in DLL */
|
---|
| 360 | PUCHAR, /* User area */
|
---|
| 361 | ULONG ); /* Drop authority. */
|
---|
| 362 | #else
|
---|
| 363 | APIRET APIENTRY RexxRegisterSubcomDll(PSZ, /* Name of subcom handler */
|
---|
| 364 | PSZ, /* Name of DLL */
|
---|
| 365 | PSZ, /* Name of procedure in DLL */
|
---|
| 366 | PUCHAR, /* User area */
|
---|
| 367 | ULONG ); /* Drop authority. */
|
---|
| 368 | #endif
|
---|
| 369 |
|
---|
| 370 | /*** Uppercase Entry Point Name */
|
---|
| 371 | #define REXXREGISTERSUBCOMDLL RexxRegisterSubcomDll
|
---|
| 372 |
|
---|
| 373 |
|
---|
| 374 | /*** RexxRegisterSubcomExe -- Register an EXE entry point */
|
---|
| 375 | /*** as a Subcommand handler */
|
---|
| 376 |
|
---|
| 377 | #ifdef __cplusplus
|
---|
| 378 | APIRET APIENTRY RexxRegisterSubcomExe(PCSZ , /* Name of subcom handler */
|
---|
| 379 | PFN, /* address of handler in EXE */
|
---|
| 380 | PUCHAR); /* User area */
|
---|
| 381 | #else
|
---|
| 382 | APIRET APIENTRY RexxRegisterSubcomExe(PSZ, /* Name of subcom handler */
|
---|
| 383 | PFN, /* address of handler in EXE */
|
---|
| 384 | PUCHAR); /* User area */
|
---|
| 385 | #endif
|
---|
| 386 |
|
---|
| 387 | /*** Uppercase Entry Point Name */
|
---|
| 388 | #define REXXREGISTERSUBCOMEXE RexxRegisterSubcomExe
|
---|
| 389 |
|
---|
| 390 |
|
---|
| 391 |
|
---|
| 392 | /*** RexxQuerySubcom - Query an environment for Existance */
|
---|
| 393 |
|
---|
| 394 | #ifdef __cplusplus
|
---|
| 395 | APIRET APIENTRY RexxQuerySubcom(PCSZ , /* Name of the Environment */
|
---|
| 396 | PCSZ , /* DLL Module Name */
|
---|
| 397 | PUSHORT, /* Stor for existance code */
|
---|
| 398 | PUCHAR ); /* Stor for user word */
|
---|
| 399 | #else
|
---|
| 400 | APIRET APIENTRY RexxQuerySubcom(PSZ, /* Name of the Environment */
|
---|
| 401 | PSZ, /* DLL Module Name */
|
---|
| 402 | PUSHORT, /* Stor for existance code */
|
---|
| 403 | PUCHAR ); /* Stor for user word */
|
---|
| 404 | #endif
|
---|
| 405 |
|
---|
| 406 | /*** Uppercase Entry Point Name */
|
---|
| 407 | #define REXXQUERYSUBCOM RexxQuerySubcom
|
---|
| 408 |
|
---|
| 409 |
|
---|
| 410 |
|
---|
| 411 | /*** RexxDeregisterSubcom - Drop registration of a Subcommand */
|
---|
| 412 | /*** environment */
|
---|
| 413 |
|
---|
| 414 | #ifdef __cplusplus
|
---|
| 415 | APIRET APIENTRY RexxDeregisterSubcom(PCSZ , /* Name of the Environment */
|
---|
| 416 | PCSZ ); /* DLL Module Name */
|
---|
| 417 | #else
|
---|
| 418 | APIRET APIENTRY RexxDeregisterSubcom(PSZ, /* Name of the Environment */
|
---|
| 419 | PSZ ); /* DLL Module Name */
|
---|
| 420 | #endif
|
---|
| 421 |
|
---|
| 422 | /*** Uppercase Entry Point Name */
|
---|
| 423 | #define REXXDEREGISTERSUBCOM RexxDeregisterSubcom
|
---|
| 424 |
|
---|
| 425 |
|
---|
| 426 | /* XLATON */
|
---|
| 427 | #endif /* INCL_RXSUBCOM */
|
---|
| 428 |
|
---|
| 429 |
|
---|
| 430 |
|
---|
| 431 | /*** Shared Variable Pool Interface */
|
---|
| 432 | #ifdef INCL_RXSHV
|
---|
| 433 |
|
---|
| 434 | /* XLATOFF */
|
---|
| 435 |
|
---|
| 436 | /*** RexxVariablePool - Request Variable Pool Service */
|
---|
| 437 |
|
---|
| 438 | APIRET APIENTRY RexxVariablePool(PSHVBLOCK); /* Pointer to list of SHVBLOCKs */
|
---|
| 439 |
|
---|
| 440 | /*** Uppercase Entry Point Name */
|
---|
| 441 | #define REXXVARIABLEPOOL RexxVariablePool
|
---|
| 442 | /* XLATON */
|
---|
| 443 |
|
---|
| 444 |
|
---|
| 445 | #endif /* INCL_RXSHV */
|
---|
| 446 |
|
---|
| 447 |
|
---|
| 448 | /*** External Function Interface */
|
---|
| 449 | #ifdef INCL_RXFUNC
|
---|
| 450 |
|
---|
| 451 | /* XLATOFF */
|
---|
| 452 |
|
---|
| 453 | /* This typedef simplifies coding of an External Function. */
|
---|
| 454 | typedef ULONG APIENTRY RexxFunctionHandler(PUCHAR,
|
---|
| 455 | ULONG,
|
---|
| 456 | PRXSTRING,
|
---|
| 457 | PSZ,
|
---|
| 458 | PRXSTRING);
|
---|
| 459 |
|
---|
| 460 | /*** RexxRegisterFunctionDll - Register a function in the AFT */
|
---|
| 461 |
|
---|
| 462 | #ifdef __cplusplus
|
---|
| 463 | APIRET APIENTRY RexxRegisterFunctionDll(PCSZ , /* Name of function to add */
|
---|
| 464 | PCSZ , /* Dll file name (if in dll) */
|
---|
| 465 | PCSZ ); /* Entry in dll */
|
---|
| 466 | #else
|
---|
| 467 | APIRET APIENTRY RexxRegisterFunctionDll(PSZ, /* Name of function to add */
|
---|
| 468 | PSZ, /* Dll file name (if in dll) */
|
---|
| 469 | PSZ); /* Entry in dll */
|
---|
| 470 | #endif
|
---|
| 471 |
|
---|
| 472 | /*** Uppercase Entry Point Name */
|
---|
| 473 | #define REXXREGISTERFUNCTIONDLL RexxRegisterFunctionDll
|
---|
| 474 |
|
---|
| 475 |
|
---|
| 476 | /*** RexxRegisterFunctionExe - Register a function in the AFT */
|
---|
| 477 |
|
---|
| 478 | #ifdef __cplusplus
|
---|
| 479 | APIRET APIENTRY RexxRegisterFunctionExe(PCSZ , /* Name of function to add */
|
---|
| 480 | PFN); /* Entry point in EXE */
|
---|
| 481 | #else
|
---|
| 482 | APIRET APIENTRY RexxRegisterFunctionExe(PSZ, /* Name of function to add */
|
---|
| 483 | PFN); /* Entry point in EXE */
|
---|
| 484 | #endif
|
---|
| 485 |
|
---|
| 486 | /*** Uppercase Entry Point Name */
|
---|
| 487 | #define REXXREGISTERFUNCTIONEXE RexxRegisterFunctionExe
|
---|
| 488 |
|
---|
| 489 |
|
---|
| 490 |
|
---|
| 491 | /*** RexxDeregisterFunction - Delete a function from the AFT */
|
---|
| 492 |
|
---|
| 493 | #ifdef __cplusplus
|
---|
| 494 | APIRET APIENTRY RexxDeregisterFunction(PCSZ ); /* Name of function to remove */
|
---|
| 495 | #else
|
---|
| 496 | APIRET APIENTRY RexxDeregisterFunction(PSZ ); /* Name of function to remove */
|
---|
| 497 | #endif
|
---|
| 498 |
|
---|
| 499 | /*** Uppercase Entry Point Name */
|
---|
| 500 | #define REXXDEREGISTERFUNCTION RexxDeregisterFunction
|
---|
| 501 |
|
---|
| 502 |
|
---|
| 503 |
|
---|
| 504 | /*** RexxQueryFunction - Scan the AFT for a function */
|
---|
| 505 |
|
---|
| 506 | #ifdef __cplusplus
|
---|
| 507 | APIRET APIENTRY RexxQueryFunction(PCSZ ); /* Name of function to find */
|
---|
| 508 | #else
|
---|
| 509 | APIRET APIENTRY RexxQueryFunction(PSZ ); /* Name of function to find */
|
---|
| 510 | #endif
|
---|
| 511 |
|
---|
| 512 | /*** Uppercase Entry Point Name */
|
---|
| 513 | #define REXXQUERYFUNCTION RexxQueryFunction
|
---|
| 514 |
|
---|
| 515 |
|
---|
| 516 |
|
---|
| 517 | /* XLATON */
|
---|
| 518 |
|
---|
| 519 |
|
---|
| 520 | #endif /* INCL_RXFUNC */
|
---|
| 521 |
|
---|
| 522 |
|
---|
| 523 | /*** System Exits */
|
---|
| 524 | #ifdef INCL_RXSYSEXIT
|
---|
| 525 |
|
---|
| 526 | /*** Subfunction RXFNCCAL - External Function Calls */
|
---|
| 527 | #ifdef __cplusplus
|
---|
| 528 | #pragma pack(1)
|
---|
| 529 | #endif
|
---|
| 530 |
|
---|
| 531 | #ifdef __cplusplus
|
---|
| 532 | typedef struct _RXFNC_FLAGS { /* fl */
|
---|
| 533 | #else
|
---|
| 534 | typedef _Packed struct _RXFNC_FLAGS { /* fl */
|
---|
| 535 | #endif
|
---|
| 536 | unsigned rxfferr : 1; /* Invalid call to routine. */
|
---|
| 537 | unsigned rxffnfnd : 1; /* Function not found. */
|
---|
| 538 | unsigned rxffsub : 1; /* Called as a subroutine */
|
---|
| 539 | } RXFNC_FLAGS ;
|
---|
| 540 |
|
---|
| 541 | #ifdef __cplusplus
|
---|
| 542 | typedef struct _RXFNCCAL_PARM { /* fnc */
|
---|
| 543 | #else
|
---|
| 544 | typedef _Packed struct _RXFNCCAL_PARM { /* fnc */
|
---|
| 545 | #endif
|
---|
| 546 | RXFNC_FLAGS rxfnc_flags ; /* function flags */
|
---|
| 547 | PUCHAR rxfnc_name; /* Pointer to function name. */
|
---|
| 548 | USHORT rxfnc_namel; /* Length of function name. */
|
---|
| 549 | PUCHAR rxfnc_que; /* Current queue name. */
|
---|
| 550 | USHORT rxfnc_quel; /* Length of queue name. */
|
---|
| 551 | USHORT rxfnc_argc; /* Number of args in list. */
|
---|
| 552 | PRXSTRING rxfnc_argv; /* Pointer to argument list. */
|
---|
| 553 | RXSTRING rxfnc_retc; /* Return value. */
|
---|
| 554 | } RXFNCCAL_PARM;
|
---|
| 555 |
|
---|
| 556 |
|
---|
| 557 | /*** Subfunction RXCMDHST -- Process Host Commands */
|
---|
| 558 |
|
---|
| 559 | #ifdef __cplusplus
|
---|
| 560 | typedef struct _RXCMD_FLAGS { /* fl */
|
---|
| 561 | #else
|
---|
| 562 | typedef _Packed struct _RXCMD_FLAGS { /* fl */
|
---|
| 563 | #endif
|
---|
| 564 | unsigned rxfcfail : 1; /* Command failed. */
|
---|
| 565 | unsigned rxfcerr : 1; /* Command ERROR occurred. */
|
---|
| 566 | } RXCMD_FLAGS;
|
---|
| 567 |
|
---|
| 568 | #ifdef __cplusplus
|
---|
| 569 | typedef struct _RXCMDHST_PARM { /* rx */
|
---|
| 570 | #else
|
---|
| 571 | typedef _Packed struct _RXCMDHST_PARM { /* rx */
|
---|
| 572 | #endif
|
---|
| 573 | RXCMD_FLAGS rxcmd_flags; /* error/failure flags */
|
---|
| 574 | PUCHAR rxcmd_address; /* Pointer to address name. */
|
---|
| 575 | USHORT rxcmd_addressl; /* Length of address name. */
|
---|
| 576 | PUCHAR rxcmd_dll; /* dll name for command. */
|
---|
| 577 | USHORT rxcmd_dll_len; /* Length of dll name. */
|
---|
| 578 | RXSTRING rxcmd_command; /* The command string. */
|
---|
| 579 | RXSTRING rxcmd_retc; /* Pointer to return buffer */
|
---|
| 580 | } RXCMDHST_PARM;
|
---|
| 581 |
|
---|
| 582 |
|
---|
| 583 | /*** Subfunction RXMSQPLL -- Pull Entry from Queue */
|
---|
| 584 | #ifdef __cplusplus
|
---|
| 585 | #pragma pack()
|
---|
| 586 | #endif
|
---|
| 587 |
|
---|
| 588 | typedef struct _RXMSQPLL_PARM { /* pll */
|
---|
| 589 | RXSTRING rxmsq_retc; /* Pointer to dequeued entry */
|
---|
| 590 | /* buffer. User allocated. */
|
---|
| 591 | } RXMSQPLL_PARM;
|
---|
| 592 |
|
---|
| 593 |
|
---|
| 594 | /*** Subfunction RXMSQPSH -- Push Entry on Queue */
|
---|
| 595 | #ifdef __cplusplus
|
---|
| 596 | #pragma pack(1)
|
---|
| 597 | #endif
|
---|
| 598 |
|
---|
| 599 | #ifdef __cplusplus
|
---|
| 600 | typedef struct _RXMSQ_FLAGS { /* fl */
|
---|
| 601 | #else
|
---|
| 602 | typedef _Packed struct _RXMSQ_FLAGS { /* fl */
|
---|
| 603 | #endif
|
---|
| 604 | unsigned rxfmlifo : 1; /* Stack entry LIFO if set */
|
---|
| 605 | } RXMSQ_FLAGS;
|
---|
| 606 |
|
---|
| 607 | #ifdef __cplusplus
|
---|
| 608 | typedef struct _RXMSQPSH_PARM { /* psh */
|
---|
| 609 | #else
|
---|
| 610 | typedef _Packed struct _RXMSQPSH_PARM { /* psh */
|
---|
| 611 | #endif
|
---|
| 612 | RXMSQ_FLAGS rxmsq_flags; /* LIFO/FIFO flag */
|
---|
| 613 | RXSTRING rxmsq_value; /* The entry to be pushed. */
|
---|
| 614 | } RXMSQPSH_PARM;
|
---|
| 615 |
|
---|
| 616 |
|
---|
| 617 | /*** Subfunction RXMSQSIZ -- Return the Current Queue Size */
|
---|
| 618 | #ifdef __cplusplus
|
---|
| 619 | #pragma pack()
|
---|
| 620 | #endif
|
---|
| 621 |
|
---|
| 622 | typedef struct _RXMSQSIZ_PARM { /* siz */
|
---|
| 623 | ULONG rxmsq_size; /* Number of Lines in Queue */
|
---|
| 624 | } RXMSQSIZ_PARM;
|
---|
| 625 |
|
---|
| 626 |
|
---|
| 627 | /*** Subfunction RXMSQNAM -- Set Current Queue Name */
|
---|
| 628 |
|
---|
| 629 | typedef struct _RXMSQNAM_PARM { /* nam */
|
---|
| 630 | RXSTRING rxmsq_name; /* RXSTRING containing */
|
---|
| 631 | /* queue name. */
|
---|
| 632 | } RXMSQNAM_PARM;
|
---|
| 633 |
|
---|
| 634 |
|
---|
| 635 | /*** Subfunction RXSIOSAY -- Perform SAY Clause */
|
---|
| 636 |
|
---|
| 637 | typedef struct _RXSIOSAY_PARM { /* say */
|
---|
| 638 | RXSTRING rxsio_string; /* String to display. */
|
---|
| 639 | } RXSIOSAY_PARM;
|
---|
| 640 |
|
---|
| 641 |
|
---|
| 642 | /*** Subfunction RXSIOTRC -- Write Trace Output */
|
---|
| 643 |
|
---|
| 644 | typedef struct _RXSIOTRC_PARM { /* trcparm */
|
---|
| 645 | RXSTRING rxsio_string; /* Trace line to display. */
|
---|
| 646 | } RXSIOTRC_PARM;
|
---|
| 647 |
|
---|
| 648 |
|
---|
| 649 | /*** Subfunction RXSIOTRD -- Read Input from the Terminal */
|
---|
| 650 |
|
---|
| 651 | typedef struct _RXSIOTRD_PARM { /* trd */
|
---|
| 652 | RXSTRING rxsiotrd_retc; /* RXSTRING for output. */
|
---|
| 653 | } RXSIOTRD_PARM;
|
---|
| 654 |
|
---|
| 655 |
|
---|
| 656 | /*** Subfunction RXSIODTR -- Read Debug Input from the Terminal */
|
---|
| 657 |
|
---|
| 658 | typedef struct _RXSIODTR_PARM { /* dtr */
|
---|
| 659 | RXSTRING rxsiodtr_retc; /* RXSTRING for output. */
|
---|
| 660 | } RXSIODTR_PARM;
|
---|
| 661 |
|
---|
| 662 |
|
---|
| 663 | /*** Subfunction RXHSTTST -- Test for HALT Condition */
|
---|
| 664 |
|
---|
| 665 | typedef struct _RXHLT_FLAGS { /* fl Halt flag */
|
---|
| 666 | unsigned rxfhhalt : 1; /* Set if HALT occurred. */
|
---|
| 667 | } RXHLT_FLAGS;
|
---|
| 668 |
|
---|
| 669 | typedef struct _RXHLTTST_PARM { /* tst */
|
---|
| 670 | RXHLT_FLAGS rxhlt_flags; /* Set if HALT occurred */
|
---|
| 671 | } RXHLTTST_PARM;
|
---|
| 672 |
|
---|
| 673 |
|
---|
| 674 | /*** Subfunction RXTRCTST -- Test for TRACE Condition */
|
---|
| 675 |
|
---|
| 676 | typedef struct _RXTRC_FLAGS { /* fl Trace flags */
|
---|
| 677 | unsigned rxftrace : 1; /* Set to run external trace. */
|
---|
| 678 | } RXTRC_FLAGS;
|
---|
| 679 |
|
---|
| 680 | typedef struct _RXTRCTST_PARM { /* tst */
|
---|
| 681 | RXTRC_FLAGS rxtrc_flags; /* Set to run external trace */
|
---|
| 682 | } RXTRCTST_PARM;
|
---|
| 683 |
|
---|
| 684 |
|
---|
| 685 | /* XLATOFF */
|
---|
| 686 |
|
---|
| 687 | /* This typedef simplifies coding of an Exit handler. */
|
---|
| 688 | typedef LONG APIENTRY RexxExitHandler(LONG,
|
---|
| 689 | LONG,
|
---|
| 690 | PEXIT);
|
---|
| 691 |
|
---|
| 692 | /*** RexxRegisterExitDll - Register a system exit. */
|
---|
| 693 |
|
---|
| 694 | #ifdef __cplusplus
|
---|
| 695 | APIRET APIENTRY RexxRegisterExitDll(PCSZ , /* Name of the exit handler */
|
---|
| 696 | PCSZ , /* Name of the DLL */
|
---|
| 697 | PCSZ , /* Name of the procedure */
|
---|
| 698 | PUCHAR, /* User area */
|
---|
| 699 | ULONG ); /* Drop authority */
|
---|
| 700 | #else
|
---|
| 701 | APIRET APIENTRY RexxRegisterExitDll(PSZ, /* Name of the exit handler */
|
---|
| 702 | PSZ, /* Name of the DLL */
|
---|
| 703 | PSZ, /* Name of the procedure */
|
---|
| 704 | PUCHAR, /* User area */
|
---|
| 705 | ULONG ); /* Drop authority */
|
---|
| 706 | #endif
|
---|
| 707 |
|
---|
| 708 | /*** Uppercase Entry Point Name */
|
---|
| 709 | #define REXXREGISTEREXITDLL RexxRegisterExitDll
|
---|
| 710 |
|
---|
| 711 |
|
---|
| 712 | /*** RexxRegisterExitExe - Register a system exit. */
|
---|
| 713 |
|
---|
| 714 | #ifdef __cplusplus
|
---|
| 715 | APIRET APIENTRY RexxRegisterExitExe(PCSZ , /* Name of the exit handler */
|
---|
| 716 | PFN, /* Address of exit handler */
|
---|
| 717 | PUCHAR); /* User area */
|
---|
| 718 | #else
|
---|
| 719 | APIRET APIENTRY RexxRegisterExitExe(PSZ, /* Name of the exit handler */
|
---|
| 720 | PFN, /* Address of exit handler */
|
---|
| 721 | PUCHAR); /* User area */
|
---|
| 722 | #endif
|
---|
| 723 |
|
---|
| 724 | /*** Uppercase Entry Point Name */
|
---|
| 725 | #define REXXREGISTEREXITEXE RexxRegisterExitExe
|
---|
| 726 |
|
---|
| 727 |
|
---|
| 728 |
|
---|
| 729 | /*** RexxDeregisterExit - Drop registration of a system exit. */
|
---|
| 730 |
|
---|
| 731 | #ifdef __cplusplus
|
---|
| 732 | APIRET APIENTRY RexxDeregisterExit(PCSZ , /* Exit name */
|
---|
| 733 | PCSZ ) ; /* DLL module name */
|
---|
| 734 | #else
|
---|
| 735 | APIRET APIENTRY RexxDeregisterExit(PSZ, /* Exit name */
|
---|
| 736 | PSZ ) ; /* DLL module name */
|
---|
| 737 | #endif
|
---|
| 738 |
|
---|
| 739 | /*** Uppercase Entry Point Name */
|
---|
| 740 | #define REXXDEREGISTEREXIT RexxDeregisterExit
|
---|
| 741 |
|
---|
| 742 |
|
---|
| 743 |
|
---|
| 744 | /*** RexxQueryExit - Query an exit for existance. */
|
---|
| 745 |
|
---|
| 746 | #ifdef __cplusplus
|
---|
| 747 | APIRET APIENTRY RexxQueryExit(PCSZ , /* Exit name */
|
---|
| 748 | PCSZ , /* DLL Module name. */
|
---|
| 749 | PUSHORT, /* Existance flag. */
|
---|
| 750 | PUCHAR ); /* User data. */
|
---|
| 751 | #else
|
---|
| 752 | APIRET APIENTRY RexxQueryExit(PSZ, /* Exit name */
|
---|
| 753 | PSZ, /* DLL Module name. */
|
---|
| 754 | PUSHORT, /* Existance flag. */
|
---|
| 755 | PUCHAR ); /* User data. */
|
---|
| 756 | #endif
|
---|
| 757 |
|
---|
| 758 | /*** Uppercase Entry Point Name */
|
---|
| 759 | #define REXXQUERYEXIT RexxQueryExit
|
---|
| 760 | /* XLATON */
|
---|
| 761 |
|
---|
| 762 |
|
---|
| 763 | #endif /* INCL_RXSYSEXIT */
|
---|
| 764 |
|
---|
| 765 |
|
---|
| 766 | /*** Asynchronous Request Interface */
|
---|
| 767 | #ifdef INCL_RXARI
|
---|
| 768 |
|
---|
| 769 | /* XLATOFF */
|
---|
| 770 |
|
---|
| 771 | /*** RexxSetHalt - Request Program Halt */
|
---|
| 772 |
|
---|
| 773 | APIRET APIENTRY RexxSetHalt(PID, /* Process Id */
|
---|
| 774 | TID); /* Thread Id */
|
---|
| 775 |
|
---|
| 776 | /*** Uppercase Entry Point Name */
|
---|
| 777 | #define REXXSETHALT RexxSetHalt
|
---|
| 778 |
|
---|
| 779 |
|
---|
| 780 | /*** RexxSetTrace - Request Program Trace */
|
---|
| 781 |
|
---|
| 782 | APIRET APIENTRY RexxSetTrace(PID, /* Process Id */
|
---|
| 783 | TID); /* Thread Id */
|
---|
| 784 |
|
---|
| 785 | /*** Uppercase Entry Point Name */
|
---|
| 786 | #define REXXSETTRACE RexxSetTrace
|
---|
| 787 |
|
---|
| 788 |
|
---|
| 789 | /*** RexxResetTrace - Turn Off Program Trace */
|
---|
| 790 |
|
---|
| 791 | APIRET APIENTRY RexxResetTrace(PID, /* Process Id */
|
---|
| 792 | TID); /* Thread Id */
|
---|
| 793 |
|
---|
| 794 | /*** Uppercase Entry Point Name */
|
---|
| 795 | #define REXXRESETTRACE RexxResetTrace
|
---|
| 796 |
|
---|
| 797 | /* XLATON */
|
---|
| 798 |
|
---|
| 799 |
|
---|
| 800 | #endif /* INCL_RXARI */
|
---|
| 801 |
|
---|
| 802 |
|
---|
| 803 | /*** Macro Space Interface */
|
---|
| 804 | #ifdef INCL_RXMACRO
|
---|
| 805 |
|
---|
| 806 | /* XLATOFF */
|
---|
| 807 |
|
---|
| 808 | /*** RexxAddMacro - Register a function in the Macro Space */
|
---|
| 809 |
|
---|
| 810 | #ifdef __cplusplus
|
---|
| 811 | APIRET APIENTRY RexxAddMacro(PCSZ , /* Function to add or change */
|
---|
| 812 | PCSZ , /* Name of file to get function*/
|
---|
| 813 | ULONG ); /* Flag indicating search pos */
|
---|
| 814 | #else
|
---|
| 815 | APIRET APIENTRY RexxAddMacro(PSZ, /* Function to add or change */
|
---|
| 816 | PSZ, /* Name of file to get function*/
|
---|
| 817 | ULONG ); /* Flag indicating search pos */
|
---|
| 818 | #endif
|
---|
| 819 |
|
---|
| 820 | /*** Uppercase Entry Point Name */
|
---|
| 821 | #define REXXADDMACRO RexxAddMacro
|
---|
| 822 |
|
---|
| 823 |
|
---|
| 824 |
|
---|
| 825 | /*** RexxDropMacro - Remove a function from the Macro Space */
|
---|
| 826 |
|
---|
| 827 | #ifdef __cplusplus
|
---|
| 828 | APIRET APIENTRY RexxDropMacro(PCSZ ); /* Name of function to remove */
|
---|
| 829 | #else
|
---|
| 830 | APIRET APIENTRY RexxDropMacro(PSZ ); /* Name of function to remove */
|
---|
| 831 | #endif
|
---|
| 832 |
|
---|
| 833 | /*** Uppercase Entry Point Name */
|
---|
| 834 | #define REXXDROPMACRO RexxDropMacro
|
---|
| 835 |
|
---|
| 836 |
|
---|
| 837 |
|
---|
| 838 | /*** RexxSaveMacroSpace - Save Macro Space functions to a file */
|
---|
| 839 |
|
---|
| 840 | #ifdef __cplusplus
|
---|
| 841 | APIRET APIENTRY RexxSaveMacroSpace(ULONG , /* Argument count (0==save all) */
|
---|
| 842 | PCSZ *, /* List of funct names to save */
|
---|
| 843 | PCSZ ); /* File to save functions in */
|
---|
| 844 | #else
|
---|
| 845 | APIRET APIENTRY RexxSaveMacroSpace(ULONG , /* Argument count (0==save all) */
|
---|
| 846 | PSZ *, /* List of funct names to save */
|
---|
| 847 | PSZ); /* File to save functions in */
|
---|
| 848 | #endif
|
---|
| 849 |
|
---|
| 850 | /*** Uppercase Entry Point Name */
|
---|
| 851 | #define REXXSAVEMACROSPACE RexxSaveMacroSpace
|
---|
| 852 |
|
---|
| 853 |
|
---|
| 854 |
|
---|
| 855 | /*** RexxLoadMacroSpace - Load Macro Space functions from a file */
|
---|
| 856 |
|
---|
| 857 | #ifdef __cplusplus
|
---|
| 858 | APIRET APIENTRY RexxLoadMacroSpace(ULONG , /* Argument count (0==load all) */
|
---|
| 859 | PCSZ *, /* List of funct names to load */
|
---|
| 860 | PCSZ ); /* File to load functions from */
|
---|
| 861 | #else
|
---|
| 862 | APIRET APIENTRY RexxLoadMacroSpace(ULONG , /* Argument count (0==load all) */
|
---|
| 863 | PSZ *, /* List of funct names to load */
|
---|
| 864 | PSZ); /* File to load functions from */
|
---|
| 865 | #endif
|
---|
| 866 |
|
---|
| 867 | /*** Uppercase Entry Point Name */
|
---|
| 868 | #define REXXLOADMACROSPACE RexxLoadMacroSpace
|
---|
| 869 |
|
---|
| 870 |
|
---|
| 871 |
|
---|
| 872 | /*** RexxQueryMacro - Find a function's search-order position */
|
---|
| 873 |
|
---|
| 874 | #ifdef __cplusplus
|
---|
| 875 | APIRET APIENTRY RexxQueryMacro(PCSZ , /* Function to search for */
|
---|
| 876 | PUSHORT ); /* Ptr for position flag return */
|
---|
| 877 | #else
|
---|
| 878 | APIRET APIENTRY RexxQueryMacro(PSZ, /* Function to search for */
|
---|
| 879 | PUSHORT ); /* Ptr for position flag return */
|
---|
| 880 | #endif
|
---|
| 881 |
|
---|
| 882 | /*** Uppercase Entry Point Name */
|
---|
| 883 | #define REXXQUERYMACRO RexxQueryMacro
|
---|
| 884 |
|
---|
| 885 |
|
---|
| 886 |
|
---|
| 887 | /*** RexxReorderMacro - Change a function's search-order */
|
---|
| 888 | /*** position */
|
---|
| 889 |
|
---|
| 890 | #ifdef __cplusplus
|
---|
| 891 | APIRET APIENTRY RexxReorderMacro(PCSZ , /* Name of funct change order */
|
---|
| 892 | ULONG ); /* New position for function */
|
---|
| 893 | #else
|
---|
| 894 | APIRET APIENTRY RexxReorderMacro(PSZ, /* Name of funct change order */
|
---|
| 895 | ULONG ); /* New position for function */
|
---|
| 896 | #endif
|
---|
| 897 |
|
---|
| 898 | /*** Uppercase Entry Point Name */
|
---|
| 899 | #define REXXREORDERMACRO RexxReorderMacro
|
---|
| 900 |
|
---|
| 901 |
|
---|
| 902 |
|
---|
| 903 | /*** RexxClearMacroSpace - Remove all functions from a MacroSpace */
|
---|
| 904 |
|
---|
| 905 |
|
---|
| 906 | APIRET APIENTRY RexxClearMacroSpace(VOID ); /* No Arguments. */
|
---|
| 907 |
|
---|
| 908 | /*** Uppercase Entry Point Name */
|
---|
| 909 | #define REXXCLEARMACROSPACE RexxClearMacroSpace
|
---|
| 910 |
|
---|
| 911 | /* XLATON */
|
---|
| 912 |
|
---|
| 913 | #endif /* INCL_RXMACRO */
|
---|
| 914 |
|
---|
| 915 | #endif /* REXXSAA_INCLUDED */
|
---|
| 916 |
|
---|
| 917 | /* NOINC */
|
---|
| 918 | #ifdef __cplusplus
|
---|
| 919 | }
|
---|
| 920 | #endif
|
---|
| 921 | #if __IBMC__ || __IBMCPP__
|
---|
| 922 | #pragma info( none )
|
---|
| 923 | #ifndef __CHKHDR__
|
---|
| 924 | #pragma info( restore )
|
---|
| 925 | #endif
|
---|
| 926 | #pragma info( restore )
|
---|
| 927 | #endif
|
---|
| 928 | /* INC */
|
---|