ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts  1.0
ESP8266ILI9341DisplayProject
Data Structures | Macros | Functions | Variables
ff.c File Reference
#include "user_config.h"
#include "fatfs.h"
#include "fatfs/ff.h"
#include "fatfs.hal/diskio.h"
#include <stdarg.h>

Go to the source code of this file.

Data Structures

struct  putbuff
 

Macros

#define ABORT(fs, res)   { fp->err = (BYTE)(res); LEAVE_FF(fs, res); }
 
#define ENTER_FF(fs)
 
#define LEAVE_FF(fs, res)   return res
 
#define SS(fs)   ((UINT)_MAX_SS) /* Fixed sector size */
 
#define GET_FATTIME()   get_fattime()
 
#define _DF1S   0
 
#define _EXCVT
 
#define IsUpper(c)   (((c)>='A')&&((c)<='Z'))
 
#define IsLower(c)   (((c)>='a')&&((c)<='z'))
 
#define IsDigit(c)   (((c)>='0')&&((c)<='9'))
 
#define IsDBCS1(c)   0
 
#define IsDBCS2(c)   0
 
#define AM_VOL   0x08 /* Volume label */
 
#define AM_LFN   0x0F /* LFN entry */
 
#define AM_MASK   0x3F /* Mask of defined bits */
 
#define FA_SEEKEND   0x20 /* Seek to end of the file on file open */
 
#define FA_MODIFIED   0x40 /* File has been modified */
 
#define FA_DIRTY   0x80 /* FIL.buf[] needs to be written-back */
 
#define NSFLAG   11 /* Index of name status byte in fn[] */
 
#define NS_LOSS   0x01 /* Out of 8.3 format */
 
#define NS_LFN   0x02 /* Force to create LFN entry */
 
#define NS_LAST   0x04 /* Last segment */
 
#define NS_BODY   0x08 /* Lower case flag (body) */
 
#define NS_EXT   0x10 /* Lower case flag (ext) */
 
#define NS_DOT   0x20 /* Dot entry */
 
#define NS_NOLFN   0x40 /* Do not find LFN */
 
#define NS_NONAME   0x80 /* Not followed */
 
#define MAX_FAT12   0xFF5 /* Maximum number of FAT12 clusters */
 
#define MAX_FAT16   0xFFF5 /* Maximum number of FAT16 clusters */
 
#define MAX_FAT32   0xFFFFFF5 /* Maximum number of FAT32 clusters */
 
#define MAX_EXFAT   0x7FFFFFFD /* Maximum number of exFAT clusters (limited by implementation) */
 
#define MAX_DIR   0x200000 /* Maximum size of FAT directory */
 
#define MAX_DIR_EX   0x10000000 /* Maximum size of exFAT directory */
 
#define BS_JmpBoot   0 /* x86 jump instruction (3-byte) */
 
#define BS_OEMName   3 /* OEM name (8-byte) */
 
#define BPB_BytsPerSec   11 /* Sector size [byte] (WORD) */
 
#define BPB_SecPerClus   13 /* Cluster size [sector] (BYTE) */
 
#define BPB_RsvdSecCnt   14 /* Size of reserved area [sector] (WORD) */
 
#define BPB_NumFATs   16 /* Number of FATs (BYTE) */
 
#define BPB_RootEntCnt   17 /* Size of root directory area for FAT12/16 [entry] (WORD) */
 
#define BPB_TotSec16   19 /* Volume size (16-bit) [sector] (WORD) */
 
#define BPB_Media   21 /* Media descriptor byte (BYTE) */
 
#define BPB_FATSz16   22 /* FAT size (16-bit) [sector] (WORD) */
 
#define BPB_SecPerTrk   24 /* Track size for int13h [sector] (WORD) */
 
#define BPB_NumHeads   26 /* Number of heads for int13h (WORD) */
 
#define BPB_HiddSec   28 /* Volume offset from top of the drive (DWORD) */
 
#define BPB_TotSec32   32 /* Volume size (32-bit) [sector] (DWORD) */
 
#define BS_DrvNum   36 /* Physical drive number for int13h (BYTE) */
 
#define BS_NTres   37 /* Error flag (BYTE) */
 
#define BS_BootSig   38 /* Extended boot signature (BYTE) */
 
#define BS_VolID   39 /* Volume serial number (DWORD) */
 
#define BS_VolLab   43 /* Volume label string (8-byte) */
 
#define BS_FilSysType   54 /* File system type string (8-byte) */
 
#define BS_BootCode   62 /* Boot code (448-byte) */
 
#define BS_55AA   510 /* Signature word (WORD) */
 
#define BPB_FATSz32   36 /* FAT32: FAT size [sector] (DWORD) */
 
#define BPB_ExtFlags32   40 /* FAT32: Extended flags (WORD) */
 
#define BPB_FSVer32   42 /* FAT32: File system version (WORD) */
 
#define BPB_RootClus32   44 /* FAT32: Root directory cluster (DWORD) */
 
#define BPB_FSInfo32   48 /* FAT32: Offset of FSINFO sector (WORD) */
 
#define BPB_BkBootSec32   50 /* FAT32: Offset of backup boot sector (WORD) */
 
#define BS_DrvNum32   64 /* FAT32: Physical drive number for int13h (BYTE) */
 
#define BS_NTres32   65 /* FAT32: Error flag (BYTE) */
 
#define BS_BootSig32   66 /* FAT32: Extended boot signature (BYTE) */
 
#define BS_VolID32   67 /* FAT32: Volume serial number (DWORD) */
 
#define BS_VolLab32   71 /* FAT32: Volume label string (8-byte) */
 
#define BS_FilSysType32   82 /* FAT32: File system type string (8-byte) */
 
#define BS_BootCode32   90 /* FAT32: Boot code (420-byte) */
 
#define BPB_ZeroedEx   11 /* exFAT: MBZ field (53-byte) */
 
#define BPB_VolOfsEx   64 /* exFAT: Volume offset from top of the drive [sector] (QWORD) */
 
#define BPB_TotSecEx   72 /* exFAT: Volume size [sector] (QWORD) */
 
#define BPB_FatOfsEx   80 /* exFAT: FAT offset from top of the volume [sector] (DWORD) */
 
#define BPB_FatSzEx   84 /* exFAT: FAT size [sector] (DWORD) */
 
#define BPB_DataOfsEx   88 /* exFAT: Data offset from top of the volume [sector] (DWORD) */
 
#define BPB_NumClusEx   92 /* exFAT: Number of clusters (DWORD) */
 
#define BPB_RootClusEx   96 /* exFAT: Root directory cluster (DWORD) */
 
#define BPB_VolIDEx   100 /* exFAT: Volume serial number (DWORD) */
 
#define BPB_FSVerEx   104 /* exFAT: File system version (WORD) */
 
#define BPB_VolFlagEx   106 /* exFAT: Volume flags (BYTE) */
 
#define BPB_ActFatEx   107 /* exFAT: Active FAT flags (BYTE) */
 
#define BPB_BytsPerSecEx   108 /* exFAT: Log2 of sector size in byte (BYTE) */
 
#define BPB_SecPerClusEx   109 /* exFAT: Log2 of cluster size in sector (BYTE) */
 
#define BPB_NumFATsEx   110 /* exFAT: Number of FATs (BYTE) */
 
#define BPB_DrvNumEx   111 /* exFAT: Physical drive number for int13h (BYTE) */
 
#define BPB_PercInUseEx   112 /* exFAT: Percent in use (BYTE) */
 
#define BPB_RsvdEx   113 /* exFAT: Reserved (7-byte) */
 
#define BS_BootCodeEx   120 /* exFAT: Boot code (390-byte) */
 
#define FSI_LeadSig   0 /* FAT32 FSI: Leading signature (DWORD) */
 
#define FSI_StrucSig   484 /* FAT32 FSI: Structure signature (DWORD) */
 
#define FSI_Free_Count   488 /* FAT32 FSI: Number of free clusters (DWORD) */
 
#define FSI_Nxt_Free   492 /* FAT32 FSI: Last allocated cluster (DWORD) */
 
#define MBR_Table   446 /* MBR: Offset of partition table in the MBR */
 
#define SZ_PTE   16 /* MBR: Size of a partition table entry */
 
#define PTE_Boot   0 /* MBR PTE: Boot indicator */
 
#define PTE_StHead   1 /* MBR PTE: Start head */
 
#define PTE_StSec   2 /* MBR PTE: Start sector */
 
#define PTE_StCyl   3 /* MBR PTE: Start cylinder */
 
#define PTE_System   4 /* MBR PTE: System ID */
 
#define PTE_EdHead   5 /* MBR PTE: End head */
 
#define PTE_EdSec   6 /* MBR PTE: End sector */
 
#define PTE_EdCyl   7 /* MBR PTE: End cylinder */
 
#define PTE_StLba   8 /* MBR PTE: Start in LBA */
 
#define PTE_SizLba   12 /* MBR PTE: Size in LBA */
 
#define DIR_Name   0 /* Short file name (11-byte) */
 
#define DIR_Attr   11 /* Attribute (BYTE) */
 
#define DIR_NTres   12 /* Lower case flag (BYTE) */
 
#define DIR_CrtTime10   13 /* Created time sub-second (BYTE) */
 
#define DIR_CrtTime   14 /* Created time (DWORD) */
 
#define DIR_LstAccDate   18 /* Last accessed date (WORD) */
 
#define DIR_FstClusHI   20 /* Higher 16-bit of first cluster (WORD) */
 
#define DIR_ModTime   22 /* Modified time (DWORD) */
 
#define DIR_FstClusLO   26 /* Lower 16-bit of first cluster (WORD) */
 
#define DIR_FileSize   28 /* File size (DWORD) */
 
#define LDIR_Ord   0 /* LFN entry order and LLE flag (BYTE) */
 
#define LDIR_Attr   11 /* LFN attribute (BYTE) */
 
#define LDIR_Type   12 /* LFN type (BYTE) */
 
#define LDIR_Chksum   13 /* Checksum of the SFN entry (BYTE) */
 
#define LDIR_FstClusLO   26 /* Must be zero (WORD) */
 
#define XDIR_Type   0 /* Type of exFAT directory entry (BYTE) */
 
#define XDIR_NumLabel   1 /* Number of volume label characters (BYTE) */
 
#define XDIR_Label   2 /* Volume label (11-WORD) */
 
#define XDIR_CaseSum   4 /* Sum of case conversion table (DWORD) */
 
#define XDIR_NumSec   1 /* Number of secondary entries (BYTE) */
 
#define XDIR_SetSum   2 /* Sum of the set of directory entries (WORD) */
 
#define XDIR_Attr   4 /* File attribute (WORD) */
 
#define XDIR_CrtTime   8 /* Created time (DWORD) */
 
#define XDIR_ModTime   12 /* Modified time (DWORD) */
 
#define XDIR_AccTime   16 /* Last accessed time (DWORD) */
 
#define XDIR_CrtTime10   20 /* Created time subsecond (BYTE) */
 
#define XDIR_ModTime10   21 /* Modified time subsecond (BYTE) */
 
#define XDIR_CrtTZ   22 /* Created timezone (BYTE) */
 
#define XDIR_ModTZ   23 /* Modified timezone (BYTE) */
 
#define XDIR_AccTZ   24 /* Last accessed timezone (BYTE) */
 
#define XDIR_GenFlags   33 /* Gneral secondary flags (WORD) */
 
#define XDIR_NumName   35 /* Number of file name characters (BYTE) */
 
#define XDIR_NameHash   36 /* Hash of file name (WORD) */
 
#define XDIR_ValidFileSize   40 /* Valid file size (QWORD) */
 
#define XDIR_FstClus   52 /* First cluster of the file data (DWORD) */
 
#define XDIR_FileSize   56 /* File/Directory size (QWORD) */
 
#define SZDIRE   32 /* Size of a directory entry */
 
#define LLEF   0x40 /* Last long entry flag in LDIR_Ord */
 
#define DDEM   0xE5 /* Deleted directory entry mark set to DIR_Name[0] */
 
#define RDDEM   0x05 /* Replacement of the character collides with DDEM */
 
#define DEF_NAMBUF   WCHAR *lfn;
 
#define INIT_NAMBUF(fs)   { lfn = ff_memalloc((_MAX_LFN+1)*2); if (!lfn) LEAVE_FF(fs, FR_NOT_ENOUGH_CORE); (fs)->lfnbuf = lfn; }
 
#define FREE_NAMBUF()   ff_memfree(lfn)
 

Functions

static WORD ld_word (const BYTE *ptr)
 
static DWORD ld_dword (const BYTE *ptr)
 
static void st_word (BYTE *ptr, WORD val)
 
static void st_dword (BYTE *ptr, DWORD val)
 
static MEMSPACE void mem_cpy (void *dst, const void *src, UINT cnt)
 
static MEMSPACE void mem_set (void *dst, int val, UINT cnt)
 
static MEMSPACE int mem_cmp (const void *dst, const void *src, UINT cnt)
 
static MEMSPACE int chk_chr (const char *str, int chr)
 
static MEMSPACE FRESULT sync_window (FATFS *fs)
 
static MEMSPACE FRESULT move_window (FATFS *fs, DWORD sector)
 
static MEMSPACE FRESULT sync_fs (FATFS *fs)
 
static MEMSPACE DWORD clust2sect (FATFS *fs, DWORD clst)
 
static MEMSPACE DWORD get_fat (_FDID *obj, DWORD clst)
 
static MEMSPACE FRESULT put_fat (FATFS *fs, DWORD clst, DWORD val)
 
static MEMSPACE FRESULT remove_chain (_FDID *obj, DWORD clst, DWORD pclst)
 
static MEMSPACE DWORD create_chain (_FDID *obj, DWORD clst)
 
static MEMSPACE DWORD clmt_clust (FIL *fp, FSIZE_t ofs)
 
static MEMSPACE FRESULT dir_sdi (DIR *dp, DWORD ofs)
 
static MEMSPACE FRESULT dir_next (DIR *dp, int stretch)
 
static MEMSPACE FRESULT dir_alloc (DIR *dp, UINT nent)
 
static MEMSPACE DWORD ld_clust (FATFS *fs, const BYTE *dir)
 
static MEMSPACE void st_clust (FATFS *fs, BYTE *dir, DWORD cl)
 
static MEMSPACE int cmp_lfn (const WCHAR *lfnbuf, BYTE *dir)
 
static MEMSPACE int pick_lfn (WCHAR *lfnbuf, BYTE *dir)
 
static MEMSPACE void put_lfn (const WCHAR *lfn, BYTE *dir, BYTE ord, BYTE sum)
 
static MEMSPACE void gen_numname (BYTE *dst, const BYTE *src, const WCHAR *lfn, UINT seq)
 
static MEMSPACE BYTE sum_sfn (const BYTE *dir)
 
static MEMSPACE FRESULT dir_read (DIR *dp, int vol)
 
static MEMSPACE FRESULT dir_find (DIR *dp)
 
static MEMSPACE FRESULT dir_register (DIR *dp)
 
static MEMSPACE FRESULT dir_remove (DIR *dp)
 
static MEMSPACE void get_fileinfo (DIR *dp, FILINFO *fno)
 
static MEMSPACE WCHAR get_achar (const TCHAR **ptr)
 
static MEMSPACE int pattern_matching (const TCHAR *pat, const TCHAR *nam, int skip, int inf)
 
static MEMSPACE FRESULT create_name (DIR *dp, const TCHAR **path)
 
static MEMSPACE FRESULT follow_path (DIR *dp, const TCHAR *path)
 
static MEMSPACE int get_ldnumber (const TCHAR **path)
 
static MEMSPACE BYTE check_fs (FATFS *fs, DWORD sect)
 
static MEMSPACE FRESULT find_volume (const TCHAR **path, FATFS **rfs, BYTE mode)
 
static MEMSPACE FRESULT validate (_FDID *obj, FATFS **fs)
 
MEMSPACE FRESULT f_mount (FATFS *fs, const TCHAR *path, BYTE opt)
 
MEMSPACE FRESULT f_open (FIL *fp, const TCHAR *path, BYTE mode)
 
MEMSPACE FRESULT f_read (FIL *fp, void *buff, UINT btr, UINT *br)
 
MEMSPACE FRESULT f_write (FIL *fp, const void *buff, UINT btw, UINT *bw)
 
MEMSPACE FRESULT f_sync (FIL *fp)
 
MEMSPACE FRESULT f_close (FIL *fp)
 
MEMSPACE FRESULT f_chdir (const TCHAR *path)
 
MEMSPACE FRESULT f_getcwd (TCHAR *buff, UINT len)
 
MEMSPACE FRESULT f_lseek (FIL *fp, FSIZE_t ofs)
 
MEMSPACE FRESULT f_opendir (DIR *dp, const TCHAR *path)
 
MEMSPACE FRESULT f_closedir (DIR *dp)
 
MEMSPACE FRESULT f_readdir (DIR *dp, FILINFO *fno)
 
MEMSPACE FRESULT f_findnext (DIR *dp, FILINFO *fno)
 
MEMSPACE FRESULT f_findfirst (DIR *dp, FILINFO *fno, const TCHAR *path, const TCHAR *pattern)
 
MEMSPACE FRESULT f_stat (const TCHAR *path, FILINFO *fno)
 
MEMSPACE FRESULT f_getfree (const TCHAR *path, DWORD *nclst, FATFS **fatfs)
 
MEMSPACE FRESULT f_truncate (FIL *fp)
 
MEMSPACE FRESULT f_unlink (const TCHAR *path)
 
MEMSPACE FRESULT f_mkdir (const TCHAR *path)
 
MEMSPACE FRESULT f_rename (const TCHAR *path_old, const TCHAR *path_new)
 
MEMSPACE FRESULT f_chmod (const TCHAR *path, BYTE attr, BYTE mask)
 
MEMSPACE FRESULT f_utime (const TCHAR *path, const FILINFO *fno)
 
MEMSPACE FRESULT f_getlabel (const TCHAR *path, TCHAR *label, DWORD *vsn)
 
MEMSPACE FRESULT f_setlabel (const TCHAR *label)
 
MEMSPACE FRESULT f_expand (FIL *fp, FSIZE_t fsz, BYTE opt)
 
MEMSPACE FRESULT f_mkfs (const TCHAR *path, BYTE opt, DWORD au, void *work, UINT len)
 
MEMSPACE TCHARf_gets (TCHAR *buff, int len, FIL *fp)
 
static MEMSPACE void putc_bfd (putbuff *pb, TCHAR c)
 
static MEMSPACE int putc_flush (putbuff *pb)
 
static MEMSPACE void putc_init (putbuff *pb, FIL *fp)
 
MEMSPACE int f_putc (TCHAR c, FIL *fp)
 
MEMSPACE int f_puts (const TCHAR *str, FIL *fp)
 
MEMSPACE int f_printf (FIL *fp, const TCHAR *fmt,...)
 

Variables

static FATFSFatFs [_VOLUMES]
 
static WORD Fsid
 
static const BYTE ExCvt [] = _EXCVT
 
static const BYTE LfnOfs [] = {1,3,5,7,9,14,16,18,20,22,24,28,30}
 

Macro Definition Documentation

#define _DF1S   0

Definition at line 132 of file ff.c.

Referenced by create_name(), f_getlabel(), f_setlabel(), get_fileinfo(), and sum_sfn().

#define _EXCVT
Value:
{0x80,0x9A,0x45,0x41,0x8E,0x41,0x8F,0x80,0x45,0x45,0x45,0x49,0x49,0x49,0x8E,0x8F, \
0x90,0x92,0x92,0x4F,0x99,0x4F,0x55,0x55,0x59,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \
0x41,0x49,0x4F,0x55,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \
0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \
0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, \
0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}

Definition at line 133 of file ff.c.

#define ABORT (   fs,
  res 
)    { fp->err = (BYTE)(res); LEAVE_FF(fs, res); }

Definition at line 39 of file ff.c.

Referenced by f_expand(), f_lseek(), f_read(), f_truncate(), and f_write().

#define AM_LFN   0x0F /* LFN entry */

Definition at line 359 of file ff.c.

Referenced by dir_find(), dir_read(), and put_lfn().

#define AM_MASK   0x3F /* Mask of defined bits */

Definition at line 360 of file ff.c.

Referenced by dir_find(), and dir_read().

#define AM_VOL   0x08 /* Volume label */

Definition at line 358 of file ff.c.

Referenced by dir_find(), dir_read(), and f_setlabel().

#define BPB_ActFatEx   107 /* exFAT: Active FAT flags (BYTE) */

Definition at line 442 of file ff.c.

#define BPB_BkBootSec32   50 /* FAT32: Offset of backup boot sector (WORD) */

Definition at line 422 of file ff.c.

Referenced by f_mkfs().

#define BPB_BytsPerSec   11 /* Sector size [byte] (WORD) */

Definition at line 396 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_BytsPerSecEx   108 /* exFAT: Log2 of sector size in byte (BYTE) */

Definition at line 443 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_DataOfsEx   88 /* exFAT: Data offset from top of the volume [sector] (DWORD) */

Definition at line 436 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_DrvNumEx   111 /* exFAT: Physical drive number for int13h (BYTE) */

Definition at line 446 of file ff.c.

Referenced by f_mkfs().

#define BPB_ExtFlags32   40 /* FAT32: Extended flags (WORD) */

Definition at line 418 of file ff.c.

#define BPB_FatOfsEx   80 /* exFAT: FAT offset from top of the volume [sector] (DWORD) */

Definition at line 434 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_FATSz16   22 /* FAT size (16-bit) [sector] (WORD) */

Definition at line 403 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_FATSz32   36 /* FAT32: FAT size [sector] (DWORD) */

Definition at line 417 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_FatSzEx   84 /* exFAT: FAT size [sector] (DWORD) */

Definition at line 435 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_FSInfo32   48 /* FAT32: Offset of FSINFO sector (WORD) */

Definition at line 421 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_FSVer32   42 /* FAT32: File system version (WORD) */

Definition at line 419 of file ff.c.

Referenced by find_volume().

#define BPB_FSVerEx   104 /* exFAT: File system version (WORD) */

Definition at line 440 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_HiddSec   28 /* Volume offset from top of the drive (DWORD) */

Definition at line 406 of file ff.c.

Referenced by f_mkfs().

#define BPB_Media   21 /* Media descriptor byte (BYTE) */

Definition at line 402 of file ff.c.

Referenced by f_mkfs().

#define BPB_NumClusEx   92 /* exFAT: Number of clusters (DWORD) */

Definition at line 437 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_NumFATs   16 /* Number of FATs (BYTE) */

Definition at line 399 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_NumFATsEx   110 /* exFAT: Number of FATs (BYTE) */

Definition at line 445 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_NumHeads   26 /* Number of heads for int13h (WORD) */

Definition at line 405 of file ff.c.

Referenced by f_mkfs().

#define BPB_PercInUseEx   112 /* exFAT: Percent in use (BYTE) */

Definition at line 447 of file ff.c.

Referenced by f_mkfs().

#define BPB_RootClus32   44 /* FAT32: Root directory cluster (DWORD) */

Definition at line 420 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_RootClusEx   96 /* exFAT: Root directory cluster (DWORD) */

Definition at line 438 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_RootEntCnt   17 /* Size of root directory area for FAT12/16 [entry] (WORD) */

Definition at line 400 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_RsvdEx   113 /* exFAT: Reserved (7-byte) */

Definition at line 448 of file ff.c.

#define BPB_RsvdSecCnt   14 /* Size of reserved area [sector] (WORD) */

Definition at line 398 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_SecPerClus   13 /* Cluster size [sector] (BYTE) */

Definition at line 397 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_SecPerClusEx   109 /* exFAT: Log2 of cluster size in sector (BYTE) */

Definition at line 444 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_SecPerTrk   24 /* Track size for int13h [sector] (WORD) */

Definition at line 404 of file ff.c.

Referenced by f_mkfs().

#define BPB_TotSec16   19 /* Volume size (16-bit) [sector] (WORD) */

Definition at line 401 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_TotSec32   32 /* Volume size (32-bit) [sector] (DWORD) */

Definition at line 407 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_TotSecEx   72 /* exFAT: Volume size [sector] (QWORD) */

Definition at line 433 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define BPB_VolFlagEx   106 /* exFAT: Volume flags (BYTE) */

Definition at line 441 of file ff.c.

Referenced by f_mkfs().

#define BPB_VolIDEx   100 /* exFAT: Volume serial number (DWORD) */

Definition at line 439 of file ff.c.

Referenced by f_getlabel(), and f_mkfs().

#define BPB_VolOfsEx   64 /* exFAT: Volume offset from top of the drive [sector] (QWORD) */

Definition at line 432 of file ff.c.

Referenced by f_mkfs().

#define BPB_ZeroedEx   11 /* exFAT: MBZ field (53-byte) */

Definition at line 431 of file ff.c.

Referenced by find_volume().

#define BS_55AA   510 /* Signature word (WORD) */

Definition at line 415 of file ff.c.

Referenced by check_fs(), f_mkfs(), find_volume(), and sync_fs().

#define BS_BootCode   62 /* Boot code (448-byte) */

Definition at line 414 of file ff.c.

#define BS_BootCode32   90 /* FAT32: Boot code (420-byte) */

Definition at line 429 of file ff.c.

#define BS_BootCodeEx   120 /* exFAT: Boot code (390-byte) */

Definition at line 449 of file ff.c.

Referenced by f_mkfs().

#define BS_BootSig   38 /* Extended boot signature (BYTE) */

Definition at line 410 of file ff.c.

Referenced by f_mkfs().

#define BS_BootSig32   66 /* FAT32: Extended boot signature (BYTE) */

Definition at line 425 of file ff.c.

Referenced by f_mkfs().

#define BS_DrvNum   36 /* Physical drive number for int13h (BYTE) */

Definition at line 408 of file ff.c.

Referenced by f_mkfs().

#define BS_DrvNum32   64 /* FAT32: Physical drive number for int13h (BYTE) */

Definition at line 423 of file ff.c.

Referenced by f_mkfs().

#define BS_FilSysType   54 /* File system type string (8-byte) */

Definition at line 413 of file ff.c.

Referenced by check_fs().

#define BS_FilSysType32   82 /* FAT32: File system type string (8-byte) */

Definition at line 428 of file ff.c.

Referenced by check_fs().

#define BS_JmpBoot   0 /* x86 jump instruction (3-byte) */

Definition at line 394 of file ff.c.

Referenced by check_fs(), and f_mkfs().

#define BS_NTres   37 /* Error flag (BYTE) */

Definition at line 409 of file ff.c.

#define BS_NTres32   65 /* FAT32: Error flag (BYTE) */

Definition at line 424 of file ff.c.

#define BS_OEMName   3 /* OEM name (8-byte) */

Definition at line 395 of file ff.c.

#define BS_VolID   39 /* Volume serial number (DWORD) */

Definition at line 411 of file ff.c.

Referenced by f_getlabel(), and f_mkfs().

#define BS_VolID32   67 /* FAT32: Volume serial number (DWORD) */

Definition at line 426 of file ff.c.

Referenced by f_getlabel(), and f_mkfs().

#define BS_VolLab   43 /* Volume label string (8-byte) */

Definition at line 412 of file ff.c.

Referenced by f_mkfs().

#define BS_VolLab32   71 /* FAT32: Volume label string (8-byte) */

Definition at line 427 of file ff.c.

Referenced by f_mkfs().

#define DDEM   0xE5 /* Deleted directory entry mark set to DIR_Name[0] */

Definition at line 508 of file ff.c.

Referenced by create_name(), dir_alloc(), dir_find(), dir_read(), dir_remove(), f_setlabel(), and get_fileinfo().

