Jackson Lv / utility

Dependents:   SD

Embed: (wiki syntax)

« Back to documentation index

FatStructs.h File Reference

FatStructs.h File Reference

FAT file structures. More...

Go to the source code of this file.

Data Structures

struct  partitionTable
 MBR partition table entry. More...
struct  masterBootRecord
 Master Boot Record. More...
struct  biosParmBlock
 BIOS parameter block. More...
struct  fat32BootSector
 Boot sector for a FAT16 or FAT32 volume. More...
struct  directoryEntry
 FAT short directory entry. More...

Typedefs

typedef struct partitionTable part_t
 Type name for partitionTable.
typedef struct masterBootRecord mbr_t
 Type name for masterBootRecord.
typedef struct biosParmBlock bpb_t
 Type name for biosParmBlock.
typedef struct fat32BootSector fbs_t
 Type name for fat32BootSector.
typedef struct directoryEntry dir_t
 Type name for directoryEntry.

Functions

static uint8_t DIR_IS_LONG_NAME (const dir_t *dir)
 Directory entry is part of a long name.
static uint8_t DIR_IS_FILE (const dir_t *dir)
 Directory entry is for a file.
static uint8_t DIR_IS_SUBDIR (const dir_t *dir)
 Directory entry is for a subdirectory.
static uint8_t DIR_IS_FILE_OR_SUBDIR (const dir_t *dir)
 Directory entry is for a file or subdirectory.

Variables

uint8_t const BOOTSIG0 = 0X55
 Value for byte 510 of boot block or MBR.
uint8_t const BOOTSIG1 = 0XAA
 Value for byte 511 of boot block or MBR.
uint16_t const FAT16EOC = 0XFFFF
 FAT16 end of chain value used by Microsoft.
uint16_t const FAT16EOC_MIN = 0XFFF8
 Minimum value for FAT16 EOC.
uint32_t const FAT32EOC = 0X0FFFFFFF
 FAT32 end of chain value used by Microsoft.
uint32_t const FAT32EOC_MIN = 0X0FFFFFF8
 Minimum value for FAT32 EOC.
uint32_t const FAT32MASK = 0X0FFFFFFF
 Mask a for FAT32 entry.
uint8_t const DIR_NAME_0XE5 = 0X05
 escape for name[0] = 0XE5
uint8_t const DIR_NAME_DELETED = 0XE5
 name[0] value for entry that is free after being "deleted"
uint8_t const DIR_NAME_FREE = 0X00
 name[0] value for entry that is free and no allocated entries follow
uint8_t const DIR_ATT_READ_ONLY = 0X01
 file is read-only
uint8_t const DIR_ATT_HIDDEN = 0X02
 File should hidden in directory listings.
uint8_t const DIR_ATT_SYSTEM = 0X04
 Entry is for a system file.
uint8_t const DIR_ATT_VOLUME_ID = 0X08
 Directory entry contains the volume label.
uint8_t const DIR_ATT_DIRECTORY = 0X10
 Entry is for a directory.
uint8_t const DIR_ATT_ARCHIVE = 0X20
 Old DOS archive bit for backup support.
uint8_t const DIR_ATT_LONG_NAME = 0X0F
 Test value for long name entry.
uint8_t const DIR_ATT_LONG_NAME_MASK = 0X3F
 Test mask for long name entry.
uint8_t const DIR_ATT_DEFINED_BITS = 0X3F
 defined attribute bits
uint8_t const DIR_ATT_FILE_TYPE_MASK = (DIR_ATT_VOLUME_ID | DIR_ATT_DIRECTORY)
 Mask for file/subdirectory tests.

Detailed Description

FAT file structures.

Definition in file FatStructs.h.


Typedef Documentation

typedef struct biosParmBlock bpb_t

Type name for biosParmBlock.

Definition at line 241 of file FatStructs.h.

typedef struct directoryEntry dir_t

Type name for directoryEntry.

Definition at line 374 of file FatStructs.h.

typedef struct fat32BootSector fbs_t

Type name for fat32BootSector.

Definition at line 289 of file FatStructs.h.

