Hi Folks,

Alex Brodsky was kind enough to point out to me that the ULUT has to be serialized, and he referred me to the SETLOCK macro, which talks about this.

However, it seems to me that serialization is necessary only if you want to change something in the ULUT, and not if you just want to look up real UCB addresses without having to be authorized. In other words, my programs UCBDASD (CBT File 731), which just displays online DASD UCB's, and the other program PACKRATU (CBT File 046), whose BACKENDU module only has to find the UCB for the DASD unit that you want to scratch datasets on, don't need a lock, because you're just DISPLAYING the UCB's (UCBDASD) or finding their address initially (BACKENDU), and not changing anything. So you don't need a lock, because you're not changing anything, and therefore you don't have to get authorized in order to obtain any lock.

Alex himself pointed this out as well, but I wanted to bring it to your attention, since some of you might want to write programs which scan UCB's using this method. If you need to change something in the ULUT itself, it needs to be serialized and the program has to be APF-authorized to do that (I think). But if you're just doing lookups, it doesn't seem to matter.

Again, I want to point out that this is an "undocumented interface" because it changes, and anyone who uses it, is obligated to keep track of the changes. As long as you query the "type" field in the ULUT, which is a one-byte field right after the "ULUT" eyecatcher, at ULUT+4, and you account for the layout of that particular ULUT "type", it seems that you're going to be OK.

    All the best of everything to all of you.

Sincerely,   Sam

----------------------------------------------------------------------
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