#define DEF_NAMBUF   WCHAR *lfn;
#define DIR_Attr   11 /* Attribute (BYTE) */

Definition at line 470 of file ff.c.

Referenced by dir_find(), dir_read(), f_chmod(), f_mkdir(), f_open(), f_rename(), f_setlabel(), f_sync(), and get_fileinfo().

#define DIR_CrtTime   14 /* Created time (DWORD) */

Definition at line 473 of file ff.c.

Referenced by f_open().

#define DIR_CrtTime10   13 /* Created time sub-second (BYTE) */

Definition at line 472 of file ff.c.

#define DIR_FileSize   28 /* File size (DWORD) */

Definition at line 478 of file ff.c.

Referenced by f_open(), f_sync(), and get_fileinfo().

#define DIR_FstClusHI   20 /* Higher 16-bit of first cluster (WORD) */

Definition at line 475 of file ff.c.

Referenced by ld_clust(), and st_clust().

#define DIR_FstClusLO   26 /* Lower 16-bit of first cluster (WORD) */

Definition at line 477 of file ff.c.

Referenced by ld_clust(), and st_clust().

#define DIR_LstAccDate   18 /* Last accessed date (WORD) */

Definition at line 474 of file ff.c.

Referenced by f_sync().

#define DIR_ModTime   22 /* Modified time (DWORD) */

Definition at line 476 of file ff.c.

Referenced by f_mkdir(), f_open(), f_sync(), f_utime(), and get_fileinfo().

#define DIR_Name   0 /* Short file name (11-byte) */

Definition at line 469 of file ff.c.

Referenced by dir_alloc(), dir_find(), dir_read(), dir_register(), dir_remove(), f_mkdir(), and f_setlabel().

#define DIR_NTres   12 /* Lower case flag (BYTE) */

Definition at line 471 of file ff.c.

Referenced by dir_register(), and get_fileinfo().

#define ENTER_FF (   fs)

Definition at line 50 of file ff.c.

Referenced by find_volume(), and validate().

#define FA_DIRTY   0x80 /* FIL.buf[] needs to be written-back */

Definition at line 366 of file ff.c.

Referenced by f_expand(), f_lseek(), f_read(), f_sync(), f_truncate(), and f_write().

#define FA_MODIFIED   0x40 /* File has been modified */

Definition at line 365 of file ff.c.

Referenced by f_expand(), f_lseek(), f_open(), f_sync(), f_truncate(), and f_write().

#define FA_SEEKEND   0x20 /* Seek to end of the file on file open */

Definition at line 364 of file ff.c.

Referenced by f_open().

#define FREE_NAMBUF ( )    ff_memfree(lfn)
#define FSI_Free_Count   488 /* FAT32 FSI: Number of free clusters (DWORD) */

Definition at line 453 of file ff.c.

Referenced by f_mkfs(), find_volume(), and sync_fs().

#define FSI_LeadSig   0 /* FAT32 FSI: Leading signature (DWORD) */

Definition at line 451 of file ff.c.

Referenced by f_mkfs(), find_volume(), and sync_fs().

#define FSI_Nxt_Free   492 /* FAT32 FSI: Last allocated cluster (DWORD) */

Definition at line 454 of file ff.c.

Referenced by f_mkfs(), find_volume(), and sync_fs().

#define FSI_StrucSig   484 /* FAT32 FSI: Structure signature (DWORD) */

Definition at line 452 of file ff.c.

Referenced by f_mkfs(), find_volume(), and sync_fs().

#define GET_FATTIME ( )    get_fattime()

Definition at line 74 of file ff.c.

Referenced by f_mkdir(), f_mkfs(), f_open(), and f_sync().

#define INIT_NAMBUF (   fs)    { lfn = ff_memalloc((_MAX_LFN+1)*2); if (!lfn) LEAVE_FF(fs, FR_NOT_ENOUGH_CORE); (fs)->lfnbuf = lfn; }
#define IsDBCS1 (   c)    0

Definition at line 351 of file ff.c.

Referenced by create_name(), f_getlabel(), f_gets(), f_setlabel(), gen_numname(), get_achar(), and get_fileinfo().

#define IsDBCS2 (   c)    0

Definition at line 352 of file ff.c.

Referenced by create_name(), f_getlabel(), f_setlabel(), get_achar(), and get_fileinfo().

#define IsDigit (   c)    (((c)>='0')&&((c)<='9'))

Definition at line 333 of file ff.c.

Referenced by f_printf().

#define IsLower (   c)    (((c)>='a')&&((c)<='z'))

Definition at line 332 of file ff.c.

Referenced by create_name(), f_printf(), f_setlabel(), get_achar(), and get_ldnumber().

#define IsUpper (   c)    (((c)>='A')&&((c)<='Z'))

Definition at line 331 of file ff.c.

Referenced by create_name(), and get_fileinfo().

#define LDIR_Attr   11 /* LFN attribute (BYTE) */

Definition at line 480 of file ff.c.

Referenced by put_lfn().

#define LDIR_Chksum   13 /* Checksum of the SFN entry (BYTE) */

Definition at line 482 of file ff.c.

Referenced by dir_find(), dir_read(), and put_lfn().

#define LDIR_FstClusLO   26 /* Must be zero (WORD) */

Definition at line 483 of file ff.c.

Referenced by cmp_lfn(), pick_lfn(), and put_lfn().

#define LDIR_Ord   0 /* LFN entry order and LLE flag (BYTE) */

Definition at line 479 of file ff.c.

Referenced by cmp_lfn(), pick_lfn(), and put_lfn().

#define LDIR_Type   12 /* LFN type (BYTE) */

Definition at line 481 of file ff.c.

Referenced by put_lfn().

#define LEAVE_FF (   fs,
  res 
)    return res
#define LLEF   0x40 /* Last long entry flag in LDIR_Ord */

Definition at line 507 of file ff.c.

Referenced by cmp_lfn(), dir_find(), dir_read(), pick_lfn(), and put_lfn().

#define MAX_DIR   0x200000 /* Maximum size of FAT directory */

Definition at line 386 of file ff.c.

Referenced by dir_next(), and dir_sdi().

#define MAX_DIR_EX   0x10000000 /* Maximum size of exFAT directory */

Definition at line 387 of file ff.c.

Referenced by dir_next(), and dir_sdi().

#define MAX_EXFAT   0x7FFFFFFD /* Maximum number of exFAT clusters (limited by implementation) */

Definition at line 385 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define MAX_FAT12   0xFF5 /* Maximum number of FAT12 clusters */

Definition at line 382 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define MAX_FAT16   0xFFF5 /* Maximum number of FAT16 clusters */

Definition at line 383 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define MAX_FAT32   0xFFFFFF5 /* Maximum number of FAT32 clusters */

Definition at line 384 of file ff.c.

Referenced by f_mkfs().

#define MBR_Table   446 /* MBR: Offset of partition table in the MBR */

Definition at line 456 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define NS_BODY   0x08 /* Lower case flag (body) */

Definition at line 374 of file ff.c.

