I find REXX extremely useful on PCs, but TSO/E REXX is a backwater compared to 
ooRexx, and I would be tempted to use Java or Python for complicated TSO 
scripts. But on z/Linux ooRexx with BSF4REXX is a viable option.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי



________________________________________
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
David Crayford <dcrayf...@gmail.com>
Sent: Thursday, November 16, 2023 4:02 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: External Functions in C on z/OS

I choose a language on capabilities rather than personal preference. I’ve been 
accused on this forum by my ex-colleague and pal Wayne Bickerdyke of having a 
pathological dislike of REXX. That’s not true, but I do find it less useful 
than other languages. Python has a useful library called ctypes which includes 
classes for mapping data structures with Python classes. We use 
BigEndianStructure for mapping control blocks 
https://docs.python.org/3/library/ctypes.html#ctypes.BigEndianStructure. It 
would be cool if the tooling that we worked on with Peter Relson to create C 
header files could be reused to generate Python mappings. With the recent zIIP 
offloading Python is strategic.

> On 17 Nov 2023, at 12:38 am, Charles Mills <charl...@mcn.org> wrote:
>
>  Different strokes for different folks.
>
> 1. I was not aware of that pointer. This is the classic documentation 
> problem. The answer is right there in the manual, clear as day -- provided 
> you know where to look. A lot of these answers are easy to find, assuming you 
> already know the answer.
>
> 2. My code is running a complex Rexx environment that frankly I do not fully 
> understand. (I didn't write it and it isn't "mine.") I wanted to be sure I 
> had THE right environment block, not SOME environment block. An 
> 11-instruction assembler module seemed like a great solution. I still believe 
> that it was.
>
>  Charles
>
> On Thu, 16 Nov 2023 11:31:20 +0800, David Crayford <dcrayf...@gmail.com> 
> wrote:
>
>> There's a TSO/E vector table that has the address of the REXX routines.
>>
>> // get the address of the TSO/e vector table
>> CVT  * cvt  = *(( CVT ** ) CVTPTR);
>> TSVT * tsvt = cvt->cvttvt;
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to