Public Attributes
directoryEntry Struct Reference

FAT short directory entry. More...

#include <FatStructs.h>

List of all members.

Public Attributes

uint8_t name [11]
 Short 8.3 name.
uint8_t attributes
 Entry attributes.
uint8_t reservedNT
 Reserved for use by Windows NT.
uint8_t creationTimeTenths
 The granularity of the seconds part of creationTime is 2 seconds so this field is a count of tenths of a second and its valid value range is 0-199 inclusive.
uint16_t creationTime
 Time file was created.
uint16_t creationDate
 Date file was created.
uint16_t lastAccessDate
 Last access date.
uint16_t firstClusterHigh
 High word of this entry's first cluster number (always 0 for a FAT12 or FAT16 volume).
uint16_t lastWriteTime
 Time of last write.
uint16_t lastWriteDate
 Date of last write.
uint16_t firstClusterLow
 Low word of this entry's first cluster number.
uint32_t fileSize
 32-bit unsigned holding this file's size in bytes.

Detailed Description

FAT short directory entry.

Short means short 8.3 name, not the entry size.

Date Format. A FAT directory entry date stamp is a 16-bit field that is basically a date relative to the MS-DOS epoch of 01/01/1980. Here is the format (bit 0 is the LSB of the 16-bit word, bit 15 is the MSB of the 16-bit word):

Bits 9-15: Count of years from 1980, valid value range 0-127 inclusive (1980-2107).

Bits 5-8: Month of year, 1 = January, valid value range 1-12 inclusive.

Bits 0-4: Day of month, valid value range 1-31 inclusive.

Time Format. A FAT directory entry time stamp is a 16-bit field that has a granularity of 2 seconds. Here is the format (bit 0 is the LSB of the 16-bit word, bit 15 is the MSB of the 16-bit word).

Bits 11-15: Hours, valid value range 0-23 inclusive.

Bits 5-10: Minutes, valid value range 0-59 inclusive.

Bits 0-4: 2-second count, valid value range 0-29 inclusive (0 - 58 seconds).

The valid time range is from Midnight 00:00:00 to 23:59:58.

Definition at line 321 of file FatStructs.h.


Member Data Documentation

Entry attributes.

The upper two bits of the attribute byte are reserved and should always be set to 0 when a file is created and never modified or looked at after that. See defines that begin with DIR_ATT_.

Definition at line 334 of file FatStructs.h.

Date file was created.

Definition at line 349 of file FatStructs.h.

Time file was created.

Definition at line 347 of file FatStructs.h.

The granularity of the seconds part of creationTime is 2 seconds so this field is a count of tenths of a second and its valid value range is 0-199 inclusive.

(WHG note - seems to be hundredths)

Definition at line 345 of file FatStructs.h.

32-bit unsigned holding this file's size in bytes.

Definition at line 368 of file FatStructs.h.

Low word of this entry's first cluster number.

Definition at line 366 of file FatStructs.h.

Last access date.

Note that there is no last access time, only a date. This is the date of last read or write. In the case of a write, this should be set to the same date as lastWriteDate.

Definition at line 355 of file FatStructs.h.

Date of last write.

File creation is considered a write.

Definition at line 364 of file FatStructs.h.

Time of last write.

File creation is considered a write.

Definition at line 362 of file FatStructs.h.

uint8_t directoryEntry::name[11]

Short 8.3 name.

The first eight bytes contain the file name with blank fill. The last three bytes contain the file extension with blank fill.

Definition at line 327 of file FatStructs.h.

Reserved for use by Windows NT.

Set value to 0 when a file is created and never modify or look at it after that.

Definition at line 339 of file FatStructs.h.


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