CMSIS2000  0.0.7
 Указатель Структуры данных Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Макросы Группы Страницы
Файл ff.c
#include "ff.h"
#include "diskio.h"
Граф включаемых заголовочных файлов для ff.c:

См. исходные тексты.

Макросы

#define ABORT(fs, res)   { fp->flag |= FA__ERROR; LEAVE_FF(fs, res); }
#define BPB_BkBootSec   50 /* Offset of backup boot sector (2) */
#define BPB_BytsPerSec   11 /* Sector size [byte] (2) */
#define BPB_ExtFlags   40 /* Extended flags (2) */
#define BPB_FATSz16   22 /* FAT size [sector] (2) */
#define BPB_FATSz32   36 /* FAT size [sector] (4) */
#define BPB_FSInfo   48 /* Offset of FSInfo sector (2) */
#define BPB_FSVer   42 /* File system version (2) */
#define BPB_HiddSec   28 /* Number of special hidden sectors (4) */
#define BPB_Media   21 /* Media descriptor (1) */
#define BPB_NumFATs   16 /* Number of FAT copies (1) */
#define BPB_NumHeads   26 /* Number of heads (2) */
#define BPB_RootClus   44 /* Root dir first cluster (4) */
#define BPB_RootEntCnt   17 /* Number of root dir entries for FAT12/16 (2) */
#define BPB_RsvdSecCnt   14 /* Size of reserved area [sector] (2) */
#define BPB_SecPerClus   13 /* Cluster size [sector] (1) */
#define BPB_SecPerTrk   24 /* Track size [sector] (2) */
#define BPB_TotSec16   19 /* Volume size [sector] (2) */
#define BPB_TotSec32   32 /* Volume size [sector] (4) */
#define BS_55AA   510 /* Boot sector signature (2) */
#define BS_BootSig   38 /* Extended boot signature (1) */
#define BS_BootSig32   66 /* Extended boot signature (1) */
#define BS_DrvNum   36 /* Physical drive number (2) */
#define BS_DrvNum32   64 /* Physical drive number (2) */
#define BS_FilSysType   54 /* File system type (1) */
#define BS_FilSysType32   82 /* File system type (1) */
#define BS_jmpBoot   0 /* Jump instruction (3) */
#define BS_OEMName   3 /* OEM name (8) */
#define BS_VolID   39 /* Volume serial number (4) */
#define BS_VolID32   67 /* Volume serial number (4) */
#define BS_VolLab   43 /* Volume label (8) */
#define BS_VolLab32   71 /* Volume label (8) */
#define DDE   0xE5 /* Deleted directory entry mark in DIR_Name[0] */
#define DEF_NAMEBUF   BYTE sfn[12]
#define DIR_Attr   11 /* Attribute (1) */
#define DIR_CrtDate   16 /* Created date (2) */
#define DIR_CrtTime   14 /* Created time (2) */
#define DIR_CrtTimeTenth   13 /* Created time sub-second (1) */
#define DIR_FileSize   28 /* File size (4) */
#define DIR_FstClusHI   20 /* Higher 16-bit of first cluster (2) */
#define DIR_FstClusLO   26 /* Lower 16-bit of first cluster (2) */
#define DIR_LstAccDate   18 /* Last accessed date (2) */
#define DIR_Name   0 /* Short file name (11) */
#define DIR_NTres   12 /* NT flag (1) */
#define DIR_WrtDate   24 /* Modified date (2) */
#define DIR_WrtTime   22 /* Modified time (2) */
#define ENTER_FF(fs)
#define FREE_BUF()
#define FSI_Free_Count   488 /* FSI: Number of free clusters (4) */
#define FSI_LeadSig   0 /* FSI: Leading signature (4) */
#define FSI_Nxt_Free   492 /* FSI: Last allocated cluster (4) */
#define FSI_StrucSig   484 /* FSI: Structure signature (4) */
#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 LDIR_Attr   11 /* LFN attribute (1) */
#define LDIR_Chksum   13 /* Sum of corresponding SFN entry */
#define LDIR_FstClusLO   26 /* Filled by zero (0) */
#define LDIR_Ord   0 /* LFN entry order and LLE flag (1) */
#define LDIR_Type   12 /* LFN type (1) */
#define LEAVE_FF(fs, res)   return res
#define LLE   0x40 /* Last long entry flag in LDIR_Ord */
#define MBR_Table   446 /* MBR: Partition table offset (2) */
#define MIN_FAT16   4086 /* Minimum number of clusters for FAT16 */
#define MIN_FAT32   65526 /* Minimum number of clusters for FAT32 */
#define NDDE   0x05 /* Replacement of the character collides with DDE */
#define NS   11 /* Index of name status byte in fn[] */
#define NS_BODY   0x08 /* Lower case flag (body) */
#define NS_DOT   0x20 /* Dot entry */
#define NS_EXT   0x10 /* Lower case flag (ext) */
#define NS_LAST   0x04 /* Last segment */
#define NS_LFN   0x02 /* Force to create LFN entry */
#define NS_LOSS   0x01 /* Out of 8.3 format */
#define SS(fs)   ((fs)->ssize) /* Variable sector size */
#define SZ_DIR   32 /* Size of a directory entry */
#define SZ_PTE   16 /* MBR: Size of a partition table entry */