Referenced by create_name(), dir_register(), and get_fileinfo().

#define NS_DOT   0x20 /* Dot entry */

Definition at line 376 of file ff.c.

Referenced by create_name(), dir_register(), f_chmod(), f_mkdir(), f_rename(), f_unlink(), f_utime(), and follow_path().

#define NS_EXT   0x10 /* Lower case flag (ext) */

Definition at line 375 of file ff.c.

Referenced by create_name(), dir_register(), and get_fileinfo().

#define NS_LAST   0x04 /* Last segment */

Definition at line 373 of file ff.c.

Referenced by create_name(), and follow_path().

#define NS_LFN   0x02 /* Force to create LFN entry */

Definition at line 372 of file ff.c.

Referenced by create_name(), and dir_register().

#define NS_LOSS   0x01 /* Out of 8.3 format */

Definition at line 371 of file ff.c.

Referenced by create_name(), dir_find(), and dir_register().

#define NS_NOLFN   0x40 /* Do not find LFN */

Definition at line 377 of file ff.c.

Referenced by dir_find(), and dir_register().

#define NS_NONAME   0x80 /* Not followed */
#define NSFLAG   11 /* Index of name status byte in fn[] */
#define PTE_Boot   0 /* MBR PTE: Boot indicator */

Definition at line 458 of file ff.c.

Referenced by f_mkfs().

#define PTE_EdCyl   7 /* MBR PTE: End cylinder */

Definition at line 465 of file ff.c.

Referenced by f_mkfs().

#define PTE_EdHead   5 /* MBR PTE: End head */

Definition at line 463 of file ff.c.

Referenced by f_mkfs().

#define PTE_EdSec   6 /* MBR PTE: End sector */

Definition at line 464 of file ff.c.

Referenced by f_mkfs().

#define PTE_SizLba   12 /* MBR PTE: Size in LBA */

Definition at line 467 of file ff.c.

Referenced by f_mkfs().

#define PTE_StCyl   3 /* MBR PTE: Start cylinder */

Definition at line 461 of file ff.c.

Referenced by f_mkfs().

#define PTE_StHead   1 /* MBR PTE: Start head */

Definition at line 459 of file ff.c.

Referenced by f_mkfs().

#define PTE_StLba   8 /* MBR PTE: Start in LBA */

Definition at line 466 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define PTE_StSec   2 /* MBR PTE: Start sector */

Definition at line 460 of file ff.c.

Referenced by f_mkfs().

#define PTE_System   4 /* MBR PTE: System ID */

Definition at line 462 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define RDDEM   0x05 /* Replacement of the character collides with DDEM */

Definition at line 509 of file ff.c.

Referenced by create_name(), and get_fileinfo().

#define SS (   fs)    ((UINT)_MAX_SS) /* Fixed sector size */
#define SZ_PTE   16 /* MBR: Size of a partition table entry */

Definition at line 457 of file ff.c.

Referenced by f_mkfs(), and find_volume().

#define SZDIRE   32 /* Size of a directory entry */
#define XDIR_AccTime   16 /* Last accessed time (DWORD) */

Definition at line 493 of file ff.c.

Referenced by f_sync().

#define XDIR_AccTZ   24 /* Last accessed timezone (BYTE) */

Definition at line 498 of file ff.c.

#define XDIR_Attr   4 /* File attribute (WORD) */

Definition at line 490 of file ff.c.

Referenced by dir_read(), f_chmod(), f_mkdir(), f_open(), f_sync(), and sum_sfn().

#define XDIR_CaseSum   4 /* Sum of case conversion table (DWORD) */

Definition at line 487 of file ff.c.

#define XDIR_CrtTime   8 /* Created time (DWORD) */

Definition at line 491 of file ff.c.

Referenced by f_open().

#define XDIR_CrtTime10   20 /* Created time subsecond (BYTE) */

Definition at line 494 of file ff.c.

Referenced by f_open().

#define XDIR_CrtTZ   22 /* Created timezone (BYTE) */

Definition at line 496 of file ff.c.

#define XDIR_FileSize   56 /* File/Directory size (QWORD) */

Definition at line 504 of file ff.c.

Referenced by dir_register(), f_mkdir(), f_open(), f_opendir(), f_sync(), f_unlink(), follow_path(), and sum_sfn().

#define XDIR_FstClus   52 /* First cluster of the file data (DWORD) */

Definition at line 503 of file ff.c.

Referenced by f_chdir(), f_mkdir(), f_open(), f_opendir(), f_sync(), f_unlink(), and follow_path().

#define XDIR_GenFlags   33 /* Gneral secondary flags (WORD) */

Definition at line 499 of file ff.c.

Referenced by dir_register(), f_mkdir(), f_open(), f_opendir(), f_sync(), f_unlink(), and follow_path().

#define XDIR_Label   2 /* Volume label (11-WORD) */

Definition at line 486 of file ff.c.

Referenced by f_getlabel(), and f_setlabel().

#define XDIR_ModTime   12 /* Modified time (DWORD) */

Definition at line 492 of file ff.c.

Referenced by f_mkdir(), f_open(), f_sync(), f_utime(), and sum_sfn().

#define XDIR_ModTime10   21 /* Modified time subsecond (BYTE) */

Definition at line 495 of file ff.c.

Referenced by f_open(), and f_sync().

#define XDIR_ModTZ   23 /* Modified timezone (BYTE) */

Definition at line 497 of file ff.c.

#define XDIR_NameHash   36 /* Hash of file name (WORD) */

Definition at line 501 of file ff.c.

Referenced by dir_find(), f_rename(), and sum_sfn().

#define XDIR_NumLabel   1 /* Number of volume label characters (BYTE) */

Definition at line 485 of file ff.c.

Referenced by f_getlabel(), and f_setlabel().

#define XDIR_NumName   35 /* Number of file name characters (BYTE) */

Definition at line 500 of file ff.c.

Referenced by dir_find(), f_rename(), and sum_sfn().

#define XDIR_NumSec   1 /* Number of secondary entries (BYTE) */

Definition at line 488 of file ff.c.

Referenced by f_rename(), and sum_sfn().

#define XDIR_SetSum   2 /* Sum of the set of directory entries (WORD) */

Definition at line 489 of file ff.c.

Referenced by sum_sfn().

#define XDIR_Type   0 /* Type of exFAT directory entry (BYTE) */

Definition at line 484 of file ff.c.

Referenced by dir_alloc(), dir_remove(), f_setlabel(), and sum_sfn().

#define XDIR_ValidFileSize   40 /* Valid file size (QWORD) */

Definition at line 502 of file ff.c.

Referenced by dir_register(), f_mkdir(), f_open(), and f_sync().

Function Documentation

static MEMSPACE BYTE check_fs ( FATFS fs,
DWORD  sect 
)
static

Definition at line 2969 of file ff.c.

Referenced by find_volume().

static MEMSPACE int chk_chr ( const char *  str,
int  chr 
)
static

Definition at line 721 of file ff.c.

Referenced by create_name(), and f_setlabel().

