Holds information about a directory entry
typedef struct dirent {
unsigned long d_attr ;
unsigned short d_time ;
unsigned short d_date ;
long d_size ;
ino_t d_ino ;
dev_t d_dev ;
unsigned long d_cdatetime ;
unsigned long d_adatetime ;
unsigned long d_bdatetime ;
long d_uid ;
unsigned long d_archivedID ;
unsigned long d_updatedID ;
char d_nameDOS [13];
unsigned short d_inheritedRightsMask ;
unsigned char d_originatingNameSpace ;
unsigned long d_ddatetime ;
unsigned long d_deletedID ;
char d_name [255+1];
} DIR;
Specifies the attribute as defined in NWFATTR.H.
Specifies the modification time in DOS format.
Specifies the modification date in DOS format.
Specifies the size (files only).
Specifies the serial number.
Specifies the volume number.
Specifies the creation date and time in DOS format.
Specifies the last access date (files only) in DOS format.
Specifies the last archive date and time in DOS format.
Specifies the owner ID (object ID).
Specifies the object ID that last archived the file.
Specifies the object ID that last updated the file.
Specifies the DOS name space name.
Specifies the inherited rights mask.
Specifies the creating name space.
Specifies the date and time the entry was deleted (used by the ScanErasedFiles function only).
Specifies the object ID that deleted the file (used by the ScanErasedFiles function only).
Specifies the name space name of the entry.
The stack size might need to be increased (by using a link directive) when using the DIR structure especially in functions where the structure is used recursively such as: opendir, readdir, and ScanErasedFiles.
Date and time fields use standard DOS format as explained in the following graphic:
Figure 11-1 Date and Time Fields

The year bits contain the number of years elasped since 1980. That value is added to 1980 and thus provides an accurate count to the year 2000 and beyond.
The seconds are calculated in 2-second intervals, so the value in the seconds bits must be multiplied by 2 to get the accurate number of seconds. For example a value of 15 means that 30 seconds have elapsed toward the next minute.
d_time uses bytes two and three.
d_date uses bytes 0 and 1.
d_cdatetime, d_adatetime, and d_bdatetime use all four bytes.