<!--
 Documentation/_templates/layout.html

 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.  The
 ASF licenses this file to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance with the
 License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
 License for the specific language governing permissions and limitations
 under the License.
-->



<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>FAT &mdash; NuttX latest documentation</title>
      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
      <link rel="stylesheet" type="text/css" href="../../_static/copybutton.css" />
      <link rel="stylesheet" type="text/css" href="../../_static/custom.css" />

  
    <link rel="shortcut icon" href="../../_static/favicon.ico"/>
      <script src="../../_static/jquery.js"></script>
      <script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
      <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
      <script src="../../_static/doctools.js"></script>
      <script src="../../_static/sphinx_highlight.js"></script>
      <script src="../../_static/clipboard.min.js"></script>
      <script src="../../_static/copybutton.js"></script>
    <script src="../../_static/js/theme.js"></script>
    <link rel="index" title="Index" href="../../genindex.html" />
    <link rel="search" title="Search" href="../../search.html" />
    <link rel="next" title="Host File System" href="hostfs.html" />
    <link rel="prev" title="CROMFS" href="cromfs.html" /> 
</head>

<body class="wy-body-for-nav"> 
  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
  
    <a href="../../index.html" class="icon icon-home"> NuttX
  

  
  </a>

  <!-- this version selector is quite ugly, should be probably replaced by something
       more modern -->

  <div class="version-selector">
    <select onchange="javascript:location.href = this.value;">
    
    <option value="../../../latest" selected="selected">latest</option>
    
    <option value="../../../10.0.0" >10.0.0</option>
    
    <option value="../../../10.0.1" >10.0.1</option>
    
    <option value="../../../10.1.0" >10.1.0</option>
    
    <option value="../../../10.2.0" >10.2.0</option>
    
    <option value="../../../10.3.0" >10.3.0</option>
    
    <option value="../../../11.0.0" >11.0.0</option>
    
    <option value="../../../12.0.0" >12.0.0</option>
    
    <option value="../../../12.1.0" >12.1.0</option>
    
    <option value="../../../12.2.0" >12.2.0</option>
    
    <option value="../../../12.2.1" >12.2.1</option>
    
    <option value="../../../12.3.0" >12.3.0</option>
    
    <option value="../../../12.4.0" >12.4.0</option>
    
    <option value="../../../12.5.0" >12.5.0</option>
    
    <option value="../../../12.5.1" >12.5.1</option>
    
    <option value="../../../12.6.0" >12.6.0</option>
    
    <option value="../../../12.7.0" >12.7.0</option>
    
    <option value="../../../12.8.0" >12.8.0</option>
    
    <option value="../../../12.9.0" >12.9.0</option>
    
    <option value="../../../12.10.0" >12.10.0</option>
    
    <option value="../../../12.11.0" >12.11.0</option>
    
    <option value="../../../12.12.0" >12.12.0</option>
    
    </select>
  </div>

  
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
              <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../index.html">Home</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../introduction/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../quickstart/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../contributing/index.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../platforms/index.html">Supported Platforms</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">OS Components</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../binfmt.html">Binary Loader</a></li>