Функции

static BYTE check_fs (FATFS *fs, DWORD sect)
static int chk_chr (const char *str, int chr)
static FRESULT chk_mounted (const TCHAR **path, FATFS **rfs, BYTE wmode)
DWORD clust2sect (FATFS *fs, DWORD clst)
static DWORD create_chain (FATFS *fs, DWORD clst)
static FRESULT create_name (DIR *dj, const TCHAR **path)
static FRESULT dir_alloc (DIR *dj, UINT nent)
static FRESULT dir_find (DIR *dj)
static FRESULT dir_next (DIR *dj, int stretch)
static FRESULT dir_read (DIR *dj, int vol)
static FRESULT dir_register (DIR *dj)
static FRESULT dir_remove (DIR *dj)
static FRESULT dir_sdi (DIR *dj, WORD idx)
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)
static FRESULT follow_path (DIR *dj, const TCHAR *path)
DWORD get_fat (FATFS *fs, DWORD clst)
static void get_fileinfo (DIR *dj, FILINFO *fno)
static DWORD ld_clust (FATFS *fs, BYTE *dir)
static int mem_cmp (const void *dst, const void *src, UINT cnt)
static void mem_cpy (void *dst, const void *src, UINT cnt)
static void mem_set (void *dst, int val, UINT cnt)
static FRESULT move_window (FATFS *fs, DWORD sector)
FRESULT put_fat (FATFS *fs, DWORD clst, DWORD val)
static FRESULT remove_chain (FATFS *fs, DWORD clst)
static void st_clust (BYTE *dir, DWORD cl)
static FRESULT sync_fs (FATFS *fs)
static FRESULT sync_window (FATFS *fs)
static FRESULT validate (void *obj)

Переменные

static WORD Fsid

Макросы

#define ABORT (   fs,
  res 
)    { fp->flag |= FA__ERROR; LEAVE_FF(fs, res); }

См. определение в файле ff.c строка 137

Используется в f_lseek(), f_read() и f_write().

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

См. определение в файле ff.c строка 423

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

См. определение в файле ff.c строка 401

Используется в chk_mounted().

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

См. определение в файле ff.c строка 419

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

См. определение в файле ff.c строка 408

Используется в chk_mounted().

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

См. определение в файле ff.c строка 418

Используется в chk_mounted().

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

См. определение в файле ff.c строка 422

Используется в chk_mounted().

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

См. определение в файле ff.c строка 420

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

См. определение в файле ff.c строка 411

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

См. определение в файле ff.c строка 407

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

См. определение в файле ff.c строка 404

Используется в chk_mounted().

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

См. определение в файле ff.c строка 410

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

См. определение в файле ff.c строка 421

Используется в chk_mounted().

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

См. определение в файле ff.c строка 405

Используется в chk_mounted().

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

См. определение в файле ff.c строка 403

Используется в chk_mounted().

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

См. определение в файле ff.c строка 402

Используется в chk_mounted().

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

См. определение в файле ff.c строка 409

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

См. определение в файле ff.c строка 406

Используется в chk_mounted().

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

См. определение в файле ff.c строка 412

Используется в chk_mounted().

#define BS_55AA   510 /* Boot sector signature (2) */

См. определение в файле ff.c строка 435

Используется в check_fs(), chk_mounted() и sync_fs().

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

