Hi Folks,
I just experimented with an undocumented way to do UCB lookups that
works. The advantage of the method is that you can do a full scan of
all defined UCBs and get the REAL UCBs and their associated DCE (DASD
CLASS EXTENSION) (the REAL ones), without being APF-authorized and
without needing a big workarea. This method is used in SHOWzOS (CBT
File 492). Look in the SHOWzOS source for the word ULUT (which means
UCB Lookup Table - there still really is one). Gilbert Saint-flour, of
blessed memory, did the research and "nosing around" that was necessary
to uncover this technique.
To see a useful example of this technique, please download File 731
from the Updates page of www.cbttape.org and assemble and fire up the
TSO command called UCBDASD. The output of UCBDASD is done in PUTLINE
format so it can be captured and displayed under ISPF, using the
included TSOV, TSOE, TSOB, and TSOR rexx execs. You'll like what you
see. None of this stuff is APF-authorized. I tried to document what is
happening, in the UCBDASD source code, so you can see the technique at
work. If you look at the storage around displayed UCB and DCE addresses
for each DASD volume using the LOOK fullscreen storage-browser TSO
command from CBT File 264, you'll see MUCH more detail about what can be
displayed. These are REAL UCBs and DCEs, not copies. No authorization
necessary. Mucho cool.
A couple of days ago, a friend of ours fixed the old PACKRAT
(dataset scratching fullscreen) TSO command to work under z/OS (CBT File
046). PACKRAT had broken after the OS/390 2.10 level, and didn't work
anymore on z/OS 1.1, because of its UCB scan in the BACKEND module of
PACKRAT. Our friend fixed PACKRAT by using the UCBSCAN macro in the
BACKEND module, but just for kicks, I was able to fix it a different way
using this method of using the ULUT (UCB Lookup Table). See File 046 on
the UPDATES page of www.cbttape.org for the results.
UCBDASD was tested back to ESA 5.2.2 and forward to z/OS 1.13. So
you see that the technique is pretty stable. The format of the ULUT
changed (from type 1 to type 2) at z/OS 1.7, but if you account for the
difference (UCBDASD does it - see the code), everything is transparent.
Macros: IEFUCBOB from Maclib, IECDDCE from Modgen.
Have fun......
All the best.......
Sam
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN