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
