|
Here is code that walks the ODP chain. Only the traditional ODPs from the QDM* routines are here. The new ODPs from IFS are chained elsewhere, in Unicode. dcl sysptr ?QDMCQ baspco pos(H"21"); dcl mspptr ?Walk; dcl dd Forward bas(?Walk) pos(1) bin(4); dcl sysptr ?ODP bas(?Walk) pos(H"31"); dcl mspptr ?Space; setsppfp ?Walk, ?QDMCQ; -- point to data mgmt queue setsppo ?Walk, H"98"; -- point to shared header cmpnv(b) Forward, -1 / neq(AA); -- jump if a shared exists setsppo ?Walk, H"A0"; -- point to non-shared header AA: cmpnv(b) Forward, -1 / EQ(BB); -- exit loop if end of chain setsppo ?Walk, Forward; -- point to next entry setsppfp ?Space, ?ODP; -- point into an ODP space b AA; -- repeat until end of chain BB: +--- | This is the MI Programmers Mailing List! | To submit a new message, send your mail to MI400@midrange.com. | To subscribe to this list send email to MI400-SUB@midrange.com. | To unsubscribe from this list send email to MI400-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: dr2@cssas400.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.