См. определение в файле ff.c строка 414

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

См. определение в файле ff.c строка 425

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

См. определение в файле ff.c строка 413

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

См. определение в файле ff.c строка 424

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

См. определение в файле ff.c строка 417

Используется в check_fs().

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

См. определение в файле ff.c строка 428

Используется в check_fs().

#define BS_jmpBoot   0 /* Jump instruction (3) */

См. определение в файле ff.c строка 399

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

См. определение в файле ff.c строка 400

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

См. определение в файле ff.c строка 415

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

См. определение в файле ff.c строка 426

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

См. определение в файле ff.c строка 416

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

См. определение в файле ff.c строка 427

#define DDE   0xE5 /* Deleted directory entry mark in DIR_Name[0] */

См. определение в файле ff.c строка 456

Используется в create_name(), dir_alloc(), dir_find(), dir_read(), dir_remove() и get_fileinfo().

#define DEF_NAMEBUF   BYTE sfn[12]

См. определение в файле ff.c строка 489

Используется в f_chmod(), f_mkdir(), f_open(), f_opendir(), f_readdir(), f_rename(), f_stat(), f_unlink() и f_utime().

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

См. определение в файле ff.c строка 438

Используется в dir_find(), dir_read(), f_chmod(), f_mkdir(), f_open(), f_opendir(), f_rename(), f_sync(), f_unlink(), follow_path() и get_fileinfo().

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

См. определение в файле ff.c строка 442

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

См. определение в файле ff.c строка 441

Используется в f_open().

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

См. определение в файле ff.c строка 440

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

См. определение в файле ff.c строка 448

Используется в f_open(), f_sync() и get_fileinfo().

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

См. определение в файле ff.c строка 444

Используется в ld_clust() и st_clust().

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

См. определение в файле ff.c строка 447

Используется в ld_clust() и st_clust().

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

См. определение в файле ff.c строка 443

Используется в f_sync().

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

См. определение в файле ff.c строка 437

Используется в dir_find(), dir_read() и f_mkdir().

#define DIR_NTres   12 /* NT flag (1) */

См. определение в файле ff.c строка 439

Используется в dir_register() и get_fileinfo().

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

См. определение в файле ff.c строка 446

Используется в f_utime() и get_fileinfo().

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

См. определение в файле ff.c строка 445

Используется в f_mkdir(), f_sync(), f_utime() и get_fileinfo().

#define ENTER_FF (   fs)

См. определение в файле ff.c строка 133

Используется в chk_mounted() и validate().

#define FREE_BUF ( )

См. определение в файле ff.c строка 491

Используется в f_chmod(), f_mkdir(), f_open(), f_opendir(), f_readdir(), f_rename(), f_stat(), f_unlink() и f_utime().

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

См. определение в файле ff.c строка 431

Используется в chk_mounted() и sync_fs().

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

См. определение в файле ff.c строка 429

Используется в chk_mounted() и sync_fs().

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

См. определение в файле ff.c строка 432

Используется в chk_mounted() и sync_fs().

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

См. определение в файле ff.c строка 430

Используется в chk_mounted() и sync_fs().

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

См. определение в файле ff.c строка 490

Используется в f_chmod(), f_mkdir(), f_open(), f_opendir(), f_readdir(), f_rename(), f_stat(), f_unlink() и f_utime().

#define IsDBCS1 (   c)    0

См. определение в файле ff.c строка 373

Используется в create_name() и get_fileinfo().

#define IsDBCS2 (   c)    0

См. определение в файле ff.c строка 374

Используется в create_name() и get_fileinfo().

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

См. определение в файле ff.c строка 355

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

См. определение в файле ff.c строка 354

Используется в create_name().

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

См. определение в файле ff.c строка 353

Используется в create_name() и get_fileinfo().

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

См. определение в файле ff.c строка 450

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

См. определение в файле ff.c строка 452

Используется в dir_find() и dir_read().

#define LDIR_FstClusLO   26 /* Filled by zero (0) */

См. определение в файле ff.c строка 453

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

См. определение в файле ff.c строка 449

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

См. определение в файле ff.c строка 451

#define LEAVE_FF (   fs,
  res 
)    return res

См. определение в файле ff.c строка 134

Используется в f_chmod(), f_close(), f_getfree(), f_lseek(), f_mkdir(), f_open(), f_opendir(), f_read(), f_readdir(), f_rename(), f_stat(), f_sync(), f_truncate(), f_unlink(), f_utime() и f_write().

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

См. определение в файле ff.c строка 455

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

См. определение в файле ff.c строка 433

Используется в chk_mounted().

#define MIN_FAT16   4086 /* Minimum number of clusters for FAT16 */

См. определение в файле ff.c строка 391

Используется в chk_mounted().

#define MIN_FAT32   65526 /* Minimum number of clusters for FAT32 */

См. определение в файле ff.c строка 392

Используется в chk_mounted().

#define NDDE   0x05 /* Replacement of the character collides with DDE */

См. определение в файле ff.c строка 457

Используется в create_name() и get_fileinfo().

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

См. определение в файле ff.c строка 380

Используется в create_name(), dir_find(), dir_register(), f_chmod(), f_mkdir(), f_rename(), f_unlink(), f_utime() и follow_path().

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

См. определение в файле ff.c строка 384

Используется в create_name(), dir_register() и get_fileinfo().

#define NS_DOT   0x20 /* Dot entry */

См. определение в файле ff.c строка 386

Используется в create_name(), dir_register(), f_chmod(), f_mkdir(), f_rename(), f_unlink(), f_utime() и follow_path().

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

См. определение в файле ff.c строка 385

Используется в create_name(), dir_register() и get_fileinfo().

#define NS_LAST   0x04 /* Last segment */

См. определение в файле ff.c строка 383

Используется в create_name() и follow_path().

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

См. определение в файле ff.c строка 382

Используется в create_name() и dir_register().

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

См. определение в файле ff.c строка 381

Используется в create_name(), dir_find() и dir_register().

#define SS (   fs)    ((fs)->ssize) /* Variable sector size */

См. определение в файле ff.c строка 119

Используется в chk_mounted(), dir_next(), dir_sdi(), f_getfree(), f_lseek(), f_mkdir(), f_read(), f_write(), get_fat() и put_fat().

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

См. определение в файле ff.c строка 454

Используется в chk_mounted(), dir_next(), dir_register(), dir_sdi(), f_mkdir() и f_rename().

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

См. определение в файле ff.c строка 434

Используется в chk_mounted().

Функции

static BYTE check_fs ( FATFS fs,
DWORD  sect 
)
static

См. определение в файле ff.c строка 2041

Перекрестные ссылки BS_55AA, BS_FilSysType, BS_FilSysType32, disk_read(), FATFS::drv, LD_DWORD, LD_WORD, RES_OK и FATFS::win.

Используется в chk_mounted().

Граф вызовов:

Граф вызова функции:

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

См. определение в файле ff.c строка 575

Используется в create_name().

Граф вызова функции:

DWORD clust2sect ( FATFS fs,
DWORD  clst 
)

См. определение в файле ff.c строка 824

Перекрестные ссылки FATFS::csize, FATFS::database и FATFS::n_fatent.

Используется в dir_next(), dir_sdi(), f_lseek(), f_mkdir(), f_read(), f_rename(), f_write() и remove_chain().

Граф вызова функции:

static DWORD create_chain ( FATFS fs,
DWORD  clst 
)
static

См. определение в файле ff.c строка 1001

Перекрестные ссылки FR_DISK_ERR, FR_OK, FATFS::free_clust, FATFS::fsi_flag, get_fat(), FATFS::last_clust, FATFS::n_fatent и put_fat().

Используется в dir_next(), f_lseek(), f_mkdir() и f_write().

Граф вызовов:

Граф вызова функции:

static FRESULT create_name ( DIR dj,
const TCHAR **  path 
)
static

См. определение в файле ff.c строка 1687

Перекрестные ссылки _MAX_LFN, chk_chr(), DDE, ff_convert(), ff_wtoupper(), DIR::fn, FR_INVALID_NAME, FR_OK, IsDBCS1, IsDBCS2, IsLower, IsUpper, mem_set(), NDDE, NS, NS_BODY, NS_DOT, NS_EXT, NS_LAST, NS_LFN и NS_LOSS.

Используется в follow_path().

Граф вызовов:

Граф вызова функции:

static FRESULT dir_alloc ( DIR dj,
UINT  nent 
)
static

