Harlequin RIP SDK

Describes a node, which is a named entry within the filesystem, and is either a file or a directory. More...

#include "memfs.h"

Data Fields

uint32 type
 Indicates whether this node is a file or a directory.
 
HqBool fReadOnly
 Indicates whether this node (regardless of its type) should be locked against changes.
 
HqBool fDynamic
 Determines whether this structure (and its pointer fields) refer to runtime-allocated memory, and thus whether they should be freed when this node is destroyed.
 
char * pszName
 The leaf name of this entry within the filesystem.
 
MFSFILEpFile
 Pointer to the file, if this node is a file. More...
 
MFSDIRpDir
 Pointer to the directory, if this node is a directory. More...
 

Detailed Description

Describes a node, which is a named entry within the filesystem, and is either a file or a directory.

If this node is a file, then it is a leaf node. If it is a directory, then it contains an array of pointers to the child MFSNODE structures.

Nodes do not contain parent pointers.

Field Documentation

◆ pDir

MFSDIR* _MFSNODE::pDir

Pointer to the directory, if this node is a directory.

Only one of the pFile or pDir slots is used in any one node. Conceptually, these two fields are a union. We do not use a union, however, because unions are hard to initialize statically. (The C standard dictates that only the first field of a union may be statically initialized).

◆ pFile

MFSFILE* _MFSNODE::pFile

Pointer to the file, if this node is a file.

Only one of the pFile or pDir slots is used in any one node. Conceptually, these two fields are a union. We do not use a union, however, because unions are hard to initialize statically. (The C standard dictates that only the first field of a union may be statically initialized).


The documentation for this struct was generated from the following file: