STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
Macros | Functions
ff.c File Reference
#include "ff.h"
#include "diskio.h"

Go to the source code of this file.

Macros

#define ENTER_FF(fs)
 
#define LEAVE_FF(fs, res)   return res
 
#define ABORT(fs, res)   { fp->err = (BYTE)(res); LEAVE_FF(fs, res); }
 
#define SS(fs)   ((UINT)_MAX_SS) /* Fixed sector size */
 
#define GET_FATTIME()   get_fattime()
 
#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 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 MIN_FAT16   4086U /* Minimum number of clusters as FAT16 */
 
#define MIN_FAT32   65526U /* Minimum number of clusters as FAT32 */
 
#define BS_jmpBoot   0 /* x86 jump instruction (3) */
 
#define BS_OEMName   3 /* OEM name (8) */
 
#define BPB_BytsPerSec   11 /* Sector size [byte] (2) */
 
#define BPB_SecPerClus   13 /* Cluster size [sector] (1) */
 
#define BPB_RsvdSecCnt   14 /* Size of reserved area [sector] (2) */
 
#define BPB_NumFATs   16 /* Number of FAT copies (1) */
 
#define BPB_RootEntCnt   17 /* Number of root directory entries for FAT12/16 (2) */
 
#define BPB_TotSec16   19 /* Volume size [sector] (2) */
 
#define BPB_Media   21 /* Media descriptor (1) */
 
#define BPB_FATSz16   22 /* FAT size [sector] (2) */
 
#define BPB_SecPerTrk   24 /* Track size [sector] (2) */
 
#define BPB_NumHeads   26 /* Number of heads (2) */
 
#define BPB_HiddSec   28 /* Number of special hidden sectors (4) */
 
#define BPB_TotSec32   32 /* Volume size [sector] (4) */
 
#define BS_DrvNum   36 /* Physical drive number (2) */
 
#define BS_BootSig   38 /* Extended boot signature (1) */
 
#define BS_VolID   39 /* Volume serial number (4) */
 
#define BS_VolLab   43 /* Volume label (8) */
 
#define BS_FilSysType   54 /* File system type (1) */
 
#define BPB_FATSz32   36 /* FAT size [sector] (4) */
 
#define BPB_ExtFlags   40 /* Extended flags (2) */
 
#define BPB_FSVer   42 /* File system version (2) */
 
#define BPB_RootClus   44 /* Root directory first cluster (4) */
 
#define BPB_FSInfo   48 /* Offset of FSINFO sector (2) */
 
#define BPB_BkBootSec   50 /* Offset of backup boot sector (2) */
 
#define BS_DrvNum32   64 /* Physical drive number (2) */
 
#define BS_BootSig32   66 /* Extended boot signature (1) */
 
#define BS_VolID32   67 /* Volume serial number (4) */
 
#define BS_VolLab32   71 /* Volume label (8) */
 
#define BS_FilSysType32   82 /* File system type (1) */
 
#define FSI_LeadSig   0 /* FSI: Leading signature (4) */
 
#define FSI_StrucSig   484 /* FSI: Structure signature (4) */
 
#define FSI_Free_Count   488 /* FSI: Number of free clusters (4) */
 
#define FSI_Nxt_Free   492 /* FSI: Last allocated cluster (4) */
 
#define MBR_Table   446 /* MBR: Partition table offset (2) */
 
#define SZ_PTE   16 /* MBR: Size of a partition table entry */
 
#define BS_55AA   510 /* Signature word (2) */
 
#define DIR_Name   0 /* Short file name (11) */
 
#define DIR_Attr   11 /* Attribute (1) */
 
#define DIR_NTres   12 /* Lower case flag (1) */
 
#define DIR_CrtTimeTenth   13 /* Created time sub-second (1) */
 
#define DIR_CrtTime   14 /* Created time (2) */
 
#define DIR_CrtDate   16 /* Created date (2) */
 
#define DIR_LstAccDate   18 /* Last accessed date (2) */
 
#define DIR_FstClusHI   20 /* Higher 16-bit of first cluster (2) */
 
#define DIR_WrtTime   22 /* Modified time (2) */
 
#define DIR_WrtDate   24 /* Modified date (2) */
 
#define DIR_FstClusLO   26 /* Lower 16-bit of first cluster (2) */
 
#define DIR_FileSize   28 /* File size (4) */
 
#define LDIR_Ord   0 /* LFN entry order and LLE flag (1) */
 
#define LDIR_Attr   11 /* LFN attribute (1) */
 
#define LDIR_Type   12 /* LFN type (1) */
 
#define LDIR_Chksum   13 /* Sum of corresponding SFN entry */
 
#define LDIR_FstClusLO   26 /* Must be zero (0) */
 
#define SZ_DIRE   32 /* Size of a directory entry */
 
#define LLEF   0x40 /* Last long entry flag in LDIR_Ord */
 
#define DDEM   0xE5 /* Deleted directory entry mark at DIR_Name[0] */
 
#define RDDEM   0x05 /* Replacement of the character collides with DDEM */
 
#define DEFINE_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 (FATFS *fs, const TCHAR *path, BYTE opt)
 
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 *dp, const TCHAR *path)
 
FRESULT f_closedir (DIR *dp)
 
FRESULT f_readdir (DIR *dp, 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 attr, BYTE mask)
 
FRESULT f_rename (const TCHAR *path_old, const TCHAR *path_new)
 
FRESULT f_utime (const TCHAR *path, const FILINFO *fno)
 

Macro Definition Documentation

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

Definition at line 153 of file ff.c.

#define BPB_BkBootSec   50 /* Offset of backup boot sector (2) */

Definition at line 460 of file ff.c.

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

Definition at line 438 of file ff.c.

#define BPB_ExtFlags   40 /* Extended flags (2) */

Definition at line 456 of file ff.c.

#define BPB_FATSz16   22 /* FAT size [sector] (2) */

Definition at line 445 of file ff.c.

#define BPB_FATSz32   36 /* FAT size [sector] (4) */

Definition at line 455 of file ff.c.

#define BPB_FSInfo   48 /* Offset of FSINFO sector (2) */

Definition at line 459 of file ff.c.

#define BPB_FSVer   42 /* File system version (2) */

Definition at line 457 of file ff.c.

#define BPB_HiddSec   28 /* Number of special hidden sectors (4) */

Definition at line 448 of file ff.c.

#define BPB_Media   21 /* Media descriptor (1) */

Definition at line 444 of file ff.c.

#define BPB_NumFATs   16 /* Number of FAT copies (1) */

Definition at line 441 of file ff.c.

#define BPB_NumHeads   26 /* Number of heads (2) */

Definition at line 447 of file ff.c.

#define BPB_RootClus   44 /* Root directory first cluster (4) */

Definition at line 458 of file ff.c.

#define BPB_RootEntCnt   17 /* Number of root directory entries for FAT12/16 (2) */

Definition at line 442 of file ff.c.

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

Definition at line 440 of file ff.c.

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

Definition at line 439 of file ff.c.

#define BPB_SecPerTrk   24 /* Track size [sector] (2) */

Definition at line 446 of file ff.c.

#define BPB_TotSec16   19 /* Volume size [sector] (2) */

Definition at line 443 of file ff.c.

#define BPB_TotSec32   32 /* Volume size [sector] (4) */

Definition at line 449 of file ff.c.

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

Definition at line 472 of file ff.c.

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

Definition at line 451 of file ff.c.

#define BS_BootSig32   66 /* Extended boot signature (1) */

Definition at line 462 of file ff.c.

#define BS_DrvNum   36 /* Physical drive number (2) */

Definition at line 450 of file ff.c.

#define BS_DrvNum32   64 /* Physical drive number (2) */

Definition at line 461 of file ff.c.

#define BS_FilSysType   54 /* File system type (1) */

Definition at line 454 of file ff.c.

#define BS_FilSysType32   82 /* File system type (1) */

Definition at line 465 of file ff.c.

#define BS_jmpBoot   0 /* x86 jump instruction (3) */

Definition at line 436 of file ff.c.

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

Definition at line 437 of file ff.c.

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

Definition at line 452 of file ff.c.

#define BS_VolID32   67 /* Volume serial number (4) */

Definition at line 463 of file ff.c.

#define BS_VolLab   43 /* Volume label (8) */

Definition at line 453 of file ff.c.

#define BS_VolLab32   71 /* Volume label (8) */

Definition at line 464 of file ff.c.

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

Definition at line 493 of file ff.c.

#define DEFINE_NAMEBUF   BYTE sfn[12]

Definition at line 522 of file ff.c.

#define DIR_Attr   11 /* Attribute (1) */

Definition at line 475 of file ff.c.

#define DIR_CrtDate   16 /* Created date (2) */

Definition at line 479 of file ff.c.

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

Definition at line 478 of file ff.c.

#define DIR_CrtTimeTenth   13 /* Created time sub-second (1) */

Definition at line 477 of file ff.c.

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

Definition at line 485 of file ff.c.

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

Definition at line 481 of file ff.c.

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

Definition at line 484 of file ff.c.

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

Definition at line 480 of file ff.c.

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

Definition at line 474 of file ff.c.

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

Definition at line 476 of file ff.c.

#define DIR_WrtDate   24 /* Modified date (2) */