static MEMSPACE DWORD clmt_clust ( FIL fp,
FSIZE_t  ofs 
)
static

Definition at line 1423 of file ff.c.

Referenced by f_lseek(), f_read(), and f_write().

static MEMSPACE DWORD clust2sect ( FATFS fs,
DWORD  clst 
)
static
static MEMSPACE int cmp_lfn ( const WCHAR lfnbuf,
BYTE dir 
)
static

Definition at line 1666 of file ff.c.

Referenced by dir_find().

static MEMSPACE DWORD create_chain ( _FDID obj,
DWORD  clst 
)
static

Definition at line 1337 of file ff.c.

Referenced by dir_next(), f_lseek(), f_mkdir(), and f_write().

static MEMSPACE FRESULT create_name ( DIR dp,
const TCHAR **  path 
)
static

Definition at line 2622 of file ff.c.

Referenced by follow_path().

static MEMSPACE FRESULT dir_alloc ( DIR dp,
UINT  nent 
)
static

Definition at line 1575 of file ff.c.

Referenced by dir_register(), and f_setlabel().

static MEMSPACE FRESULT dir_find ( DIR dp)
static

Definition at line 2212 of file ff.c.

Referenced by dir_register(), and follow_path().

static MEMSPACE FRESULT dir_next ( DIR dp,
int  stretch 
)
static

Definition at line 1504 of file ff.c.

Referenced by dir_alloc(), dir_find(), dir_read(), dir_register(), dir_remove(), f_getcwd(), f_readdir(), and sum_sfn().

static MEMSPACE FRESULT dir_read ( DIR dp,
int  vol 
)
static

Definition at line 2134 of file ff.c.

Referenced by dir_find(), f_getcwd(), f_getlabel(), f_readdir(), f_setlabel(), and f_unlink().

static MEMSPACE FRESULT dir_register ( DIR dp)
static

Definition at line 2292 of file ff.c.

Referenced by f_mkdir(), f_open(), and f_rename().

static MEMSPACE FRESULT dir_remove ( DIR dp)
static

Definition at line 2396 of file ff.c.

Referenced by f_rename(), and f_unlink().

static MEMSPACE FRESULT dir_sdi ( DIR dp,
DWORD  ofs 
)
static
MEMSPACE FRESULT f_chdir ( const TCHAR path)

Definition at line 3866 of file ff.c.

Referenced by chdir(), and fatfs_ls().

MEMSPACE FRESULT f_chmod ( const TCHAR path,
BYTE  attr,
BYTE  mask 
)

Definition at line 4823 of file ff.c.

Referenced by chmod(), and fatfs_tests().

MEMSPACE FRESULT f_close ( FIL fp)

Definition at line 3808 of file ff.c.

Referenced by close(), fatfs_ls(), and open().

MEMSPACE FRESULT f_closedir ( DIR dp)

Definition at line 4226 of file ff.c.

Referenced by closedir().

MEMSPACE FRESULT f_expand ( FIL fp,
FSIZE_t  fsz,
BYTE  opt 
)

Definition at line 5133 of file ff.c.

MEMSPACE FRESULT f_findfirst ( DIR dp,
FILINFO fno,
const TCHAR path,
const TCHAR pattern 
)

Definition at line 4323 of file ff.c.

MEMSPACE FRESULT f_findnext ( DIR dp,
FILINFO fno 
)

Definition at line 4297 of file ff.c.

Referenced by f_findfirst().

MEMSPACE FRESULT f_getcwd ( TCHAR buff,
UINT  len 
)

Definition at line 3919 of file ff.c.

Referenced by fatfs_ls(), and getcwd().

MEMSPACE FRESULT f_getfree ( const TCHAR path,
DWORD nclst,
FATFS **  fatfs 
)

Definition at line 4387 of file ff.c.

Referenced by fatfs_ls(), and fatfs_status().

MEMSPACE FRESULT f_getlabel ( const TCHAR path,
TCHAR label,
DWORD vsn 
)

Definition at line 4915 of file ff.c.

Referenced by fatfs_status().

MEMSPACE TCHAR* f_gets ( TCHAR buff,
int  len,
FIL fp 
)

Definition at line 5826 of file ff.c.

MEMSPACE FRESULT f_lseek ( FIL fp,
FSIZE_t  ofs 
)

Definition at line 4000 of file ff.c.

Referenced by fatfs_getc(), ftruncate(), lseek(), open(), and truncate().

MEMSPACE FRESULT f_mkdir ( const TCHAR path)

Definition at line 4622 of file ff.c.

Referenced by fatfs_ls(), and mkdir().

MEMSPACE FRESULT f_mkfs ( const TCHAR path,
BYTE  opt,
DWORD  au,
void *  work,
UINT  len 
)

Definition at line 5296 of file ff.c.

Referenced by fatfs_tests(), and mkfs().

MEMSPACE FRESULT f_mount ( FATFS fs,
const TCHAR path,
BYTE  opt 
)

Definition at line 3255 of file ff.c.

Referenced by fatfs_tests(), mkfs(), and mmc_init().

MEMSPACE FRESULT f_open ( FIL fp,
const TCHAR path,
BYTE  mode 
)

Definition at line 3304 of file ff.c.

Referenced by fatfs_ls(), open(), and truncate().

MEMSPACE FRESULT f_opendir ( DIR dp,
const TCHAR path 
)

Definition at line 4155 of file ff.c.

Referenced by f_findfirst(), fatfs_ls(), fatfs_scan_files(), and opendir().

MEMSPACE int f_printf ( FIL fp,
const TCHAR fmt,
  ... 
)

Definition at line 6040 of file ff.c.

MEMSPACE int f_putc ( TCHAR  c,
FIL fp 
)

Definition at line 5998 of file ff.c.

MEMSPACE int f_puts ( const TCHAR str,
FIL fp 
)

Definition at line 6019 of file ff.c.

MEMSPACE FRESULT f_read ( FIL fp,
void *  buff,
UINT  btr,
UINT br 
)

Definition at line 3506 of file ff.c.

Referenced by f_gets(), fatfs_getc(), fatfs_ls(), and read().

MEMSPACE FRESULT f_readdir ( DIR dp,
FILINFO fno 
)

Definition at line 4260 of file ff.c.

Referenced by f_findnext(), fatfs_ls(), fatfs_scan_files(), and readdir().

MEMSPACE FRESULT f_rename ( const TCHAR path_old,
const TCHAR path_new 
)

Definition at line 4716 of file ff.c.

Referenced by fatfs_ls(), and rename().

MEMSPACE FRESULT f_setlabel ( const TCHAR label)

Definition at line 5005 of file ff.c.

MEMSPACE FRESULT f_stat ( const TCHAR path,
FILINFO fno 
)

Definition at line 4351 of file ff.c.

Referenced by fatfs_ls(), and stat().

MEMSPACE FRESULT f_sync ( FIL fp)

Definition at line 3729 of file ff.c.

Referenced by f_close(), and syncfs().

MEMSPACE FRESULT f_truncate ( FIL fp)

Definition at line 4475 of file ff.c.