См. определение в файле ff.c строка 1205

Перекрестные ссылки DDE, DIR::dir, dir_next(), dir_sdi(), FR_OK, DIR::fs, move_window() и DIR::sect.

Используется в dir_register().

Граф вызовов:

Граф вызова функции:

static FRESULT dir_find ( DIR dj)
static

См. определение в файле ff.c строка 1445

Перекрестные ссылки AM_LFN, AM_MASK, AM_VOL, DDE, DIR::dir, DIR_Attr, DIR_Name, dir_next(), dir_sdi(), DIR::fn, FR_NO_FILE, FR_OK, DIR::fs, DIR::index, LDIR_Chksum, mem_cmp(), move_window(), NS, NS_LOSS и DIR::sect.

Используется в dir_register() и follow_path().

Граф вызовов:

Граф вызова функции:

static FRESULT dir_next ( DIR dj,
int  stretch 
)
static

См. определение в файле ff.c строка 1136

Перекрестные ссылки DIR::clust, clust2sect(), create_chain(), FATFS::csize, DIR::dir, FR_DENIED, FR_DISK_ERR, FR_INT_ERR, FR_NO_FILE, FR_OK, DIR::fs, get_fat(), DIR::index, mem_set(), FATFS::n_fatent, FATFS::n_rootdir, DIR::sect, SS, sync_window(), SZ_DIR, FATFS::wflag, FATFS::win и FATFS::winsect.

Используется в dir_alloc(), dir_find(), dir_read(), dir_register(), dir_remove() и f_readdir().

Граф вызовов:

Граф вызова функции:

static FRESULT dir_read ( DIR dj,
int  vol 
)
static

См. определение в файле ff.c строка 1506

Перекрестные ссылки _FS_RPATH, AM_LFN, AM_MASK, AM_VOL, DDE, DIR::dir, DIR_Attr, DIR_Name, dir_next(), FR_NO_FILE, FR_OK, DIR::fs, DIR::index, LDIR_Chksum, move_window() и DIR::sect.

Используется в f_readdir() и f_unlink().

Граф вызовов:

Граф вызова функции:

static FRESULT dir_register ( DIR dj)
static

См. определение в файле ff.c строка 1564

Перекрестные ссылки _FS_RPATH, DIR::dir, dir_alloc(), dir_find(), dir_next(), DIR_NTres, dir_sdi(), DIR::fn, FR_DENIED, FR_INVALID_NAME, FR_NO_FILE, FR_OK, DIR::fs, DIR::index, mem_cpy(), mem_set(), move_window(), NS, NS_BODY, NS_DOT, NS_EXT, NS_LFN, NS_LOSS, DIR::sect, SZ_DIR и FATFS::wflag.

Используется в f_mkdir(), f_open() и f_rename().

Граф вызовов:

Граф вызова функции:

static FRESULT dir_remove ( DIR dj)
static

См. определение в файле ff.c строка 1642

Перекрестные ссылки DDE, DIR::dir, dir_next(), dir_sdi(), FR_INT_ERR, FR_NO_FILE, FR_OK, DIR::fs, DIR::index, move_window(), DIR::sect и FATFS::wflag.

Используется в f_rename() и f_unlink().

Граф вызовов:

Граф вызова функции:

static FRESULT dir_sdi ( DIR dj,
WORD  idx 
)
static

См. определение в файле ff.c строка 1088

Перекрестные ссылки DIR::clust, clust2sect(), FATFS::csize, DIR::dir, FATFS::dirbase, FR_DISK_ERR, FR_INT_ERR, FR_OK, DIR::fs, FS_FAT32, FATFS::fs_type, get_fat(), DIR::index, FATFS::n_fatent, FATFS::n_rootdir, DIR::sclust, DIR::sect, SS, SZ_DIR и FATFS::win.

Используется в dir_alloc(), dir_find(), dir_register(), dir_remove(), f_opendir(), f_readdir(), f_unlink() и follow_path().

Граф вызовов:

Граф вызова функции:

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

См. определение в файле ff.c строка 3414

Перекрестные ссылки _FS_RPATH, AM_ARC, AM_HID, AM_RDO, AM_SYS, chk_mounted(), DEF_NAMEBUF, DIR::dir, DIR_Attr, DIR::fn, follow_path(), FR_INVALID_NAME, FR_OK, FREE_BUF, DIR::fs, INIT_BUF, LEAVE_FF, NS, NS_DOT, sync_fs() и FATFS::wflag.

