The initiator puts allocations into the TIOT; DYNALLOC supports both. There is 
only one XTIOT for a jobstep, above the line.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר



________________________________________
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
Bernd Oppolzer <bernd.oppol...@t-online.de>
Sent: Friday, August 30, 2024 4:41 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JAVA: Can it handle TIOT read?

I don't know much about XTIOT, sorry for my ignorance ...

some papers that I read from 2012 talk about XTIOT being related to
DYNALLOC and subsystems.
I would like to know if "normal" (?) allocations done using JCL DD
statements still go into the TIOT,
or if not, how this is controlled. If the XTIOT is different and
separate from the TIOT and cannot be
addressed from the own TCB (as before), how can it be found? Or: are
there more than one XTIOTs?

We still have lot's of places in my customer's system, where we look for
certain DDNAMEs using
the logic below (in ASSEMBLER most of the time, not in C, but that makes
no difference).
The logic, BTW, has no AMODE 24 restriction; it would work well with 31
bit pointers.
But in our system we always have batch jobs (or jobs controlling IMS DC
sessions or other things)
and we look for JCL DD statements ... and most often simple DD DUMMY
statements,
and the DD names found (or not found) are used to control some features
of the programs ...

e.g.:  //NOSPIE DD DUMMY

which disables an ESPIE call in a certain ASSEMBLER startup routine.

IMO, this still works ... at least I didn't hear of any problems with
this solution so far.

Cheers,
Bernd


Am 30.08.2024 um 17:45 schrieb Farley, Peter:
> Bernd, I don’t think that code handles the XTIOT (above the line), which is 
> pretty commonly standard these days.
>
> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
> Bernd Oppolzer
> Sent: Friday, August 30, 2024 11:32 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: JAVA: Can it handle TIOT read?
>
>
> Don't know, if this helps, but this is a function that reads the TIOT,
>
> looking for a certain DDNAME, and returning success (pointer to the TIOT
>
> entry)
>
> or fail (NULL).
>
>
>
> This is ANSI C. No DSECTs or structure definitions needed.
>
>
>
> Cheers,
>
> Bernd
>
>
>
>
>
> static char *check_ddname (char *ddname)
>
>
>
> /************************************************/
>
> /*                                              */
>
> /*   Vorgegebener DDName wird gesucht           */
>
> /*                                              */
>
> /************************************************/
>
>
>
> {
>
>      char *adresse_tcb;
>
>      char *adresse_tiot;
>
>      char *laenge_tiot;
>
>      char *ddname_tiot;
>
>
>
>      adresse_tcb = adressiere_tcb ();
>
>      adresse_tiot = *(((char **) adresse_tcb) + 3);
>
>
>
>      for (laenge_tiot = adresse_tiot + 24;
>
>           *laenge_tiot != 0;
>
>           laenge_tiot += *laenge_tiot)
>
>      {
>
>         ddname_tiot = laenge_tiot + 4;
>
>
>
>         if (memcmp (ddname_tiot, ddname, 8) == 0)
>
>         {
>
>            return ddname_tiot;
>
>         }
>
>      }
>
>
>
>      return NULL;
>
> }
>
>
>
>
>
> Oh, I forgot the function to retrieve the address of the TCB:
>
>
>
>
>
> static char *adressiere_tcb (void)
>
>
>
> /************************************************/
>
> /*                                              */
>
> /*   Über die TIOT (Task-IO-Table)              */
>
> /*   werden die DDNamen und die                 */
>
> /*   zugeordneten DSNamen gesucht               */
>
> /*                                              */
>
> /************************************************/
>
>
>
> {
>
>      char ***cvt_pointer;
>
>      char **tcb_tabelle;
>
>
>
>      cvt_pointer = *((char ****) 16);
>
>      tcb_tabelle = *cvt_pointer;
>
>      return *(tcb_tabelle + 1);
>
> }
>
>
>
> Comments in German language, sorry for that.
>
>
>
>
>
>
>
>
>
> Am 30.08.2024 um 17:13 schrieb Denis:
>
>>    Have you tried to use peekOSMemory, its a bit strange to do control Block 
>> hopping in Java and using this method, there is No dsect conversion or so, 
>> Just Pointer Arithmetik, but it should be possible to do similar Things as 
>> in Assembler.
>> https://urldefense.com/v3/__https://github.com/zsystems/java-samples/blob/master/PeekOSMemory.java__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!NEx7ohh6jGjaguKWNtdhaxAKUaFx-22ClbFpOzQ6bUKuJ3bdUqITCqnpPknJ8ySX0mHR1pByDDmZgdn9EvuMtwbilCEF6ExPzws$<https://urldefense.com/v3/__https:/github.com/zsystems/java-samples/blob/master/PeekOSMemory.java__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!NEx7ohh6jGjaguKWNtdhaxAKUaFx-22ClbFpOzQ6bUKuJ3bdUqITCqnpPknJ8ySX0mHR1pByDDmZgdn9EvuMtwbilCEF6ExPzws$>
>> You could combine it with the jzos record Generator, that allows to create 
>> Byte identical Java records with getter and Setter methods based on cobol 
>> copybooks or Assembler dsects.
>> But the Code Looks strange to a Java Developer.
>> Denis.
>>       On Friday, August 30, 2024 at 04:57:29 PM GMT+2, Steve Thompson 
>> <ste...@wkyr.net<mailto:ste...@wkyr.net>> wrote:
>>    I'm working on a project to "modernize" ALC to Java.
>> And I have code that is reading the TIOT to find DDs that the
>> process is interested in.
>> The subject is the question. I'm documenting routines (biz logic)
>> and the program I'm working on is a bit challenging.
>> I know Java, kinda, when I see it. But I haven't found any method
>> for this.
>> Anyone have to deal with this before (in Java)?
>> Regards,
>> Steve Thompson
> --
>
> This message and any attachments are intended only for the use of the 
> addressee and may contain information that is privileged and confidential. If 
> the reader of the message is not the intended recipient or an authorized 
> representative of the intended recipient, you are hereby notified that any 
> dissemination of this communication is strictly prohibited. If you have 
> received this communication in error, please notify us immediately by e-mail 
> and delete the message and any attachments from your system.
>
>
> ----------------------------------------------------------------------
> 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