FAT short directory entry. More...
#include <FatStructs.h>
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. |
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.
uint8_t directoryEntry::attributes |
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.
uint16_t directoryEntry::creationDate |
Date file was created.
Definition at line 349 of file FatStructs.h.
uint16_t directoryEntry::creationTime |
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.
uint32_t directoryEntry::fileSize |
32-bit unsigned holding this file's size in bytes.
Definition at line 368 of file FatStructs.h.
uint16_t directoryEntry::firstClusterLow |
Low word of this entry's first cluster number.
Definition at line 366 of file FatStructs.h.
uint16_t directoryEntry::lastAccessDate |
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.
uint16_t directoryEntry::lastWriteDate |
Date of last write.
File creation is considered a write.
Definition at line 364 of file FatStructs.h.
uint16_t directoryEntry::lastWriteTime |
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.
uint8_t directoryEntry::reservedNT |
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.