<li class="toctree-l2"><a class="reference internal" href="../drivers/index.html">Device Drivers</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nxflat.html">NXFLAT</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nxgraphics/index.html">NX Graphics Subsystem</a></li>
<li class="toctree-l2"><a class="reference internal" href="../paging.html">On-Demand Paging</a></li>
<li class="toctree-l2"><a class="reference internal" href="../audio/index.html">Audio Subsystem</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">NuttX File System</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="index.html#virtual-file-system-vfs">Virtual File System (VFS)</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="index.html#file-systems">File systems</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="aio.html">Asynchronous I/O support</a></li>
<li class="toctree-l4"><a class="reference internal" href="binfs.html">BINFS</a></li>
<li class="toctree-l4"><a class="reference internal" href="cromfs.html">CROMFS</a></li>
<li class="toctree-l4 current"><a class="current reference internal" href="#">FAT</a><ul>
<li class="toctree-l5"><a class="reference internal" href="#fat-structure">FAT Structure</a></li>
<li class="toctree-l5"><a class="reference internal" href="#master-boot-record-mbr">Master Boot Record (MBR)</a></li>
<li class="toctree-l5"><a class="reference internal" href="#partition-table-entries">Partition Table Entries</a></li>
<li class="toctree-l5"><a class="reference internal" href="#allocation-table">Allocation Table</a></li>
<li class="toctree-l5"><a class="reference internal" href="#directory-entires">Directory Entires</a></li>
<li class="toctree-l5"><a class="reference internal" href="#files">Files</a></li>
<li class="toctree-l5"><a class="reference internal" href="#implementation">Implementation</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="hostfs.html">Host File System</a></li>
<li class="toctree-l4"><a class="reference internal" href="littlefs.html">LITTLEFS</a></li>
<li class="toctree-l4"><a class="reference internal" href="mmap.html">File mapping emulation (mmap)</a></li>
<li class="toctree-l4"><a class="reference internal" href="mnemofs.html">MNEMOFS</a></li>
<li class="toctree-l4"><a class="reference internal" href="nfs.html">NFS</a></li>
<li class="toctree-l4"><a class="reference internal" href="nxffs.html">NXFFS</a></li>
<li class="toctree-l4"><a class="reference internal" href="partition.html">Partition Table</a></li>
<li class="toctree-l4"><a class="reference internal" href="procfs.html">PROCFS</a></li>
<li class="toctree-l4"><a class="reference internal" href="romfs.html">ROMFS</a></li>
<li class="toctree-l4"><a class="reference internal" href="rpmsgfs.html">RPMSG File System</a></li>
<li class="toctree-l4"><a class="reference internal" href="smartfs.html">SMARTFS</a></li>
<li class="toctree-l4"><a class="reference internal" href="shmfs.html">Shared Memory File System</a></li>
<li class="toctree-l4"><a class="reference internal" href="spiffs.html">SPIFFS</a></li>
<li class="toctree-l4"><a class="reference internal" href="tmpfs.html">TMPFS</a></li>
<li class="toctree-l4"><a class="reference internal" href="unionfs.html">Union File System</a></li>
<li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
<li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
<li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
<li class="toctree-l4"><a class="reference internal" href="v9fs.html">V9FS</a></li>
<li class="toctree-l4"><a class="reference internal" href="v9fs.html#adding-v9fs-to-the-nuttx-configuration">Adding V9FS to the NuttX Configuration</a></li>
<li class="toctree-l4"><a class="reference internal" href="v9fs.html#nfs-mount-command">NFS Mount Command</a></li>
<li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../libs/index.html">NuttX libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="../net/index.html">Network Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../mm/index.html">Memory Management</a></li>
<li class="toctree-l2"><a class="reference internal" href="../syscall.html">Syscall Layer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tools/index.html"><code class="docutils literal notranslate"><span class="pre">/tools</span></code> Host Tools</a></li>
<li class="toctree-l2"><a class="reference internal" href="../arch/index.html">Architecture-Specific Code</a></li>
<li class="toctree-l2"><a class="reference internal" href="../boards.html">Boards Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../cmake.html">CMake Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../openamp.html">OpenAMP Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../video.html">Video Subsystem</a></li>
<li class="toctree-l2"><a class="reference internal" href="../crypto.html">Crypto API Subsystem</a></li>
<li class="toctree-l2"><a class="reference internal" href="../wireless.html">Wireless Subsystem</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../applications/index.html">Applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../implementation/index.html">Implementation Details</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../faq/index.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../guides/index.html">Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../logos/index.html">NuttX Logos</a></li>
</ul>

        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../../index.html">NuttX</a>
      </nav>

      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="Page navigation">
  <ul class="wy-breadcrumbs">
      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
          <li class="breadcrumb-item"><a href="../index.html">OS Components</a></li>
          <li class="breadcrumb-item"><a href="index.html">NuttX File System</a></li>
      <li class="breadcrumb-item active">FAT</li>
      <li class="wy-breadcrumbs-aside">
            <a href="../../_sources/components/filesystem/fat.rst.txt" rel="nofollow"> View page source</a>
      </li>
  </ul>
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
             
  <section id="fat">
