Defines | Functions

ff.c File Reference

#include "ff.h"
#include "diskio.h"

Defines

#define SS(fs)   512U
#define ENTER_FF(fs)
#define LEAVE_FF(fs, res)   return res
#define ABORT(fs, res)   { fp->flag |= FA__ERROR; LEAVE_FF(fs, res); }
#define LD_CLUST(dir)   (((DWORD)LD_WORD(dir+DIR_FstClusHI)<<16) | LD_WORD(dir+DIR_FstClusLO))
#define ST_CLUST(dir, cl)   {ST_WORD(dir+DIR_FstClusLO, cl); ST_WORD(dir+DIR_FstClusHI, (DWORD)cl>>16);}
#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 NS   11
#define NS_LOSS   0x01
#define NS_LFN   0x02
#define NS_LAST   0x04
#define NS_BODY   0x08
#define NS_EXT   0x10
#define NS_DOT   0x20
#define MIN_FAT16   4086
#define MIN_FAT32   65526
#define BS_jmpBoot   0
#define BS_OEMName   3
#define BPB_BytsPerSec   11
#define BPB_SecPerClus   13
#define BPB_RsvdSecCnt   14
#define BPB_NumFATs   16
#define BPB_RootEntCnt   17
#define BPB_TotSec16   19
#define BPB_Media   21
#define BPB_FATSz16   22
#define BPB_SecPerTrk   24
#define BPB_NumHeads   26
#define BPB_HiddSec   28
#define BPB_TotSec32   32
#define BS_DrvNum   36
#define BS_BootSig   38
#define BS_VolID   39
#define BS_VolLab   43
#define BS_FilSysType   54
#define BPB_FATSz32   36
#define BPB_ExtFlags   40
#define BPB_FSVer   42
#define BPB_RootClus   44
#define BPB_FSInfo   48
#define BPB_BkBootSec   50
#define BS_DrvNum32   64
#define BS_BootSig32   66
#define BS_VolID32   67
#define BS_VolLab32   71
#define BS_FilSysType32   82
#define FSI_LeadSig   0
#define FSI_StrucSig   484
#define FSI_Free_Count   488
#define FSI_Nxt_Free   492
#define MBR_Table   446
#define SZ_PTE   16
#define BS_55AA   510
#define DIR_Name   0
#define DIR_Attr   11
#define DIR_NTres   12
#define DIR_CrtTime   14
#define DIR_CrtDate   16
#define DIR_FstClusHI   20
#define DIR_WrtTime   22
#define DIR_WrtDate   24
#define DIR_FstClusLO   26
#define DIR_FileSize   28
#define LDIR_Ord   0
#define LDIR_Attr   11
#define LDIR_Type   12
#define LDIR_Chksum   13
#define LDIR_FstClusLO   26
#define SZ_DIR   32
#define LLE   0x40
#define DDE   0xE5
#define NDDE   0x05
#define DEF_NAMEBUF   BYTE sfn[12]
#define INIT_BUF(dobj)   (dobj).fn = sfn
#define FREE_BUF()

Functions

DWORD clust2sect (FATFS *fs, DWORD clst)
DWORD get_fat (FATFS *fs, DWORD clst)
FRESULT put_fat (FATFS *fs, DWORD clst, DWORD val)
FRESULT f_mount (BYTE vol, FATFS *fs)
FRESULT f_open (FIL *fp, const TCHAR *path, BYTE mode)
FRESULT f_read (FIL *fp, void *buff, UINT btr, UINT *br)
FRESULT f_write (FIL *fp, const void *buff, UINT btw, UINT *bw)
FRESULT f_sync (FIL *fp)
FRESULT f_close (FIL *fp)
FRESULT f_lseek (FIL *fp, DWORD ofs)
FRESULT f_opendir (DIR *dj, const TCHAR *path)
FRESULT f_readdir (DIR *dj, FILINFO *fno)
FRESULT f_stat (const TCHAR *path, FILINFO *fno)
FRESULT f_getfree (const TCHAR *path, DWORD *nclst, FATFS **fatfs)
FRESULT f_truncate (FIL *fp)
FRESULT f_unlink (const TCHAR *path)
FRESULT f_mkdir (const TCHAR *path)
FRESULT f_chmod (const TCHAR *path, BYTE value, BYTE mask)
FRESULT f_utime (const TCHAR *path, const FILINFO *fno)
FRESULT f_rename (const TCHAR *path_old, const TCHAR *path_new)

Define Documentation

#define _DF1S   0
#define _EXCVT
Value:
{0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0xAd,0x9B,0x8C,0x9D,0xAE,0x9F, \
                                0xA0,0x21,0xA2,0xA3,0xA4,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, \
                                0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xF7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0x9F}
