NinjaFlight
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
fat_standard.c File Reference
#include <ctype.h>
#include "fat_standard.h"
Include dependency graph for fat_standard.c:

Functions

bool fat16_isEndOfChainMarker (uint16_t clusterNumber)
 
bool fat32_isEndOfChainMarker (uint32_t clusterNumber)
 
uint32_t fat32_decodeClusterNumber (uint32_t clusterNumber)
 
bool fat_isFreeSpace (uint32_t clusterNumber)
 
bool fat_isDirectoryEntryTerminator (fatDirectoryEntry_t *entry)
 
bool fat_isDirectoryEntryEmpty (fatDirectoryEntry_t *entry)
 
void fat_convertFilenameToFATStyle (const char *filename, uint8_t *fatFilename)
 

Function Documentation

bool fat16_isEndOfChainMarker ( uint16_t  clusterNumber)
uint32_t fat32_decodeClusterNumber ( uint32_t  clusterNumber)

FAT32 cluster numbers are really only 28 bits, and the top 4 bits must be left alone and not treated as part of the cluster number (so various FAT drivers can use those bits for their own purposes, or they can be used in later extensions)

bool fat32_isEndOfChainMarker ( uint32_t  clusterNumber)
void fat_convertFilenameToFATStyle ( const char *  filename,
uint8_t *  fatFilename 
)

Convert the given "prefix.ext" style filename to the FAT format to be stored on disk.

fatFilename must point to a buffer which is FAT_FILENAME_LENGTH bytes long. The buffer is not null-terminated.

bool fat_isDirectoryEntryEmpty ( fatDirectoryEntry_t entry)
bool fat_isDirectoryEntryTerminator ( fatDirectoryEntry_t entry)
bool fat_isFreeSpace ( uint32_t  clusterNumber)