Re: IPCS - How to find Load Point

2010-02-10 Thread Don Poitras
You might be able to just use the IPCS LIST command (of the EP) and
scrape the output. It shows the offset from the start of the module.


In article <45d79eacefba9b428e3d400e924d36b9030dc...@iwdubcormsg007.sci.local> 
you wrote:
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
> Behalf Of Wayne Driscoll
> Sent: Wednesday, February 10, 2010 4:09 PM
> To: IBM-MAIN@bama.ua.edu
> Subject: Re: IPCS - How to find Load Point

> To find the Load Point of a module, I have used field XTLMSBAD - Address

> of main Storage Block, offset x'0C' into the XLST structure.  I use this

> in conjunction with XTLMSBLN a 3 byte field at offset 9 that is the
> length 
> of the main storage block. Note that this block is NOT part of the 
> intended program interface, so changes are possible to this block.

> 

> Thanx. I had looked at that (in storage), and it just didn't seem right
> to me (because I misread it thanks to the color it showed up in), so I
> didn't use it. But then when I did the math, sure enough it was the Load
> Point, and a "?" and there I was, the Load Point.

> Again, thank you.

> Regards,
> Steve Thompson

-- 
Don Poitras - SAS Development  -  SAS Institute Inc. - SAS Campus Drive
sas...@sas.com   (919) 531-5637Cary, NC 27513

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: IPCS - How to find Load Point

2010-02-10 Thread Steve Comstock

Wayne Driscoll wrote:
To find the Load Point of a module, I have used field XTLMSBAD - Address 
of main Storage Block, offset x'0C' into the XLST structure.  I use this 
in conjunction with XTLMSBLN a 3 byte field at offset 9 that is the length 
of the main storage block. Note that this block is NOT part of the 
intended program interface, so changes are possible to this block.




Quite right. And the name I supplied, SEGAD, is the label of that
field in a SYSUDUMP. Since our debugging classes center around
applications dumps, using just the tools all application programmers
have, I used the name they are most likely to see in a dump.



--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-393-8716
http://www.trainersfriend.com

  z/OS Application development made easier
* Our classes include
   + How things work
   + Programming examples with realistic applications
   + Starter / skeleton code
   + Complete working programs
   + Useful utilities and subroutines
   + Tips and techniques

Ask me about our new, reduced rates for purchasing our course materials
for use by your own trainers or Subject Matter Experts (SMEs).

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: IPCS - How to find Load Point

2010-02-10 Thread Thompson, Steve
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
Behalf Of Wayne Driscoll
Sent: Wednesday, February 10, 2010 4:09 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: IPCS - How to find Load Point

To find the Load Point of a module, I have used field XTLMSBAD - Address

of main Storage Block, offset x'0C' into the XLST structure.  I use this

in conjunction with XTLMSBLN a 3 byte field at offset 9 that is the
length 
of the main storage block. Note that this block is NOT part of the 
intended program interface, so changes are possible to this block.



Thanx. I had looked at that (in storage), and it just didn't seem right
to me (because I misread it thanks to the color it showed up in), so I
didn't use it. But then when I did the math, sure enough it was the Load
Point, and a "?" and there I was, the Load Point.

Again, thank you.

Regards,
Steve Thompson

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: IPCS - How to find Load Point

2010-02-10 Thread Wayne Driscoll
To find the Load Point of a module, I have used field XTLMSBAD - Address 
of main Storage Block, offset x'0C' into the XLST structure.  I use this 
in conjunction with XTLMSBLN a 3 byte field at offset 9 that is the length 
of the main storage block. Note that this block is NOT part of the 
intended program interface, so changes are possible to this block.

===
Wayne Driscoll
OMEGAMON DB2 L3 Support/Development
wdrisco(AT)us.ibm.com
===



From:
"Thompson, Steve" 
To:
IBM-MAIN@bama.ua.edu
Date:
02/10/2010 01:57 PM
Subject:
IPCS - How to find Load Point
Sent by:
IBM Mainframe Discussion List 



I am doing some work with diagnostic tools that run in an IPCS
environment.

I need to, programmatically, find the load point of a module (NOT the
EPA unless that is the Load Point).

I have looked up and tried different things, and FINDMOD doesn't find
what I'm looking for. I have been doing scans and Google and can't seem
to get the answer to what I need.

