logo.gif (6996 bytes)
ObjectContainer

Object

Up
Block header
Root
AdminSpaceContainer
Bitmap
ObjectContainer
HashTable
BNodeContainer

The fsObjectContainer structure is used to hold a variable number of fsObjects structures (Objects) which have the same parent directory.  Each ObjectContainer must contain atleast one Object.  If there is space in the ObjectContainer not used by the variable number of Objects then that space is zero filled.  Objects always start at 2-byte boundaries, which means sometimes a padding byte is inserted between two Objects.

Field Type Description
bheader struct fsBlockHeader Standard block header.
parent NODE The node number of the parent Object, or 0 if this object has no parent (which is only the case for the Root directory).
next BLCK The next ObjectContainer belonging to this directory, or zero if it is the last in the chain.
previous BLCK The previous ObjectContainer belonging to this directory, or zero if it is the first ObjectContainer in this directory.
object struct fsObject A variable number of fsObject structures.  The number of structures depends on the individual sizes of each fsObject structure and the blocksize.  These structures are located directly after each other with at most 1 byte of padding between them to get the structures aligned on a 2 byte boundary.
struct fsObjectContainer {
    struct fsBlockHeader bheader;
    NODE parent;
    BLCK next;
    BLCK previous;
    struct fsObject object[0];
}; 

All rights reserved.
For comments, problems or questions regarding this page contact John Hendrikx.
Last updated: 17 oktober 1998.