ISO 9660: how to find children in a directory
Ok, so I am currently working on an assignment in C ++ to read from a 1st level 9660 image. The purpose of the assignment is to decompress the contents to disk. I can get the main volume descriptor and navigate to the root directory and its size, but I don't know what to do next.
So how do I find children based on the root directory entry? I think I am trying to understand how children files and directories are put into a link to their parent?
I would really like the correct answer and not just "read this" as I am already scouring the internet (reading specs, etc.) trying to figure it out. And either its poorly documented or I'm just blind. :(
source to share
So I think I'll answer my own question. After some experimentation and hex editing iso I found the answer. The child directory entries are actually sequential after the self and parent "pointer" entries. Assuming the entire sector has been read into char [2048], to get the next entry, you just need to increment the pointer to the value stored at offset 0 of the current directory entry.
source to share