typedef struct masterBootRecord mbr_t

Type name for masterBootRecord.

Definition at line 119 of file FatStructs.h.

typedef struct partitionTable part_t

Type name for partitionTable.

Definition at line 95 of file FatStructs.h.


Function Documentation

static uint8_t DIR_IS_FILE ( const dir_t dir ) [static]

Directory entry is for a file.

Definition at line 407 of file FatStructs.h.

static uint8_t DIR_IS_FILE_OR_SUBDIR ( const dir_t dir ) [static]

Directory entry is for a file or subdirectory.

Definition at line 415 of file FatStructs.h.

static uint8_t DIR_IS_LONG_NAME ( const dir_t dir ) [static]

Directory entry is part of a long name.

Definition at line 401 of file FatStructs.h.

static uint8_t DIR_IS_SUBDIR ( const dir_t dir ) [static]

Directory entry is for a subdirectory.

Definition at line 411 of file FatStructs.h.


Variable Documentation

uint8_t const BOOTSIG0 = 0X55

Value for byte 510 of boot block or MBR.

Definition at line 32 of file FatStructs.h.

uint8_t const BOOTSIG1 = 0XAA

Value for byte 511 of boot block or MBR.

Definition at line 34 of file FatStructs.h.

uint8_t const DIR_ATT_ARCHIVE = 0X20

Old DOS archive bit for backup support.

Definition at line 392 of file FatStructs.h.

uint8_t const DIR_ATT_DEFINED_BITS = 0X3F

defined attribute bits

Definition at line 399 of file FatStructs.h.

uint8_t const DIR_ATT_DIRECTORY = 0X10

Entry is for a directory.

Definition at line 390 of file FatStructs.h.

Mask for file/subdirectory tests.

Definition at line 405 of file FatStructs.h.

uint8_t const DIR_ATT_HIDDEN = 0X02

File should hidden in directory listings.

Definition at line 384 of file FatStructs.h.

uint8_t const DIR_ATT_LONG_NAME = 0X0F

Test value for long name entry.

Test is (d->attributes & DIR_ATT_LONG_NAME_MASK) == DIR_ATT_LONG_NAME.

Definition at line 395 of file FatStructs.h.

uint8_t const DIR_ATT_LONG_NAME_MASK = 0X3F

Test mask for long name entry.

Definition at line 397 of file FatStructs.h.

uint8_t const DIR_ATT_READ_ONLY = 0X01

file is read-only

Definition at line 382 of file FatStructs.h.

uint8_t const DIR_ATT_SYSTEM = 0X04

Entry is for a system file.

Definition at line 386 of file FatStructs.h.

uint8_t const DIR_ATT_VOLUME_ID = 0X08

Directory entry contains the volume label.

Definition at line 388 of file FatStructs.h.

uint8_t const DIR_NAME_0XE5 = 0X05

escape for name[0] = 0XE5

Definition at line 376 of file FatStructs.h.

uint8_t const DIR_NAME_DELETED = 0XE5

name[0] value for entry that is free after being "deleted"

Definition at line 378 of file FatStructs.h.

uint8_t const DIR_NAME_FREE = 0X00

name[0] value for entry that is free and no allocated entries follow

Definition at line 380 of file FatStructs.h.

uint16_t const FAT16EOC = 0XFFFF

FAT16 end of chain value used by Microsoft.

Definition at line 278 of file FatStructs.h.

uint16_t const FAT16EOC_MIN = 0XFFF8

Minimum value for FAT16 EOC.

Use to test for EOC.

Definition at line 280 of file FatStructs.h.

uint32_t const FAT32EOC = 0X0FFFFFFF

FAT32 end of chain value used by Microsoft.

Definition at line 282 of file FatStructs.h.

uint32_t const FAT32EOC_MIN = 0X0FFFFFF8

Minimum value for FAT32 EOC.

Use to test for EOC.

Definition at line 284 of file FatStructs.h.

uint32_t const FAT32MASK = 0X0FFFFFFF

Mask a for FAT32 entry.

Entries are 28 bits.

Definition at line 286 of file FatStructs.h.