#define ABORT (   fs,
  res 
)    { fp->flag |= FA__ERROR; LEAVE_FF(fs, res); }
#define BPB_BkBootSec   50
#define BPB_BytsPerSec   11
#define BPB_ExtFlags   40
#define BPB_FATSz16   22
#define BPB_FATSz32   36
#define BPB_FSInfo   48
#define BPB_FSVer   42
#define BPB_HiddSec   28
#define BPB_Media   21
#define BPB_NumFATs   16
#define BPB_NumHeads   26
#define BPB_RootClus   44
#define BPB_RootEntCnt   17
#define BPB_RsvdSecCnt   14
#define BPB_SecPerClus   13
#define BPB_SecPerTrk   24
#define BPB_TotSec16   19
#define BPB_TotSec32   32
#define BS_55AA   510
#define BS_BootSig   38
#define BS_BootSig32   66
#define BS_DrvNum   36
#define BS_DrvNum32   64
#define BS_FilSysType   54
#define BS_FilSysType32   82
#define BS_jmpBoot   0
#define BS_OEMName   3
#define BS_VolID   39
#define BS_VolID32   67
#define BS_VolLab   43
#define BS_VolLab32   71
#define DDE   0xE5
#define DEF_NAMEBUF   BYTE sfn[12]
#define DIR_Attr   11
#define DIR_CrtDate   16
#define DIR_CrtTime   14
#define DIR_FileSize   28
#define DIR_FstClusHI   20
#define DIR_FstClusLO   26
#define DIR_Name   0
#define DIR_NTres   12
#define DIR_WrtDate   24
#define DIR_WrtTime   22
#define ENTER_FF (   fs  ) 
#define FREE_BUF (  ) 
#define FSI_Free_Count   488
#define FSI_LeadSig   0
#define FSI_Nxt_Free   492
#define FSI_StrucSig   484
#define INIT_BUF (   dobj  )     (dobj).fn = sfn
#define IsDBCS1 (   c  )     0
#define IsDBCS2 (   c  )     0
#define IsDigit (   c  )     (((c)>='0')&&((c)<='9'))
#define IsLower (   c  )     (((c)>='a')&&((c)<='z'))
#define IsUpper (   c  )     (((c)>='A')&&((c)<='Z'))
#define LD_CLUST (   dir  )     (((DWORD)LD_WORD(dir+DIR_FstClusHI)<<16) | LD_WORD(dir+DIR_FstClusLO))
#define LDIR_Attr   11
#define LDIR_Chksum   13
#define LDIR_FstClusLO   26
#define LDIR_Ord   0
#define LDIR_Type   12
#define LEAVE_FF (   fs,
  res 
)    return res
#define LLE   0x40
#define MBR_Table   446
#define MIN_FAT16   4086
#define MIN_FAT32   65526
#define NDDE   0x05
#define NS   11
#define NS_BODY   0x08
#define NS_DOT   0x20
#define NS_EXT   0x10
#define NS_LAST   0x04
#define NS_LFN   0x02
#define NS_LOSS   0x01
#define SS (   fs  )     512U
#define ST_CLUST (   dir,
  cl 
)    {ST_WORD(dir+DIR_FstClusLO, cl); ST_WORD(dir+DIR_FstClusHI, (DWORD)cl>>16);}
#define SZ_DIR   32
#define SZ_PTE   16

Function Documentation

DWORD clust2sect ( FATFS fs,
DWORD  clst 
)
FRESULT f_chmod ( const TCHAR path,
BYTE  value,
BYTE  mask 
)
FRESULT f_close ( FIL fp  ) 
FRESULT f_getfree ( const TCHAR path,
DWORD nclst,
FATFS **  fatfs 
)
FRESULT f_lseek ( FIL fp,
DWORD  ofs 
)
FRESULT f_mkdir ( const TCHAR path  ) 
FRESULT f_mount ( BYTE  vol,
FATFS fs 
)
FRESULT f_open ( FIL fp,
const TCHAR path,
BYTE  mode 
)
FRESULT f_opendir ( DIR dj,
const TCHAR path 
)
FRESULT f_read ( FIL fp,
void *  buff,
UINT  btr,
UINT br 
)
FRESULT f_readdir ( DIR dj,
FILINFO fno 
)
FRESULT f_rename ( const TCHAR path_old,
const TCHAR path_new 
)
FRESULT f_stat ( const TCHAR path,
FILINFO fno 
)
FRESULT f_sync ( FIL fp  ) 
FRESULT f_truncate ( FIL fp  ) 
FRESULT f_unlink ( const TCHAR path  ) 
FRESULT f_utime ( const TCHAR path,
const FILINFO fno 
)
FRESULT f_write ( FIL fp,
const void *  buff,
UINT  btw,
UINT bw 
)
DWORD get_fat ( FATFS fs,
DWORD  clst 
)
FRESULT put_fat ( FATFS fs,
DWORD  clst,
DWORD  val 
)