This repository has been archived on 2020-09-09. You can view files and clone it, but cannot push or open issues or pull requests.
arduino_universal_serial_ad.../Libraries/SdFat/html/structfat__boot.html

413 lines
21 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>SdFat: fat_boot Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SdFat</div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> </div>
<div class="headertitle">
<div class="title">fat_boot Struct Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="fat_boot" -->
<p>Boot sector for a FAT12/FAT16 volume.
<a href="structfat__boot.html#details">More...</a></p>
<p><code>#include &lt;SdFatStructs.h&gt;</code></p>
<p><a href="structfat__boot-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#acf9f5d9f61a6e680e11849f957ecf782">bootCode</a> [448]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a7951b888af4f357b84dd40af2ef7f29d">bootSectorSig0</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#afe8f58668ff594bb2022ce7c06b7726c">bootSectorSig1</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a712dc388c530e91e4a692e7102d6bdc8">bootSignature</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a60b2461f8ebf0ad295a95094e1bd7d65">bytesPerSector</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#aebd280b93563b75b9612d3db844b0d16">driveNumber</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a04d3b6a45acf28a80ff909dc1b33da2f">fatCount</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#aee529e32908406866f3ec3c17c4632fa">fileSystemType</a> [8]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#ae31da876cd9f48de5268a129218df2c2">headCount</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a18f1b4c245fe7bd09f5a9430c005e23a">hidddenSectors</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a83f9f2d1d0130f25f34c90dfc82e3751">jump</a> [3]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a63eaf7185663369af2527309634d3c90">mediaType</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#adc034212201e879fea1eb44db43e55a5">oemId</a> [8]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#affa7e6efb3ccea19ba7ea0ddadce7463">reserved1</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a13f272a8f780fb43a400f873a3fd7b73">reservedSectorCount</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a2124f89e12307df944f08e6657dbf4af">rootDirEntryCount</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#ab3063726125b16a2ccad719548d79abd">sectorsPerCluster</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a0d5ab13399759acfa571e49b85600db1">sectorsPerFat16</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a6d5ceaf374e0607be8b8162bf657f282">sectorsPerTrack</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#ac8bd40dd9186882e423e10b0c83e89b7">totalSectors16</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#addeb2dd8f78418edbf544303d44133e2">totalSectors32</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#a9ee733f1b1abc0210ec8f9676bba2218">volumeLabel</a> [11]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfat__boot.html#ac05e88a0d27f0340ba008834361d2b20">volumeSerialNumber</a></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Boot sector for a FAT12/FAT16 volume. </p>
</div><hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="acf9f5d9f61a6e680e11849f957ecf782"></a><!-- doxytag: member="fat_boot::bootCode" ref="acf9f5d9f61a6e680e11849f957ecf782" args="[448]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="structfat__boot.html#acf9f5d9f61a6e680e11849f957ecf782">fat_boot::bootCode</a>[448]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>X86 boot code </p>
</div>
</div>
<a class="anchor" id="a7951b888af4f357b84dd40af2ef7f29d"></a><!-- doxytag: member="fat_boot::bootSectorSig0" ref="a7951b888af4f357b84dd40af2ef7f29d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="structfat__boot.html#a7951b888af4f357b84dd40af2ef7f29d">fat_boot::bootSectorSig0</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>must be 0X55 </p>
</div>
</div>
<a class="anchor" id="afe8f58668ff594bb2022ce7c06b7726c"></a><!-- doxytag: member="fat_boot::bootSectorSig1" ref="afe8f58668ff594bb2022ce7c06b7726c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="structfat__boot.html#afe8f58668ff594bb2022ce7c06b7726c">fat_boot::bootSectorSig1</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>must be 0XAA </p>
</div>
</div>
<a class="anchor" id="a712dc388c530e91e4a692e7102d6bdc8"></a><!-- doxytag: member="fat_boot::bootSignature" ref="a712dc388c530e91e4a692e7102d6bdc8" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="structfat__boot.html#a712dc388c530e91e4a692e7102d6bdc8">fat_boot::bootSignature</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>0X29 if next three fields are valid </p>
</div>
</div>
<a class="anchor" id="a60b2461f8ebf0ad295a95094e1bd7d65"></a><!-- doxytag: member="fat_boot::bytesPerSector" ref="a60b2461f8ebf0ad295a95094e1bd7d65" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t <a class="el" href="structfat__boot.html#a60b2461f8ebf0ad295a95094e1bd7d65">fat_boot::bytesPerSector</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The size of a hardware sector. Valid decimal values for this field are 512, 1024, 2048, and 4096. For most disks used in the United States, the value of this field is 512. </p>
</div>
</div>
<a class="anchor" id="aebd280b93563b75b9612d3db844b0d16"></a><!-- doxytag: member="fat_boot::driveNumber" ref="aebd280b93563b75b9612d3db844b0d16" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="structfat__boot.html#aebd280b93563b75b9612d3db844b0d16">fat_boot::driveNumber</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Related to the BIOS physical drive number. Floppy drives are identified as 0x00 and physical hard disks are identified as 0x80, regardless of the number of physical disk drives. Typically, this value is set prior to issuing an INT 13h BIOS call to specify the device to access. The value is only relevant if the device is a boot device. </p>
</div>
</div>
<a class="anchor" id="a04d3b6a45acf28a80ff909dc1b33da2f"></a><!-- doxytag: member="fat_boot::fatCount" ref="a04d3b6a45acf28a80ff909dc1b33da2f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="structfat__boot.html#a04d3b6a45acf28a80ff909dc1b33da2f">fat_boot::fatCount</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The number of copies of the FAT on the volume. The value of this field is always 2. </p>
</div>
</div>
<a class="anchor" id="aee529e32908406866f3ec3c17c4632fa"></a><!-- doxytag: member="fat_boot::fileSystemType" ref="aee529e32908406866f3ec3c17c4632fa" args="[8]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="structfat__boot.html#aee529e32908406866f3ec3c17c4632fa">fat_boot::fileSystemType</a>[8]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A field with a value of either FAT, FAT12 or FAT16, depending on the disk format. </p>
</div>
</div>
<a class="anchor" id="ae31da876cd9f48de5268a129218df2c2"></a><!-- doxytag: member="fat_boot::headCount" ref="ae31da876cd9f48de5268a129218df2c2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t <a class="el" href="structfat__boot.html#ae31da876cd9f48de5268a129218df2c2">fat_boot::headCount</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Number of heads for interrupt 0x13. Not used otherwise. </p>
</div>
</div>
<a class="anchor" id="a18f1b4c245fe7bd09f5a9430c005e23a"></a><!-- doxytag: member="fat_boot::hidddenSectors" ref="a18f1b4c245fe7bd09f5a9430c005e23a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="structfat__boot.html#a18f1b4c245fe7bd09f5a9430c005e23a">fat_boot::hidddenSectors</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Count of hidden sectors preceding the partition that contains this FAT volume. This field is generally only relevant for media visible on interrupt 0x13. </p>
</div>
</div>
<a class="anchor" id="a83f9f2d1d0130f25f34c90dfc82e3751"></a><!-- doxytag: member="fat_boot::jump" ref="a83f9f2d1d0130f25f34c90dfc82e3751" args="[3]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="structfat__boot.html#a83f9f2d1d0130f25f34c90dfc82e3751">fat_boot::jump</a>[3]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The first three bytes of the boot sector must be valid, executable x 86-based CPU instructions. This includes a jump instruction that skips the next nonexecutable bytes. </p>
</div>
</div>
<a class="anchor" id="a63eaf7185663369af2527309634d3c90"></a><!-- doxytag: member="fat_boot::mediaType" ref="a63eaf7185663369af2527309634d3c90" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="structfat__boot.html#a63eaf7185663369af2527309634d3c90">fat_boot::mediaType</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>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 (nonremovable) media. For removable media, 0xF0 is frequently used. Legal values are 0xF0 or 0xF8-0xFF. </p>
</div>
</div>
<a class="anchor" id="adc034212201e879fea1eb44db43e55a5"></a><!-- doxytag: member="fat_boot::oemId" ref="adc034212201e879fea1eb44db43e55a5" args="[8]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="structfat__boot.html#adc034212201e879fea1eb44db43e55a5">fat_boot::oemId</a>[8]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This is typically a string of characters that identifies the operating system that formatted the volume. </p>
</div>
</div>
<a class="anchor" id="affa7e6efb3ccea19ba7ea0ddadce7463"></a><!-- doxytag: member="fat_boot::reserved1" ref="affa7e6efb3ccea19ba7ea0ddadce7463" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="structfat__boot.html#affa7e6efb3ccea19ba7ea0ddadce7463">fat_boot::reserved1</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>used by Windows NT - should be zero for FAT </p>
</div>
</div>
<a class="anchor" id="a13f272a8f780fb43a400f873a3fd7b73"></a><!-- doxytag: member="fat_boot::reservedSectorCount" ref="a13f272a8f780fb43a400f873a3fd7b73" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t <a class="el" href="structfat__boot.html#a13f272a8f780fb43a400f873a3fd7b73">fat_boot::reservedSectorCount</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The number of sectors preceding the start of the first FAT, including the boot sector. The value of this field is always 1. </p>
</div>
</div>
<a class="anchor" id="a2124f89e12307df944f08e6657dbf4af"></a><!-- doxytag: member="fat_boot::rootDirEntryCount" ref="a2124f89e12307df944f08e6657dbf4af" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t <a class="el" href="structfat__boot.html#a2124f89e12307df944f08e6657dbf4af">fat_boot::rootDirEntryCount</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>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. </p>
</div>
</div>
<a class="anchor" id="ab3063726125b16a2ccad719548d79abd"></a><!-- doxytag: member="fat_boot::sectorsPerCluster" ref="ab3063726125b16a2ccad719548d79abd" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="structfat__boot.html#ab3063726125b16a2ccad719548d79abd">fat_boot::sectorsPerCluster</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>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. 128 should be avoided. </p>
</div>
</div>
<a class="anchor" id="a0d5ab13399759acfa571e49b85600db1"></a><!-- doxytag: member="fat_boot::sectorsPerFat16" ref="a0d5ab13399759acfa571e49b85600db1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t <a class="el" href="structfat__boot.html#a0d5ab13399759acfa571e49b85600db1">fat_boot::sectorsPerFat16</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>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. </p>
</div>
</div>
<a class="anchor" id="a6d5ceaf374e0607be8b8162bf657f282"></a><!-- doxytag: member="fat_boot::sectorsPerTrack" ref="a6d5ceaf374e0607be8b8162bf657f282" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t <a class="el" href="structfat__boot.html#a6d5ceaf374e0607be8b8162bf657f282">fat_boot::sectorsPerTrack</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sectors per track for interrupt 0x13. Not used otherwise. </p>
</div>
</div>
<a class="anchor" id="ac8bd40dd9186882e423e10b0c83e89b7"></a><!-- doxytag: member="fat_boot::totalSectors16" ref="ac8bd40dd9186882e423e10b0c83e89b7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t <a class="el" href="structfat__boot.html#ac8bd40dd9186882e423e10b0c83e89b7">fat_boot::totalSectors16</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>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 nonzero. 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). </p>
</div>
</div>
<a class="anchor" id="addeb2dd8f78418edbf544303d44133e2"></a><!-- doxytag: member="fat_boot::totalSectors32" ref="addeb2dd8f78418edbf544303d44133e2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="structfat__boot.html#addeb2dd8f78418edbf544303d44133e2">fat_boot::totalSectors32</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>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 nonzero. </p>
</div>
</div>
<a class="anchor" id="a9ee733f1b1abc0210ec8f9676bba2218"></a><!-- doxytag: member="fat_boot::volumeLabel" ref="a9ee733f1b1abc0210ec8f9676bba2218" args="[11]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="structfat__boot.html#a9ee733f1b1abc0210ec8f9676bba2218">fat_boot::volumeLabel</a>[11]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A field once used to store the volume label. The volume label is now stored as a special file in the root directory. </p>
</div>
</div>
<a class="anchor" id="ac05e88a0d27f0340ba008834361d2b20"></a><!-- doxytag: member="fat_boot::volumeSerialNumber" ref="ac05e88a0d27f0340ba008834361d2b20" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="structfat__boot.html#ac05e88a0d27f0340ba008834361d2b20">fat_boot::volumeSerialNumber</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A random serial number created when formatting a disk, which helps to distinguish between disks. Usually generated by combining date and time. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>Arduino/libraries/SdFat/<a class="el" href="_sd_fat_structs_8h.html">SdFatStructs.h</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Thu Feb 7 2013 12:51:21 for SdFat by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>