I have written a REXX routine that does the following (within IPCS):
PSAAOLD to ASCB. ASCBASXB to ASXB. ASXBLTCB to the LAST TCB in the
Address space. That TCB's TCBJSTCB points me to MY Job Step TCB. [Reason
for this is, I don't know if I am an STC or a JOB, JES2 or JES3, but my
code does have multiple TCBs.]

Ok, now the JS TCB's TCBJPQ points to the CDE chain [the JS TCB is where
the primary program issues multiple loads].

Now I can run the CDE chain to find module FOO. Once I find it, that
CDE's CDENTPT is the EPA of the module (just as published). 

Here's the problem. Looking at the Data Areas for LLE and for XTLST I
don't see where the load point is kept. 

My problem is, I need to find a particular string inside this load
module. And I need to start at the Load Point with a FIND for this
string.  In the current case I'm looking at the Load point is x'CA'
BEFORE the EPA (I know because I have the listing to this particular
module). In other cases where I need to do this, the offset will be
different. 

Does anyone know how I can get the Load point address out of one of
these control blocks?

Regards,
Steve Thompson

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: IPCS - How to find Load Point

2010-02-10 Thread Jim Mulder
IBM Mainframe Discussion List  wrote on 02/10/2010 
03:55:05 PM:

> 
> Jim:  Tried that and FINDMOD does not find this module -- is it because
> it is not from the LPA entries and only in Job Pack? 
> 
> Yet I can find it by running the TCBJPQ into the CDE chain as I stated. 

  You are right - the doc says FINDMOD only finds LPA stuff.

Jim Mulder   z/OS System Test   IBM Corp.  Poughkeepsie,  NY

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: IPCS - How to find Load Point

2010-02-10 Thread Thompson, Steve
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
Behalf Of Jim Mulder
Sent: Wednesday, February 10, 2010 2:42 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: IPCS - How to find Load Point

IBM Mainframe Discussion List  wrote on 02/10/2010

02:56:21 PM:

> I am doing some work with diagnostic tools that run in an IPCS
> environment.
> 
> I need to, programmatically, find the load point of a module (NOT the
> EPA unless that is the Load Point).
> 
> I have looked up and tried different things, and FINDMOD doesn't find
> what I'm looking for. I have been doing scans and Google and can't
seem
> to get the answer to what I need.




  The CSVINFO macro can be used in IPCS exit routines, but since 
you are using REXX, you can't use it directly. 

  FINDMOD should create a symbol XLmodulename for the XTLST,
which you may be able to use instead of writing your own logic
to locate the XTLST. 


Jim:  Tried that and FINDMOD does not find this module -- is it because
it is not from the LPA entries and only in Job Pack?  

Yet I can find it by running the TCBJPQ into the CDE chain as I stated. 

Steve Comstock: My Data Areas (PDF versions) do not show SEGAD (even did
a search on the whole directory, via PDS search, of all my data areas
manuals -- 1.7 level). I also did not find it in the presentation on
control blocks.

Regards,
Steve Thompson

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: IPCS - How to find Load Point

2010-02-10 Thread Jim Mulder
IBM Mainframe Discussion List  wrote on 02/10/2010 
02:56:21 PM:

> I am doing some work with diagnostic tools that run in an IPCS
> environment.
> 
> I need to, programmatically, find the load point of a module (NOT the
> EPA unless that is the Load Point).
> 
> I have looked up and tried different things, and FINDMOD doesn't find
> what I'm looking for. I have been doing scans and Google and can't seem
> to get the answer to what I need.
> 
> I have written a REXX routine that does the following (within IPCS):
> PSAAOLD to ASCB. ASCBASXB to ASXB. ASXBLTCB to the LAST TCB in the
> Address space. That TCB's TCBJSTCB points me to MY Job Step TCB. [Reason
> for this is, I don't know if I am an STC or a JOB, JES2 or JES3, but my
> code does have multiple TCBs.]
> 
> Ok, now the JS TCB's TCBJPQ points to the CDE chain [the JS TCB is where
> the primary program issues multiple loads].
> 
> Now I can run the CDE chain to find module FOO. Once I find it, that
> CDE's CDENTPT is the EPA of the module (just as published). 
> 
> Here's the problem. Looking at the Data Areas for LLE and for XTLST I
> don't see where the load point is kept. 
> 
> My problem is, I need to find a particular string inside this load
> module. And I need to start at the Load Point with a FIND for this
> string.  In the current case I'm looking at the Load point is x'CA'
> BEFORE the EPA (I know because I have the listing to this particular
> module). In other cases where I need to do this, the offset will be
> different. 
> 
> Does anyone know how I can get the Load point address out of one of
> these control blocks?

  The CSVINFO macro can be used in IPCS exit routines, but since 