Граф вызовов:

FRESULT f_close ( FIL fp)

См. определение в файле ff.c строка 2708

Перекрестные ссылки f_sync(), FR_OK, FIL::fs, LEAVE_FF и validate().

Используется в load_file_from_external_source_to().

Граф вызовов:

Граф вызова функции:

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

См. определение в файле ff.c строка 3157

Перекрестные ссылки chk_mounted(), FATFS::fatbase, FR_DISK_ERR, FR_INT_ERR, FR_OK, FATFS::free_clust, FS_FAT12, FS_FAT16, FS_FAT32, FATFS::fs_type, FATFS::fsi_flag, get_fat(), LD_DWORD, LD_WORD, LEAVE_FF, move_window(), FATFS::n_fatent, SS и FATFS::win.

Граф вызовов:

FRESULT f_mount ( BYTE  vol,
FATFS fs 
)

См. определение в файле ff.c строка 2268

Перекрестные ссылки _VOLUMES, FR_INT_ERR, FR_INVALID_DRIVE, FR_OK и FATFS::fs_type.

Используется в load_file_from_external_source_to().

Граф вызова функции:

FRESULT f_opendir ( DIR dj,
const TCHAR path 
)

См. определение в файле ff.c строка 3035

Перекрестные ссылки AM_DIR, chk_mounted(), DEF_NAMEBUF, DIR::dir, DIR_Attr, dir_sdi(), follow_path(), FR_INVALID_OBJECT, FR_NO_FILE, FR_NO_PATH, FR_OK, FREE_BUF, DIR::fs, FATFS::id, DIR::id, INIT_BUF, ld_clust(), LEAVE_FF и DIR::sclust.

Граф вызовов:

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

См. определение в файле ff.c строка 2440

Перекрестные ссылки ABORT, FIL::buf, FIL::clust, clust2sect(), FATFS::csize, disk_read(), disk_write(), FATFS::drv, FIL::dsect, FA__DIRTY, FA__ERROR, FA_READ, FIL::flag, FIL::fptr, FR_DENIED, FR_DISK_ERR, FR_INT_ERR, FR_OK, FIL::fs, FIL::fsize, get_fat(), LEAVE_FF, mem_cpy(), move_window(), RES_OK, FIL::sclust, SS, validate(), FATFS::wflag, FATFS::win и FATFS::winsect.

Используется в check_size_and_header() и load_uboot_file().

Граф вызовов:

Граф вызова функции:

FRESULT f_readdir ( DIR dj,
FILINFO fno 
)

См. определение в файле ff.c строка 3082

Перекрестные ссылки DEF_NAMEBUF, dir_next(), dir_read(), dir_sdi(), FR_NO_FILE, FR_OK, FREE_BUF, DIR::fs, get_fileinfo(), INIT_BUF, LEAVE_FF, DIR::sect и validate().

Граф вызовов:

FRESULT f_rename ( const TCHAR path_old,
const TCHAR path_new 
)
FRESULT f_stat ( const TCHAR path,
FILINFO fno 
)

См. определение в файле ff.c строка 3124

Перекрестные ссылки chk_mounted(), DEF_NAMEBUF, DIR::dir, follow_path(), FR_INVALID_NAME, FR_OK, FREE_BUF, DIR::fs, get_fileinfo(), INIT_BUF и LEAVE_FF.

Граф вызовов:

FRESULT f_sync ( FIL fp)

См. определение в файле ff.c строка 2660

Перекрестные ссылки AM_ARC, FIL::buf, DIR_Attr, DIR_FileSize, DIR_LstAccDate, FIL::dir_ptr, FIL::dir_sect, DIR_WrtTime, disk_write(), FATFS::drv, FIL::dsect, FA__DIRTY, FA__WRITTEN, FIL::flag, FR_DISK_ERR, FR_OK, FIL::fs, FIL::fsize, get_fattime(), LEAVE_FF, move_window(), RES_OK, FIL::sclust, st_clust(), ST_DWORD, ST_WORD, sync_fs(), validate() и FATFS::wflag.

Используется в f_close().

Граф вызовов:

Граф вызова функции:

