COSA
An Object-Oriented Platform for Arduino Programming
FAT16::bpb_t Struct Reference

#include <FAT16.hh>

Collaboration diagram for FAT16::bpb_t:
Collaboration graph

Public Attributes

uint16_t bytesPerSector
 
uint8_t sectorsPerCluster
 
uint16_t reservedSectorCount
 
uint8_t fatCount
 
uint16_t rootDirEntryCount
 
uint16_t totalSectors16
 
uint8_t mediaType
 
uint16_t sectorsPerFat16
 
uint16_t sectorsPerTrtack
 
uint16_t headCount
 
uint32_t hidddenSectors
 
uint32_t totalSectors32
 
uint32_t sectorsPerFat32
 
uint16_t fat32Flags
 
uint16_t fat32Version
 
uint32_t fat32RootCluster
 
uint16_t fat32FSInfo
 
uint16_t fat32BackBootBlock
 
uint8_t fat32Reserved [12]
 

Detailed Description

BIOS parameter block; The BIOS parameter block describes the physical layout of a FAT volume.

Definition at line 148 of file FAT16.hh.

Member Data Documentation

uint16_t FAT16::bpb_t::bytesPerSector

Count of bytes per sector. This value may take on only the following values: 512, 1024, 2048 or 4096

Definition at line 153 of file FAT16.hh.

uint16_t FAT16::bpb_t::fat32BackBootBlock

If non-zero, indicates the sector number in the reserved area of the volume of a copy of the boot record. Usually 6. No value other than 6 is recommended.

Definition at line 257 of file FAT16.hh.

uint16_t FAT16::bpb_t::fat32Flags

This field is only defined for FAT32 media and does not exist on FAT12 and FAT16 media. Bits 0-3 – Zero-based number of active FAT, Only valid if mirroring is disabled. Bits 4-6 – Reserved. Bit 7 – 0 means the FAT is mirrored at runtime into all FATs, 1 means only one FAT is active; it is the one referenced in bits 0-3. Bits 8-15 – Reserved.

Definition at line 236 of file FAT16.hh.

uint16_t FAT16::bpb_t::fat32FSInfo

Sector number of FSINFO structure in the reserved area of the FAT32 volume. Usually 1.

Definition at line 251 of file FAT16.hh.

uint8_t FAT16::bpb_t::fat32Reserved[12]

Reserved for future expansion. Code that formats FAT32 volumes should always set all of the bytes of this field to 0.

Definition at line 262 of file FAT16.hh.

uint32_t FAT16::bpb_t::fat32RootCluster

Cluster number of the first cluster of the root directory for FAT32. This usually 2 but not required to be 2.

Definition at line 246 of file FAT16.hh.

uint16_t FAT16::bpb_t::fat32Version

FAT32 version. High byte is major revision number. Low byte is minor revision number. Only 0.0 define.

Definition at line 241 of file FAT16.hh.

uint8_t FAT16::bpb_t::fatCount

The count of FAT data structures on the volume. This field should always contain the value 2 for any FAT volume of any type.

Definition at line 168 of file FAT16.hh.

uint16_t FAT16::bpb_t::headCount

Number of heads for interrupt 0x13. Not used otherwise.

Definition at line 208 of file FAT16.hh.

uint32_t FAT16::bpb_t::hidddenSectors

Count of hidden sectors preceding the partition that contains this FAT volume. This field is generally only relevant for media visible on interrupt 0x13.

Definition at line 214 of file FAT16.hh.

uint8_t FAT16::bpb_t::mediaType

This dates back to the old MS-DOS 1.x media determination and is no longer usually used for anything. 0xF8 is the standard value for fixed (non-removable) media. For removable media, 0xF0 is frequently used. Legal values are 0xF0 or 0xF8-0xFF.

Definition at line 194 of file FAT16.hh.

uint16_t FAT16::bpb_t::reservedSectorCount

Number of sectors before the first FAT. This value must not be zero.

Definition at line 164 of file FAT16.hh.

uint16_t FAT16::bpb_t::rootDirEntryCount

For FAT12 and FAT16 volumes, this field contains the count of 32-byte directory entries in the root directory. For FAT32 volumes, this field must be set to 0. For FAT12 and FAT16 volumes, this value should always specify a count that when multiplied by 32 results in a multiple of bytesPerSector. FAT16 volumes should use the value 512.

Definition at line 177 of file FAT16.hh.

uint8_t FAT16::bpb_t::sectorsPerCluster

Number of sectors per allocation unit. This value must be a power of 2 that is greater than 0. The legal values are 1, 2, 4, 8, 16, 32, 64, and 128.

Definition at line 159 of file FAT16.hh.

uint16_t FAT16::bpb_t::sectorsPerFat16

Count of sectors occupied by one FAT on FAT12/FAT16 volumes. On FAT32 volumes this field must be 0, and sectorsPerFat32 contains the FAT size count.

Definition at line 200 of file FAT16.hh.

uint32_t FAT16::bpb_t::sectorsPerFat32

Count of sectors occupied by one FAT on FAT32 volumes.

Definition at line 225 of file FAT16.hh.

uint16_t FAT16::bpb_t::sectorsPerTrtack

Sectors per track for interrupt 0x13. Not used otherwise.

Definition at line 204 of file FAT16.hh.

uint16_t FAT16::bpb_t::totalSectors16

This field is the old 16-bit total count of sectors on the volume. This count includes the count of all sectors in all four regions of the volume. This field can be 0; if it is 0, then totalSectors32 must be non-zero. For FAT32 volumes, this field must be 0. For FAT12 and FAT16 volumes, this field contains the sector count, and totalSectors32 is 0 if the total sector count fits (is less than 0x10000).

Definition at line 187 of file FAT16.hh.

uint32_t FAT16::bpb_t::totalSectors32

This field is the new 32-bit total count of sectors on the volume. This count includes the count of all sectors in all four regions of the volume. This field can be 0; if it is 0, then totalSectors16 must be non-zero.

Definition at line 221 of file FAT16.hh.


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