Referenced by ftruncate(), and truncate().

MEMSPACE FRESULT f_unlink ( const TCHAR path)

Definition at line 4526 of file ff.c.

Referenced by fatfs_ls(), rmdir(), and unlink().

MEMSPACE FRESULT f_utime ( const TCHAR path,
const FILINFO fno 
)

Definition at line 4869 of file ff.c.

Referenced by utime().

MEMSPACE FRESULT f_write ( FIL fp,
const void *  buff,
UINT  btw,
UINT bw 
)

Definition at line 3607 of file ff.c.

Referenced by fatfs_ls(), fatfs_putc(), putc_bfd(), putc_flush(), and write().

static MEMSPACE FRESULT find_volume ( const TCHAR **  path,
FATFS **  rfs,
BYTE  mode 
)
static
static MEMSPACE FRESULT follow_path ( DIR dp,
const TCHAR path 
)
static

Definition at line 2818 of file ff.c.

Referenced by f_chdir(), f_chmod(), f_mkdir(), f_open(), f_opendir(), f_rename(), f_stat(), f_unlink(), and f_utime().

static MEMSPACE void gen_numname ( BYTE dst,
const BYTE src,
const WCHAR lfn,
UINT  seq 
)
static

Definition at line 1781 of file ff.c.

Referenced by dir_register().

static MEMSPACE WCHAR get_achar ( const TCHAR **  ptr)
static

Definition at line 2548 of file ff.c.

Referenced by pattern_matching().

static MEMSPACE DWORD get_fat ( _FDID obj,
DWORD  clst 
)
static
static MEMSPACE void get_fileinfo ( DIR dp,
FILINFO fno 
)
static

Definition at line 2445 of file ff.c.

Referenced by f_getcwd(), f_readdir(), and f_stat().

static MEMSPACE int get_ldnumber ( const TCHAR **  path)
static

Definition at line 2907 of file ff.c.

Referenced by f_close(), f_mkfs(), f_mount(), f_rename(), and find_volume().

static MEMSPACE DWORD ld_clust ( FATFS fs,
const BYTE dir 
)
static

Definition at line 1619 of file ff.c.

Referenced by f_chdir(), f_getcwd(), f_open(), f_opendir(), f_rename(), f_unlink(), and follow_path().

static DWORD ld_dword ( const BYTE ptr)
static
static WORD ld_word ( const BYTE ptr)
static
static MEMSPACE int mem_cmp ( const void *  dst,
const void *  src,
UINT  cnt 
)
static

Definition at line 707 of file ff.c.

Referenced by check_fs(), and dir_find().

static MEMSPACE void mem_cpy ( void *  dst,
const void *  src,
UINT  cnt 
)
static

Definition at line 686 of file ff.c.

Referenced by dir_register(), f_mkdir(), f_mkfs(), f_read(), f_rename(), f_setlabel(), f_write(), gen_numname(), and sum_sfn().

static MEMSPACE void mem_set ( void *  dst,
int  val,
UINT  cnt 
)
static

Definition at line 698 of file ff.c.

Referenced by create_name(), dir_next(), dir_register(), f_mkdir(), f_mkfs(), f_open(), f_setlabel(), sum_sfn(), and sync_fs().

static MEMSPACE FRESULT move_window ( FATFS fs,
DWORD  sector 
)
static
static MEMSPACE int pattern_matching ( const TCHAR pat,
const TCHAR nam,
int  skip,
int  inf 
)
static

Definition at line 2573 of file ff.c.

Referenced by f_findnext().

static MEMSPACE int pick_lfn ( WCHAR lfnbuf,
BYTE dir 
)
static

Definition at line 1703 of file ff.c.

Referenced by dir_read().

static MEMSPACE FRESULT put_fat ( FATFS fs,
DWORD  clst,
DWORD  val 
)
static

Definition at line 1082 of file ff.c.

Referenced by create_chain(), f_expand(), and remove_chain().

static MEMSPACE void put_lfn ( const WCHAR lfn,
BYTE dir,
BYTE  ord,
BYTE  sum 
)
static

Definition at line 1742 of file ff.c.

Referenced by dir_register().

static MEMSPACE void putc_bfd ( putbuff pb,
TCHAR  c 
)
static

Definition at line 5914 of file ff.c.

Referenced by f_printf(), f_putc(), and f_puts().

static MEMSPACE int putc_flush ( putbuff pb)
static

Definition at line 5971 of file ff.c.

Referenced by f_printf(), f_putc(), and f_puts().

static MEMSPACE void putc_init ( putbuff pb,
FIL fp 
)
static

Definition at line 5986 of file ff.c.

Referenced by f_printf(), f_putc(), and f_puts().

static MEMSPACE FRESULT remove_chain ( _FDID obj,
DWORD  clst,
DWORD  pclst 
)
static

Definition at line 1256 of file ff.c.

Referenced by f_mkdir(), f_open(), f_truncate(), and f_unlink().

static MEMSPACE void st_clust ( FATFS fs,
BYTE dir,
DWORD  cl 
)
static

Definition at line 1638 of file ff.c.

Referenced by f_mkdir(), f_open(), f_rename(), and f_sync().

static void st_dword ( BYTE ptr,
DWORD  val 
)
static

Definition at line 653 of file ff.c.

Referenced by f_mkdir(), f_mkfs(), f_open(), f_sync(), f_utime(), put_fat(), and sync_fs().

static void st_word ( BYTE ptr,
WORD  val 
)
static

Definition at line 646 of file ff.c.

Referenced by f_mkfs(), f_rename(), f_setlabel(), f_sync(), put_fat(), put_lfn(), st_clust(), sum_sfn(), and sync_fs().

static MEMSPACE BYTE sum_sfn ( const BYTE dir)
static

Definition at line 1841 of file ff.c.

Referenced by dir_find(), dir_read(), and dir_register().

static MEMSPACE FRESULT sync_fs ( FATFS fs)
static

Definition at line 946 of file ff.c.

Referenced by f_chmod(), f_mkdir(), f_rename(), f_setlabel(), f_sync(), f_unlink(), and f_utime().

static MEMSPACE FRESULT sync_window ( FATFS fs)
static

Definition at line 883 of file ff.c.

Referenced by dir_next(), f_mkdir(), f_write(), move_window(), and sync_fs().

static MEMSPACE FRESULT validate ( _FDID obj,
FATFS **  fs 
)
static

Definition at line 3220 of file ff.c.

Referenced by f_close(), f_closedir(), f_expand(), f_lseek(), f_read(), f_readdir(), f_sync(), f_truncate(), and f_write().

Variable Documentation

const BYTE ExCvt[] = _EXCVT
static

Definition at line 585 of file ff.c.

Referenced by create_name(), f_setlabel(), and get_achar().

FATFS* FatFs[_VOLUMES]
static

Definition at line 528 of file ff.c.

WORD Fsid
static

Definition at line 529 of file ff.c.

Referenced by find_volume().

const BYTE LfnOfs[] = {1,3,5,7,9,14,16,18,20,22,24,28,30}
static

Definition at line 1658 of file ff.c.