FRESULT f_truncate ( FIL fp)

См. определение в файле ff.c строка 3224

Перекрестные ссылки FIL::clust, FA__ERROR, FA__WRITTEN, FA_WRITE, FIL::flag, FIL::fptr, FR_DENIED, FR_DISK_ERR, FR_INT_ERR, FR_OK, FIL::fs, FIL::fsize, get_fat(), LEAVE_FF, FATFS::n_fatent, put_fat(), remove_chain(), FIL::sclust и validate().

Граф вызовов:

FRESULT f_unlink ( const TCHAR path)

См. определение в файле ff.c строка 3272

Перекрестные ссылки _FS_RPATH, AM_DIR, AM_RDO, chk_mounted(), DEF_NAMEBUF, DIR::dir, DIR_Attr, dir_read(), dir_remove(), dir_sdi(), endif(), DIR::fn, follow_path(), FR_DENIED, FR_INT_ERR, FR_INVALID_NAME, FR_NO_FILE, FR_OK, FREE_BUF, DIR::fs, INIT_BUF, ld_clust(), LEAVE_FF, mem_cpy(), NS, NS_DOT, remove_chain(), DIR::sclust и sync_fs().

Граф вызовов:

FRESULT f_utime ( const TCHAR path,
const FILINFO fno 
)

См. определение в файле ff.c строка 3456

Перекрестные ссылки _FS_RPATH, chk_mounted(), DEF_NAMEBUF, DIR::dir, DIR_WrtDate, DIR_WrtTime, FILINFO::fdate, DIR::fn, follow_path(), FR_INVALID_NAME, FR_OK, FREE_BUF, DIR::fs, FILINFO::ftime, INIT_BUF, LEAVE_FF, NS, NS_DOT, ST_WORD, sync_fs() и FATFS::wflag.

Граф вызовов:

FRESULT f_write ( FIL fp,
const void *  buff,
UINT  btw,
UINT bw 
)
static FRESULT follow_path ( DIR dj,
const TCHAR path 
)
static

См. определение в файле ff.c строка 1979

Перекрестные ссылки _FS_RPATH, AM_DIR, create_name(), DIR::dir, DIR_Attr, dir_find(), dir_sdi(), DIR::fn, FR_NO_FILE, FR_NO_PATH, FR_OK, DIR::fs, ld_clust(), NS, NS_DOT, NS_LAST и DIR::sclust.

Используется в f_chmod(), f_mkdir(), f_open(), f_opendir(), f_rename(), f_stat(), f_unlink() и f_utime().

Граф вызовов:

Граф вызова функции:

DWORD get_fat ( FATFS fs,
DWORD  clst 
)

См. определение в файле ff.c строка 842

Перекрестные ссылки FATFS::fatbase, FS_FAT12, FS_FAT16, FS_FAT32, FATFS::fs_type, LD_DWORD, LD_WORD, move_window(), FATFS::n_fatent, SS и FATFS::win.

Используется в create_chain(), dir_next(), dir_sdi(), f_getfree(), f_lseek(), f_read(), f_truncate() и remove_chain().

Граф вызовов:

Граф вызова функции:

static void get_fileinfo ( DIR dj,
FILINFO fno 
)
static

См. определение в файле ff.c строка 1897

Перекрестные ссылки _USE_LFN, DDE, DIR::dir, DIR_Attr, DIR_FileSize, DIR_NTres, DIR_WrtDate, DIR_WrtTime, FILINFO::fattrib, FILINFO::fdate, ff_convert(), FILINFO::fname, FILINFO::fsize, FILINFO::ftime, IsDBCS1, IsDBCS2, IsUpper, LD_DWORD, LD_WORD, NDDE, NS_BODY, NS_EXT и DIR::sect.

Используется в f_readdir() и f_stat().

Граф вызовов:

Граф вызова функции:

static DWORD ld_clust ( FATFS fs,
BYTE dir 
)
static

См. определение в файле ff.c строка 1239

Перекрестные ссылки DIR_FstClusHI, DIR_FstClusLO, FS_FAT32, FATFS::fs_type и LD_WORD.

Используется в f_open(), f_opendir(), f_rename(), f_unlink() и follow_path().

Граф вызова функции:

static int mem_cmp ( const void *  dst,
const void *  src,
UINT  cnt 
)
static