<h1>FAT<a class="headerlink" href="#fat" title="Permalink to this heading"></a></h1>
<p>File Allocation Table (FAT) is a very simple file system designed by Microsoft
and, as the name suggests, it uses a table to track clusters on a storage
volume. There have been multiple versions of FAT, like <code class="docutils literal notranslate"><span class="pre">FAT12</span></code>, <code class="docutils literal notranslate"><span class="pre">FAT16</span></code>,
and lastly <code class="docutils literal notranslate"><span class="pre">FAT32</span></code> to consider for growing data volumes. Even though FAT
has been superseded by more recent file systems in most Windows computers,
current Windows editions, macOS, Linux, Unix as well as Apache NuttX support
FAT. It is still used for floppy disks, USB flash drives as well as for
storage media in smaller, portable devices like digital cameras.</p>
<p>FAT uses a magic number <code class="docutils literal notranslate"><span class="pre">0x4D44</span></code>, and has been named as <code class="docutils literal notranslate"><span class="pre">vfat</span></code> in the
codebase, due to the implementation being actually VFAT, which is an extension
that allows for long file names. This page contains information about the FAT
file system from the perspective of the implementation of FAT that exists in
NuttX.</p>
<section id="fat-structure">
<h2>FAT Structure<a class="headerlink" href="#fat-structure" title="Permalink to this heading"></a></h2>
<p>The number beside <code class="docutils literal notranslate"><span class="pre">FAT</span></code> (eg. <code class="docutils literal notranslate"><span class="pre">16</span></code> in <code class="docutils literal notranslate"><span class="pre">FAT16</span></code>) represents the number of
bits used for each entry in the allocation table.  A FAT volume has multiple
sections:</p>
<ul class="simple">
<li><p><strong>Master Boot Record</strong>: Master Boot Record (MBR) or Boot Sector contains
information needed by the file system to access the volume, including the
volume’s layout and file system structure, akin to a superblock in Linux
file systems.</p></li>
<li><p><strong>Allocation Table Region</strong>: Stores the file allocation table, as well as
its copy which acts as a backup. The file allocation table keeps a track of
all the clusters in the volume, and thus has one entry for each cluster.</p></li>
<li><p><strong>Root Directory</strong>: It stores a directory table containing entries
describing the files and directories stored on the volume. Each entry
contains metadata about file system objects.</p></li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Root Directory exists as a separate section if the volume is for <code class="docutils literal notranslate"><span class="pre">FAT12</span></code>
or <code class="docutils literal notranslate"><span class="pre">FAT16</span></code>, right after the Allocation Table Region and has a fixed upper
limit to the number of entries. <code class="docutils literal notranslate"><span class="pre">FAT32</span></code> does not have a dedicated region
for the Root Directory, but has it incorporated into the following Data
Region, and thus <code class="docutils literal notranslate"><span class="pre">FAT32</span></code> does not have any hard coded upper limit to the
number of entries.</p>
</div>
<ul class="simple">
<li><p><strong>Data Region</strong>: This region stores the actual data of the files as well as
directory data. Data Region is divided into multiple clusters, which are
numbered sequentially and have corresponding entries in the allocation
table. Cluster sizes can vary depending on the volume size as well as on
the type of the FAT file system.</p></li>
</ul>
<p>The first entry in the Allocation Table is for the volume’s FAT ID while the
second entry indicates that the cluster is reserved. Given that <code class="docutils literal notranslate"><span class="pre">FAT32</span></code> does
not have a dedicated Root Directory section, in <code class="docutils literal notranslate"><span class="pre">FAT32</span></code> volume, the third
entry points to the root directory.</p>
<p>File names can be either <a class="reference external" href="https://en.wikipedia.org/wiki/8.3_filename">short</a>
(also known as 8.3 filename or SFN), or long (LFN), till a maximum length
limit.</p>
</section>
<section id="master-boot-record-mbr">
<h2>Master Boot Record (MBR)<a class="headerlink" href="#master-boot-record-mbr" title="Permalink to this heading"></a></h2>
<p>The Boot Record may be one of two types. One is a much older type which does
not contain partitions, and one more recent with them. One distinguishing
feature of FAT is that all MBRs contain <code class="docutils literal notranslate"><span class="pre">0x55AA</span></code> at an offset of 510 from
the start, which can be used to determine the type of FAT being used in the
block device.</p>
<p>For the older type, the MBR exists at the start of the drive. It does not
contain any partitions.</p>
<p>The newer type has a partition table at an offset of 446 from the start of
the drive. It allows for 4 primary partitions. It has FAT Boot Records (FBRs)
at the start of every partition, which, for most parts, are identical in
structure to the older MBRs.</p>
</section>
<section id="partition-table-entries">
<h2>Partition Table Entries<a class="headerlink" href="#partition-table-entries" title="Permalink to this heading"></a></h2>
<p>The partition table contains information for 4 primary partitions, each
partition having entries in the table of 16 bytes each. These have various
information about the partition including, but not limited to, type of the
partition, starting sector, and partition size.</p>
</section>
<section id="allocation-table">
<h2>Allocation Table<a class="headerlink" href="#allocation-table" title="Permalink to this heading"></a></h2>
<p>The allocation table follows the boot record, and has an entry for each
cluster available in the data region. Each entry has a size defined by the
file system type. <code class="docutils literal notranslate"><span class="pre">FAT12</span></code> has 12 byte long entries, <code class="docutils literal notranslate"><span class="pre">FAT16</span></code> has 16 byte
entries and <code class="docutils literal notranslate"><span class="pre">FAT32</span></code> has 32 byte entries.</p>
<p>File data is made up of a linked list (or chain) of clusters. Entries in the
allocation table, which correspond to actual clusters, contain the cluster
number of the next cluster that appears in the file. The last cluster of a
file has a value in their allocation table entry such that all of its bits
are set (<code class="docutils literal notranslate"><span class="pre">0xFFF</span></code> for FAT12, <code class="docutils literal notranslate"><span class="pre">0xFFFF</span></code> for FAT16, <code class="docutils literal notranslate"><span class="pre">0xFFFFFFFF</span></code> for FAT32).</p>
<p>The starting cluster (head of the file chain) is pointed to by the directory
entry of that file.</p>
</section>
<section id="directory-entires">
<h2>Directory Entires<a class="headerlink" href="#directory-entires" title="Permalink to this heading"></a></h2>
<p>A directory is basically a file which has a table that contains directory
entries that contain the metadata about the files and subdirectories in it.
Each directory entry describes a file or a subdirectory inside the directory.</p>
<p>Root directory in FAT12/16 have a dedicated region, separate from the data
area. In FAT32, root directory is just like a regular directory in the data
region (ie. without any dedicated region) except for:</p>
<ul class="simple">
<li><p>Its starting cluster is denoted in the boot record.</p></li>
<li><p>It is not pointed to by any other directory.</p></li>
<li><p>It has no entries corresponding to <code class="docutils literal notranslate"><span class="pre">.</span></code> and <code class="docutils literal notranslate"><span class="pre">..</span></code> (all non-root
directories have both of these entries).</p></li>
</ul>
<p>Directory entries are 32 bytes long, and start with an 11 bytes long SFN. The
rest of the directory entry contain information like the file attributes,
timestamps of creation as well as access and write, cluster number and
file size, to name a few.</p>
<section id="filename">
<h3>8.3 filename<a class="headerlink" href="#filename" title="Permalink to this heading"></a></h3>
<p>The first byte of a directory’s 8.3 filename (and hence first byte of the
entire directory entry) has a special meaning. It has 3 possible values:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">0xe5</span></code> : Denotes that the current directory entry is empty.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">0x00</span></code> : Denotes that this entry, as well as all following entries, are
empty.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">0x05</span></code> : Actual value is <code class="docutils literal notranslate"><span class="pre">0xe5</span></code>.</p></li>
</ul>
<p>The rest of the 7 + 3 byte of the directory entry are for the name (with
extension).</p>
</section>
</section>
<section id="files">
<h2>Files<a class="headerlink" href="#files" title="Permalink to this heading"></a></h2>
<p>The starting cluster of data in a file is pointed by the directory entry of
the file.</p>
<p>File allocation is very primitive in FAT, and the first available location in
the volume is given to a file.</p>
<section id="file-attributes">
<h3>File attributes<a class="headerlink" href="#file-attributes" title="Permalink to this heading"></a></h3>
<p>File attributes are denoted by a bit flag of the size of a single byte.
The file flags in FAT, with their bit representation, are as follows:</p>
<table class="docutils align-default" id="id1">
<caption><span class="caption-text">File Attributes</span><a class="headerlink" href="#id1" title="Permalink to this table"></a></caption>
<thead>
<tr class="row-odd"><th class="head"><p>Attribute Macro</p></th>
<th class="head"><p>Bit representation</p></th>
<th class="head"><p>Hex value</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">FATATTR_READONLY</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">00000001</span></code></p></td>
<td><p>0x1</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">FATATTR_HIDDEN</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">00000010</span></code></p></td>
<td><p>0x2</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">FATATTR_SYSTEM</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">00000100</span></code></p></td>
<td><p>0x4</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">FATATTR_VOLUMEID</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">00001000</span></code></p></td>
<td><p>0x8</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">FATATTR_DIRECTORY</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">00010000</span></code></p></td>
<td><p>0x10</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">FATATTR_ARCHIVE</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">00100000</span></code></p></td>
<td><p>0x20</p></td>
</tr>
</tbody>
</table>
<p>Out of these, FAT exposes a user to <code class="docutils literal notranslate"><span class="pre">FATATTR_READONLY</span></code>, <code class="docutils literal notranslate"><span class="pre">FATATTR_HIDDEN</span></code>,
<code class="docutils literal notranslate"><span class="pre">FATATTR_SYSTEM</span></code> and <code class="docutils literal notranslate"><span class="pre">FATATTR_ARCHIVE</span></code> to the user.</p>
</section>
</section>
<section id="implementation">
<h2>Implementation<a class="headerlink" href="#implementation" title="Permalink to this heading"></a></h2>
<p>The Apache NuttX implementation of VFAT can be found in:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">fs/fat</span></code> directory.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">include/nuttx/fs/fat.h</span></code> header file.</p></li>
</ul>
</section>
</section>


           </div>
          </div>
          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
        <a href="cromfs.html" class="btn btn-neutral float-left" title="CROMFS" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
        <a href="hostfs.html" class="btn btn-neutral float-right" title="Host File System" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
    </div>

  <hr/>

  <div role="contentinfo">
    <p>&#169; Copyright 2023, The Apache Software Foundation.</p>
  </div>

   

</footer>
        </div>
      </div>
    </section>
  </div>
  <script>
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script> 

</body>
</html>