On Sat, 28 Feb 2026 18:26:39 +0000, Farley, Peter  wrote:

>Charles, you will need two levels to accomplish this from Rexx.  First you 
>need a Rexx function or ADDRESS mode package written in assembler or MetalC 
>that will load and call your C code the first time, using CEEPIPI to 
>initialize the C environment, and save the entry point address and the address 
>of the GETMAIN'ed CEEPIPI area in the user area of one of the Rexx control 
>blocks or in a saved named whatchamacallit (I forget the macro name – the z/OS 
>mechanism behind CICS named counters) for subsequent calls.  And for 
>completeness you'll probably need an "exit" call as well to clean up the 
>loaded code and dynamic storage before Rexx termination.  Something like the 
>equivalent of a C "atexit()" function.
>
>The problem is that z/OS Rexx has no concept of a “load this external function 
>once and call the same copy the next time”.  It sure would be nice if someone 
>wrote generalized "loaded function" glue code for z/OS Rexx and contributed it 
>to CBT, but sadly we do not have that yet.
>    ...
Could the C or Assembler refreshable  function keep any needed
persistent data in Obtained storage and return the address of
such a block to REXX?

-- 
gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to