you are using REXX, you can't use it directly. 

  FINDMOD should create a symbol XLmodulename for the XTLST,
which you may be able to use instead of writing your own logic
to locate the XTLST. 

Jim Mulder   z/OS System Test   IBM Corp.  Poughkeepsie,  NY

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: IPCS - How to find Load Point

2010-02-10 Thread Steve Comstock

Thompson, Steve wrote:

I am doing some work with diagnostic tools that run in an IPCS
environment.

I need to, programmatically, find the load point of a module (NOT the
EPA unless that is the Load Point).

I have looked up and tried different things, and FINDMOD doesn't find
what I'm looking for. I have been doing scans and Google and can't seem
to get the answer to what I need.

I have written a REXX routine that does the following (within IPCS):
PSAAOLD to ASCB. ASCBASXB to ASXB. ASXBLTCB to the LAST TCB in the
Address space. That TCB's TCBJSTCB points me to MY Job Step TCB. [Reason
for this is, I don't know if I am an STC or a JOB, JES2 or JES3, but my
code does have multiple TCBs.]

Ok, now the JS TCB's TCBJPQ points to the CDE chain [the JS TCB is where
the primary program issues multiple loads].

Now I can run the CDE chain to find module FOO. Once I find it, that
CDE's CDENTPT is the EPA of the module (just as published). 


Here's the problem. Looking at the Data Areas for LLE and for XTLST I
don't see where the load point is kept. 


My problem is, I need to find a particular string inside this load
module. And I need to start at the Load Point with a FIND for this
string.  In the current case I'm looking at the Load point is x'CA'
BEFORE the EPA (I know because I have the listing to this particular
module). In other cases where I need to do this, the offset will be
different. 


Does anyone know how I can get the Load point address out of one of
these control blocks?


It's in the field named SEGAD.

See data areas book for XTLST, also pages 19-20 from
my SHARE presentation on control blocks.

  http://www.trainersfriend.com/General_content/Book_site.htm

scroll down to the section on SHARE presentations.



--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-393-8716
http://www.trainersfriend.com

  z/OS Application development made easier
* Our classes include
   + How things work
   + Programming examples with realistic applications
   + Starter / skeleton code
   + Complete working programs
   + Useful utilities and subroutines
   + Tips and techniques

Ask me about our new, reduced rates for purchasing our course materials
for use by your own trainers or Subject Matter Experts (SMEs).

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


IPCS - How to find Load Point

2010-02-10 Thread Thompson, Steve
I am doing some work with diagnostic tools that run in an IPCS
environment.

I need to, programmatically, find the load point of a module (NOT the
EPA unless that is the Load Point).

I have looked up and tried different things, and FINDMOD doesn't find
what I'm looking for. I have been doing scans and Google and can't seem
to get the answer to what I need.

I have written a REXX routine that does the following (within IPCS):
PSAAOLD to ASCB. ASCBASXB to ASXB. ASXBLTCB to the LAST TCB in the
Address space. That TCB's TCBJSTCB points me to MY Job Step TCB. [Reason
for this is, I don't know if I am an STC or a JOB, JES2 or JES3, but my
code does have multiple TCBs.]

Ok, now the JS TCB's TCBJPQ points to the CDE chain [the JS TCB is where
the primary program issues multiple loads].

Now I can run the CDE chain to find module FOO. Once I find it, that
CDE's CDENTPT is the EPA of the module (just as published). 

Here's the problem. Looking at the Data Areas for LLE and for XTLST I
don't see where the load point is kept. 

My problem is, I need to find a particular string inside this load
module. And I need to start at the Load Point with a FIND for this
string.  In the current case I'm looking at the Load point is x'CA'
BEFORE the EPA (I know because I have the listing to this particular
module). In other cases where I need to do this, the offset will be
different. 

Does anyone know how I can get the Load point address out of one of
these control blocks?

Regards,
Steve Thompson

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html