SdFat
Public Attributes
directoryEntry Struct Reference

FAT short directory entry. More...

#include <SdFatStructs.h>

List of all members.

Public Attributes

uint8_t attributes
uint16_t creationDate
uint16_t creationTime
uint8_t creationTimeTenths
uint32_t fileSize
uint16_t firstClusterHigh
uint16_t firstClusterLow
uint16_t lastAccessDate
uint16_t lastWriteDate
uint16_t lastWriteTime
uint8_t name [11]
uint8_t reservedNT

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.


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_.

Date file was created.

Time file was created.

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)

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

High word of this entry's first cluster number (always 0 for a FAT12 or FAT16 volume).

Low word of this entry's first cluster number.

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.

Date of last write. File creation is considered a write.

Time of last write. File creation is considered a write.

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.

Reserved for use by Windows NT. Set value to 0 when a file is created and never modify or look at it after that.


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