См. определение в файле ff.c строка 565

Используется в dir_find().

Граф вызова функции:

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

См. определение в файле ff.c строка 539

Используется в dir_register(), f_mkdir(), f_read(), f_rename(), f_unlink() и f_write().

Граф вызова функции:

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

См. определение в файле ff.c строка 556

Используется в create_name(), dir_next(), dir_register(), f_mkdir() и sync_fs().

Граф вызова функции:

static FRESULT move_window ( FATFS fs,
DWORD  sector 
)
static

См. определение в файле ff.c строка 758

Перекрестные ссылки disk_read(), FATFS::drv, FR_DISK_ERR, FR_OK, RES_OK, sync_window(), FATFS::win и FATFS::winsect.

Используется в dir_alloc(), dir_find(), dir_read(), dir_register(), dir_remove(), f_getfree(), f_open(), f_read(), f_rename(), f_sync(), f_write(), get_fat() и put_fat().

Граф вызовов:

Граф вызова функции:

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

См. определение в файле ff.c строка 885

Перекрестные ссылки FATFS::fatbase, FR_INT_ERR, FR_OK, FS_FAT12, FS_FAT16, FS_FAT32, FATFS::fs_type, LD_DWORD, move_window(), FATFS::n_fatent, SS, ST_DWORD, ST_WORD, FATFS::wflag и FATFS::win.

Используется в create_chain(), f_truncate() и remove_chain().

Граф вызовов:

Граф вызова функции:

static FRESULT remove_chain ( FATFS fs,
DWORD  clst 
)
static

См. определение в файле ff.c строка 948

Перекрестные ссылки clust2sect(), FATFS::csize, CTRL_ERASE_SECTOR, disk_ioctl(), FATFS::drv, FR_DISK_ERR, FR_INT_ERR, FR_OK, FATFS::free_clust, FATFS::fsi_flag, get_fat(), FATFS::n_fatent и put_fat().

Используется в f_mkdir(), f_open(), f_truncate() и f_unlink().

Граф вызовов:

Граф вызова функции:

static void st_clust ( BYTE dir,
DWORD  cl 
)
static

См. определение в файле ff.c строка 1256

Перекрестные ссылки DIR_FstClusHI, DIR_FstClusLO и ST_WORD.

Используется в f_mkdir(), f_open(), f_rename() и f_sync().

Граф вызова функции:

static FRESULT sync_fs ( FATFS fs)
static

См. определение в файле ff.c строка 784

Перекрестные ссылки BS_55AA, CTRL_SYNC, disk_ioctl(), disk_write(), FATFS::drv, FR_DISK_ERR, FR_OK, FATFS::free_clust, FS_FAT32, FATFS::fs_type, FATFS::fsi_flag, FSI_Free_Count, FSI_LeadSig, FSI_Nxt_Free, FATFS::fsi_sector, FSI_StrucSig, FATFS::last_clust, mem_set(), RES_OK, ST_DWORD, ST_WORD, sync_window(), FATFS::win и FATFS::winsect.

Используется в f_chmod(), f_mkdir(), f_rename(), f_sync(), f_unlink() и f_utime().

Граф вызовов:

Граф вызова функции:

static FRESULT sync_window ( FATFS fs)
static

См. определение в файле ff.c строка 732

Перекрестные ссылки disk_write(), FATFS::drv, FATFS::fatbase, FR_DISK_ERR, FR_OK, FATFS::fsize, FATFS::n_fats, RES_OK, FATFS::wflag, FATFS::win и FATFS::winsect.

Используется в dir_next(), f_mkdir(), f_write(), move_window() и sync_fs().

Граф вызовов:

Граф вызова функции:

static FRESULT validate ( void *  obj)
static

См. определение в файле ff.c строка 2235

Перекрестные ссылки disk_status(), FATFS::drv, ENTER_FF, FR_INVALID_OBJECT, FR_NOT_READY, FR_OK, FIL::fs, FATFS::fs_type, FATFS::id, FIL::id и STA_NOINIT.

Используется в f_close(), f_lseek(), f_read(), f_readdir(), f_sync(), f_truncate() и f_write().

Граф вызовов:

Граф вызова функции:

Переменные

WORD Fsid
static

См. определение в файле ff.c строка 476

Используется в chk_mounted().