Definition at line 483 of file ff.c.

#define DIR_WrtTime   22 /* Modified time (2) */

Definition at line 482 of file ff.c.

#define ENTER_FF (   fs)

Definition at line 149 of file ff.c.

#define FREE_BUF ( )

Definition at line 524 of file ff.c.

#define FSI_Free_Count   488 /* FSI: Number of free clusters (4) */

Definition at line 468 of file ff.c.

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

Definition at line 466 of file ff.c.

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

Definition at line 469 of file ff.c.

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

Definition at line 467 of file ff.c.

#define GET_FATTIME ( )    get_fattime()

Definition at line 174 of file ff.c.

#define INIT_BUF (   dobj)    (dobj).fn = sfn

Definition at line 523 of file ff.c.

#define IsDBCS1 (   c)    0

Definition at line 411 of file ff.c.

#define IsDBCS2 (   c)    0

Definition at line 412 of file ff.c.

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

Definition at line 393 of file ff.c.

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

Definition at line 392 of file ff.c.

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

Definition at line 391 of file ff.c.

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

Definition at line 487 of file ff.c.

#define LDIR_Chksum   13 /* Sum of corresponding SFN entry */

Definition at line 489 of file ff.c.

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

Definition at line 490 of file ff.c.

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

Definition at line 486 of file ff.c.

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

Definition at line 488 of file ff.c.

#define LEAVE_FF (   fs,
  res 
)    return res

Definition at line 150 of file ff.c.

#define LLEF   0x40 /* Last long entry flag in LDIR_Ord */

Definition at line 492 of file ff.c.

#define MBR_Table   446 /* MBR: Partition table offset (2) */

Definition at line 470 of file ff.c.

#define MIN_FAT16   4086U /* Minimum number of clusters as FAT16 */

Definition at line 428 of file ff.c.

#define MIN_FAT32   65526U /* Minimum number of clusters as FAT32 */

Definition at line 429 of file ff.c.

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

Definition at line 422 of file ff.c.

#define NS_DOT   0x20 /* Dot entry */

Definition at line 424 of file ff.c.

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

Definition at line 423 of file ff.c.

#define NS_LAST   0x04 /* Last segment */

Definition at line 421 of file ff.c.

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

Definition at line 420 of file ff.c.

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

Definition at line 419 of file ff.c.

#define NSFLAG   11 /* Index of name status byte in fn[] */

Definition at line 418 of file ff.c.

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

Definition at line 494 of file ff.c.

#define SS (   fs)    ((UINT)_MAX_SS) /* Fixed sector size */

Definition at line 161 of file ff.c.

#define SZ_DIRE   32 /* Size of a directory entry */

Definition at line 491 of file ff.c.

#define SZ_PTE   16 /* MBR: Size of a partition table entry */

Definition at line 471 of file ff.c.

Function Documentation

DWORD clust2sect ( FATFS fs,
DWORD  clst 
)

Definition at line 873 of file ff.c.

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

Definition at line 3743 of file ff.c.

FRESULT f_close ( FIL fp)

Definition at line 2930 of file ff.c.

FRESULT f_closedir ( DIR dp)

Definition at line 3316 of file ff.c.

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

Definition at line 3477 of file ff.c.

FRESULT f_lseek ( FIL fp,
DWORD  ofs 
)

Definition at line 3102 of file ff.c.

FRESULT f_mkdir ( const TCHAR path)

Definition at line 3669 of file ff.c.

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

Definition at line 2475 of file ff.c.

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

Definition at line 2522 of file ff.c.

FRESULT f_opendir ( DIR dp,
const TCHAR path 
)

Definition at line 3260 of file ff.c.

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

Definition at line 2658 of file ff.c.

FRESULT f_readdir ( DIR dp,
FILINFO fno 
)

Definition at line 3348 of file ff.c.

FRESULT f_rename ( const TCHAR path_old,
const TCHAR path_new 
)

Definition at line 3786 of file ff.c.

FRESULT f_stat ( const TCHAR path,
FILINFO fno 
)

Definition at line 3442 of file ff.c.

FRESULT f_sync ( FIL fp)

Definition at line 2881 of file ff.c.

FRESULT f_truncate ( FIL fp)

Definition at line 3544 of file ff.c.

FRESULT f_unlink ( const TCHAR path)

Definition at line 3600 of file ff.c.

FRESULT f_utime ( const TCHAR path,
const FILINFO fno 
)

Definition at line 3864 of file ff.c.

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

Definition at line 2759 of file ff.c.

DWORD get_fat ( FATFS fs,
DWORD  clst 
)

Definition at line 891 of file ff.c.

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

Definition at line 946 of file ff.c.