I hate to answer my own question cause it means I didn't do enough work before asking.
I just wrote a program to scan LPDE queue via CVTLPDIA and found that LPDECHN of the first LPDE is zero and it's impossible for a chain. Then I guess it might be an array-like structure, not a chain. So I increased my pointer by 40 each time until a x'FFFFFFFF' of LPDECHN is encountered. It works to some extent: all entry names of LPA directory are printed except that some names are non-displayable characters. Anyway, since CVTLPDIA is not supposed to be a programming interface, it doesn't matter. Then I searched the archive again. This time I'm using the keyword 'CVTLPDIR' and hit an old post from 1998 which answers my question exactly. I should have used that keyword earlier. The following is an abstract from what Peter Relson said in that post: ------------------------------------------------------------------------------------------------------------- Modules in the LPA directory are those specified during IPL via LPALSTxx. Modules on the LPA CDE queue (also known as the active LPA queue) are those specified during IPL via IEALPAxx and IEAFIXxx as well as modules after IPL that were defined by an authorized caller of the IDENTIFY service against something in LPA. In addition, vendor-added LPA modules, and those added (OS/390 R4) using dynamic LPA services appear on this queue. Note that CVTQLPAQ is not an intended programming interface, and any program that searches that queue by picking up the pointer in that field and running the queue itself will not locate all of the "active LPA" modules (in particular those added using dynamic LPA). CSVQUERY and CSVINFO are the intended programming interfaces to search and scan LPA. ----------------------------------------------------------------------------------------------------------- On 11/1/07, Johnny Luo <[EMAIL PROTECTED]> wrote: > > Hi, > > I know for a job step there is a CDE chain (JPAQ) which describes all > modules in JPA (or CSA if LOAD GLOBAL is used). However, for LPA it's not so > clear to me. I have searched the archive and could not find a satisfying > answer. I hope I can get some help here. > > My current understanding is that, for LPA, there are two separate queues > to manage it. > > The first is the LPDE queue which is built for PLPA and itself resides in > LPA. Unlike CDE, the last part of LPDE describes the virtual storage area > used by the corresponding module. CVTLPDIA points to this queue. > > And for other parts of LPA(FLPA, MLPA) there is a CDE queue just like > JPAQ. CVTQLPAQ can be used to find it and I believe it is in CSA or SQA. > Since we can load the module to CSA and modify this queue to reflect the > change, dynamic LPA is available. > > Of course this queue is always searched before the LPDE queue as far as > LPA is concerned. > > Can you help me to verify that? I have worked on this for some time -_- > > Thanks. > Johnny > > -- Best Regards, Johnny Luo ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html