There is a field in the LE Enclave Control Block called CEEEDB_R13_PARENT which is a pointer to a DSA containing the registers of the enclave parent. If you can be bothered. I would just use IRXINIT("FINDENVB ") to get the environment block as opposed to fiddling about with control blocks.

On 29/10/22 06:46, Charles Mills wrote:
Thanks.

What is the relevance to my question? (How do I obtain the contents of R0 on 
entry to a C program from Rexx?)

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Seymour J Metz
Sent: Friday, October 28, 2022 3:02 PM
To: [email protected]
Subject: Re: XLC C/C++, __R1 and Register 0

There are three cases

  1. address foo bar baz
     Pass command bar baz to environment foo
     address foo
     bar baz

  2. call bar baz
     Invoke bar with parameter baz; return value optional

  3. bar(baz) in an expression
     Invoke bar with parameter baz; return value required
The last two cases are essentially the same. In the first case the value of baz 
is passed as a single parameter even if it contains spaces or commas, but the 
command processor for the environment may parse it into subparameters.

In the second and third cases baz must be a list of expressions, separated by 
commas; there are no constrains on the values of those expressions.

z/OS 2.5 TSO/E REXX Reference, SA32-0972-5, contains details in Chapter 12. 
TSO/E REXX programming services and Chapter 14. Language processor environments

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

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

Reply via email to