|
Some objects don't have descriptors. This include msgq's and logicals. However, as you observed, there's a list of structures at the beginning that contains all saved objects. The header that has the library name is 80 bytes long. It's followed by the list of 151-byte structures, one per object: Offset Length Description x00 30 Object name x1E 2 Object type & subtype x20 30 Owner x42 1 Flags - x80=additional info is present x43 4 Size of object x47 4 Offset to additional info x4B 4 Offset to OIR info The offsets are from the beginning of the header. The OIR info includes most of the stuff you see in DSPOBJD--text etc. It also appears at the bottom of DMPOBJ listings after the string "OIR DATA-". (OIR = Object Information Repository, actually part of the library, not the objects.) The additional info is present for some object types, including database files. Its format is different for various object types, but always starts with a 16 byte header: Offset Length Description x00 4 Number of MI objects comprising the object x04 4 Length of additional info Database files have a 48-byte structure after this header: Offset Length Description x00 4 Length of FDT x04 4 Offset (from begin of this structure) to first member description (see below) This is followed by the FDT, File Definition Template, which is the first object you see in a DMPOBJ listing of a file, after the string "SPACE-". After the FDT comes the *FMT structure, also visibile in a DMPOBJ listing. Then come member description(s): Offset Length Description x00 4 Length of mbr desc (less x10) x04 10 Member name Each member description starts on a 16-byte boundary. After this there may be various structures describing the MI objects that comprise the file (Data Spaces & Data Space Indexes), and the complicated relations between logical file members, physical members they're based on, and access paths. --Dave "James H. H. Lampert" wrote: > Fellow Programmers: > > I'm successfully analyzing save files with one difficulty: > > When I step through the "L/D OBJECT DESCRIPTOR" records, I don't see any > message queues or logical files. I do, however, see a list of names > (including, apparently, everything) in the master header data. Do we > know how this is organized, and whether there's any further useful > information there besides the names? > > Just getting the original library is adequate, but the more I know about > the contents, the better, considering as how this is intended to go into > a save-file-aware FTP client. > > -- > James H. H. Lampert > Professional Dilettante who sometimes codes in MI, OPM RPG, ILE RPG, OPM > CL, ILE C, and Java, all in the same day. > http://www.hb.quik.com/jamesl > Have you visited http://www.thehungersite.com today? +--- | 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.