From 11d1c01bc81ba971762ea05037fc0e3df567703f Mon Sep 17 00:00:00 2001 From: Laurence Bank Date: Sun, 16 Jan 2022 13:29:45 +0000 Subject: [PATCH] Added gif_from_spi_flash example sketch --- examples/gif_from_spi_flash/PATTERN.GIF | Bin 0 -> 932536 bytes examples/gif_from_spi_flash/diskio.h | 77 + examples/gif_from_spi_flash/ff.c | 6554 +++++++++++++++++ examples/gif_from_spi_flash/ff.h | 405 + examples/gif_from_spi_flash/ffconf.h | 288 + .../gif_from_spi_flash/gif_from_spi_flash.ino | 553 ++ library.properties | 2 +- 7 files changed, 7878 insertions(+), 1 deletion(-) create mode 100644 examples/gif_from_spi_flash/PATTERN.GIF create mode 100644 examples/gif_from_spi_flash/diskio.h create mode 100644 examples/gif_from_spi_flash/ff.c create mode 100644 examples/gif_from_spi_flash/ff.h create mode 100644 examples/gif_from_spi_flash/ffconf.h create mode 100644 examples/gif_from_spi_flash/gif_from_spi_flash.ino diff --git a/examples/gif_from_spi_flash/PATTERN.GIF b/examples/gif_from_spi_flash/PATTERN.GIF new file mode 100644 index 0000000000000000000000000000000000000000..e57ee44014f53451064efbc1084dbb022239244e GIT binary patch literal 932536 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

yRIw8iM3ceXtEl9XWl7c7AzWvwr;H|2Y`bp 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%0Av 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 z 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⪳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

bW6Ut?@%wi?QO?Er6(kZl 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 R{#lBiSvqubJ_`Ws{|`o(p#%T` literal 0 HcmV?d00001 diff --git a/examples/gif_from_spi_flash/diskio.h b/examples/gif_from_spi_flash/diskio.h new file mode 100644 index 0000000..79b68ab --- /dev/null +++ b/examples/gif_from_spi_flash/diskio.h @@ -0,0 +1,77 @@ +/*-----------------------------------------------------------------------/ +/ Low level disk interface modlue include file (C)ChaN, 2014 / +/-----------------------------------------------------------------------*/ + +#ifndef _DISKIO_DEFINED +#define _DISKIO_DEFINED + +#ifdef __cplusplus +extern "C" { +#endif + +/* Status of Disk Functions */ +typedef BYTE DSTATUS; + +/* Results of Disk Functions */ +typedef enum { + RES_OK = 0, /* 0: Successful */ + RES_ERROR, /* 1: R/W Error */ + RES_WRPRT, /* 2: Write Protected */ + RES_NOTRDY, /* 3: Not Ready */ + RES_PARERR /* 4: Invalid Parameter */ +} DRESULT; + + +/*---------------------------------------*/ +/* Prototypes for disk control functions */ + + +DSTATUS disk_initialize (BYTE pdrv); +DSTATUS disk_status (BYTE pdrv); +DRESULT disk_read (BYTE pdrv, BYTE* buff, DWORD sector, UINT count); +DRESULT disk_write (BYTE pdrv, const BYTE* buff, DWORD sector, UINT count); +DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff); + + +/* Disk Status Bits (DSTATUS) */ + +#define STA_NOINIT 0x01 /* Drive not initialized */ +#define STA_NODISK 0x02 /* No medium in the drive */ +#define STA_PROTECT 0x04 /* Write protected */ + + +/* Command code for disk_ioctrl fucntion */ + +/* Generic command (Used by FatFs) */ +#define CTRL_SYNC 0 /* Complete pending write process (needed at FF_FS_READONLY == 0) */ +#define GET_SECTOR_COUNT 1 /* Get media size (needed at FF_USE_MKFS == 1) */ +#define GET_SECTOR_SIZE 2 /* Get sector size (needed at FF_MAX_SS != FF_MIN_SS) */ +#define GET_BLOCK_SIZE 3 /* Get erase block size (needed at FF_USE_MKFS == 1) */ +#define CTRL_TRIM 4 /* Inform device that the data on the block of sectors is no longer used (needed at FF_USE_TRIM == 1) */ + +/* Generic command (Not used by FatFs) */ +#define CTRL_POWER 5 /* Get/Set power status */ +#define CTRL_LOCK 6 /* Lock/Unlock media removal */ +#define CTRL_EJECT 7 /* Eject media */ +#define CTRL_FORMAT 8 /* Create physical format on the media */ + +/* MMC/SDC specific ioctl command */ +#define MMC_GET_TYPE 10 /* Get card type */ +#define MMC_GET_CSD 11 /* Get CSD */ +#define MMC_GET_CID 12 /* Get CID */ +#define MMC_GET_OCR 13 /* Get OCR */ +#define MMC_GET_SDSTAT 14 /* Get SD status */ +#define ISDIO_READ 55 /* Read data form SD iSDIO register */ +#define ISDIO_WRITE 56 /* Write data to SD iSDIO register */ +#define ISDIO_MRITE 57 /* Masked write data to SD iSDIO register */ + +/* ATA/CF specific ioctl command */ +#define ATA_GET_REV 20 /* Get F/W revision */ +#define ATA_GET_MODEL 21 /* Get model name */ +#define ATA_GET_SN 22 /* Get serial number */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/examples/gif_from_spi_flash/ff.c b/examples/gif_from_spi_flash/ff.c new file mode 100644 index 0000000..7f56871 --- /dev/null +++ b/examples/gif_from_spi_flash/ff.c @@ -0,0 +1,6554 @@ +/*----------------------------------------------------------------------------/ +/ FatFs - Generic FAT Filesystem Module R0.13c / +/-----------------------------------------------------------------------------/ +/ +/ Copyright (C) 2018, ChaN, all right reserved. +/ +/ FatFs module is an open source software. Redistribution and use of FatFs in +/ source and binary forms, with or without modification, are permitted provided +/ that the following condition is met: +/ +/ 1. Redistributions of source code must retain the above copyright notice, +/ this condition and the following disclaimer. +/ +/ This software is provided by the copyright holder and contributors "AS IS" +/ and any warranties related to this software are DISCLAIMED. +/ The copyright owner or contributors be NOT LIABLE for any damages caused +/ by use of this software. +/ +/----------------------------------------------------------------------------*/ + + +#include "ff.h" /* Declarations of FatFs API */ +#include "diskio.h" /* Declarations of device I/O functions */ + + +/*-------------------------------------------------------------------------- + + Module Private Definitions + +---------------------------------------------------------------------------*/ + +#if FF_DEFINED != 86604 /* Revision ID */ +#error Wrong include file (ff.h). +#endif + + +/* Limits and boundaries */ +#define MAX_DIR 0x200000 /* Max size of FAT directory */ +#define MAX_DIR_EX 0x10000000 /* Max size of exFAT directory */ +#define MAX_FAT12 0xFF5 /* Max FAT12 clusters (differs from specs, but right for real DOS/Windows behavior) */ +#define MAX_FAT16 0xFFF5 /* Max FAT16 clusters (differs from specs, but right for real DOS/Windows behavior) */ +#define MAX_FAT32 0x0FFFFFF5 /* Max FAT32 clusters (not specified, practical limit) */ +#define MAX_EXFAT 0x7FFFFFFD /* Max exFAT clusters (differs from specs, implementation limit) */ + + +/* Character code support macros */ +#define IsUpper(c) ((c) >= 'A' && (c) <= 'Z') +#define IsLower(c) ((c) >= 'a' && (c) <= 'z') +#define IsDigit(c) ((c) >= '0' && (c) <= '9') +#define IsSurrogate(c) ((c) >= 0xD800 && (c) <= 0xDFFF) +#define IsSurrogateH(c) ((c) >= 0xD800 && (c) <= 0xDBFF) +#define IsSurrogateL(c) ((c) >= 0xDC00 && (c) <= 0xDFFF) + + +/* Additional file access control and file status flags for internal use */ +#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 */ + + +/* Additional file attribute bits for internal use */ +#define AM_VOL 0x08 /* Volume label */ +#define AM_LFN 0x0F /* LFN entry */ +#define AM_MASK 0x3F /* Mask of defined bits */ + + +/* Name status flags in fn[11] */ +#define NSFLAG 11 /* Index of the name status byte */ +#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 */ + + +/* exFAT directory entry types */ +#define ET_BITMAP 0x81 /* Allocation bitmap */ +#define ET_UPCASE 0x82 /* Up-case table */ +#define ET_VLABEL 0x83 /* Volume label */ +#define ET_FILEDIR 0x85 /* File and directory */ +#define ET_STREAM 0xC0 /* Stream extension */ +#define ET_FILENAME 0xC1 /* Name extension */ + + +/* FatFs refers the FAT structure as simple byte array instead of structure member +/ because the C structure is not binary compatible between different platforms */ + +#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 FAT [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 /* Number of sectors per track 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 /* WindowsNT 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 /* Filesystem 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: Filesystem 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: Filesystem 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 start cluster (DWORD) */ +#define BPB_VolIDEx 100 /* exFAT: Volume serial number (DWORD) */ +#define BPB_FSVerEx 104 /* exFAT: Filesystem version (WORD) */ +#define BPB_VolFlagEx 106 /* exFAT: Volume flags (WORD) */ +#define BPB_BytsPerSecEx 108 /* exFAT: Log2 of sector size in unit of byte (BYTE) */ +#define BPB_SecPerClusEx 109 /* exFAT: Log2 of cluster size in unit of 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 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: LFN order and LLE flag (BYTE) */ +#define LDIR_Attr 11 /* LFN: LFN attribute (BYTE) */ +#define LDIR_Type 12 /* LFN: Entry type (BYTE) */ +#define LDIR_Chksum 13 /* LFN: Checksum of the SFN (BYTE) */ +#define LDIR_FstClusLO 26 /* LFN: MBZ field (WORD) */ +#define XDIR_Type 0 /* exFAT: Type of exFAT directory entry (BYTE) */ +#define XDIR_NumLabel 1 /* exFAT: Number of volume label characters (BYTE) */ +#define XDIR_Label 2 /* exFAT: Volume label (11-WORD) */ +#define XDIR_CaseSum 4 /* exFAT: Sum of case conversion table (DWORD) */ +#define XDIR_NumSec 1 /* exFAT: Number of secondary entries (BYTE) */ +#define XDIR_SetSum 2 /* exFAT: Sum of the set of directory entries (WORD) */ +#define XDIR_Attr 4 /* exFAT: File attribute (WORD) */ +#define XDIR_CrtTime 8 /* exFAT: Created time (DWORD) */ +#define XDIR_ModTime 12 /* exFAT: Modified time (DWORD) */ +#define XDIR_AccTime 16 /* exFAT: Last accessed time (DWORD) */ +#define XDIR_CrtTime10 20 /* exFAT: Created time subsecond (BYTE) */ +#define XDIR_ModTime10 21 /* exFAT: Modified time subsecond (BYTE) */ +#define XDIR_CrtTZ 22 /* exFAT: Created timezone (BYTE) */ +#define XDIR_ModTZ 23 /* exFAT: Modified timezone (BYTE) */ +#define XDIR_AccTZ 24 /* exFAT: Last accessed timezone (BYTE) */ +#define XDIR_GenFlags 33 /* exFAT: General secondary flags (BYTE) */ +#define XDIR_NumName 35 /* exFAT: Number of file name characters (BYTE) */ +#define XDIR_NameHash 36 /* exFAT: Hash of file name (WORD) */ +#define XDIR_ValidFileSize 40 /* exFAT: Valid file size (QWORD) */ +#define XDIR_FstClus 52 /* exFAT: First cluster of the file data (DWORD) */ +#define XDIR_FileSize 56 /* exFAT: File/Directory size (QWORD) */ + +#define SZDIRE 32 /* Size of a directory entry */ +#define DDEM 0xE5 /* Deleted directory entry mark set to DIR_Name[0] */ +#define RDDEM 0x05 /* Replacement of the character collides with DDEM */ +#define LLEF 0x40 /* Last long entry flag in LDIR_Ord */ + +#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 */ + + +/* Post process on fatal error in the file operations */ +#define ABORT(fs, res) { fp->err = (BYTE)(res); LEAVE_FF(fs, res); } + + +/* Re-entrancy related */ +#if FF_FS_REENTRANT +#if FF_USE_LFN == 1 +#error Static LFN work area cannot be used at thread-safe configuration +#endif +#define LEAVE_FF(fs, res) { unlock_fs(fs, res); return res; } +#else +#define LEAVE_FF(fs, res) return res +#endif + + +/* Definitions of volume - physical location conversion */ +#if FF_MULTI_PARTITION +#define LD2PD(vol) VolToPart[vol].pd /* Get physical drive number */ +#define LD2PT(vol) VolToPart[vol].pt /* Get partition index */ +#else +#define LD2PD(vol) (BYTE)(vol) /* Each logical drive is bound to the same physical drive number */ +#define LD2PT(vol) 0 /* Find first valid partition or in SFD */ +#endif + + +/* Definitions of sector size */ +#if (FF_MAX_SS < FF_MIN_SS) || (FF_MAX_SS != 512 && FF_MAX_SS != 1024 && FF_MAX_SS != 2048 && FF_MAX_SS != 4096) || (FF_MIN_SS != 512 && FF_MIN_SS != 1024 && FF_MIN_SS != 2048 && FF_MIN_SS != 4096) +#error Wrong sector size configuration +#endif +#if FF_MAX_SS == FF_MIN_SS +#define SS(fs) ((UINT)FF_MAX_SS) /* Fixed sector size */ +#else +#define SS(fs) ((fs)->ssize) /* Variable sector size */ +#endif + + +/* Timestamp */ +#if FF_FS_NORTC == 1 +#if FF_NORTC_YEAR < 1980 || FF_NORTC_YEAR > 2107 || FF_NORTC_MON < 1 || FF_NORTC_MON > 12 || FF_NORTC_MDAY < 1 || FF_NORTC_MDAY > 31 +#error Invalid FF_FS_NORTC settings +#endif +#define GET_FATTIME() ((DWORD)(FF_NORTC_YEAR - 1980) << 25 | (DWORD)FF_NORTC_MON << 21 | (DWORD)FF_NORTC_MDAY << 16) +#else +#define GET_FATTIME() get_fattime() +#endif + + +/* File lock controls */ +#if FF_FS_LOCK != 0 +#if FF_FS_READONLY +#error FF_FS_LOCK must be 0 at read-only configuration +#endif +typedef struct { + FATFS *fs; /* Object ID 1, volume (NULL:blank entry) */ + DWORD clu; /* Object ID 2, containing directory (0:root) */ + DWORD ofs; /* Object ID 3, offset in the directory */ + WORD ctr; /* Object open counter, 0:none, 0x01..0xFF:read mode open count, 0x100:write mode */ +} FILESEM; +#endif + + +/* SBCS up-case tables (\x80-\xFF) */ +#define TBL_CT437 {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} +#define TBL_CT720 {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,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ + 0xA0,0xA1,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, \ + 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} +#define TBL_CT737 {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, \ + 0x90,0x92,0x92,0x93,0x94,0x95,0x96,0x97,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, \ + 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0xAA,0x92,0x93,0x94,0x95,0x96, \ + 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, \ + 0x97,0xEA,0xEB,0xEC,0xE4,0xED,0xEE,0xEF,0xF5,0xF0,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, \ + 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} +#define TBL_CT771 {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,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, \ + 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,0xDC,0xDE,0xDE, \ + 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ + 0xF0,0xF0,0xF2,0xF2,0xF4,0xF4,0xF6,0xF6,0xF8,0xF8,0xFA,0xFA,0xFC,0xFC,0xFE,0xFF} +#define TBL_CT775 {0x80,0x9A,0x91,0xA0,0x8E,0x95,0x8F,0x80,0xAD,0xED,0x8A,0x8A,0xA1,0x8D,0x8E,0x8F, \ + 0x90,0x92,0x92,0xE2,0x99,0x95,0x96,0x97,0x97,0x99,0x9A,0x9D,0x9C,0x9D,0x9E,0x9F, \ + 0xA0,0xA1,0xE0,0xA3,0xA3,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, \ + 0xB5,0xB6,0xB7,0xB8,0xBD,0xBE,0xC6,0xC7,0xA5,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ + 0xE0,0xE1,0xE2,0xE3,0xE5,0xE5,0xE6,0xE3,0xE8,0xE8,0xEA,0xEA,0xEE,0xED,0xEE,0xEF, \ + 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} +#define TBL_CT850 {0x43,0x55,0x45,0x41,0x41,0x41,0x41,0x43,0x45,0x45,0x45,0x49,0x49,0x49,0x41,0x41, \ + 0x45,0x92,0x92,0x4F,0x4F,0x4F,0x55,0x55,0x59,0x4F,0x55,0x4F,0x9C,0x4F,0x9E,0x9F, \ + 0x41,0x49,0x4F,0x55,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, \ + 0xB0,0xB1,0xB2,0xB3,0xB4,0x41,0x41,0x41,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \ + 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0x41,0x41,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ + 0xD1,0xD1,0x45,0x45,0x45,0x49,0x49,0x49,0x49,0xD9,0xDA,0xDB,0xDC,0xDD,0x49,0xDF, \ + 0x4F,0xE1,0x4F,0x4F,0x4F,0x4F,0xE6,0xE8,0xE8,0x55,0x55,0x55,0x59,0x59,0xEE,0xEF, \ + 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} +#define TBL_CT852 {0x80,0x9A,0x90,0xB6,0x8E,0xDE,0x8F,0x80,0x9D,0xD3,0x8A,0x8A,0xD7,0x8D,0x8E,0x8F, \ + 0x90,0x91,0x91,0xE2,0x99,0x95,0x95,0x97,0x97,0x99,0x9A,0x9B,0x9B,0x9D,0x9E,0xAC, \ + 0xB5,0xD6,0xE0,0xE9,0xA4,0xA4,0xA6,0xA6,0xA8,0xA8,0xAA,0x8D,0xAC,0xB8,0xAE,0xAF, \ + 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBD,0xBF, \ + 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC6,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ + 0xD1,0xD1,0xD2,0xD3,0xD2,0xD5,0xD6,0xD7,0xB7,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ + 0xE0,0xE1,0xE2,0xE3,0xE3,0xD5,0xE6,0xE6,0xE8,0xE9,0xE8,0xEB,0xED,0xED,0xDD,0xEF, \ + 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xEB,0xFC,0xFC,0xFE,0xFF} +#define TBL_CT855 {0x81,0x81,0x83,0x83,0x85,0x85,0x87,0x87,0x89,0x89,0x8B,0x8B,0x8D,0x8D,0x8F,0x8F, \ + 0x91,0x91,0x93,0x93,0x95,0x95,0x97,0x97,0x99,0x99,0x9B,0x9B,0x9D,0x9D,0x9F,0x9F, \ + 0xA1,0xA1,0xA3,0xA3,0xA5,0xA5,0xA7,0xA7,0xA9,0xA9,0xAB,0xAB,0xAD,0xAD,0xAE,0xAF, \ + 0xB0,0xB1,0xB2,0xB3,0xB4,0xB6,0xB6,0xB8,0xB8,0xB9,0xBA,0xBB,0xBC,0xBE,0xBE,0xBF, \ + 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC7,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ + 0xD1,0xD1,0xD3,0xD3,0xD5,0xD5,0xD7,0xD7,0xDD,0xD9,0xDA,0xDB,0xDC,0xDD,0xE0,0xDF, \ + 0xE0,0xE2,0xE2,0xE4,0xE4,0xE6,0xE6,0xE8,0xE8,0xEA,0xEA,0xEC,0xEC,0xEE,0xEE,0xEF, \ + 0xF0,0xF2,0xF2,0xF4,0xF4,0xF6,0xF6,0xF8,0xF8,0xFA,0xFA,0xFC,0xFC,0xFD,0xFE,0xFF} +#define TBL_CT857 {0x80,0x9A,0x90,0xB6,0x8E,0xB7,0x8F,0x80,0xD2,0xD3,0xD4,0xD8,0xD7,0x49,0x8E,0x8F, \ + 0x90,0x92,0x92,0xE2,0x99,0xE3,0xEA,0xEB,0x98,0x99,0x9A,0x9D,0x9C,0x9D,0x9E,0x9E, \ + 0xB5,0xD6,0xE0,0xE9,0xA5,0xA5,0xA6,0xA6,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,0xC7,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, \ + 0xD0,0xD1,0xD2,0xD3,0xD4,0x49,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \ + 0xE0,0xE1,0xE2,0xE3,0xE5,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xDE,0xED,0xEE,0xEF, \ + 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} +#define TBL_CT860 {0x80,0x9A,0x90,0x8F,0x8E,0x91,0x86,0x80,0x89,0x89,0x92,0x8B,0x8C,0x98,0x8E,0x8F, \ + 0x90,0x91,0x92,0x8C,0x99,0xA9,0x96,0x9D,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ + 0x86,0x8B,0x9F,0x96,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} +#define TBL_CT861 {0x80,0x9A,0x90,0x41,0x8E,0x41,0x8F,0x80,0x45,0x45,0x45,0x8B,0x8B,0x8D,0x8E,0x8F, \ + 0x90,0x92,0x92,0x4F,0x99,0x8D,0x55,0x97,0x97,0x99,0x9A,0x9D,0x9C,0x9D,0x9E,0x9F, \ + 0xA4,0xA5,0xA6,0xA7,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, \ + 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} +#define TBL_CT862 {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,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} +#define TBL_CT863 {0x43,0x55,0x45,0x41,0x41,0x41,0x86,0x43,0x45,0x45,0x45,0x49,0x49,0x8D,0x41,0x8F, \ + 0x45,0x45,0x45,0x4F,0x45,0x49,0x55,0x55,0x98,0x4F,0x55,0x9B,0x9C,0x55,0x55,0x9F, \ + 0xA0,0xA1,0x4F,0x55,0xA4,0xA5,0xA6,0xA7,0x49,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} +#define TBL_CT864 {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} +#define TBL_CT865 {0x80,0x9A,0x90,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} +#define TBL_CT866 {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,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, \ + 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, \ + 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \ + 0xF0,0xF0,0xF2,0xF2,0xF4,0xF4,0xF6,0xF6,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF} +#define TBL_CT869 {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,0x9A,0x86,0x9C,0x8D,0x8F,0x90, \ + 0x91,0x90,0x92,0x95,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,0xA4,0xA5,0xA6,0xD9,0xDA,0xDB,0xDC,0xA7,0xA8,0xDF, \ + 0xA9,0xAA,0xAC,0xAD,0xB5,0xB6,0xB7,0xB8,0xBD,0xBE,0xC6,0xC7,0xCF,0xCF,0xD0,0xEF, \ + 0xF0,0xF1,0xD1,0xD2,0xD3,0xF5,0xD4,0xF7,0xF8,0xF9,0xD5,0x96,0x95,0x98,0xFE,0xFF} + + +/* DBCS code range |----- 1st byte -----| |----------- 2nd byte -----------| */ +#define TBL_DC932 {0x81, 0x9F, 0xE0, 0xFC, 0x40, 0x7E, 0x80, 0xFC, 0x00, 0x00} +#define TBL_DC936 {0x81, 0xFE, 0x00, 0x00, 0x40, 0x7E, 0x80, 0xFE, 0x00, 0x00} +#define TBL_DC949 {0x81, 0xFE, 0x00, 0x00, 0x41, 0x5A, 0x61, 0x7A, 0x81, 0xFE} +#define TBL_DC950 {0x81, 0xFE, 0x00, 0x00, 0x40, 0x7E, 0xA1, 0xFE, 0x00, 0x00} + + +/* Macros for table definitions */ +#define MERGE_2STR(a, b) a ## b +#define MKCVTBL(hd, cp) MERGE_2STR(hd, cp) + + + + +/*-------------------------------------------------------------------------- + + Module Private Work Area + +---------------------------------------------------------------------------*/ +/* Remark: Variables defined here without initial value shall be guaranteed +/ zero/null at start-up. If not, the linker option or start-up routine is +/ not compliance with C standard. */ + +/*--------------------------------*/ +/* File/Volume controls */ +/*--------------------------------*/ + +#if FF_VOLUMES < 1 || FF_VOLUMES > 10 +#error Wrong FF_VOLUMES setting +#endif +static FATFS* FatFs[FF_VOLUMES]; /* Pointer to the filesystem objects (logical drives) */ +static WORD Fsid; /* Filesystem mount ID */ + +#if FF_FS_RPATH != 0 +static BYTE CurrVol; /* Current drive */ +#endif + +#if FF_FS_LOCK != 0 +static FILESEM Files[FF_FS_LOCK]; /* Open object lock semaphores */ +#endif + +#if FF_STR_VOLUME_ID +#ifdef FF_VOLUME_STRS +static const char* const VolumeStr[FF_VOLUMES] = {FF_VOLUME_STRS}; /* Pre-defined volume ID */ +#endif +#endif + + +/*--------------------------------*/ +/* LFN/Directory working buffer */ +/*--------------------------------*/ + +#if FF_USE_LFN == 0 /* Non-LFN configuration */ +#if FF_FS_EXFAT +#error LFN must be enabled when enable exFAT +#endif +#define DEF_NAMBUF +#define INIT_NAMBUF(fs) +#define FREE_NAMBUF() +#define LEAVE_MKFS(res) return res + +#else /* LFN configurations */ +#if FF_MAX_LFN < 12 || FF_MAX_LFN > 255 +#error Wrong setting of FF_MAX_LFN +#endif +#if FF_LFN_BUF < FF_SFN_BUF || FF_SFN_BUF < 12 +#error Wrong setting of FF_LFN_BUF or FF_SFN_BUF +#endif +#if FF_LFN_UNICODE < 0 || FF_LFN_UNICODE > 3 +#error Wrong setting of FF_LFN_UNICODE +#endif +static const BYTE LfnOfs[] = {1,3,5,7,9,14,16,18,20,22,24,28,30}; /* FAT: Offset of LFN characters in the directory entry */ +#define MAXDIRB(nc) ((nc + 44U) / 15 * SZDIRE) /* exFAT: Size of directory entry block scratchpad buffer needed for the name length */ + +#if FF_USE_LFN == 1 /* LFN enabled with static working buffer */ +#if FF_FS_EXFAT +static BYTE DirBuf[MAXDIRB(FF_MAX_LFN)]; /* Directory entry block scratchpad buffer */ +#endif +static WCHAR LfnBuf[FF_MAX_LFN + 1]; /* LFN working buffer */ +#define DEF_NAMBUF +#define INIT_NAMBUF(fs) +#define FREE_NAMBUF() +#define LEAVE_MKFS(res) return res + +#elif FF_USE_LFN == 2 /* LFN enabled with dynamic working buffer on the stack */ +#if FF_FS_EXFAT +#define DEF_NAMBUF WCHAR lbuf[FF_MAX_LFN+1]; BYTE dbuf[MAXDIRB(FF_MAX_LFN)]; /* LFN working buffer and directory entry block scratchpad buffer */ +#define INIT_NAMBUF(fs) { (fs)->lfnbuf = lbuf; (fs)->dirbuf = dbuf; } +#define FREE_NAMBUF() +#else +#define DEF_NAMBUF WCHAR lbuf[FF_MAX_LFN+1]; /* LFN working buffer */ +#define INIT_NAMBUF(fs) { (fs)->lfnbuf = lbuf; } +#define FREE_NAMBUF() +#endif +#define LEAVE_MKFS(res) return res + +#elif FF_USE_LFN == 3 /* LFN enabled with dynamic working buffer on the heap */ +#if FF_FS_EXFAT +#define DEF_NAMBUF WCHAR *lfn; /* Pointer to LFN working buffer and directory entry block scratchpad buffer */ +#define INIT_NAMBUF(fs) { lfn = ff_memalloc((FF_MAX_LFN+1)*2 + MAXDIRB(FF_MAX_LFN)); if (!lfn) LEAVE_FF(fs, FR_NOT_ENOUGH_CORE); (fs)->lfnbuf = lfn; (fs)->dirbuf = (BYTE*)(lfn+FF_MAX_LFN+1); } +#define FREE_NAMBUF() ff_memfree(lfn) +#else +#define DEF_NAMBUF WCHAR *lfn; /* Pointer to LFN working buffer */ +#define INIT_NAMBUF(fs) { lfn = ff_memalloc((FF_MAX_LFN+1)*2); if (!lfn) LEAVE_FF(fs, FR_NOT_ENOUGH_CORE); (fs)->lfnbuf = lfn; } +#define FREE_NAMBUF() ff_memfree(lfn) +#endif +#define LEAVE_MKFS(res) { if (!work) ff_memfree(buf); return res; } +#define MAX_MALLOC 0x8000 /* Must be >=FF_MAX_SS */ + +#else +#error Wrong setting of FF_USE_LFN + +#endif /* FF_USE_LFN == 1 */ +#endif /* FF_USE_LFN == 0 */ + + + +/*--------------------------------*/ +/* Code conversion tables */ +/*--------------------------------*/ + +#if FF_CODE_PAGE == 0 /* Run-time code page configuration */ +#define CODEPAGE CodePage +static WORD CodePage; /* Current code page */ +static const BYTE *ExCvt, *DbcTbl; /* Pointer to current SBCS up-case table and DBCS code range table below */ + +static const BYTE Ct437[] = TBL_CT437; +static const BYTE Ct720[] = TBL_CT720; +static const BYTE Ct737[] = TBL_CT737; +static const BYTE Ct771[] = TBL_CT771; +static const BYTE Ct775[] = TBL_CT775; +static const BYTE Ct850[] = TBL_CT850; +static const BYTE Ct852[] = TBL_CT852; +static const BYTE Ct855[] = TBL_CT855; +static const BYTE Ct857[] = TBL_CT857; +static const BYTE Ct860[] = TBL_CT860; +static const BYTE Ct861[] = TBL_CT861; +static const BYTE Ct862[] = TBL_CT862; +static const BYTE Ct863[] = TBL_CT863; +static const BYTE Ct864[] = TBL_CT864; +static const BYTE Ct865[] = TBL_CT865; +static const BYTE Ct866[] = TBL_CT866; +static const BYTE Ct869[] = TBL_CT869; +static const BYTE Dc932[] = TBL_DC932; +static const BYTE Dc936[] = TBL_DC936; +static const BYTE Dc949[] = TBL_DC949; +static const BYTE Dc950[] = TBL_DC950; + +#elif FF_CODE_PAGE < 900 /* Static code page configuration (SBCS) */ +#define CODEPAGE FF_CODE_PAGE +static const BYTE ExCvt[] = MKCVTBL(TBL_CT, FF_CODE_PAGE); + +#else /* Static code page configuration (DBCS) */ +#define CODEPAGE FF_CODE_PAGE +static const BYTE DbcTbl[] = MKCVTBL(TBL_DC, FF_CODE_PAGE); + +#endif + + + + +/*-------------------------------------------------------------------------- + + Module Private Functions + +---------------------------------------------------------------------------*/ + + +/*-----------------------------------------------------------------------*/ +/* Load/Store multi-byte word in the FAT structure */ +/*-----------------------------------------------------------------------*/ + +static WORD ld_word (const BYTE* ptr) /* Load a 2-byte little-endian word */ +{ + WORD rv; + + rv = ptr[1]; + rv = rv << 8 | ptr[0]; + return rv; +} + +static DWORD ld_dword (const BYTE* ptr) /* Load a 4-byte little-endian word */ +{ + DWORD rv; + + rv = ptr[3]; + rv = rv << 8 | ptr[2]; + rv = rv << 8 | ptr[1]; + rv = rv << 8 | ptr[0]; + return rv; +} + +#if FF_FS_EXFAT +static QWORD ld_qword (const BYTE* ptr) /* Load an 8-byte little-endian word */ +{ + QWORD rv; + + rv = ptr[7]; + rv = rv << 8 | ptr[6]; + rv = rv << 8 | ptr[5]; + rv = rv << 8 | ptr[4]; + rv = rv << 8 | ptr[3]; + rv = rv << 8 | ptr[2]; + rv = rv << 8 | ptr[1]; + rv = rv << 8 | ptr[0]; + return rv; +} +#endif + +#if !FF_FS_READONLY +static void st_word (BYTE* ptr, WORD val) /* Store a 2-byte word in little-endian */ +{ + *ptr++ = (BYTE)val; val >>= 8; + *ptr++ = (BYTE)val; +} + +static void st_dword (BYTE* ptr, DWORD val) /* Store a 4-byte word in little-endian */ +{ + *ptr++ = (BYTE)val; val >>= 8; + *ptr++ = (BYTE)val; val >>= 8; + *ptr++ = (BYTE)val; val >>= 8; + *ptr++ = (BYTE)val; +} + +#if FF_FS_EXFAT +static void st_qword (BYTE* ptr, QWORD val) /* Store an 8-byte word in little-endian */ +{ + *ptr++ = (BYTE)val; val >>= 8; + *ptr++ = (BYTE)val; val >>= 8; + *ptr++ = (BYTE)val; val >>= 8; + *ptr++ = (BYTE)val; val >>= 8; + *ptr++ = (BYTE)val; val >>= 8; + *ptr++ = (BYTE)val; val >>= 8; + *ptr++ = (BYTE)val; val >>= 8; + *ptr++ = (BYTE)val; +} +#endif +#endif /* !FF_FS_READONLY */ + + + +/*-----------------------------------------------------------------------*/ +/* String functions */ +/*-----------------------------------------------------------------------*/ + +/* Copy memory to memory */ +static void mem_cpy (void* dst, const void* src, UINT cnt) +{ + BYTE *d = (BYTE*)dst; + const BYTE *s = (const BYTE*)src; + + if (cnt != 0) { + do { + *d++ = *s++; + } while (--cnt); + } +} + + +/* Fill memory block */ +static void mem_set (void* dst, int val, UINT cnt) +{ + BYTE *d = (BYTE*)dst; + + do { + *d++ = (BYTE)val; + } while (--cnt); +} + + +/* Compare memory block */ +static int mem_cmp (const void* dst, const void* src, UINT cnt) /* ZR:same, NZ:different */ +{ + const BYTE *d = (const BYTE *)dst, *s = (const BYTE *)src; + int r = 0; + + do { + r = *d++ - *s++; + } while (--cnt && r == 0); + + return r; +} + + +/* Check if chr is contained in the string */ +static int chk_chr (const char* str, int chr) /* NZ:contained, ZR:not contained */ +{ + while (*str && *str != chr) str++; + return *str; +} + + +/* Test if the character is DBC 1st byte */ +static int dbc_1st (BYTE c) +{ +#if FF_CODE_PAGE == 0 /* Variable code page */ + if (DbcTbl && c >= DbcTbl[0]) { + if (c <= DbcTbl[1]) return 1; /* 1st byte range 1 */ + if (c >= DbcTbl[2] && c <= DbcTbl[3]) return 1; /* 1st byte range 2 */ + } +#elif FF_CODE_PAGE >= 900 /* DBCS fixed code page */ + if (c >= DbcTbl[0]) { + if (c <= DbcTbl[1]) return 1; + if (c >= DbcTbl[2] && c <= DbcTbl[3]) return 1; + } +#else /* SBCS fixed code page */ + if (c != 0) return 0; /* Always false */ +#endif + return 0; +} + + +/* Test if the character is DBC 2nd byte */ +static int dbc_2nd (BYTE c) +{ +#if FF_CODE_PAGE == 0 /* Variable code page */ + if (DbcTbl && c >= DbcTbl[4]) { + if (c <= DbcTbl[5]) return 1; /* 2nd byte range 1 */ + if (c >= DbcTbl[6] && c <= DbcTbl[7]) return 1; /* 2nd byte range 2 */ + if (c >= DbcTbl[8] && c <= DbcTbl[9]) return 1; /* 2nd byte range 3 */ + } +#elif FF_CODE_PAGE >= 900 /* DBCS fixed code page */ + if (c >= DbcTbl[4]) { + if (c <= DbcTbl[5]) return 1; + if (c >= DbcTbl[6] && c <= DbcTbl[7]) return 1; + if (c >= DbcTbl[8] && c <= DbcTbl[9]) return 1; + } +#else /* SBCS fixed code page */ + if (c != 0) return 0; /* Always false */ +#endif + return 0; +} + + +#if FF_USE_LFN + +/* Get a character from TCHAR string in defined API encodeing */ +static DWORD tchar2uni ( /* Returns character in UTF-16 encoding (>=0x10000 on double encoding unit, 0xFFFFFFFF on decode error) */ + const TCHAR** str /* Pointer to pointer to TCHAR string in configured encoding */ +) +{ + DWORD uc; + const TCHAR *p = *str; + +#if FF_LFN_UNICODE == 1 /* UTF-16 input */ + WCHAR wc; + + uc = *p++; /* Get a unit */ + if (IsSurrogate(uc)) { /* Surrogate? */ + wc = *p++; /* Get low surrogate */ + if (!IsSurrogateH(uc) || !IsSurrogateL(wc)) return 0xFFFFFFFF; /* Wrong surrogate? */ + uc = uc << 16 | wc; + } + +#elif FF_LFN_UNICODE == 2 /* UTF-8 input */ + BYTE b; + int nf; + + uc = (BYTE)*p++; /* Get a unit */ + if (uc & 0x80) { /* Multiple byte code? */ + if ((uc & 0xE0) == 0xC0) { /* 2-byte sequence? */ + uc &= 0x1F; nf = 1; + } else { + if ((uc & 0xF0) == 0xE0) { /* 3-byte sequence? */ + uc &= 0x0F; nf = 2; + } else { + if ((uc & 0xF8) == 0xF0) { /* 4-byte sequence? */ + uc &= 0x07; nf = 3; + } else { /* Wrong sequence */ + return 0xFFFFFFFF; + } + } + } + do { /* Get trailing bytes */ + b = (BYTE)*p++; + if ((b & 0xC0) != 0x80) return 0xFFFFFFFF; /* Wrong sequence? */ + uc = uc << 6 | (b & 0x3F); + } while (--nf != 0); + if (uc < 0x80 || IsSurrogate(uc) || uc >= 0x110000) return 0xFFFFFFFF; /* Wrong code? */ + if (uc >= 0x010000) uc = 0xD800DC00 | ((uc - 0x10000) << 6 & 0x3FF0000) | (uc & 0x3FF); /* Make a surrogate pair if needed */ + } + +#elif FF_LFN_UNICODE == 3 /* UTF-32 input */ + uc = (TCHAR)*p++; /* Get a unit */ + if (uc >= 0x110000) return 0xFFFFFFFF; /* Wrong code? */ + if (uc >= 0x010000) uc = 0xD800DC00 | ((uc - 0x10000) << 6 & 0x3FF0000) | (uc & 0x3FF); /* Make a surrogate pair if needed */ + +#else /* ANSI/OEM input */ + BYTE b; + WCHAR wc; + + wc = (BYTE)*p++; /* Get a byte */ + if (dbc_1st((BYTE)wc)) { /* Is it a DBC 1st byte? */ + b = (BYTE)*p++; /* Get 2nd byte */ + if (!dbc_2nd(b)) return 0xFFFFFFFF; /* Invalid code? */ + wc = (wc << 8) + b; /* Make a DBC */ + } + if (wc != 0) { + wc = ff_oem2uni(wc, CODEPAGE); /* ANSI/OEM ==> Unicode */ + if (wc == 0) return 0xFFFFFFFF; /* Invalid code? */ + } + uc = wc; + +#endif + *str = p; /* Next read pointer */ + return uc; +} + + +/* Output a TCHAR string in defined API encoding */ +static BYTE put_utf ( /* Returns number of encoding units written (0:buffer overflow or wrong encoding) */ + DWORD chr, /* UTF-16 encoded character (Double encoding unit char if >=0x10000) */ + TCHAR* buf, /* Output buffer */ + UINT szb /* Size of the buffer */ +) +{ +#if FF_LFN_UNICODE == 1 /* UTF-16 output */ + WCHAR hs, wc; + + hs = (WCHAR)(chr >> 16); + wc = (WCHAR)chr; + if (hs == 0) { /* Single encoding unit? */ + if (szb < 1 || IsSurrogate(wc)) return 0; /* Buffer overflow or wrong code? */ + *buf = wc; + return 1; + } + if (szb < 2 || !IsSurrogateH(hs) || !IsSurrogateL(wc)) return 0; /* Buffer overflow or wrong surrogate? */ + *buf++ = hs; + *buf++ = wc; + return 2; + +#elif FF_LFN_UNICODE == 2 /* UTF-8 output */ + DWORD hc; + + if (chr < 0x80) { /* Single byte code? */ + if (szb < 1) return 0; /* Buffer overflow? */ + *buf = (TCHAR)chr; + return 1; + } + if (chr < 0x800) { /* 2-byte sequence? */ + if (szb < 2) return 0; /* Buffer overflow? */ + *buf++ = (TCHAR)(0xC0 | (chr >> 6 & 0x1F)); + *buf++ = (TCHAR)(0x80 | (chr >> 0 & 0x3F)); + return 2; + } + if (chr < 0x10000) { /* 3-byte sequence? */ + if (szb < 3 || IsSurrogate(chr)) return 0; /* Buffer overflow or wrong code? */ + *buf++ = (TCHAR)(0xE0 | (chr >> 12 & 0x0F)); + *buf++ = (TCHAR)(0x80 | (chr >> 6 & 0x3F)); + *buf++ = (TCHAR)(0x80 | (chr >> 0 & 0x3F)); + return 3; + } + /* 4-byte sequence */ + if (szb < 4) return 0; /* Buffer overflow? */ + hc = ((chr & 0xFFFF0000) - 0xD8000000) >> 6; /* Get high 10 bits */ + chr = (chr & 0xFFFF) - 0xDC00; /* Get low 10 bits */ + if (hc >= 0x100000 || chr >= 0x400) return 0; /* Wrong surrogate? */ + chr = (hc | chr) + 0x10000; + *buf++ = (TCHAR)(0xF0 | (chr >> 18 & 0x07)); + *buf++ = (TCHAR)(0x80 | (chr >> 12 & 0x3F)); + *buf++ = (TCHAR)(0x80 | (chr >> 6 & 0x3F)); + *buf++ = (TCHAR)(0x80 | (chr >> 0 & 0x3F)); + return 4; + +#elif FF_LFN_UNICODE == 3 /* UTF-32 output */ + DWORD hc; + + if (szb < 1) return 0; /* Buffer overflow? */ + if (chr >= 0x10000) { /* Out of BMP? */ + hc = ((chr & 0xFFFF0000) - 0xD8000000) >> 6; /* Get high 10 bits */ + chr = (chr & 0xFFFF) - 0xDC00; /* Get low 10 bits */ + if (hc >= 0x100000 || chr >= 0x400) return 0; /* Wrong surrogate? */ + chr = (hc | chr) + 0x10000; + } + *buf++ = (TCHAR)chr; + return 1; + +#else /* ANSI/OEM output */ + WCHAR wc; + + wc = ff_uni2oem(chr, CODEPAGE); + if (wc >= 0x100) { /* Is this a DBC? */ + if (szb < 2) return 0; + *buf++ = (char)(wc >> 8); /* Store DBC 1st byte */ + *buf++ = (TCHAR)wc; /* Store DBC 2nd byte */ + return 2; + } + if (wc == 0 || szb < 1) return 0; /* Invalid char or buffer overflow? */ + *buf++ = (TCHAR)wc; /* Store the character */ + return 1; +#endif +} +#endif /* FF_USE_LFN */ + + +#if FF_FS_REENTRANT +/*-----------------------------------------------------------------------*/ +/* Request/Release grant to access the volume */ +/*-----------------------------------------------------------------------*/ +static int lock_fs ( /* 1:Ok, 0:timeout */ + FATFS* fs /* Filesystem object */ +) +{ + return ff_req_grant(fs->sobj); +} + + +static void unlock_fs ( + FATFS* fs, /* Filesystem object */ + FRESULT res /* Result code to be returned */ +) +{ + if (fs && res != FR_NOT_ENABLED && res != FR_INVALID_DRIVE && res != FR_TIMEOUT) { + ff_rel_grant(fs->sobj); + } +} + +#endif + + + +#if FF_FS_LOCK != 0 +/*-----------------------------------------------------------------------*/ +/* File lock control functions */ +/*-----------------------------------------------------------------------*/ + +static FRESULT chk_lock ( /* Check if the file can be accessed */ + DIR* dp, /* Directory object pointing the file to be checked */ + int acc /* Desired access type (0:Read mode open, 1:Write mode open, 2:Delete or rename) */ +) +{ + UINT i, be; + + /* Search open object table for the object */ + be = 0; + for (i = 0; i < FF_FS_LOCK; i++) { + if (Files[i].fs) { /* Existing entry */ + if (Files[i].fs == dp->obj.fs && /* Check if the object matches with an open object */ + Files[i].clu == dp->obj.sclust && + Files[i].ofs == dp->dptr) break; + } else { /* Blank entry */ + be = 1; + } + } + if (i == FF_FS_LOCK) { /* The object has not been opened */ + return (!be && acc != 2) ? FR_TOO_MANY_OPEN_FILES : FR_OK; /* Is there a blank entry for new object? */ + } + + /* The object was opened. Reject any open against writing file and all write mode open */ + return (acc != 0 || Files[i].ctr == 0x100) ? FR_LOCKED : FR_OK; +} + + +static int enq_lock (void) /* Check if an entry is available for a new object */ +{ + UINT i; + + for (i = 0; i < FF_FS_LOCK && Files[i].fs; i++) ; + return (i == FF_FS_LOCK) ? 0 : 1; +} + + +static UINT inc_lock ( /* Increment object open counter and returns its index (0:Internal error) */ + DIR* dp, /* Directory object pointing the file to register or increment */ + int acc /* Desired access (0:Read, 1:Write, 2:Delete/Rename) */ +) +{ + UINT i; + + + for (i = 0; i < FF_FS_LOCK; i++) { /* Find the object */ + if (Files[i].fs == dp->obj.fs && + Files[i].clu == dp->obj.sclust && + Files[i].ofs == dp->dptr) break; + } + + if (i == FF_FS_LOCK) { /* Not opened. Register it as new. */ + for (i = 0; i < FF_FS_LOCK && Files[i].fs; i++) ; + if (i == FF_FS_LOCK) return 0; /* No free entry to register (int err) */ + Files[i].fs = dp->obj.fs; + Files[i].clu = dp->obj.sclust; + Files[i].ofs = dp->dptr; + Files[i].ctr = 0; + } + + if (acc >= 1 && Files[i].ctr) return 0; /* Access violation (int err) */ + + Files[i].ctr = acc ? 0x100 : Files[i].ctr + 1; /* Set semaphore value */ + + return i + 1; /* Index number origin from 1 */ +} + + +static FRESULT dec_lock ( /* Decrement object open counter */ + UINT i /* Semaphore index (1..) */ +) +{ + WORD n; + FRESULT res; + + + if (--i < FF_FS_LOCK) { /* Index number origin from 0 */ + n = Files[i].ctr; + if (n == 0x100) n = 0; /* If write mode open, delete the entry */ + if (n > 0) n--; /* Decrement read mode open count */ + Files[i].ctr = n; + if (n == 0) Files[i].fs = 0; /* Delete the entry if open count gets zero */ + res = FR_OK; + } else { + res = FR_INT_ERR; /* Invalid index nunber */ + } + return res; +} + + +static void clear_lock ( /* Clear lock entries of the volume */ + FATFS *fs +) +{ + UINT i; + + for (i = 0; i < FF_FS_LOCK; i++) { + if (Files[i].fs == fs) Files[i].fs = 0; + } +} + +#endif /* FF_FS_LOCK != 0 */ + + + +/*-----------------------------------------------------------------------*/ +/* Move/Flush disk access window in the filesystem object */ +/*-----------------------------------------------------------------------*/ +#if !FF_FS_READONLY +static FRESULT sync_window ( /* Returns FR_OK or FR_DISK_ERR */ + FATFS* fs /* Filesystem object */ +) +{ + FRESULT res = FR_OK; + + + if (fs->wflag) { /* Is the disk access window dirty */ + if (disk_write(fs->pdrv, fs->win, fs->winsect, 1) == RES_OK) { /* Write back the window */ + fs->wflag = 0; /* Clear window dirty flag */ + if (fs->winsect - fs->fatbase < fs->fsize) { /* Is it in the 1st FAT? */ + if (fs->n_fats == 2) disk_write(fs->pdrv, fs->win, fs->winsect + fs->fsize, 1); /* Reflect it to 2nd FAT if needed */ + } + } else { + res = FR_DISK_ERR; + } + } + return res; +} +#endif + + +static FRESULT move_window ( /* Returns FR_OK or FR_DISK_ERR */ + FATFS* fs, /* Filesystem object */ + DWORD sector /* Sector number to make appearance in the fs->win[] */ +) +{ + FRESULT res = FR_OK; + + + if (sector != fs->winsect) { /* Window offset changed? */ +#if !FF_FS_READONLY + res = sync_window(fs); /* Write-back changes */ +#endif + if (res == FR_OK) { /* Fill sector window with new data */ + if (disk_read(fs->pdrv, fs->win, sector, 1) != RES_OK) { + sector = 0xFFFFFFFF; /* Invalidate window if read data is not valid */ + res = FR_DISK_ERR; + } + fs->winsect = sector; + } + } + return res; +} + + + + +#if !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* Synchronize filesystem and data on the storage */ +/*-----------------------------------------------------------------------*/ + +static FRESULT sync_fs ( /* Returns FR_OK or FR_DISK_ERR */ + FATFS* fs /* Filesystem object */ +) +{ + FRESULT res; + + + res = sync_window(fs); + if (res == FR_OK) { + if (fs->fs_type == FS_FAT32 && fs->fsi_flag == 1) { /* FAT32: Update FSInfo sector if needed */ + /* Create FSInfo structure */ + mem_set(fs->win, 0, sizeof fs->win); + st_word(fs->win + BS_55AA, 0xAA55); + st_dword(fs->win + FSI_LeadSig, 0x41615252); + st_dword(fs->win + FSI_StrucSig, 0x61417272); + st_dword(fs->win + FSI_Free_Count, fs->free_clst); + st_dword(fs->win + FSI_Nxt_Free, fs->last_clst); + /* Write it into the FSInfo sector */ + fs->winsect = fs->volbase + 1; + disk_write(fs->pdrv, fs->win, fs->winsect, 1); + fs->fsi_flag = 0; + } + /* Make sure that no pending write process in the lower layer */ + if (disk_ioctl(fs->pdrv, CTRL_SYNC, 0) != RES_OK) res = FR_DISK_ERR; + } + + return res; +} + +#endif + + + +/*-----------------------------------------------------------------------*/ +/* Get physical sector number from cluster number */ +/*-----------------------------------------------------------------------*/ + +static DWORD clst2sect ( /* !=0:Sector number, 0:Failed (invalid cluster#) */ + FATFS* fs, /* Filesystem object */ + DWORD clst /* Cluster# to be converted */ +) +{ + clst -= 2; /* Cluster number is origin from 2 */ + if (clst >= fs->n_fatent - 2) return 0; /* Is it invalid cluster number? */ + return fs->database + fs->csize * clst; /* Start sector number of the cluster */ +} + + + + +/*-----------------------------------------------------------------------*/ +/* FAT access - Read value of a FAT entry */ +/*-----------------------------------------------------------------------*/ + +static DWORD get_fat ( /* 0xFFFFFFFF:Disk error, 1:Internal error, 2..0x7FFFFFFF:Cluster status */ + FFOBJID* obj, /* Corresponding object */ + DWORD clst /* Cluster number to get the value */ +) +{ + UINT wc, bc; + DWORD val; + FATFS *fs = obj->fs; + + + if (clst < 2 || clst >= fs->n_fatent) { /* Check if in valid range */ + val = 1; /* Internal error */ + + } else { + val = 0xFFFFFFFF; /* Default value falls on disk error */ + + switch (fs->fs_type) { + case FS_FAT12 : + bc = (UINT)clst; bc += bc / 2; + if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; + wc = fs->win[bc++ % SS(fs)]; /* Get 1st byte of the entry */ + if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; + wc |= fs->win[bc % SS(fs)] << 8; /* Merge 2nd byte of the entry */ + val = (clst & 1) ? (wc >> 4) : (wc & 0xFFF); /* Adjust bit position */ + break; + + case FS_FAT16 : + if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))) != FR_OK) break; + val = ld_word(fs->win + clst * 2 % SS(fs)); /* Simple WORD array */ + break; + + case FS_FAT32 : + if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; + val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x0FFFFFFF; /* Simple DWORD array but mask out upper 4 bits */ + break; +#if FF_FS_EXFAT + case FS_EXFAT : + if ((obj->objsize != 0 && obj->sclust != 0) || obj->stat == 0) { /* Object except root dir must have valid data length */ + DWORD cofs = clst - obj->sclust; /* Offset from start cluster */ + DWORD clen = (DWORD)((obj->objsize - 1) / SS(fs)) / fs->csize; /* Number of clusters - 1 */ + + if (obj->stat == 2 && cofs <= clen) { /* Is it a contiguous chain? */ + val = (cofs == clen) ? 0x7FFFFFFF : clst + 1; /* No data on the FAT, generate the value */ + break; + } + if (obj->stat == 3 && cofs < obj->n_cont) { /* Is it in the 1st fragment? */ + val = clst + 1; /* Generate the value */ + break; + } + if (obj->stat != 2) { /* Get value from FAT if FAT chain is valid */ + if (obj->n_frag != 0) { /* Is it on the growing edge? */ + val = 0x7FFFFFFF; /* Generate EOC */ + } else { + if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; + val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x7FFFFFFF; + } + break; + } + } + /* go to default */ +#endif + default: + val = 1; /* Internal error */ + } + } + + return val; +} + + + + +#if !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* FAT access - Change value of a FAT entry */ +/*-----------------------------------------------------------------------*/ + +static FRESULT put_fat ( /* FR_OK(0):succeeded, !=0:error */ + FATFS* fs, /* Corresponding filesystem object */ + DWORD clst, /* FAT index number (cluster number) to be changed */ + DWORD val /* New value to be set to the entry */ +) +{ + UINT bc; + BYTE *p; + FRESULT res = FR_INT_ERR; + + + if (clst >= 2 && clst < fs->n_fatent) { /* Check if in valid range */ + switch (fs->fs_type) { + case FS_FAT12 : + bc = (UINT)clst; bc += bc / 2; /* bc: byte offset of the entry */ + res = move_window(fs, fs->fatbase + (bc / SS(fs))); + if (res != FR_OK) break; + p = fs->win + bc++ % SS(fs); + *p = (clst & 1) ? ((*p & 0x0F) | ((BYTE)val << 4)) : (BYTE)val; /* Put 1st byte */ + fs->wflag = 1; + res = move_window(fs, fs->fatbase + (bc / SS(fs))); + if (res != FR_OK) break; + p = fs->win + bc % SS(fs); + *p = (clst & 1) ? (BYTE)(val >> 4) : ((*p & 0xF0) | ((BYTE)(val >> 8) & 0x0F)); /* Put 2nd byte */ + fs->wflag = 1; + break; + + case FS_FAT16 : + res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))); + if (res != FR_OK) break; + st_word(fs->win + clst * 2 % SS(fs), (WORD)val); /* Simple WORD array */ + fs->wflag = 1; + break; + + case FS_FAT32 : +#if FF_FS_EXFAT + case FS_EXFAT : +#endif + res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))); + if (res != FR_OK) break; + if (!FF_FS_EXFAT || fs->fs_type != FS_EXFAT) { + val = (val & 0x0FFFFFFF) | (ld_dword(fs->win + clst * 4 % SS(fs)) & 0xF0000000); + } + st_dword(fs->win + clst * 4 % SS(fs), val); + fs->wflag = 1; + break; + } + } + return res; +} + +#endif /* !FF_FS_READONLY */ + + + + +#if FF_FS_EXFAT && !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* exFAT: Accessing FAT and Allocation Bitmap */ +/*-----------------------------------------------------------------------*/ + +/*--------------------------------------*/ +/* Find a contiguous free cluster block */ +/*--------------------------------------*/ + +static DWORD find_bitmap ( /* 0:Not found, 2..:Cluster block found, 0xFFFFFFFF:Disk error */ + FATFS* fs, /* Filesystem object */ + DWORD clst, /* Cluster number to scan from */ + DWORD ncl /* Number of contiguous clusters to find (1..) */ +) +{ + BYTE bm, bv; + UINT i; + DWORD val, scl, ctr; + + + clst -= 2; /* The first bit in the bitmap corresponds to cluster #2 */ + if (clst >= fs->n_fatent - 2) clst = 0; + scl = val = clst; ctr = 0; + for (;;) { + if (move_window(fs, fs->bitbase + val / 8 / SS(fs)) != FR_OK) return 0xFFFFFFFF; + i = val / 8 % SS(fs); bm = 1 << (val % 8); + do { + do { + bv = fs->win[i] & bm; bm <<= 1; /* Get bit value */ + if (++val >= fs->n_fatent - 2) { /* Next cluster (with wrap-around) */ + val = 0; bm = 0; i = SS(fs); + } + if (bv == 0) { /* Is it a free cluster? */ + if (++ctr == ncl) return scl + 2; /* Check if run length is sufficient for required */ + } else { + scl = val; ctr = 0; /* Encountered a cluster in-use, restart to scan */ + } + if (val == clst) return 0; /* All cluster scanned? */ + } while (bm != 0); + bm = 1; + } while (++i < SS(fs)); + } +} + + +/*----------------------------------------*/ +/* Set/Clear a block of allocation bitmap */ +/*----------------------------------------*/ + +static FRESULT change_bitmap ( + FATFS* fs, /* Filesystem object */ + DWORD clst, /* Cluster number to change from */ + DWORD ncl, /* Number of clusters to be changed */ + int bv /* bit value to be set (0 or 1) */ +) +{ + BYTE bm; + UINT i; + DWORD sect; + + + clst -= 2; /* The first bit corresponds to cluster #2 */ + sect = fs->bitbase + clst / 8 / SS(fs); /* Sector address */ + i = clst / 8 % SS(fs); /* Byte offset in the sector */ + bm = 1 << (clst % 8); /* Bit mask in the byte */ + for (;;) { + if (move_window(fs, sect++) != FR_OK) return FR_DISK_ERR; + do { + do { + if (bv == (int)((fs->win[i] & bm) != 0)) return FR_INT_ERR; /* Is the bit expected value? */ + fs->win[i] ^= bm; /* Flip the bit */ + fs->wflag = 1; + if (--ncl == 0) return FR_OK; /* All bits processed? */ + } while (bm <<= 1); /* Next bit */ + bm = 1; + } while (++i < SS(fs)); /* Next byte */ + i = 0; + } +} + + +/*---------------------------------------------*/ +/* Fill the first fragment of the FAT chain */ +/*---------------------------------------------*/ + +static FRESULT fill_first_frag ( + FFOBJID* obj /* Pointer to the corresponding object */ +) +{ + FRESULT res; + DWORD cl, n; + + + if (obj->stat == 3) { /* Has the object been changed 'fragmented' in this session? */ + for (cl = obj->sclust, n = obj->n_cont; n; cl++, n--) { /* Create cluster chain on the FAT */ + res = put_fat(obj->fs, cl, cl + 1); + if (res != FR_OK) return res; + } + obj->stat = 0; /* Change status 'FAT chain is valid' */ + } + return FR_OK; +} + + +/*---------------------------------------------*/ +/* Fill the last fragment of the FAT chain */ +/*---------------------------------------------*/ + +static FRESULT fill_last_frag ( + FFOBJID* obj, /* Pointer to the corresponding object */ + DWORD lcl, /* Last cluster of the fragment */ + DWORD term /* Value to set the last FAT entry */ +) +{ + FRESULT res; + + + while (obj->n_frag > 0) { /* Create the chain of last fragment */ + res = put_fat(obj->fs, lcl - obj->n_frag + 1, (obj->n_frag > 1) ? lcl - obj->n_frag + 2 : term); + if (res != FR_OK) return res; + obj->n_frag--; + } + return FR_OK; +} + +#endif /* FF_FS_EXFAT && !FF_FS_READONLY */ + + + +#if !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* FAT handling - Remove a cluster chain */ +/*-----------------------------------------------------------------------*/ + +static FRESULT remove_chain ( /* FR_OK(0):succeeded, !=0:error */ + FFOBJID* obj, /* Corresponding object */ + DWORD clst, /* Cluster to remove a chain from */ + DWORD pclst /* Previous cluster of clst (0 if entire chain) */ +) +{ + FRESULT res = FR_OK; + DWORD nxt; + FATFS *fs = obj->fs; +#if FF_FS_EXFAT || FF_USE_TRIM + DWORD scl = clst, ecl = clst; +#endif +#if FF_USE_TRIM + DWORD rt[2]; +#endif + + if (clst < 2 || clst >= fs->n_fatent) return FR_INT_ERR; /* Check if in valid range */ + + /* Mark the previous cluster 'EOC' on the FAT if it exists */ + if (pclst != 0 && (!FF_FS_EXFAT || fs->fs_type != FS_EXFAT || obj->stat != 2)) { + res = put_fat(fs, pclst, 0xFFFFFFFF); + if (res != FR_OK) return res; + } + + /* Remove the chain */ + do { + nxt = get_fat(obj, clst); /* Get cluster status */ + if (nxt == 0) break; /* Empty cluster? */ + if (nxt == 1) return FR_INT_ERR; /* Internal error? */ + if (nxt == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error? */ + if (!FF_FS_EXFAT || fs->fs_type != FS_EXFAT) { + res = put_fat(fs, clst, 0); /* Mark the cluster 'free' on the FAT */ + if (res != FR_OK) return res; + } + if (fs->free_clst < fs->n_fatent - 2) { /* Update FSINFO */ + fs->free_clst++; + fs->fsi_flag |= 1; + } +#if FF_FS_EXFAT || FF_USE_TRIM + if (ecl + 1 == nxt) { /* Is next cluster contiguous? */ + ecl = nxt; + } else { /* End of contiguous cluster block */ +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + res = change_bitmap(fs, scl, ecl - scl + 1, 0); /* Mark the cluster block 'free' on the bitmap */ + if (res != FR_OK) return res; + } +#endif +#if FF_USE_TRIM + rt[0] = clst2sect(fs, scl); /* Start of data area freed */ + rt[1] = clst2sect(fs, ecl) + fs->csize - 1; /* End of data area freed */ + disk_ioctl(fs->pdrv, CTRL_TRIM, rt); /* Inform device the data in the block is no longer needed */ +#endif + scl = ecl = nxt; + } +#endif + clst = nxt; /* Next cluster */ + } while (clst < fs->n_fatent); /* Repeat while not the last link */ + +#if FF_FS_EXFAT + /* Some post processes for chain status */ + if (fs->fs_type == FS_EXFAT) { + if (pclst == 0) { /* Has the entire chain been removed? */ + obj->stat = 0; /* Change the chain status 'initial' */ + } else { + if (obj->stat == 0) { /* Is it a fragmented chain from the beginning of this session? */ + clst = obj->sclust; /* Follow the chain to check if it gets contiguous */ + while (clst != pclst) { + nxt = get_fat(obj, clst); + if (nxt < 2) return FR_INT_ERR; + if (nxt == 0xFFFFFFFF) return FR_DISK_ERR; + if (nxt != clst + 1) break; /* Not contiguous? */ + clst++; + } + if (clst == pclst) { /* Has the chain got contiguous again? */ + obj->stat = 2; /* Change the chain status 'contiguous' */ + } + } else { + if (obj->stat == 3 && pclst >= obj->sclust && pclst <= obj->sclust + obj->n_cont) { /* Was the chain fragmented in this session and got contiguous again? */ + obj->stat = 2; /* Change the chain status 'contiguous' */ + } + } + } + } +#endif + return FR_OK; +} + + + + +/*-----------------------------------------------------------------------*/ +/* FAT handling - Stretch a chain or Create a new chain */ +/*-----------------------------------------------------------------------*/ + +static DWORD create_chain ( /* 0:No free cluster, 1:Internal error, 0xFFFFFFFF:Disk error, >=2:New cluster# */ + FFOBJID* obj, /* Corresponding object */ + DWORD clst /* Cluster# to stretch, 0:Create a new chain */ +) +{ + DWORD cs, ncl, scl; + FRESULT res; + FATFS *fs = obj->fs; + + + if (clst == 0) { /* Create a new chain */ + scl = fs->last_clst; /* Suggested cluster to start to find */ + if (scl == 0 || scl >= fs->n_fatent) scl = 1; + } + else { /* Stretch a chain */ + cs = get_fat(obj, clst); /* Check the cluster status */ + if (cs < 2) return 1; /* Test for insanity */ + if (cs == 0xFFFFFFFF) return cs; /* Test for disk error */ + if (cs < fs->n_fatent) return cs; /* It is already followed by next cluster */ + scl = clst; /* Cluster to start to find */ + } + if (fs->free_clst == 0) return 0; /* No free cluster */ + +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ + ncl = find_bitmap(fs, scl, 1); /* Find a free cluster */ + if (ncl == 0 || ncl == 0xFFFFFFFF) return ncl; /* No free cluster or hard error? */ + res = change_bitmap(fs, ncl, 1, 1); /* Mark the cluster 'in use' */ + if (res == FR_INT_ERR) return 1; + if (res == FR_DISK_ERR) return 0xFFFFFFFF; + if (clst == 0) { /* Is it a new chain? */ + obj->stat = 2; /* Set status 'contiguous' */ + } else { /* It is a stretched chain */ + if (obj->stat == 2 && ncl != scl + 1) { /* Is the chain got fragmented? */ + obj->n_cont = scl - obj->sclust; /* Set size of the contiguous part */ + obj->stat = 3; /* Change status 'just fragmented' */ + } + } + if (obj->stat != 2) { /* Is the file non-contiguous? */ + if (ncl == clst + 1) { /* Is the cluster next to previous one? */ + obj->n_frag = obj->n_frag ? obj->n_frag + 1 : 2; /* Increment size of last framgent */ + } else { /* New fragment */ + if (obj->n_frag == 0) obj->n_frag = 1; + res = fill_last_frag(obj, clst, ncl); /* Fill last fragment on the FAT and link it to new one */ + if (res == FR_OK) obj->n_frag = 1; + } + } + } else +#endif + { /* On the FAT/FAT32 volume */ + ncl = 0; + if (scl == clst) { /* Stretching an existing chain? */ + ncl = scl + 1; /* Test if next cluster is free */ + if (ncl >= fs->n_fatent) ncl = 2; + cs = get_fat(obj, ncl); /* Get next cluster status */ + if (cs == 1 || cs == 0xFFFFFFFF) return cs; /* Test for error */ + if (cs != 0) { /* Not free? */ + cs = fs->last_clst; /* Start at suggested cluster if it is valid */ + if (cs >= 2 && cs < fs->n_fatent) scl = cs; + ncl = 0; + } + } + if (ncl == 0) { /* The new cluster cannot be contiguous and find another fragment */ + ncl = scl; /* Start cluster */ + for (;;) { + ncl++; /* Next cluster */ + if (ncl >= fs->n_fatent) { /* Check wrap-around */ + ncl = 2; + if (ncl > scl) return 0; /* No free cluster found? */ + } + cs = get_fat(obj, ncl); /* Get the cluster status */ + if (cs == 0) break; /* Found a free cluster? */ + if (cs == 1 || cs == 0xFFFFFFFF) return cs; /* Test for error */ + if (ncl == scl) return 0; /* No free cluster found? */ + } + } + res = put_fat(fs, ncl, 0xFFFFFFFF); /* Mark the new cluster 'EOC' */ + if (res == FR_OK && clst != 0) { + res = put_fat(fs, clst, ncl); /* Link it from the previous one if needed */ + } + } + + if (res == FR_OK) { /* Update FSINFO if function succeeded. */ + fs->last_clst = ncl; + if (fs->free_clst <= fs->n_fatent - 2) fs->free_clst--; + fs->fsi_flag |= 1; + } else { + ncl = (res == FR_DISK_ERR) ? 0xFFFFFFFF : 1; /* Failed. Generate error status */ + } + + return ncl; /* Return new cluster number or error status */ +} + +#endif /* !FF_FS_READONLY */ + + + + +#if FF_USE_FASTSEEK +/*-----------------------------------------------------------------------*/ +/* FAT handling - Convert offset into cluster with link map table */ +/*-----------------------------------------------------------------------*/ + +static DWORD clmt_clust ( /* <2:Error, >=2:Cluster number */ + FIL* fp, /* Pointer to the file object */ + FSIZE_t ofs /* File offset to be converted to cluster# */ +) +{ + DWORD cl, ncl, *tbl; + FATFS *fs = fp->obj.fs; + + + tbl = fp->cltbl + 1; /* Top of CLMT */ + cl = (DWORD)(ofs / SS(fs) / fs->csize); /* Cluster order from top of the file */ + for (;;) { + ncl = *tbl++; /* Number of cluters in the fragment */ + if (ncl == 0) return 0; /* End of table? (error) */ + if (cl < ncl) break; /* In this fragment? */ + cl -= ncl; tbl++; /* Next fragment */ + } + return cl + *tbl; /* Return the cluster number */ +} + +#endif /* FF_USE_FASTSEEK */ + + + + +/*-----------------------------------------------------------------------*/ +/* Directory handling - Fill a cluster with zeros */ +/*-----------------------------------------------------------------------*/ + +#if !FF_FS_READONLY +static FRESULT dir_clear ( /* Returns FR_OK or FR_DISK_ERR */ + FATFS *fs, /* Filesystem object */ + DWORD clst /* Directory table to clear */ +) +{ + DWORD sect; + UINT n, szb; + BYTE *ibuf; + + + if (sync_window(fs) != FR_OK) return FR_DISK_ERR; /* Flush disk access window */ + sect = clst2sect(fs, clst); /* Top of the cluster */ + fs->winsect = sect; /* Set window to top of the cluster */ + mem_set(fs->win, 0, sizeof fs->win); /* Clear window buffer */ +#if FF_USE_LFN == 3 /* Quick table clear by using multi-secter write */ + /* Allocate a temporary buffer */ + for (szb = ((DWORD)fs->csize * SS(fs) >= MAX_MALLOC) ? MAX_MALLOC : fs->csize * SS(fs), ibuf = 0; szb > SS(fs) && (ibuf = ff_memalloc(szb)) == 0; szb /= 2) ; + if (szb > SS(fs)) { /* Buffer allocated? */ + mem_set(ibuf, 0, szb); + szb /= SS(fs); /* Bytes -> Sectors */ + for (n = 0; n < fs->csize && disk_write(fs->pdrv, ibuf, sect + n, szb) == RES_OK; n += szb) ; /* Fill the cluster with 0 */ + ff_memfree(ibuf); + } else +#endif + { + ibuf = fs->win; szb = 1; /* Use window buffer (many single-sector writes may take a time) */ + for (n = 0; n < fs->csize && disk_write(fs->pdrv, ibuf, sect + n, szb) == RES_OK; n += szb) ; /* Fill the cluster with 0 */ + } + return (n == fs->csize) ? FR_OK : FR_DISK_ERR; +} +#endif /* !FF_FS_READONLY */ + + + + +/*-----------------------------------------------------------------------*/ +/* Directory handling - Set directory index */ +/*-----------------------------------------------------------------------*/ + +static FRESULT dir_sdi ( /* FR_OK(0):succeeded, !=0:error */ + DIR* dp, /* Pointer to directory object */ + DWORD ofs /* Offset of directory table */ +) +{ + DWORD csz, clst; + FATFS *fs = dp->obj.fs; + + + if (ofs >= (DWORD)((FF_FS_EXFAT && fs->fs_type == FS_EXFAT) ? MAX_DIR_EX : MAX_DIR) || ofs % SZDIRE) { /* Check range of offset and alignment */ + return FR_INT_ERR; + } + dp->dptr = ofs; /* Set current offset */ + clst = dp->obj.sclust; /* Table start cluster (0:root) */ + if (clst == 0 && fs->fs_type >= FS_FAT32) { /* Replace cluster# 0 with root cluster# */ + clst = fs->dirbase; + if (FF_FS_EXFAT) dp->obj.stat = 0; /* exFAT: Root dir has an FAT chain */ + } + + if (clst == 0) { /* Static table (root-directory on the FAT volume) */ + if (ofs / SZDIRE >= fs->n_rootdir) return FR_INT_ERR; /* Is index out of range? */ + dp->sect = fs->dirbase; + + } else { /* Dynamic table (sub-directory or root-directory on the FAT32/exFAT volume) */ + csz = (DWORD)fs->csize * SS(fs); /* Bytes per cluster */ + while (ofs >= csz) { /* Follow cluster chain */ + clst = get_fat(&dp->obj, clst); /* Get next cluster */ + if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ + if (clst < 2 || clst >= fs->n_fatent) return FR_INT_ERR; /* Reached to end of table or internal error */ + ofs -= csz; + } + dp->sect = clst2sect(fs, clst); + } + dp->clust = clst; /* Current cluster# */ + if (dp->sect == 0) return FR_INT_ERR; + dp->sect += ofs / SS(fs); /* Sector# of the directory entry */ + dp->dir = fs->win + (ofs % SS(fs)); /* Pointer to the entry in the win[] */ + + return FR_OK; +} + + + + +/*-----------------------------------------------------------------------*/ +/* Directory handling - Move directory table index next */ +/*-----------------------------------------------------------------------*/ + +static FRESULT dir_next ( /* FR_OK(0):succeeded, FR_NO_FILE:End of table, FR_DENIED:Could not stretch */ + DIR* dp, /* Pointer to the directory object */ + int stretch /* 0: Do not stretch table, 1: Stretch table if needed */ +) +{ + DWORD ofs, clst; + FATFS *fs = dp->obj.fs; + + + ofs = dp->dptr + SZDIRE; /* Next entry */ + if (ofs >= (DWORD)((FF_FS_EXFAT && fs->fs_type == FS_EXFAT) ? MAX_DIR_EX : MAX_DIR)) dp->sect = 0; /* Disable it if the offset reached the max value */ + if (dp->sect == 0) return FR_NO_FILE; /* Report EOT if it has been disabled */ + + if (ofs % SS(fs) == 0) { /* Sector changed? */ + dp->sect++; /* Next sector */ + + if (dp->clust == 0) { /* Static table */ + if (ofs / SZDIRE >= fs->n_rootdir) { /* Report EOT if it reached end of static table */ + dp->sect = 0; return FR_NO_FILE; + } + } + else { /* Dynamic table */ + if ((ofs / SS(fs) & (fs->csize - 1)) == 0) { /* Cluster changed? */ + clst = get_fat(&dp->obj, dp->clust); /* Get next cluster */ + if (clst <= 1) return FR_INT_ERR; /* Internal error */ + if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ + if (clst >= fs->n_fatent) { /* It reached end of dynamic table */ +#if !FF_FS_READONLY + if (!stretch) { /* If no stretch, report EOT */ + dp->sect = 0; return FR_NO_FILE; + } + clst = create_chain(&dp->obj, dp->clust); /* Allocate a cluster */ + if (clst == 0) return FR_DENIED; /* No free cluster */ + if (clst == 1) return FR_INT_ERR; /* Internal error */ + if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ + if (dir_clear(fs, clst) != FR_OK) return FR_DISK_ERR; /* Clean up the stretched table */ + if (FF_FS_EXFAT) dp->obj.stat |= 4; /* exFAT: The directory has been stretched */ +#else + if (!stretch) dp->sect = 0; /* (this line is to suppress compiler warning) */ + dp->sect = 0; return FR_NO_FILE; /* Report EOT */ +#endif + } + dp->clust = clst; /* Initialize data for new cluster */ + dp->sect = clst2sect(fs, clst); + } + } + } + dp->dptr = ofs; /* Current entry */ + dp->dir = fs->win + ofs % SS(fs); /* Pointer to the entry in the win[] */ + + return FR_OK; +} + + + + +#if !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* Directory handling - Reserve a block of directory entries */ +/*-----------------------------------------------------------------------*/ + +static FRESULT dir_alloc ( /* FR_OK(0):succeeded, !=0:error */ + DIR* dp, /* Pointer to the directory object */ + UINT nent /* Number of contiguous entries to allocate */ +) +{ + FRESULT res; + UINT n; + FATFS *fs = dp->obj.fs; + + + res = dir_sdi(dp, 0); + if (res == FR_OK) { + n = 0; + do { + res = move_window(fs, dp->sect); + if (res != FR_OK) break; +#if FF_FS_EXFAT + if ((fs->fs_type == FS_EXFAT) ? (int)((dp->dir[XDIR_Type] & 0x80) == 0) : (int)(dp->dir[DIR_Name] == DDEM || dp->dir[DIR_Name] == 0)) { +#else + if (dp->dir[DIR_Name] == DDEM || dp->dir[DIR_Name] == 0) { +#endif + if (++n == nent) break; /* A block of contiguous free entries is found */ + } else { + n = 0; /* Not a blank entry. Restart to search */ + } + res = dir_next(dp, 1); + } while (res == FR_OK); /* Next entry with table stretch enabled */ + } + + if (res == FR_NO_FILE) res = FR_DENIED; /* No directory entry to allocate */ + return res; +} + +#endif /* !FF_FS_READONLY */ + + + + +/*-----------------------------------------------------------------------*/ +/* FAT: Directory handling - Load/Store start cluster number */ +/*-----------------------------------------------------------------------*/ + +static DWORD ld_clust ( /* Returns the top cluster value of the SFN entry */ + FATFS* fs, /* Pointer to the fs object */ + const BYTE* dir /* Pointer to the key entry */ +) +{ + DWORD cl; + + cl = ld_word(dir + DIR_FstClusLO); + if (fs->fs_type == FS_FAT32) { + cl |= (DWORD)ld_word(dir + DIR_FstClusHI) << 16; + } + + return cl; +} + + +#if !FF_FS_READONLY +static void st_clust ( + FATFS* fs, /* Pointer to the fs object */ + BYTE* dir, /* Pointer to the key entry */ + DWORD cl /* Value to be set */ +) +{ + st_word(dir + DIR_FstClusLO, (WORD)cl); + if (fs->fs_type == FS_FAT32) { + st_word(dir + DIR_FstClusHI, (WORD)(cl >> 16)); + } +} +#endif + + + +#if FF_USE_LFN +/*--------------------------------------------------------*/ +/* FAT-LFN: Compare a part of file name with an LFN entry */ +/*--------------------------------------------------------*/ + +static int cmp_lfn ( /* 1:matched, 0:not matched */ + const WCHAR* lfnbuf, /* Pointer to the LFN working buffer to be compared */ + BYTE* dir /* Pointer to the directory entry containing the part of LFN */ +) +{ + UINT i, s; + WCHAR wc, uc; + + + if (ld_word(dir + LDIR_FstClusLO) != 0) return 0; /* Check LDIR_FstClusLO */ + + i = ((dir[LDIR_Ord] & 0x3F) - 1) * 13; /* Offset in the LFN buffer */ + + for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ + uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ + if (wc != 0) { + if (i >= FF_MAX_LFN || ff_wtoupper(uc) != ff_wtoupper(lfnbuf[i++])) { /* Compare it */ + return 0; /* Not matched */ + } + wc = uc; + } else { + if (uc != 0xFFFF) return 0; /* Check filler */ + } + } + + if ((dir[LDIR_Ord] & LLEF) && wc && lfnbuf[i]) return 0; /* Last segment matched but different length */ + + return 1; /* The part of LFN matched */ +} + + +#if FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 || FF_USE_LABEL || FF_FS_EXFAT +/*-----------------------------------------------------*/ +/* FAT-LFN: Pick a part of file name from an LFN entry */ +/*-----------------------------------------------------*/ + +static int pick_lfn ( /* 1:succeeded, 0:buffer overflow or invalid LFN entry */ + WCHAR* lfnbuf, /* Pointer to the LFN working buffer */ + BYTE* dir /* Pointer to the LFN entry */ +) +{ + UINT i, s; + WCHAR wc, uc; + + + if (ld_word(dir + LDIR_FstClusLO) != 0) return 0; /* Check LDIR_FstClusLO is 0 */ + + i = ((dir[LDIR_Ord] & ~LLEF) - 1) * 13; /* Offset in the LFN buffer */ + + for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ + uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ + if (wc != 0) { + if (i >= FF_MAX_LFN) return 0; /* Buffer overflow? */ + lfnbuf[i++] = wc = uc; /* Store it */ + } else { + if (uc != 0xFFFF) return 0; /* Check filler */ + } + } + + if (dir[LDIR_Ord] & LLEF) { /* Put terminator if it is the last LFN part */ + if (i >= FF_MAX_LFN) return 0; /* Buffer overflow? */ + lfnbuf[i] = 0; + } + + return 1; /* The part of LFN is valid */ +} +#endif + + +#if !FF_FS_READONLY +/*-----------------------------------------*/ +/* FAT-LFN: Create an entry of LFN entries */ +/*-----------------------------------------*/ + +static void put_lfn ( + const WCHAR* lfn, /* Pointer to the LFN */ + BYTE* dir, /* Pointer to the LFN entry to be created */ + BYTE ord, /* LFN order (1-20) */ + BYTE sum /* Checksum of the corresponding SFN */ +) +{ + UINT i, s; + WCHAR wc; + + + dir[LDIR_Chksum] = sum; /* Set checksum */ + dir[LDIR_Attr] = AM_LFN; /* Set attribute. LFN entry */ + dir[LDIR_Type] = 0; + st_word(dir + LDIR_FstClusLO, 0); + + i = (ord - 1) * 13; /* Get offset in the LFN working buffer */ + s = wc = 0; + do { + if (wc != 0xFFFF) wc = lfn[i++]; /* Get an effective character */ + st_word(dir + LfnOfs[s], wc); /* Put it */ + if (wc == 0) wc = 0xFFFF; /* Padding characters for left locations */ + } while (++s < 13); + if (wc == 0xFFFF || !lfn[i]) ord |= LLEF; /* Last LFN part is the start of LFN sequence */ + dir[LDIR_Ord] = ord; /* Set the LFN order */ +} + +#endif /* !FF_FS_READONLY */ +#endif /* FF_USE_LFN */ + + + +#if FF_USE_LFN && !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* FAT-LFN: Create a Numbered SFN */ +/*-----------------------------------------------------------------------*/ + +static void gen_numname ( + BYTE* dst, /* Pointer to the buffer to store numbered SFN */ + const BYTE* src, /* Pointer to SFN */ + const WCHAR* lfn, /* Pointer to LFN */ + UINT seq /* Sequence number */ +) +{ + BYTE ns[8], c; + UINT i, j; + WCHAR wc; + DWORD sr; + + + mem_cpy(dst, src, 11); + + if (seq > 5) { /* In case of many collisions, generate a hash number instead of sequential number */ + sr = seq; + while (*lfn) { /* Create a CRC as hash value */ + wc = *lfn++; + for (i = 0; i < 16; i++) { + sr = (sr << 1) + (wc & 1); + wc >>= 1; + if (sr & 0x10000) sr ^= 0x11021; + } + } + seq = (UINT)sr; + } + + /* itoa (hexdecimal) */ + i = 7; + do { + c = (BYTE)((seq % 16) + '0'); + if (c > '9') c += 7; + ns[i--] = c; + seq /= 16; + } while (seq); + ns[i] = '~'; + + /* Append the number to the SFN body */ + for (j = 0; j < i && dst[j] != ' '; j++) { + if (dbc_1st(dst[j])) { + if (j == i - 1) break; + j++; + } + } + do { + dst[j++] = (i < 8) ? ns[i++] : ' '; + } while (j < 8); +} +#endif /* FF_USE_LFN && !FF_FS_READONLY */ + + + +#if FF_USE_LFN +/*-----------------------------------------------------------------------*/ +/* FAT-LFN: Calculate checksum of an SFN entry */ +/*-----------------------------------------------------------------------*/ + +static BYTE sum_sfn ( + const BYTE* dir /* Pointer to the SFN entry */ +) +{ + BYTE sum = 0; + UINT n = 11; + + do { + sum = (sum >> 1) + (sum << 7) + *dir++; + } while (--n); + return sum; +} + +#endif /* FF_USE_LFN */ + + + +#if FF_FS_EXFAT +/*-----------------------------------------------------------------------*/ +/* exFAT: Checksum */ +/*-----------------------------------------------------------------------*/ + +static WORD xdir_sum ( /* Get checksum of the directoly entry block */ + const BYTE* dir /* Directory entry block to be calculated */ +) +{ + UINT i, szblk; + WORD sum; + + + szblk = (dir[XDIR_NumSec] + 1) * SZDIRE; /* Number of bytes of the entry block */ + for (i = sum = 0; i < szblk; i++) { + if (i == XDIR_SetSum) { /* Skip 2-byte sum field */ + i++; + } else { + sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + dir[i]; + } + } + return sum; +} + + + +static WORD xname_sum ( /* Get check sum (to be used as hash) of the file name */ + const WCHAR* name /* File name to be calculated */ +) +{ + WCHAR chr; + WORD sum = 0; + + + while ((chr = *name++) != 0) { + chr = (WCHAR)ff_wtoupper(chr); /* File name needs to be up-case converted */ + sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr & 0xFF); + sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr >> 8); + } + return sum; +} + + +#if !FF_FS_READONLY && FF_USE_MKFS +static DWORD xsum32 ( /* Returns 32-bit checksum */ + BYTE dat, /* Byte to be calculated (byte-by-byte processing) */ + DWORD sum /* Previous sum value */ +) +{ + sum = ((sum & 1) ? 0x80000000 : 0) + (sum >> 1) + dat; + return sum; +} +#endif + + +#if FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 +/*------------------------------------------------------*/ +/* exFAT: Get object information from a directory block */ +/*------------------------------------------------------*/ + +static void get_xfileinfo ( + BYTE* dirb, /* Pointer to the direcotry entry block 85+C0+C1s */ + FILINFO* fno /* Buffer to store the extracted file information */ +) +{ + WCHAR wc, hs; + UINT di, si, nc; + + /* Get file name from the entry block */ + si = SZDIRE * 2; /* 1st C1 entry */ + nc = 0; hs = 0; di = 0; + while (nc < dirb[XDIR_NumName]) { + if (si >= MAXDIRB(FF_MAX_LFN)) { di = 0; break; } /* Truncated directory block? */ + if ((si % SZDIRE) == 0) si += 2; /* Skip entry type field */ + wc = ld_word(dirb + si); si += 2; nc++; /* Get a character */ + if (hs == 0 && IsSurrogate(wc)) { /* Is it a surrogate? */ + hs = wc; continue; /* Get low surrogate */ + } + wc = put_utf((DWORD)hs << 16 | wc, &fno->fname[di], FF_LFN_BUF - di); /* Store it in API encoding */ + if (wc == 0) { di = 0; break; } /* Buffer overflow or wrong encoding? */ + di += wc; + hs = 0; + } + if (hs != 0) di = 0; /* Broken surrogate pair? */ + if (di == 0) fno->fname[di++] = '?'; /* Inaccessible object name? */ + fno->fname[di] = 0; /* Terminate the name */ + fno->altname[0] = 0; /* exFAT does not support SFN */ + + fno->fattrib = dirb[XDIR_Attr]; /* Attribute */ + fno->fsize = (fno->fattrib & AM_DIR) ? 0 : ld_qword(dirb + XDIR_FileSize); /* Size */ + fno->ftime = ld_word(dirb + XDIR_ModTime + 0); /* Time */ + fno->fdate = ld_word(dirb + XDIR_ModTime + 2); /* Date */ +} + +#endif /* FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 */ + + +/*-----------------------------------*/ +/* exFAT: Get a directry entry block */ +/*-----------------------------------*/ + +static FRESULT load_xdir ( /* FR_INT_ERR: invalid entry block */ + DIR* dp /* Reading direcotry object pointing top of the entry block to load */ +) +{ + FRESULT res; + UINT i, sz_ent; + BYTE* dirb = dp->obj.fs->dirbuf; /* Pointer to the on-memory direcotry entry block 85+C0+C1s */ + + + /* Load file-directory entry */ + res = move_window(dp->obj.fs, dp->sect); + if (res != FR_OK) return res; + if (dp->dir[XDIR_Type] != ET_FILEDIR) return FR_INT_ERR; /* Invalid order */ + mem_cpy(dirb + 0 * SZDIRE, dp->dir, SZDIRE); + sz_ent = (dirb[XDIR_NumSec] + 1) * SZDIRE; + if (sz_ent < 3 * SZDIRE || sz_ent > 19 * SZDIRE) return FR_INT_ERR; + + /* Load stream-extension entry */ + res = dir_next(dp, 0); + if (res == FR_NO_FILE) res = FR_INT_ERR; /* It cannot be */ + if (res != FR_OK) return res; + res = move_window(dp->obj.fs, dp->sect); + if (res != FR_OK) return res; + if (dp->dir[XDIR_Type] != ET_STREAM) return FR_INT_ERR; /* Invalid order */ + mem_cpy(dirb + 1 * SZDIRE, dp->dir, SZDIRE); + if (MAXDIRB(dirb[XDIR_NumName]) > sz_ent) return FR_INT_ERR; + + /* Load file-name entries */ + i = 2 * SZDIRE; /* Name offset to load */ + do { + res = dir_next(dp, 0); + if (res == FR_NO_FILE) res = FR_INT_ERR; /* It cannot be */ + if (res != FR_OK) return res; + res = move_window(dp->obj.fs, dp->sect); + if (res != FR_OK) return res; + if (dp->dir[XDIR_Type] != ET_FILENAME) return FR_INT_ERR; /* Invalid order */ + if (i < MAXDIRB(FF_MAX_LFN)) mem_cpy(dirb + i, dp->dir, SZDIRE); + } while ((i += SZDIRE) < sz_ent); + + /* Sanity check (do it for only accessible object) */ + if (i <= MAXDIRB(FF_MAX_LFN)) { + if (xdir_sum(dirb) != ld_word(dirb + XDIR_SetSum)) return FR_INT_ERR; + } + return FR_OK; +} + + +/*------------------------------------------------------------------*/ +/* exFAT: Initialize object allocation info with loaded entry block */ +/*------------------------------------------------------------------*/ + +static void init_alloc_info ( + FATFS* fs, /* Filesystem object */ + FFOBJID* obj /* Object allocation information to be initialized */ +) +{ + obj->sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Start cluster */ + obj->objsize = ld_qword(fs->dirbuf + XDIR_FileSize); /* Size */ + obj->stat = fs->dirbuf[XDIR_GenFlags] & 2; /* Allocation status */ + obj->n_frag = 0; /* No last fragment info */ +} + + + +#if !FF_FS_READONLY || FF_FS_RPATH != 0 +/*------------------------------------------------*/ +/* exFAT: Load the object's directory entry block */ +/*------------------------------------------------*/ + +static FRESULT load_obj_xdir ( + DIR* dp, /* Blank directory object to be used to access containing direcotry */ + const FFOBJID* obj /* Object with its containing directory information */ +) +{ + FRESULT res; + + /* Open object containing directory */ + dp->obj.fs = obj->fs; + dp->obj.sclust = obj->c_scl; + dp->obj.stat = (BYTE)obj->c_size; + dp->obj.objsize = obj->c_size & 0xFFFFFF00; + dp->obj.n_frag = 0; + dp->blk_ofs = obj->c_ofs; + + res = dir_sdi(dp, dp->blk_ofs); /* Goto object's entry block */ + if (res == FR_OK) { + res = load_xdir(dp); /* Load the object's entry block */ + } + return res; +} +#endif + + +#if !FF_FS_READONLY +/*----------------------------------------*/ +/* exFAT: Store the directory entry block */ +/*----------------------------------------*/ + +static FRESULT store_xdir ( + DIR* dp /* Pointer to the direcotry object */ +) +{ + FRESULT res; + UINT nent; + BYTE* dirb = dp->obj.fs->dirbuf; /* Pointer to the direcotry entry block 85+C0+C1s */ + + /* Create set sum */ + st_word(dirb + XDIR_SetSum, xdir_sum(dirb)); + nent = dirb[XDIR_NumSec] + 1; + + /* Store the direcotry entry block to the directory */ + res = dir_sdi(dp, dp->blk_ofs); + while (res == FR_OK) { + res = move_window(dp->obj.fs, dp->sect); + if (res != FR_OK) break; + mem_cpy(dp->dir, dirb, SZDIRE); + dp->obj.fs->wflag = 1; + if (--nent == 0) break; + dirb += SZDIRE; + res = dir_next(dp, 0); + } + return (res == FR_OK || res == FR_DISK_ERR) ? res : FR_INT_ERR; +} + + + +/*-------------------------------------------*/ +/* exFAT: Create a new directory enrty block */ +/*-------------------------------------------*/ + +static void create_xdir ( + BYTE* dirb, /* Pointer to the direcotry entry block buffer */ + const WCHAR* lfn /* Pointer to the object name */ +) +{ + UINT i; + BYTE nc1, nlen; + WCHAR wc; + + + /* Create file-directory and stream-extension entry */ + mem_set(dirb, 0, 2 * SZDIRE); + dirb[0 * SZDIRE + XDIR_Type] = ET_FILEDIR; + dirb[1 * SZDIRE + XDIR_Type] = ET_STREAM; + + /* Create file-name entries */ + i = SZDIRE * 2; /* Top of file_name entries */ + nlen = nc1 = 0; wc = 1; + do { + dirb[i++] = ET_FILENAME; dirb[i++] = 0; + do { /* Fill name field */ + if (wc != 0 && (wc = lfn[nlen]) != 0) nlen++; /* Get a character if exist */ + st_word(dirb + i, wc); /* Store it */ + i += 2; + } while (i % SZDIRE != 0); + nc1++; + } while (lfn[nlen]); /* Fill next entry if any char follows */ + + dirb[XDIR_NumName] = nlen; /* Set name length */ + dirb[XDIR_NumSec] = 1 + nc1; /* Set secondary count (C0 + C1s) */ + st_word(dirb + XDIR_NameHash, xname_sum(lfn)); /* Set name hash */ +} + +#endif /* !FF_FS_READONLY */ +#endif /* FF_FS_EXFAT */ + + + +#if FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 || FF_USE_LABEL || FF_FS_EXFAT +/*-----------------------------------------------------------------------*/ +/* Read an object from the directory */ +/*-----------------------------------------------------------------------*/ + +#define DIR_READ_FILE(dp) dir_read(dp, 0) +#define DIR_READ_LABEL(dp) dir_read(dp, 1) + +static FRESULT dir_read ( + DIR* dp, /* Pointer to the directory object */ + int vol /* Filtered by 0:file/directory or 1:volume label */ +) +{ + FRESULT res = FR_NO_FILE; + FATFS *fs = dp->obj.fs; + BYTE attr, b; +#if FF_USE_LFN + BYTE ord = 0xFF, sum = 0xFF; +#endif + + while (dp->sect) { + res = move_window(fs, dp->sect); + if (res != FR_OK) break; + b = dp->dir[DIR_Name]; /* Test for the entry type */ + if (b == 0) { + res = FR_NO_FILE; break; /* Reached to end of the directory */ + } +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ + if (FF_USE_LABEL && vol) { + if (b == ET_VLABEL) break; /* Volume label entry? */ + } else { + if (b == ET_FILEDIR) { /* Start of the file entry block? */ + dp->blk_ofs = dp->dptr; /* Get location of the block */ + res = load_xdir(dp); /* Load the entry block */ + if (res == FR_OK) { + dp->obj.attr = fs->dirbuf[XDIR_Attr] & AM_MASK; /* Get attribute */ + } + break; + } + } + } else +#endif + { /* On the FAT/FAT32 volume */ + dp->obj.attr = attr = dp->dir[DIR_Attr] & AM_MASK; /* Get attribute */ +#if FF_USE_LFN /* LFN configuration */ + if (b == DDEM || b == '.' || (int)((attr & ~AM_ARC) == AM_VOL) != vol) { /* An entry without valid data */ + ord = 0xFF; + } else { + if (attr == AM_LFN) { /* An LFN entry is found */ + if (b & LLEF) { /* Is it start of an LFN sequence? */ + sum = dp->dir[LDIR_Chksum]; + b &= (BYTE)~LLEF; ord = b; + dp->blk_ofs = dp->dptr; + } + /* Check LFN validity and capture it */ + ord = (b == ord && sum == dp->dir[LDIR_Chksum] && pick_lfn(fs->lfnbuf, dp->dir)) ? ord - 1 : 0xFF; + } else { /* An SFN entry is found */ + if (ord != 0 || sum != sum_sfn(dp->dir)) { /* Is there a valid LFN? */ + dp->blk_ofs = 0xFFFFFFFF; /* It has no LFN. */ + } + break; + } + } +#else /* Non LFN configuration */ + if (b != DDEM && b != '.' && attr != AM_LFN && (int)((attr & ~AM_ARC) == AM_VOL) == vol) { /* Is it a valid entry? */ + break; + } +#endif + } + res = dir_next(dp, 0); /* Next entry */ + if (res != FR_OK) break; + } + + if (res != FR_OK) dp->sect = 0; /* Terminate the read operation on error or EOT */ + return res; +} + +#endif /* FF_FS_MINIMIZE <= 1 || FF_USE_LABEL || FF_FS_RPATH >= 2 */ + + + +/*-----------------------------------------------------------------------*/ +/* Directory handling - Find an object in the directory */ +/*-----------------------------------------------------------------------*/ + +static FRESULT dir_find ( /* FR_OK(0):succeeded, !=0:error */ + DIR* dp /* Pointer to the directory object with the file name */ +) +{ + FRESULT res; + FATFS *fs = dp->obj.fs; + BYTE c; +#if FF_USE_LFN + BYTE a, ord, sum; +#endif + + res = dir_sdi(dp, 0); /* Rewind directory object */ + if (res != FR_OK) return res; +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ + BYTE nc; + UINT di, ni; + WORD hash = xname_sum(fs->lfnbuf); /* Hash value of the name to find */ + + while ((res = DIR_READ_FILE(dp)) == FR_OK) { /* Read an item */ +#if FF_MAX_LFN < 255 + if (fs->dirbuf[XDIR_NumName] > FF_MAX_LFN) continue; /* Skip comparison if inaccessible object name */ +#endif + if (ld_word(fs->dirbuf + XDIR_NameHash) != hash) continue; /* Skip comparison if hash mismatched */ + for (nc = fs->dirbuf[XDIR_NumName], di = SZDIRE * 2, ni = 0; nc; nc--, di += 2, ni++) { /* Compare the name */ + if ((di % SZDIRE) == 0) di += 2; + if (ff_wtoupper(ld_word(fs->dirbuf + di)) != ff_wtoupper(fs->lfnbuf[ni])) break; + } + if (nc == 0 && !fs->lfnbuf[ni]) break; /* Name matched? */ + } + return res; + } +#endif + /* On the FAT/FAT32 volume */ +#if FF_USE_LFN + ord = sum = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ +#endif + do { + res = move_window(fs, dp->sect); + if (res != FR_OK) break; + c = dp->dir[DIR_Name]; + if (c == 0) { res = FR_NO_FILE; break; } /* Reached to end of table */ +#if FF_USE_LFN /* LFN configuration */ + dp->obj.attr = a = dp->dir[DIR_Attr] & AM_MASK; + if (c == DDEM || ((a & AM_VOL) && a != AM_LFN)) { /* An entry without valid data */ + ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ + } else { + if (a == AM_LFN) { /* An LFN entry is found */ + if (!(dp->fn[NSFLAG] & NS_NOLFN)) { + if (c & LLEF) { /* Is it start of LFN sequence? */ + sum = dp->dir[LDIR_Chksum]; + c &= (BYTE)~LLEF; ord = c; /* LFN start order */ + dp->blk_ofs = dp->dptr; /* Start offset of LFN */ + } + /* Check validity of the LFN entry and compare it with given name */ + ord = (c == ord && sum == dp->dir[LDIR_Chksum] && cmp_lfn(fs->lfnbuf, dp->dir)) ? ord - 1 : 0xFF; + } + } else { /* An SFN entry is found */ + if (ord == 0 && sum == sum_sfn(dp->dir)) break; /* LFN matched? */ + if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* SFN matched? */ + ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ + } + } +#else /* Non LFN configuration */ + dp->obj.attr = dp->dir[DIR_Attr] & AM_MASK; + if (!(dp->dir[DIR_Attr] & AM_VOL) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* Is it a valid entry? */ +#endif + res = dir_next(dp, 0); /* Next entry */ + } while (res == FR_OK); + + return res; +} + + + + +#if !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* Register an object to the directory */ +/*-----------------------------------------------------------------------*/ + +static FRESULT dir_register ( /* FR_OK:succeeded, FR_DENIED:no free entry or too many SFN collision, FR_DISK_ERR:disk error */ + DIR* dp /* Target directory with object name to be created */ +) +{ + FRESULT res; + FATFS *fs = dp->obj.fs; +#if FF_USE_LFN /* LFN configuration */ + UINT n, nlen, nent; + BYTE sn[12], sum; + + + if (dp->fn[NSFLAG] & (NS_DOT | NS_NONAME)) return FR_INVALID_NAME; /* Check name validity */ + for (nlen = 0; fs->lfnbuf[nlen]; nlen++) ; /* Get lfn length */ + +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ + nent = (nlen + 14) / 15 + 2; /* Number of entries to allocate (85+C0+C1s) */ + res = dir_alloc(dp, nent); /* Allocate directory entries */ + if (res != FR_OK) return res; + dp->blk_ofs = dp->dptr - SZDIRE * (nent - 1); /* Set the allocated entry block offset */ + + if (dp->obj.stat & 4) { /* Has the directory been stretched by new allocation? */ + dp->obj.stat &= ~4; + res = fill_first_frag(&dp->obj); /* Fill the first fragment on the FAT if needed */ + if (res != FR_OK) return res; + res = fill_last_frag(&dp->obj, dp->clust, 0xFFFFFFFF); /* Fill the last fragment on the FAT if needed */ + if (res != FR_OK) return res; + if (dp->obj.sclust != 0) { /* Is it a sub-directory? */ + DIR dj; + + res = load_obj_xdir(&dj, &dp->obj); /* Load the object status */ + if (res != FR_OK) return res; + dp->obj.objsize += (DWORD)fs->csize * SS(fs); /* Increase the directory size by cluster size */ + st_qword(fs->dirbuf + XDIR_FileSize, dp->obj.objsize); /* Update the allocation status */ + st_qword(fs->dirbuf + XDIR_ValidFileSize, dp->obj.objsize); + fs->dirbuf[XDIR_GenFlags] = dp->obj.stat | 1; + res = store_xdir(&dj); /* Store the object status */ + if (res != FR_OK) return res; + } + } + + create_xdir(fs->dirbuf, fs->lfnbuf); /* Create on-memory directory block to be written later */ + return FR_OK; + } +#endif + /* On the FAT/FAT32 volume */ + mem_cpy(sn, dp->fn, 12); + if (sn[NSFLAG] & NS_LOSS) { /* When LFN is out of 8.3 format, generate a numbered name */ + dp->fn[NSFLAG] = NS_NOLFN; /* Find only SFN */ + for (n = 1; n < 100; n++) { + gen_numname(dp->fn, sn, fs->lfnbuf, n); /* Generate a numbered name */ + res = dir_find(dp); /* Check if the name collides with existing SFN */ + if (res != FR_OK) break; + } + if (n == 100) return FR_DENIED; /* Abort if too many collisions */ + if (res != FR_NO_FILE) return res; /* Abort if the result is other than 'not collided' */ + dp->fn[NSFLAG] = sn[NSFLAG]; + } + + /* Create an SFN with/without LFNs. */ + nent = (sn[NSFLAG] & NS_LFN) ? (nlen + 12) / 13 + 1 : 1; /* Number of entries to allocate */ + res = dir_alloc(dp, nent); /* Allocate entries */ + if (res == FR_OK && --nent) { /* Set LFN entry if needed */ + res = dir_sdi(dp, dp->dptr - nent * SZDIRE); + if (res == FR_OK) { + sum = sum_sfn(dp->fn); /* Checksum value of the SFN tied to the LFN */ + do { /* Store LFN entries in bottom first */ + res = move_window(fs, dp->sect); + if (res != FR_OK) break; + put_lfn(fs->lfnbuf, dp->dir, (BYTE)nent, sum); + fs->wflag = 1; + res = dir_next(dp, 0); /* Next entry */ + } while (res == FR_OK && --nent); + } + } + +#else /* Non LFN configuration */ + res = dir_alloc(dp, 1); /* Allocate an entry for SFN */ + +#endif + + /* Set SFN entry */ + if (res == FR_OK) { + res = move_window(fs, dp->sect); + if (res == FR_OK) { + mem_set(dp->dir, 0, SZDIRE); /* Clean the entry */ + mem_cpy(dp->dir + DIR_Name, dp->fn, 11); /* Put SFN */ +#if FF_USE_LFN + dp->dir[DIR_NTres] = dp->fn[NSFLAG] & (NS_BODY | NS_EXT); /* Put NT flag */ +#endif + fs->wflag = 1; + } + } + + return res; +} + +#endif /* !FF_FS_READONLY */ + + + +#if !FF_FS_READONLY && FF_FS_MINIMIZE == 0 +/*-----------------------------------------------------------------------*/ +/* Remove an object from the directory */ +/*-----------------------------------------------------------------------*/ + +static FRESULT dir_remove ( /* FR_OK:Succeeded, FR_DISK_ERR:A disk error */ + DIR* dp /* Directory object pointing the entry to be removed */ +) +{ + FRESULT res; + FATFS *fs = dp->obj.fs; +#if FF_USE_LFN /* LFN configuration */ + DWORD last = dp->dptr; + + res = (dp->blk_ofs == 0xFFFFFFFF) ? FR_OK : dir_sdi(dp, dp->blk_ofs); /* Goto top of the entry block if LFN is exist */ + if (res == FR_OK) { + do { + res = move_window(fs, dp->sect); + if (res != FR_OK) break; + if (FF_FS_EXFAT && fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ + dp->dir[XDIR_Type] &= 0x7F; /* Clear the entry InUse flag. */ + } else { /* On the FAT/FAT32 volume */ + dp->dir[DIR_Name] = DDEM; /* Mark the entry 'deleted'. */ + } + fs->wflag = 1; + if (dp->dptr >= last) break; /* If reached last entry then all entries of the object has been deleted. */ + res = dir_next(dp, 0); /* Next entry */ + } while (res == FR_OK); + if (res == FR_NO_FILE) res = FR_INT_ERR; + } +#else /* Non LFN configuration */ + + res = move_window(fs, dp->sect); + if (res == FR_OK) { + dp->dir[DIR_Name] = DDEM; /* Mark the entry 'deleted'.*/ + fs->wflag = 1; + } +#endif + + return res; +} + +#endif /* !FF_FS_READONLY && FF_FS_MINIMIZE == 0 */ + + + +#if FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 +/*-----------------------------------------------------------------------*/ +/* Get file information from directory entry */ +/*-----------------------------------------------------------------------*/ + +static void get_fileinfo ( + DIR* dp, /* Pointer to the directory object */ + FILINFO* fno /* Pointer to the file information to be filled */ +) +{ + UINT si, di; +#if FF_USE_LFN + WCHAR wc, hs; + FATFS *fs = dp->obj.fs; +#else + TCHAR c; +#endif + + + fno->fname[0] = 0; /* Invaidate file info */ + if (dp->sect == 0) return; /* Exit if read pointer has reached end of directory */ + +#if FF_USE_LFN /* LFN configuration */ +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ + get_xfileinfo(fs->dirbuf, fno); + return; + } else +#endif + { /* On the FAT/FAT32 volume */ + if (dp->blk_ofs != 0xFFFFFFFF) { /* Get LFN if available */ + si = di = hs = 0; + while (fs->lfnbuf[si] != 0) { + wc = fs->lfnbuf[si++]; /* Get an LFN character (UTF-16) */ + if (hs == 0 && IsSurrogate(wc)) { /* Is it a surrogate? */ + hs = wc; continue; /* Get low surrogate */ + } + wc = put_utf((DWORD)hs << 16 | wc, &fno->fname[di], FF_LFN_BUF - di); /* Store it in UTF-16 or UTF-8 encoding */ + if (wc == 0) { di = 0; break; } /* Invalid char or buffer overflow? */ + di += wc; + hs = 0; + } + if (hs != 0) di = 0; /* Broken surrogate pair? */ + fno->fname[di] = 0; /* Terminate the LFN (null string means LFN is invalid) */ + } + } + + si = di = 0; + while (si < 11) { /* Get SFN from SFN entry */ + wc = dp->dir[si++]; /* Get a char */ + if (wc == ' ') continue; /* Skip padding spaces */ + if (wc == RDDEM) wc = DDEM; /* Restore replaced DDEM character */ + if (si == 9 && di < FF_SFN_BUF) fno->altname[di++] = '.'; /* Insert a . if extension is exist */ +#if FF_LFN_UNICODE >= 1 /* Unicode output */ + if (dbc_1st((BYTE)wc) && si != 8 && si != 11 && dbc_2nd(dp->dir[si])) { /* Make a DBC if needed */ + wc = wc << 8 | dp->dir[si++]; + } + wc = ff_oem2uni(wc, CODEPAGE); /* ANSI/OEM -> Unicode */ + if (wc == 0) { di = 0; break; } /* Wrong char in the current code page? */ + wc = put_utf(wc, &fno->altname[di], FF_SFN_BUF - di); /* Store it in Unicode */ + if (wc == 0) { di = 0; break; } /* Buffer overflow? */ + di += wc; +#else /* ANSI/OEM output */ + fno->altname[di++] = (TCHAR)wc; /* Store it without any conversion */ +#endif + } + fno->altname[di] = 0; /* Terminate the SFN (null string means SFN is invalid) */ + + if (fno->fname[0] == 0) { /* If LFN is invalid, altname[] needs to be copied to fname[] */ + if (di == 0) { /* If LFN and SFN both are invalid, this object is inaccesible */ + fno->fname[di++] = '?'; + } else { + for (si = di = 0; fno->altname[si]; si++, di++) { /* Copy altname[] to fname[] with case information */ + wc = (WCHAR)fno->altname[si]; + if (IsUpper(wc) && (dp->dir[DIR_NTres] & ((si >= 9) ? NS_EXT : NS_BODY))) wc += 0x20; + fno->fname[di] = (TCHAR)wc; + } + } + fno->fname[di] = 0; /* Terminate the LFN */ + if (!dp->dir[DIR_NTres]) fno->altname[0] = 0; /* Altname is not needed if neither LFN nor case info is exist. */ + } + +#else /* Non-LFN configuration */ + si = di = 0; + while (si < 11) { /* Copy name body and extension */ + c = (TCHAR)dp->dir[si++]; + if (c == ' ') continue; /* Skip padding spaces */ + if (c == RDDEM) c = DDEM; /* Restore replaced DDEM character */ + if (si == 9) fno->fname[di++] = '.';/* Insert a . if extension is exist */ + fno->fname[di++] = c; + } + fno->fname[di] = 0; +#endif + + fno->fattrib = dp->dir[DIR_Attr]; /* Attribute */ + fno->fsize = ld_dword(dp->dir + DIR_FileSize); /* Size */ + fno->ftime = ld_word(dp->dir + DIR_ModTime + 0); /* Time */ + fno->fdate = ld_word(dp->dir + DIR_ModTime + 2); /* Date */ +} + +#endif /* FF_FS_MINIMIZE <= 1 || FF_FS_RPATH >= 2 */ + + + +#if FF_USE_FIND && FF_FS_MINIMIZE <= 1 +/*-----------------------------------------------------------------------*/ +/* Pattern matching */ +/*-----------------------------------------------------------------------*/ + +static DWORD get_achar ( /* Get a character and advances ptr */ + const TCHAR** ptr /* Pointer to pointer to the ANSI/OEM or Unicode string */ +) +{ + DWORD chr; + + +#if FF_USE_LFN && FF_LFN_UNICODE >= 1 /* Unicode input */ + chr = tchar2uni(ptr); + if (chr == 0xFFFFFFFF) chr = 0; /* Wrong UTF encoding is recognized as end of the string */ + chr = ff_wtoupper(chr); + +#else /* ANSI/OEM input */ + chr = (BYTE)*(*ptr)++; /* Get a byte */ + if (IsLower(chr)) chr -= 0x20; /* To upper ASCII char */ +#if FF_CODE_PAGE == 0 + if (ExCvt && chr >= 0x80) chr = ExCvt[chr - 0x80]; /* To upper SBCS extended char */ +#elif FF_CODE_PAGE < 900 + if (chr >= 0x80) chr = ExCvt[chr - 0x80]; /* To upper SBCS extended char */ +#endif +#if FF_CODE_PAGE == 0 || FF_CODE_PAGE >= 900 + if (dbc_1st((BYTE)chr)) { /* Get DBC 2nd byte if needed */ + chr = dbc_2nd((BYTE)**ptr) ? chr << 8 | (BYTE)*(*ptr)++ : 0; + } +#endif + +#endif + return chr; +} + + +static int pattern_matching ( /* 0:not matched, 1:matched */ + const TCHAR* pat, /* Matching pattern */ + const TCHAR* nam, /* String to be tested */ + int skip, /* Number of pre-skip chars (number of ?s) */ + int inf /* Infinite search (* specified) */ +) +{ + const TCHAR *pp, *np; + DWORD pc, nc; + int nm, nx; + + + while (skip--) { /* Pre-skip name chars */ + if (!get_achar(&nam)) return 0; /* Branch mismatched if less name chars */ + } + if (*pat == 0 && inf) return 1; /* (short circuit) */ + + do { + pp = pat; np = nam; /* Top of pattern and name to match */ + for (;;) { + if (*pp == '?' || *pp == '*') { /* Wildcard? */ + nm = nx = 0; + do { /* Analyze the wildcard block */ + if (*pp++ == '?') nm++; else nx = 1; + } while (*pp == '?' || *pp == '*'); + if (pattern_matching(pp, np, nm, nx)) return 1; /* Test new branch (recurs upto number of wildcard blocks in the pattern) */ + nc = *np; break; /* Branch mismatched */ + } + pc = get_achar(&pp); /* Get a pattern char */ + nc = get_achar(&np); /* Get a name char */ + if (pc != nc) break; /* Branch mismatched? */ + if (pc == 0) return 1; /* Branch matched? (matched at end of both strings) */ + } + get_achar(&nam); /* nam++ */ + } while (inf && nc); /* Retry until end of name if infinite search is specified */ + + return 0; +} + +#endif /* FF_USE_FIND && FF_FS_MINIMIZE <= 1 */ + + + +/*-----------------------------------------------------------------------*/ +/* Pick a top segment and create the object name in directory form */ +/*-----------------------------------------------------------------------*/ + +static FRESULT create_name ( /* FR_OK: successful, FR_INVALID_NAME: could not create */ + DIR* dp, /* Pointer to the directory object */ + const TCHAR** path /* Pointer to pointer to the segment in the path string */ +) +{ +#if FF_USE_LFN /* LFN configuration */ + BYTE b, cf; + WCHAR wc, *lfn; + DWORD uc; + UINT i, ni, si, di; + const TCHAR *p; + + + /* Create LFN into LFN working buffer */ + p = *path; lfn = dp->obj.fs->lfnbuf; di = 0; + for (;;) { + uc = tchar2uni(&p); /* Get a character */ + if (uc == 0xFFFFFFFF) return FR_INVALID_NAME; /* Invalid code or UTF decode error */ + if (uc >= 0x10000) lfn[di++] = (WCHAR)(uc >> 16); /* Store high surrogate if needed */ + wc = (WCHAR)uc; + if (wc < ' ' || wc == '/' || wc == '\\') break; /* Break if end of the path or a separator is found */ + if (wc < 0x80 && chk_chr("\"*:<>\?|\x7F", wc)) return FR_INVALID_NAME; /* Reject illegal characters for LFN */ + if (di >= FF_MAX_LFN) return FR_INVALID_NAME; /* Reject too long name */ + lfn[di++] = wc; /* Store the Unicode character */ + } + while (*p == '/' || *p == '\\') p++; /* Skip duplicated separators if exist */ + *path = p; /* Return pointer to the next segment */ + cf = (wc < ' ') ? NS_LAST : 0; /* Set last segment flag if end of the path */ + +#if FF_FS_RPATH != 0 + if ((di == 1 && lfn[di - 1] == '.') || + (di == 2 && lfn[di - 1] == '.' && lfn[di - 2] == '.')) { /* Is this segment a dot name? */ + lfn[di] = 0; + for (i = 0; i < 11; i++) { /* Create dot name for SFN entry */ + dp->fn[i] = (i < di) ? '.' : ' '; + } + dp->fn[i] = cf | NS_DOT; /* This is a dot entry */ + return FR_OK; + } +#endif + while (di) { /* Snip off trailing spaces and dots if exist */ + wc = lfn[di - 1]; + if (wc != ' ' && wc != '.') break; + di--; + } + lfn[di] = 0; /* LFN is created into the working buffer */ + if (di == 0) return FR_INVALID_NAME; /* Reject null name */ + + /* Create SFN in directory form */ + for (si = 0; lfn[si] == ' '; si++) ; /* Remove leading spaces */ + if (si > 0 || lfn[si] == '.') cf |= NS_LOSS | NS_LFN; /* Is there any leading space or dot? */ + while (di > 0 && lfn[di - 1] != '.') di--; /* Find last dot (di<=si: no extension) */ + + mem_set(dp->fn, ' ', 11); + i = b = 0; ni = 8; + for (;;) { + wc = lfn[si++]; /* Get an LFN character */ + if (wc == 0) break; /* Break on end of the LFN */ + if (wc == ' ' || (wc == '.' && si != di)) { /* Remove embedded spaces and dots */ + cf |= NS_LOSS | NS_LFN; + continue; + } + + if (i >= ni || si == di) { /* End of field? */ + if (ni == 11) { /* Name extension overflow? */ + cf |= NS_LOSS | NS_LFN; + break; + } + if (si != di) cf |= NS_LOSS | NS_LFN; /* Name body overflow? */ + if (si > di) break; /* No name extension? */ + si = di; i = 8; ni = 11; b <<= 2; /* Enter name extension */ + continue; + } + + if (wc >= 0x80) { /* Is this a non-ASCII character? */ + cf |= NS_LFN; /* LFN entry needs to be created */ +#if FF_CODE_PAGE == 0 + if (ExCvt) { /* At SBCS */ + wc = ff_uni2oem(wc, CODEPAGE); /* Unicode ==> ANSI/OEM code */ + if (wc & 0x80) wc = ExCvt[wc & 0x7F]; /* Convert extended character to upper (SBCS) */ + } else { /* At DBCS */ + wc = ff_uni2oem(ff_wtoupper(wc), CODEPAGE); /* Unicode ==> Upper convert ==> ANSI/OEM code */ + } +#elif FF_CODE_PAGE < 900 /* SBCS cfg */ + wc = ff_uni2oem(wc, CODEPAGE); /* Unicode ==> ANSI/OEM code */ + if (wc & 0x80) wc = ExCvt[wc & 0x7F]; /* Convert extended character to upper (SBCS) */ +#else /* DBCS cfg */ + wc = ff_uni2oem(ff_wtoupper(wc), CODEPAGE); /* Unicode ==> Upper convert ==> ANSI/OEM code */ +#endif + } + + if (wc >= 0x100) { /* Is this a DBC? */ + if (i >= ni - 1) { /* Field overflow? */ + cf |= NS_LOSS | NS_LFN; + i = ni; continue; /* Next field */ + } + dp->fn[i++] = (BYTE)(wc >> 8); /* Put 1st byte */ + } else { /* SBC */ + if (wc == 0 || chk_chr("+,;=[]", wc)) { /* Replace illegal characters for SFN if needed */ + wc = '_'; cf |= NS_LOSS | NS_LFN;/* Lossy conversion */ + } else { + if (IsUpper(wc)) { /* ASCII upper case? */ + b |= 2; + } + if (IsLower(wc)) { /* ASCII lower case? */ + b |= 1; wc -= 0x20; + } + } + } + dp->fn[i++] = (BYTE)wc; + } + + if (dp->fn[0] == DDEM) dp->fn[0] = RDDEM; /* If the first character collides with DDEM, replace it with RDDEM */ + + if (ni == 8) b <<= 2; /* Shift capital flags if no extension */ + if ((b & 0x0C) == 0x0C || (b & 0x03) == 0x03) cf |= NS_LFN; /* LFN entry needs to be created if composite capitals */ + if (!(cf & NS_LFN)) { /* When LFN is in 8.3 format without extended character, NT flags are created */ + if (b & 0x01) cf |= NS_EXT; /* NT flag (Extension has small capital letters only) */ + if (b & 0x04) cf |= NS_BODY; /* NT flag (Body has small capital letters only) */ + } + + dp->fn[NSFLAG] = cf; /* SFN is created into dp->fn[] */ + + return FR_OK; + + +#else /* FF_USE_LFN : Non-LFN configuration */ + BYTE c, d, *sfn; + UINT ni, si, i; + const char *p; + + /* Create file name in directory form */ + p = *path; sfn = dp->fn; + mem_set(sfn, ' ', 11); + si = i = 0; ni = 8; +#if FF_FS_RPATH != 0 + if (p[si] == '.') { /* Is this a dot entry? */ + for (;;) { + c = (BYTE)p[si++]; + if (c != '.' || si >= 3) break; + sfn[i++] = c; + } + if (c != '/' && c != '\\' && c > ' ') return FR_INVALID_NAME; + *path = p + si; /* Return pointer to the next segment */ + sfn[NSFLAG] = (c <= ' ') ? NS_LAST | NS_DOT : NS_DOT; /* Set last segment flag if end of the path */ + return FR_OK; + } +#endif + for (;;) { + c = (BYTE)p[si++]; /* Get a byte */ + if (c <= ' ') break; /* Break if end of the path name */ + if (c == '/' || c == '\\') { /* Break if a separator is found */ + while (p[si] == '/' || p[si] == '\\') si++; /* Skip duplicated separator if exist */ + break; + } + if (c == '.' || i >= ni) { /* End of body or field overflow? */ + if (ni == 11 || c != '.') return FR_INVALID_NAME; /* Field overflow or invalid dot? */ + i = 8; ni = 11; /* Enter file extension field */ + continue; + } +#if FF_CODE_PAGE == 0 + if (ExCvt && c >= 0x80) { /* Is SBC extended character? */ + c = ExCvt[c & 0x7F]; /* To upper SBC extended character */ + } +#elif FF_CODE_PAGE < 900 + if (c >= 0x80) { /* Is SBC extended character? */ + c = ExCvt[c & 0x7F]; /* To upper SBC extended character */ + } +#endif + if (dbc_1st(c)) { /* Check if it is a DBC 1st byte */ + d = (BYTE)p[si++]; /* Get 2nd byte */ + if (!dbc_2nd(d) || i >= ni - 1) return FR_INVALID_NAME; /* Reject invalid DBC */ + sfn[i++] = c; + sfn[i++] = d; + } else { /* SBC */ + if (chk_chr("\"*+,:;<=>\?[]|\x7F", c)) return FR_INVALID_NAME; /* Reject illegal chrs for SFN */ + if (IsLower(c)) c -= 0x20; /* To upper */ + sfn[i++] = c; + } + } + *path = p + si; /* Return pointer to the next segment */ + if (i == 0) return FR_INVALID_NAME; /* Reject nul string */ + + if (sfn[0] == DDEM) sfn[0] = RDDEM; /* If the first character collides with DDEM, replace it with RDDEM */ + sfn[NSFLAG] = (c <= ' ') ? NS_LAST : 0; /* Set last segment flag if end of the path */ + + return FR_OK; +#endif /* FF_USE_LFN */ +} + + + + +/*-----------------------------------------------------------------------*/ +/* Follow a file path */ +/*-----------------------------------------------------------------------*/ + +static FRESULT follow_path ( /* FR_OK(0): successful, !=0: error code */ + DIR* dp, /* Directory object to return last directory and found object */ + const TCHAR* path /* Full-path string to find a file or directory */ +) +{ + FRESULT res; + BYTE ns; + FATFS *fs = dp->obj.fs; + + +#if FF_FS_RPATH != 0 + if (*path != '/' && *path != '\\') { /* Without heading separator */ + dp->obj.sclust = fs->cdir; /* Start from current directory */ + } else +#endif + { /* With heading separator */ + while (*path == '/' || *path == '\\') path++; /* Strip heading separator */ + dp->obj.sclust = 0; /* Start from root directory */ + } +#if FF_FS_EXFAT + dp->obj.n_frag = 0; /* Invalidate last fragment counter of the object */ +#if FF_FS_RPATH != 0 + if (fs->fs_type == FS_EXFAT && dp->obj.sclust) { /* exFAT: Retrieve the sub-directory's status */ + DIR dj; + + dp->obj.c_scl = fs->cdc_scl; + dp->obj.c_size = fs->cdc_size; + dp->obj.c_ofs = fs->cdc_ofs; + res = load_obj_xdir(&dj, &dp->obj); + if (res != FR_OK) return res; + dp->obj.objsize = ld_dword(fs->dirbuf + XDIR_FileSize); + dp->obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; + } +#endif +#endif + + if ((UINT)*path < ' ') { /* Null path name is the origin directory itself */ + dp->fn[NSFLAG] = NS_NONAME; + res = dir_sdi(dp, 0); + + } else { /* Follow path */ + for (;;) { + res = create_name(dp, &path); /* Get a segment name of the path */ + if (res != FR_OK) break; + res = dir_find(dp); /* Find an object with the segment name */ + ns = dp->fn[NSFLAG]; + if (res != FR_OK) { /* Failed to find the object */ + if (res == FR_NO_FILE) { /* Object is not found */ + if (FF_FS_RPATH && (ns & NS_DOT)) { /* If dot entry is not exist, stay there */ + if (!(ns & NS_LAST)) continue; /* Continue to follow if not last segment */ + dp->fn[NSFLAG] = NS_NONAME; + res = FR_OK; + } else { /* Could not find the object */ + if (!(ns & NS_LAST)) res = FR_NO_PATH; /* Adjust error code if not last segment */ + } + } + break; + } + if (ns & NS_LAST) break; /* Last segment matched. Function completed. */ + /* Get into the sub-directory */ + if (!(dp->obj.attr & AM_DIR)) { /* It is not a sub-directory and cannot follow */ + res = FR_NO_PATH; break; + } +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { /* Save containing directory information for next dir */ + dp->obj.c_scl = dp->obj.sclust; + dp->obj.c_size = ((DWORD)dp->obj.objsize & 0xFFFFFF00) | dp->obj.stat; + dp->obj.c_ofs = dp->blk_ofs; + init_alloc_info(fs, &dp->obj); /* Open next directory */ + } else +#endif + { + dp->obj.sclust = ld_clust(fs, fs->win + dp->dptr % SS(fs)); /* Open next directory */ + } + } + } + + return res; +} + + + + +/*-----------------------------------------------------------------------*/ +/* Get logical drive number from path name */ +/*-----------------------------------------------------------------------*/ + +static int get_ldnumber ( /* Returns logical drive number (-1:invalid drive number or null pointer) */ + const TCHAR** path /* Pointer to pointer to the path name */ +) +{ + const TCHAR *tp, *tt; + TCHAR tc; + int i, vol = -1; +#if FF_STR_VOLUME_ID /* Find string volume ID */ + const char *sp; + char c; +#endif + + tt = tp = *path; + if (!tp) return vol; /* Invalid path name? */ + do tc = *tt++; while ((UINT)tc >= (FF_USE_LFN ? ' ' : '!') && tc != ':'); /* Find a colon in the path */ + + if (tc == ':') { /* DOS/Windows style volume ID? */ + i = FF_VOLUMES; + if (IsDigit(*tp) && tp + 2 == tt) { /* Is there a numeric volume ID + colon? */ + i = (int)*tp - '0'; /* Get the LD number */ + } +#if FF_STR_VOLUME_ID == 1 /* Arbitrary string is enabled */ + else { + i = 0; + do { + sp = VolumeStr[i]; tp = *path; /* This string volume ID and path name */ + do { /* Compare the volume ID with path name */ + c = *sp++; tc = *tp++; + if (IsLower(c)) c -= 0x20; + if (IsLower(tc)) tc -= 0x20; + } while (c && (TCHAR)c == tc); + } while ((c || tp != tt) && ++i < FF_VOLUMES); /* Repeat for each id until pattern match */ + } +#endif + if (i < FF_VOLUMES) { /* If a volume ID is found, get the drive number and strip it */ + vol = i; /* Drive number */ + *path = tt; /* Snip the drive prefix off */ + } + return vol; + } +#if FF_STR_VOLUME_ID == 2 /* Unix style volume ID is enabled */ + if (*tp == '/') { + i = 0; + do { + sp = VolumeStr[i]; tp = *path; /* This string volume ID and path name */ + do { /* Compare the volume ID with path name */ + c = *sp++; tc = *(++tp); + if (IsLower(c)) c -= 0x20; + if (IsLower(tc)) tc -= 0x20; + } while (c && (TCHAR)c == tc); + } while ((c || (tc != '/' && (UINT)tc >= (FF_USE_LFN ? ' ' : '!'))) && ++i < FF_VOLUMES); /* Repeat for each ID until pattern match */ + if (i < FF_VOLUMES) { /* If a volume ID is found, get the drive number and strip it */ + vol = i; /* Drive number */ + *path = tp; /* Snip the drive prefix off */ + return vol; + } + } +#endif + /* No drive prefix is found */ +#if FF_FS_RPATH != 0 + vol = CurrVol; /* Default drive is current drive */ +#else + vol = 0; /* Default drive is 0 */ +#endif + return vol; /* Return the default drive */ +} + + + + +/*-----------------------------------------------------------------------*/ +/* Load a sector and check if it is an FAT VBR */ +/*-----------------------------------------------------------------------*/ + +static BYTE check_fs ( /* 0:FAT, 1:exFAT, 2:Valid BS but not FAT, 3:Not a BS, 4:Disk error */ + FATFS* fs, /* Filesystem object */ + DWORD sect /* Sector# (lba) to load and check if it is an FAT-VBR or not */ +) +{ + fs->wflag = 0; fs->winsect = 0xFFFFFFFF; /* Invaidate window */ + if (move_window(fs, sect) != FR_OK) return 4; /* Load boot record */ + + if (ld_word(fs->win + BS_55AA) != 0xAA55) return 3; /* Check boot record signature (always here regardless of the sector size) */ + +#if FF_FS_EXFAT + if (!mem_cmp(fs->win + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11)) return 1; /* Check if exFAT VBR */ +#endif + if (fs->win[BS_JmpBoot] == 0xE9 || fs->win[BS_JmpBoot] == 0xEB || fs->win[BS_JmpBoot] == 0xE8) { /* Valid JumpBoot code? */ + if (!mem_cmp(fs->win + BS_FilSysType, "FAT", 3)) return 0; /* Is it an FAT VBR? */ + if (!mem_cmp(fs->win + BS_FilSysType32, "FAT32", 5)) return 0; /* Is it an FAT32 VBR? */ + } + return 2; /* Valid BS but not FAT */ +} + + + + +/*-----------------------------------------------------------------------*/ +/* Determine logical drive number and mount the volume if needed */ +/*-----------------------------------------------------------------------*/ + +static FRESULT find_volume ( /* FR_OK(0): successful, !=0: an error occurred */ + const TCHAR** path, /* Pointer to pointer to the path name (drive number) */ + FATFS** rfs, /* Pointer to pointer to the found filesystem object */ + BYTE mode /* !=0: Check write protection for write access */ +) +{ + BYTE fmt, *pt; + int vol; + DSTATUS stat; + DWORD bsect, fasize, tsect, sysect, nclst, szbfat, br[4]; + WORD nrsv; + FATFS *fs; + UINT i; + + + /* Get logical drive number */ + *rfs = 0; + vol = get_ldnumber(path); + if (vol < 0) return FR_INVALID_DRIVE; + + /* Check if the filesystem object is valid or not */ + fs = FatFs[vol]; /* Get pointer to the filesystem object */ + if (!fs) return FR_NOT_ENABLED; /* Is the filesystem object available? */ +#if FF_FS_REENTRANT + if (!lock_fs(fs)) return FR_TIMEOUT; /* Lock the volume */ +#endif + *rfs = fs; /* Return pointer to the filesystem object */ + + mode &= (BYTE)~FA_READ; /* Desired access mode, write access or not */ + if (fs->fs_type != 0) { /* If the volume has been mounted */ + stat = disk_status(fs->pdrv); + if (!(stat & STA_NOINIT)) { /* and the physical drive is kept initialized */ + if (!FF_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check write protection if needed */ + return FR_WRITE_PROTECTED; + } + return FR_OK; /* The filesystem object is valid */ + } + } + + /* The filesystem object is not valid. */ + /* Following code attempts to mount the volume. (analyze BPB and initialize the filesystem object) */ + + fs->fs_type = 0; /* Clear the filesystem object */ + fs->pdrv = LD2PD(vol); /* Bind the logical drive and a physical drive */ + stat = disk_initialize(fs->pdrv); /* Initialize the physical drive */ + if (stat & STA_NOINIT) { /* Check if the initialization succeeded */ + return FR_NOT_READY; /* Failed to initialize due to no medium or hard error */ + } + if (!FF_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check disk write protection if needed */ + return FR_WRITE_PROTECTED; + } +#if FF_MAX_SS != FF_MIN_SS /* Get sector size (multiple sector size cfg only) */ + if (disk_ioctl(fs->pdrv, GET_SECTOR_SIZE, &SS(fs)) != RES_OK) return FR_DISK_ERR; + if (SS(fs) > FF_MAX_SS || SS(fs) < FF_MIN_SS || (SS(fs) & (SS(fs) - 1))) return FR_DISK_ERR; +#endif + + /* Find an FAT partition on the drive. Supports only generic partitioning rules, FDISK (MBR) and SFD (w/o partition). */ + bsect = 0; + fmt = check_fs(fs, bsect); /* Load sector 0 and check if it is an FAT-VBR as SFD */ + if (fmt == 2 || (fmt < 2 && LD2PT(vol) != 0)) { /* Not an FAT-VBR or forced partition number */ + for (i = 0; i < 4; i++) { /* Get partition offset */ + pt = fs->win + (MBR_Table + i * SZ_PTE); + br[i] = pt[PTE_System] ? ld_dword(pt + PTE_StLba) : 0; + } + i = LD2PT(vol); /* Partition number: 0:auto, 1-4:forced */ + if (i != 0) i--; + do { /* Find an FAT volume */ + bsect = br[i]; + fmt = bsect ? check_fs(fs, bsect) : 3; /* Check the partition */ + } while (LD2PT(vol) == 0 && fmt >= 2 && ++i < 4); + } + if (fmt == 4) return FR_DISK_ERR; /* An error occured in the disk I/O layer */ + if (fmt >= 2) return FR_NO_FILESYSTEM; /* No FAT volume is found */ + + /* An FAT volume is found (bsect). Following code initializes the filesystem object */ + +#if FF_FS_EXFAT + if (fmt == 1) { + QWORD maxlba; + DWORD so, cv, bcl; + + for (i = BPB_ZeroedEx; i < BPB_ZeroedEx + 53 && fs->win[i] == 0; i++) ; /* Check zero filler */ + if (i < BPB_ZeroedEx + 53) return FR_NO_FILESYSTEM; + + if (ld_word(fs->win + BPB_FSVerEx) != 0x100) return FR_NO_FILESYSTEM; /* Check exFAT version (must be version 1.0) */ + + if (1 << fs->win[BPB_BytsPerSecEx] != SS(fs)) { /* (BPB_BytsPerSecEx must be equal to the physical sector size) */ + return FR_NO_FILESYSTEM; + } + + maxlba = ld_qword(fs->win + BPB_TotSecEx) + bsect; /* Last LBA + 1 of the volume */ + if (maxlba >= 0x100000000) return FR_NO_FILESYSTEM; /* (It cannot be handled in 32-bit LBA) */ + + fs->fsize = ld_dword(fs->win + BPB_FatSzEx); /* Number of sectors per FAT */ + + fs->n_fats = fs->win[BPB_NumFATsEx]; /* Number of FATs */ + if (fs->n_fats != 1) return FR_NO_FILESYSTEM; /* (Supports only 1 FAT) */ + + fs->csize = 1 << fs->win[BPB_SecPerClusEx]; /* Cluster size */ + if (fs->csize == 0) return FR_NO_FILESYSTEM; /* (Must be 1..32768) */ + + nclst = ld_dword(fs->win + BPB_NumClusEx); /* Number of clusters */ + if (nclst > MAX_EXFAT) return FR_NO_FILESYSTEM; /* (Too many clusters) */ + fs->n_fatent = nclst + 2; + + /* Boundaries and Limits */ + fs->volbase = bsect; + fs->database = bsect + ld_dword(fs->win + BPB_DataOfsEx); + fs->fatbase = bsect + ld_dword(fs->win + BPB_FatOfsEx); + if (maxlba < (QWORD)fs->database + nclst * fs->csize) return FR_NO_FILESYSTEM; /* (Volume size must not be smaller than the size requiered) */ + fs->dirbase = ld_dword(fs->win + BPB_RootClusEx); + + /* Get bitmap location and check if it is contiguous (implementation assumption) */ + so = i = 0; + for (;;) { /* Find the bitmap entry in the root directory (in only first cluster) */ + if (i == 0) { + if (so >= fs->csize) return FR_NO_FILESYSTEM; /* Not found? */ + if (move_window(fs, clst2sect(fs, fs->dirbase) + so) != FR_OK) return FR_DISK_ERR; + so++; + } + if (fs->win[i] == ET_BITMAP) break; /* Is it a bitmap entry? */ + i = (i + SZDIRE) % SS(fs); /* Next entry */ + } + bcl = ld_dword(fs->win + i + 20); /* Bitmap cluster */ + if (bcl < 2 || bcl >= fs->n_fatent) return FR_NO_FILESYSTEM; + fs->bitbase = fs->database + fs->csize * (bcl - 2); /* Bitmap sector */ + for (;;) { /* Check if bitmap is contiguous */ + if (move_window(fs, fs->fatbase + bcl / (SS(fs) / 4)) != FR_OK) return FR_DISK_ERR; + cv = ld_dword(fs->win + bcl % (SS(fs) / 4) * 4); + if (cv == 0xFFFFFFFF) break; /* Last link? */ + if (cv != ++bcl) return FR_NO_FILESYSTEM; /* Fragmented? */ + } + +#if !FF_FS_READONLY + fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ +#endif + fmt = FS_EXFAT; /* FAT sub-type */ + } else +#endif /* FF_FS_EXFAT */ + { + if (ld_word(fs->win + BPB_BytsPerSec) != SS(fs)) return FR_NO_FILESYSTEM; /* (BPB_BytsPerSec must be equal to the physical sector size) */ + + fasize = ld_word(fs->win + BPB_FATSz16); /* Number of sectors per FAT */ + if (fasize == 0) fasize = ld_dword(fs->win + BPB_FATSz32); + fs->fsize = fasize; + + fs->n_fats = fs->win[BPB_NumFATs]; /* Number of FATs */ + if (fs->n_fats != 1 && fs->n_fats != 2) return FR_NO_FILESYSTEM; /* (Must be 1 or 2) */ + fasize *= fs->n_fats; /* Number of sectors for FAT area */ + + fs->csize = fs->win[BPB_SecPerClus]; /* Cluster size */ + if (fs->csize == 0 || (fs->csize & (fs->csize - 1))) return FR_NO_FILESYSTEM; /* (Must be power of 2) */ + + fs->n_rootdir = ld_word(fs->win + BPB_RootEntCnt); /* Number of root directory entries */ + if (fs->n_rootdir % (SS(fs) / SZDIRE)) return FR_NO_FILESYSTEM; /* (Must be sector aligned) */ + + tsect = ld_word(fs->win + BPB_TotSec16); /* Number of sectors on the volume */ + if (tsect == 0) tsect = ld_dword(fs->win + BPB_TotSec32); + + nrsv = ld_word(fs->win + BPB_RsvdSecCnt); /* Number of reserved sectors */ + if (nrsv == 0) return FR_NO_FILESYSTEM; /* (Must not be 0) */ + + /* Determine the FAT sub type */ + sysect = nrsv + fasize + fs->n_rootdir / (SS(fs) / SZDIRE); /* RSV + FAT + DIR */ + if (tsect < sysect) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ + nclst = (tsect - sysect) / fs->csize; /* Number of clusters */ + if (nclst == 0) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ + fmt = 0; + if (nclst <= MAX_FAT32) fmt = FS_FAT32; + if (nclst <= MAX_FAT16) fmt = FS_FAT16; + if (nclst <= MAX_FAT12) fmt = FS_FAT12; + if (fmt == 0) return FR_NO_FILESYSTEM; + + /* Boundaries and Limits */ + fs->n_fatent = nclst + 2; /* Number of FAT entries */ + fs->volbase = bsect; /* Volume start sector */ + fs->fatbase = bsect + nrsv; /* FAT start sector */ + fs->database = bsect + sysect; /* Data start sector */ + if (fmt == FS_FAT32) { + if (ld_word(fs->win + BPB_FSVer32) != 0) return FR_NO_FILESYSTEM; /* (Must be FAT32 revision 0.0) */ + if (fs->n_rootdir != 0) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must be 0) */ + fs->dirbase = ld_dword(fs->win + BPB_RootClus32); /* Root directory start cluster */ + szbfat = fs->n_fatent * 4; /* (Needed FAT size) */ + } else { + if (fs->n_rootdir == 0) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must not be 0) */ + fs->dirbase = fs->fatbase + fasize; /* Root directory start sector */ + szbfat = (fmt == FS_FAT16) ? /* (Needed FAT size) */ + fs->n_fatent * 2 : fs->n_fatent * 3 / 2 + (fs->n_fatent & 1); + } + if (fs->fsize < (szbfat + (SS(fs) - 1)) / SS(fs)) return FR_NO_FILESYSTEM; /* (BPB_FATSz must not be less than the size needed) */ + +#if !FF_FS_READONLY + /* Get FSInfo if available */ + fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ + fs->fsi_flag = 0x80; +#if (FF_FS_NOFSINFO & 3) != 3 + if (fmt == FS_FAT32 /* Allow to update FSInfo only if BPB_FSInfo32 == 1 */ + && ld_word(fs->win + BPB_FSInfo32) == 1 + && move_window(fs, bsect + 1) == FR_OK) + { + fs->fsi_flag = 0; + if (ld_word(fs->win + BS_55AA) == 0xAA55 /* Load FSInfo data if available */ + && ld_dword(fs->win + FSI_LeadSig) == 0x41615252 + && ld_dword(fs->win + FSI_StrucSig) == 0x61417272) + { +#if (FF_FS_NOFSINFO & 1) == 0 + fs->free_clst = ld_dword(fs->win + FSI_Free_Count); +#endif +#if (FF_FS_NOFSINFO & 2) == 0 + fs->last_clst = ld_dword(fs->win + FSI_Nxt_Free); +#endif + } + } +#endif /* (FF_FS_NOFSINFO & 3) != 3 */ +#endif /* !FF_FS_READONLY */ + } + + fs->fs_type = fmt; /* FAT sub-type */ + fs->id = ++Fsid; /* Volume mount ID */ +#if FF_USE_LFN == 1 + fs->lfnbuf = LfnBuf; /* Static LFN working buffer */ +#if FF_FS_EXFAT + fs->dirbuf = DirBuf; /* Static directory block scratchpad buuffer */ +#endif +#endif +#if FF_FS_RPATH != 0 + fs->cdir = 0; /* Initialize current directory */ +#endif +#if FF_FS_LOCK != 0 /* Clear file lock semaphores */ + clear_lock(fs); +#endif + return FR_OK; +} + + + + +/*-----------------------------------------------------------------------*/ +/* Check if the file/directory object is valid or not */ +/*-----------------------------------------------------------------------*/ + +static FRESULT validate ( /* Returns FR_OK or FR_INVALID_OBJECT */ + FFOBJID* obj, /* Pointer to the FFOBJID, the 1st member in the FIL/DIR object, to check validity */ + FATFS** rfs /* Pointer to pointer to the owner filesystem object to return */ +) +{ + FRESULT res = FR_INVALID_OBJECT; + + + if (obj && obj->fs && obj->fs->fs_type && obj->id == obj->fs->id) { /* Test if the object is valid */ +#if FF_FS_REENTRANT + if (lock_fs(obj->fs)) { /* Obtain the filesystem object */ + if (!(disk_status(obj->fs->pdrv) & STA_NOINIT)) { /* Test if the phsical drive is kept initialized */ + res = FR_OK; + } else { + unlock_fs(obj->fs, FR_OK); + } + } else { + res = FR_TIMEOUT; + } +#else + if (!(disk_status(obj->fs->pdrv) & STA_NOINIT)) { /* Test if the phsical drive is kept initialized */ + res = FR_OK; + } +#endif + } + *rfs = (res == FR_OK) ? obj->fs : 0; /* Corresponding filesystem object */ + return res; +} + + + + +/*--------------------------------------------------------------------------- + + Public Functions (FatFs API) + +----------------------------------------------------------------------------*/ + + + +/*-----------------------------------------------------------------------*/ +/* Mount/Unmount a Logical Drive */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_mount ( + FATFS* fs, /* Pointer to the filesystem object (NULL:unmount)*/ + const TCHAR* path, /* Logical drive number to be mounted/unmounted */ + BYTE opt /* Mode option 0:Do not mount (delayed mount), 1:Mount immediately */ +) +{ + FATFS *cfs; + int vol; + FRESULT res; + const TCHAR *rp = path; + + + /* Get logical drive number */ + vol = get_ldnumber(&rp); + if (vol < 0) return FR_INVALID_DRIVE; + cfs = FatFs[vol]; /* Pointer to fs object */ + + if (cfs) { +#if FF_FS_LOCK != 0 + clear_lock(cfs); +#endif +#if FF_FS_REENTRANT /* Discard sync object of the current volume */ + if (!ff_del_syncobj(cfs->sobj)) return FR_INT_ERR; +#endif + cfs->fs_type = 0; /* Clear old fs object */ + } + + if (fs) { + fs->fs_type = 0; /* Clear new fs object */ +#if FF_FS_REENTRANT /* Create sync object for the new volume */ + if (!ff_cre_syncobj((BYTE)vol, &fs->sobj)) return FR_INT_ERR; +#endif + } + FatFs[vol] = fs; /* Register new fs object */ + + if (opt == 0) return FR_OK; /* Do not mount now, it will be mounted later */ + + res = find_volume(&path, &fs, 0); /* Force mounted the volume */ + LEAVE_FF(fs, res); +} + + + + +/*-----------------------------------------------------------------------*/ +/* Open or Create a File */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_open ( + FIL* fp, /* Pointer to the blank file object */ + const TCHAR* path, /* Pointer to the file name */ + BYTE mode /* Access mode and file open mode flags */ +) +{ + FRESULT res; + DIR dj; + FATFS *fs; +#if !FF_FS_READONLY + DWORD dw, cl, bcs, clst, sc; + FSIZE_t ofs; +#endif + DEF_NAMBUF + + + if (!fp) return FR_INVALID_OBJECT; + + /* Get logical drive number */ + mode &= FF_FS_READONLY ? FA_READ : FA_READ | FA_WRITE | FA_CREATE_ALWAYS | FA_CREATE_NEW | FA_OPEN_ALWAYS | FA_OPEN_APPEND; + res = find_volume(&path, &fs, mode); + if (res == FR_OK) { + dj.obj.fs = fs; + INIT_NAMBUF(fs); + res = follow_path(&dj, path); /* Follow the file path */ +#if !FF_FS_READONLY /* Read/Write configuration */ + if (res == FR_OK) { + if (dj.fn[NSFLAG] & NS_NONAME) { /* Origin directory itself? */ + res = FR_INVALID_NAME; + } +#if FF_FS_LOCK != 0 + else { + res = chk_lock(&dj, (mode & ~FA_READ) ? 1 : 0); /* Check if the file can be used */ + } +#endif + } + /* Create or Open a file */ + if (mode & (FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_CREATE_NEW)) { + if (res != FR_OK) { /* No file, create new */ + if (res == FR_NO_FILE) { /* There is no file to open, create a new entry */ +#if FF_FS_LOCK != 0 + res = enq_lock() ? dir_register(&dj) : FR_TOO_MANY_OPEN_FILES; +#else + res = dir_register(&dj); +#endif + } + mode |= FA_CREATE_ALWAYS; /* File is created */ + } + else { /* Any object with the same name is already existing */ + if (dj.obj.attr & (AM_RDO | AM_DIR)) { /* Cannot overwrite it (R/O or DIR) */ + res = FR_DENIED; + } else { + if (mode & FA_CREATE_NEW) res = FR_EXIST; /* Cannot create as new file */ + } + } + if (res == FR_OK && (mode & FA_CREATE_ALWAYS)) { /* Truncate the file if overwrite mode */ +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + /* Get current allocation info */ + fp->obj.fs = fs; + init_alloc_info(fs, &fp->obj); + /* Set directory entry block initial state */ + mem_set(fs->dirbuf + 2, 0, 30); /* Clear 85 entry except for NumSec */ + mem_set(fs->dirbuf + 38, 0, 26); /* Clear C0 entry except for NumName and NameHash */ + fs->dirbuf[XDIR_Attr] = AM_ARC; + st_dword(fs->dirbuf + XDIR_CrtTime, GET_FATTIME()); + fs->dirbuf[XDIR_GenFlags] = 1; + res = store_xdir(&dj); + if (res == FR_OK && fp->obj.sclust != 0) { /* Remove the cluster chain if exist */ + res = remove_chain(&fp->obj, fp->obj.sclust, 0); + fs->last_clst = fp->obj.sclust - 1; /* Reuse the cluster hole */ + } + } else +#endif + { + /* Set directory entry initial state */ + cl = ld_clust(fs, dj.dir); /* Get current cluster chain */ + st_dword(dj.dir + DIR_CrtTime, GET_FATTIME()); /* Set created time */ + dj.dir[DIR_Attr] = AM_ARC; /* Reset attribute */ + st_clust(fs, dj.dir, 0); /* Reset file allocation info */ + st_dword(dj.dir + DIR_FileSize, 0); + fs->wflag = 1; + if (cl != 0) { /* Remove the cluster chain if exist */ + dw = fs->winsect; + res = remove_chain(&dj.obj, cl, 0); + if (res == FR_OK) { + res = move_window(fs, dw); + fs->last_clst = cl - 1; /* Reuse the cluster hole */ + } + } + } + } + } + else { /* Open an existing file */ + if (res == FR_OK) { /* Is the object exsiting? */ + if (dj.obj.attr & AM_DIR) { /* File open against a directory */ + res = FR_NO_FILE; + } else { + if ((mode & FA_WRITE) && (dj.obj.attr & AM_RDO)) { /* Write mode open against R/O file */ + res = FR_DENIED; + } + } + } + } + if (res == FR_OK) { + if (mode & FA_CREATE_ALWAYS) mode |= FA_MODIFIED; /* Set file change flag if created or overwritten */ + fp->dir_sect = fs->winsect; /* Pointer to the directory entry */ + fp->dir_ptr = dj.dir; +#if FF_FS_LOCK != 0 + fp->obj.lockid = inc_lock(&dj, (mode & ~FA_READ) ? 1 : 0); /* Lock the file for this session */ + if (fp->obj.lockid == 0) res = FR_INT_ERR; +#endif + } +#else /* R/O configuration */ + if (res == FR_OK) { + if (dj.fn[NSFLAG] & NS_NONAME) { /* Is it origin directory itself? */ + res = FR_INVALID_NAME; + } else { + if (dj.obj.attr & AM_DIR) { /* Is it a directory? */ + res = FR_NO_FILE; + } + } + } +#endif + + if (res == FR_OK) { +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + fp->obj.c_scl = dj.obj.sclust; /* Get containing directory info */ + fp->obj.c_size = ((DWORD)dj.obj.objsize & 0xFFFFFF00) | dj.obj.stat; + fp->obj.c_ofs = dj.blk_ofs; + init_alloc_info(fs, &fp->obj); + } else +#endif + { + fp->obj.sclust = ld_clust(fs, dj.dir); /* Get object allocation info */ + fp->obj.objsize = ld_dword(dj.dir + DIR_FileSize); + } +#if FF_USE_FASTSEEK + fp->cltbl = 0; /* Disable fast seek mode */ +#endif + fp->obj.fs = fs; /* Validate the file object */ + fp->obj.id = fs->id; + fp->flag = mode; /* Set file access mode */ + fp->err = 0; /* Clear error flag */ + fp->sect = 0; /* Invalidate current data sector */ + fp->fptr = 0; /* Set file pointer top of the file */ +#if !FF_FS_READONLY +#if !FF_FS_TINY + mem_set(fp->buf, 0, sizeof fp->buf); /* Clear sector buffer */ +#endif + if ((mode & FA_SEEKEND) && fp->obj.objsize > 0) { /* Seek to end of file if FA_OPEN_APPEND is specified */ + fp->fptr = fp->obj.objsize; /* Offset to seek */ + bcs = (DWORD)fs->csize * SS(fs); /* Cluster size in byte */ + clst = fp->obj.sclust; /* Follow the cluster chain */ + for (ofs = fp->obj.objsize; res == FR_OK && ofs > bcs; ofs -= bcs) { + clst = get_fat(&fp->obj, clst); + if (clst <= 1) res = FR_INT_ERR; + if (clst == 0xFFFFFFFF) res = FR_DISK_ERR; + } + fp->clust = clst; + if (res == FR_OK && ofs % SS(fs)) { /* Fill sector buffer if not on the sector boundary */ + if ((sc = clst2sect(fs, clst)) == 0) { + res = FR_INT_ERR; + } else { + fp->sect = sc + (DWORD)(ofs / SS(fs)); +#if !FF_FS_TINY + if (disk_read(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) res = FR_DISK_ERR; +#endif + } + } + } +#endif + } + + FREE_NAMBUF(); + } + + if (res != FR_OK) fp->obj.fs = 0; /* Invalidate file object on error */ + + LEAVE_FF(fs, res); +} + + + + +/*-----------------------------------------------------------------------*/ +/* Read File */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_read ( + FIL* fp, /* Pointer to the file object */ + void* buff, /* Pointer to data buffer */ + UINT btr, /* Number of bytes to read */ + UINT* br /* Pointer to number of bytes read */ +) +{ + FRESULT res; + FATFS *fs; + DWORD clst, sect; + FSIZE_t remain; + UINT rcnt, cc, csect; + BYTE *rbuff = (BYTE*)buff; + + + *br = 0; /* Clear read byte counter */ + res = validate(&fp->obj, &fs); /* Check validity of the file object */ + if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ + if (!(fp->flag & FA_READ)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ + remain = fp->obj.objsize - fp->fptr; + if (btr > remain) btr = (UINT)remain; /* Truncate btr by remaining bytes */ + + for ( ; btr; /* Repeat until btr bytes read */ + btr -= rcnt, *br += rcnt, rbuff += rcnt, fp->fptr += rcnt) { + if (fp->fptr % SS(fs) == 0) { /* On the sector boundary? */ + csect = (UINT)(fp->fptr / SS(fs) & (fs->csize - 1)); /* Sector offset in the cluster */ + if (csect == 0) { /* On the cluster boundary? */ + if (fp->fptr == 0) { /* On the top of the file? */ + clst = fp->obj.sclust; /* Follow cluster chain from the origin */ + } else { /* Middle or end of the file */ +#if FF_USE_FASTSEEK + if (fp->cltbl) { + clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ + } else +#endif + { + clst = get_fat(&fp->obj, fp->clust); /* Follow cluster chain on the FAT */ + } + } + if (clst < 2) ABORT(fs, FR_INT_ERR); + if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); + fp->clust = clst; /* Update current cluster */ + } + sect = clst2sect(fs, fp->clust); /* Get current sector */ + if (sect == 0) ABORT(fs, FR_INT_ERR); + sect += csect; + cc = btr / SS(fs); /* When remaining bytes >= sector size, */ + if (cc > 0) { /* Read maximum contiguous sectors directly */ + if (csect + cc > fs->csize) { /* Clip at cluster boundary */ + cc = fs->csize - csect; + } + if (disk_read(fs->pdrv, rbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); +#if !FF_FS_READONLY && FF_FS_MINIMIZE <= 2 /* Replace one of the read sectors with cached data if it contains a dirty sector */ +#if FF_FS_TINY + if (fs->wflag && fs->winsect - sect < cc) { + mem_cpy(rbuff + ((fs->winsect - sect) * SS(fs)), fs->win, SS(fs)); + } +#else + if ((fp->flag & FA_DIRTY) && fp->sect - sect < cc) { + mem_cpy(rbuff + ((fp->sect - sect) * SS(fs)), fp->buf, SS(fs)); + } +#endif +#endif + rcnt = SS(fs) * cc; /* Number of bytes transferred */ + continue; + } +#if !FF_FS_TINY + if (fp->sect != sect) { /* Load data sector if not in cache */ +#if !FF_FS_READONLY + if (fp->flag & FA_DIRTY) { /* Write-back dirty sector cache */ + if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); + fp->flag &= (BYTE)~FA_DIRTY; + } +#endif + if (disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Fill sector cache */ + } +#endif + fp->sect = sect; + } + rcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes left in the sector */ + if (rcnt > btr) rcnt = btr; /* Clip it by btr if needed */ +#if FF_FS_TINY + if (move_window(fs, fp->sect) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Move sector window */ + mem_cpy(rbuff, fs->win + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ +#else + mem_cpy(rbuff, fp->buf + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ +#endif + } + + LEAVE_FF(fs, FR_OK); +} + + + + +#if !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* Write File */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_write ( + FIL* fp, /* Pointer to the file object */ + const void* buff, /* Pointer to the data to be written */ + UINT btw, /* Number of bytes to write */ + UINT* bw /* Pointer to number of bytes written */ +) +{ + FRESULT res; + FATFS *fs; + DWORD clst, sect; + UINT wcnt, cc, csect; + const BYTE *wbuff = (const BYTE*)buff; + + + *bw = 0; /* Clear write byte counter */ + res = validate(&fp->obj, &fs); /* Check validity of the file object */ + if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ + if (!(fp->flag & FA_WRITE)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ + + /* Check fptr wrap-around (file size cannot reach 4 GiB at FAT volume) */ + if ((!FF_FS_EXFAT || fs->fs_type != FS_EXFAT) && (DWORD)(fp->fptr + btw) < (DWORD)fp->fptr) { + btw = (UINT)(0xFFFFFFFF - (DWORD)fp->fptr); + } + + for ( ; btw; /* Repeat until all data written */ + btw -= wcnt, *bw += wcnt, wbuff += wcnt, fp->fptr += wcnt, fp->obj.objsize = (fp->fptr > fp->obj.objsize) ? fp->fptr : fp->obj.objsize) { + if (fp->fptr % SS(fs) == 0) { /* On the sector boundary? */ + csect = (UINT)(fp->fptr / SS(fs)) & (fs->csize - 1); /* Sector offset in the cluster */ + if (csect == 0) { /* On the cluster boundary? */ + if (fp->fptr == 0) { /* On the top of the file? */ + clst = fp->obj.sclust; /* Follow from the origin */ + if (clst == 0) { /* If no cluster is allocated, */ + clst = create_chain(&fp->obj, 0); /* create a new cluster chain */ + } + } else { /* On the middle or end of the file */ +#if FF_USE_FASTSEEK + if (fp->cltbl) { + clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ + } else +#endif + { + clst = create_chain(&fp->obj, fp->clust); /* Follow or stretch cluster chain on the FAT */ + } + } + if (clst == 0) break; /* Could not allocate a new cluster (disk full) */ + if (clst == 1) ABORT(fs, FR_INT_ERR); + if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); + fp->clust = clst; /* Update current cluster */ + if (fp->obj.sclust == 0) fp->obj.sclust = clst; /* Set start cluster if the first write */ + } +#if FF_FS_TINY + if (fs->winsect == fp->sect && sync_window(fs) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Write-back sector cache */ +#else + if (fp->flag & FA_DIRTY) { /* Write-back sector cache */ + if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); + fp->flag &= (BYTE)~FA_DIRTY; + } +#endif + sect = clst2sect(fs, fp->clust); /* Get current sector */ + if (sect == 0) ABORT(fs, FR_INT_ERR); + sect += csect; + cc = btw / SS(fs); /* When remaining bytes >= sector size, */ + if (cc > 0) { /* Write maximum contiguous sectors directly */ + if (csect + cc > fs->csize) { /* Clip at cluster boundary */ + cc = fs->csize - csect; + } + if (disk_write(fs->pdrv, wbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); +#if FF_FS_MINIMIZE <= 2 +#if FF_FS_TINY + if (fs->winsect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */ + mem_cpy(fs->win, wbuff + ((fs->winsect - sect) * SS(fs)), SS(fs)); + fs->wflag = 0; + } +#else + if (fp->sect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */ + mem_cpy(fp->buf, wbuff + ((fp->sect - sect) * SS(fs)), SS(fs)); + fp->flag &= (BYTE)~FA_DIRTY; + } +#endif +#endif + wcnt = SS(fs) * cc; /* Number of bytes transferred */ + continue; + } +#if FF_FS_TINY + if (fp->fptr >= fp->obj.objsize) { /* Avoid silly cache filling on the growing edge */ + if (sync_window(fs) != FR_OK) ABORT(fs, FR_DISK_ERR); + fs->winsect = sect; + } +#else + if (fp->sect != sect && /* Fill sector cache with file data */ + fp->fptr < fp->obj.objsize && + disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) { + ABORT(fs, FR_DISK_ERR); + } +#endif + fp->sect = sect; + } + wcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes left in the sector */ + if (wcnt > btw) wcnt = btw; /* Clip it by btw if needed */ +#if FF_FS_TINY + if (move_window(fs, fp->sect) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Move sector window */ + mem_cpy(fs->win + fp->fptr % SS(fs), wbuff, wcnt); /* Fit data to the sector */ + fs->wflag = 1; +#else + mem_cpy(fp->buf + fp->fptr % SS(fs), wbuff, wcnt); /* Fit data to the sector */ + fp->flag |= FA_DIRTY; +#endif + } + + fp->flag |= FA_MODIFIED; /* Set file change flag */ + + LEAVE_FF(fs, FR_OK); +} + + + + +/*-----------------------------------------------------------------------*/ +/* Synchronize the File */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_sync ( + FIL* fp /* Pointer to the file object */ +) +{ + FRESULT res; + FATFS *fs; + DWORD tm; + BYTE *dir; + + + res = validate(&fp->obj, &fs); /* Check validity of the file object */ + if (res == FR_OK) { + if (fp->flag & FA_MODIFIED) { /* Is there any change to the file? */ +#if !FF_FS_TINY + if (fp->flag & FA_DIRTY) { /* Write-back cached data if needed */ + if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) LEAVE_FF(fs, FR_DISK_ERR); + fp->flag &= (BYTE)~FA_DIRTY; + } +#endif + /* Update the directory entry */ + tm = GET_FATTIME(); /* Modified time */ +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + res = fill_first_frag(&fp->obj); /* Fill first fragment on the FAT if needed */ + if (res == FR_OK) { + res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ + } + if (res == FR_OK) { + DIR dj; + DEF_NAMBUF + + INIT_NAMBUF(fs); + res = load_obj_xdir(&dj, &fp->obj); /* Load directory entry block */ + if (res == FR_OK) { + fs->dirbuf[XDIR_Attr] |= AM_ARC; /* Set archive attribute to indicate that the file has been changed */ + fs->dirbuf[XDIR_GenFlags] = fp->obj.stat | 1; /* Update file allocation information */ + st_dword(fs->dirbuf + XDIR_FstClus, fp->obj.sclust); + st_qword(fs->dirbuf + XDIR_FileSize, fp->obj.objsize); + st_qword(fs->dirbuf + XDIR_ValidFileSize, fp->obj.objsize); + st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Update modified time */ + fs->dirbuf[XDIR_ModTime10] = 0; + st_dword(fs->dirbuf + XDIR_AccTime, 0); + res = store_xdir(&dj); /* Restore it to the directory */ + if (res == FR_OK) { + res = sync_fs(fs); + fp->flag &= (BYTE)~FA_MODIFIED; + } + } + FREE_NAMBUF(); + } + } else +#endif + { + res = move_window(fs, fp->dir_sect); + if (res == FR_OK) { + dir = fp->dir_ptr; + dir[DIR_Attr] |= AM_ARC; /* Set archive attribute to indicate that the file has been changed */ + st_clust(fp->obj.fs, dir, fp->obj.sclust); /* Update file allocation information */ + st_dword(dir + DIR_FileSize, (DWORD)fp->obj.objsize); /* Update file size */ + st_dword(dir + DIR_ModTime, tm); /* Update modified time */ + st_word(dir + DIR_LstAccDate, 0); + fs->wflag = 1; + res = sync_fs(fs); /* Restore it to the directory */ + fp->flag &= (BYTE)~FA_MODIFIED; + } + } + } + } + + LEAVE_FF(fs, res); +} + +#endif /* !FF_FS_READONLY */ + + + + +/*-----------------------------------------------------------------------*/ +/* Close File */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_close ( + FIL* fp /* Pointer to the file object to be closed */ +) +{ + FRESULT res; + FATFS *fs; + +#if !FF_FS_READONLY + res = f_sync(fp); /* Flush cached data */ + if (res == FR_OK) +#endif + { + res = validate(&fp->obj, &fs); /* Lock volume */ + if (res == FR_OK) { +#if FF_FS_LOCK != 0 + res = dec_lock(fp->obj.lockid); /* Decrement file open counter */ + if (res == FR_OK) fp->obj.fs = 0; /* Invalidate file object */ +#else + fp->obj.fs = 0; /* Invalidate file object */ +#endif +#if FF_FS_REENTRANT + unlock_fs(fs, FR_OK); /* Unlock volume */ +#endif + } + } + return res; +} + + + + +#if FF_FS_RPATH >= 1 +/*-----------------------------------------------------------------------*/ +/* Change Current Directory or Current Drive, Get Current Directory */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_chdrive ( + const TCHAR* path /* Drive number to set */ +) +{ + int vol; + + + /* Get logical drive number */ + vol = get_ldnumber(&path); + if (vol < 0) return FR_INVALID_DRIVE; + CurrVol = (BYTE)vol; /* Set it as current volume */ + + return FR_OK; +} + + + +FRESULT f_chdir ( + const TCHAR* path /* Pointer to the directory path */ +) +{ +#if FF_STR_VOLUME_ID == 2 + UINT i; +#endif + FRESULT res; + DIR dj; + FATFS *fs; + DEF_NAMBUF + + + /* Get logical drive */ + res = find_volume(&path, &fs, 0); + if (res == FR_OK) { + dj.obj.fs = fs; + INIT_NAMBUF(fs); + res = follow_path(&dj, path); /* Follow the path */ + if (res == FR_OK) { /* Follow completed */ + if (dj.fn[NSFLAG] & NS_NONAME) { /* Is it the start directory itself? */ + fs->cdir = dj.obj.sclust; +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + fs->cdc_scl = dj.obj.c_scl; + fs->cdc_size = dj.obj.c_size; + fs->cdc_ofs = dj.obj.c_ofs; + } +#endif + } else { + if (dj.obj.attr & AM_DIR) { /* It is a sub-directory */ +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + fs->cdir = ld_dword(fs->dirbuf + XDIR_FstClus); /* Sub-directory cluster */ + fs->cdc_scl = dj.obj.sclust; /* Save containing directory information */ + fs->cdc_size = ((DWORD)dj.obj.objsize & 0xFFFFFF00) | dj.obj.stat; + fs->cdc_ofs = dj.blk_ofs; + } else +#endif + { + fs->cdir = ld_clust(fs, dj.dir); /* Sub-directory cluster */ + } + } else { + res = FR_NO_PATH; /* Reached but a file */ + } + } + } + FREE_NAMBUF(); + if (res == FR_NO_FILE) res = FR_NO_PATH; +#if FF_STR_VOLUME_ID == 2 /* Also current drive is changed at Unix style volume ID */ + if (res == FR_OK) { + for (i = FF_VOLUMES - 1; i && fs != FatFs[i]; i--) ; /* Set current drive */ + CurrVol = (BYTE)i; + } +#endif + } + + LEAVE_FF(fs, res); +} + + +#if FF_FS_RPATH >= 2 +FRESULT f_getcwd ( + TCHAR* buff, /* Pointer to the directory path */ + UINT len /* Size of buff in unit of TCHAR */ +) +{ + FRESULT res; + DIR dj; + FATFS *fs; + UINT i, n; + DWORD ccl; + TCHAR *tp = buff; +#if FF_VOLUMES >= 2 + UINT vl; +#endif +#if FF_STR_VOLUME_ID + const char *vp; +#endif + FILINFO fno; + DEF_NAMBUF + + + /* Get logical drive */ + buff[0] = 0; /* Set null string to get current volume */ + res = find_volume((const TCHAR**)&buff, &fs, 0); /* Get current volume */ + if (res == FR_OK) { + dj.obj.fs = fs; + INIT_NAMBUF(fs); + + /* Follow parent directories and create the path */ + i = len; /* Bottom of buffer (directory stack base) */ + if (!FF_FS_EXFAT || fs->fs_type != FS_EXFAT) { /* (Cannot do getcwd on exFAT and returns root path) */ + dj.obj.sclust = fs->cdir; /* Start to follow upper directory from current directory */ + while ((ccl = dj.obj.sclust) != 0) { /* Repeat while current directory is a sub-directory */ + res = dir_sdi(&dj, 1 * SZDIRE); /* Get parent directory */ + if (res != FR_OK) break; + res = move_window(fs, dj.sect); + if (res != FR_OK) break; + dj.obj.sclust = ld_clust(fs, dj.dir); /* Goto parent directory */ + res = dir_sdi(&dj, 0); + if (res != FR_OK) break; + do { /* Find the entry links to the child directory */ + res = DIR_READ_FILE(&dj); + if (res != FR_OK) break; + if (ccl == ld_clust(fs, dj.dir)) break; /* Found the entry */ + res = dir_next(&dj, 0); + } while (res == FR_OK); + if (res == FR_NO_FILE) res = FR_INT_ERR;/* It cannot be 'not found'. */ + if (res != FR_OK) break; + get_fileinfo(&dj, &fno); /* Get the directory name and push it to the buffer */ + for (n = 0; fno.fname[n]; n++) ; /* Name length */ + if (i < n + 1) { /* Insufficient space to store the path name? */ + res = FR_NOT_ENOUGH_CORE; break; + } + while (n) buff[--i] = fno.fname[--n]; /* Stack the name */ + buff[--i] = '/'; + } + } + if (res == FR_OK) { + if (i == len) buff[--i] = '/'; /* Is it the root-directory? */ +#if FF_VOLUMES >= 2 /* Put drive prefix */ + vl = 0; +#if FF_STR_VOLUME_ID >= 1 /* String volume ID */ + for (n = 0, vp = (const char*)VolumeStr[CurrVol]; vp[n]; n++) ; + if (i >= n + 2) { + if (FF_STR_VOLUME_ID == 2) *tp++ = (TCHAR)'/'; + for (vl = 0; vl < n; *tp++ = (TCHAR)vp[vl], vl++) ; + if (FF_STR_VOLUME_ID == 1) *tp++ = (TCHAR)':'; + vl++; + } +#else /* Numeric volume ID */ + if (i >= 3) { + *tp++ = (TCHAR)'0' + CurrVol; + *tp++ = (TCHAR)':'; + vl = 2; + } +#endif + if (vl == 0) res = FR_NOT_ENOUGH_CORE; +#endif + /* Add current directory path */ + if (res == FR_OK) { + do *tp++ = buff[i++]; while (i < len); /* Copy stacked path string */ + } + } + FREE_NAMBUF(); + } + + *tp = 0; + LEAVE_FF(fs, res); +} + +#endif /* FF_FS_RPATH >= 2 */ +#endif /* FF_FS_RPATH >= 1 */ + + + +#if FF_FS_MINIMIZE <= 2 +/*-----------------------------------------------------------------------*/ +/* Seek File Read/Write Pointer */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_lseek ( + FIL* fp, /* Pointer to the file object */ + FSIZE_t ofs /* File pointer from top of file */ +) +{ + FRESULT res; + FATFS *fs; + DWORD clst, bcs, nsect; + FSIZE_t ifptr; +#if FF_USE_FASTSEEK + DWORD cl, pcl, ncl, tcl, dsc, tlen, ulen, *tbl; +#endif + + res = validate(&fp->obj, &fs); /* Check validity of the file object */ + if (res == FR_OK) res = (FRESULT)fp->err; +#if FF_FS_EXFAT && !FF_FS_READONLY + if (res == FR_OK && fs->fs_type == FS_EXFAT) { + res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ + } +#endif + if (res != FR_OK) LEAVE_FF(fs, res); + +#if FF_USE_FASTSEEK + if (fp->cltbl) { /* Fast seek */ + if (ofs == CREATE_LINKMAP) { /* Create CLMT */ + tbl = fp->cltbl; + tlen = *tbl++; ulen = 2; /* Given table size and required table size */ + cl = fp->obj.sclust; /* Origin of the chain */ + if (cl != 0) { + do { + /* Get a fragment */ + tcl = cl; ncl = 0; ulen += 2; /* Top, length and used items */ + do { + pcl = cl; ncl++; + cl = get_fat(&fp->obj, cl); + if (cl <= 1) ABORT(fs, FR_INT_ERR); + if (cl == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); + } while (cl == pcl + 1); + if (ulen <= tlen) { /* Store the length and top of the fragment */ + *tbl++ = ncl; *tbl++ = tcl; + } + } while (cl < fs->n_fatent); /* Repeat until end of chain */ + } + *fp->cltbl = ulen; /* Number of items used */ + if (ulen <= tlen) { + *tbl = 0; /* Terminate table */ + } else { + res = FR_NOT_ENOUGH_CORE; /* Given table size is smaller than required */ + } + } else { /* Fast seek */ + if (ofs > fp->obj.objsize) ofs = fp->obj.objsize; /* Clip offset at the file size */ + fp->fptr = ofs; /* Set file pointer */ + if (ofs > 0) { + fp->clust = clmt_clust(fp, ofs - 1); + dsc = clst2sect(fs, fp->clust); + if (dsc == 0) ABORT(fs, FR_INT_ERR); + dsc += (DWORD)((ofs - 1) / SS(fs)) & (fs->csize - 1); + if (fp->fptr % SS(fs) && dsc != fp->sect) { /* Refill sector cache if needed */ +#if !FF_FS_TINY +#if !FF_FS_READONLY + if (fp->flag & FA_DIRTY) { /* Write-back dirty sector cache */ + if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); + fp->flag &= (BYTE)~FA_DIRTY; + } +#endif + if (disk_read(fs->pdrv, fp->buf, dsc, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Load current sector */ +#endif + fp->sect = dsc; + } + } + } + } else +#endif + + /* Normal Seek */ + { +#if FF_FS_EXFAT + if (fs->fs_type != FS_EXFAT && ofs >= 0x100000000) ofs = 0xFFFFFFFF; /* Clip at 4 GiB - 1 if at FATxx */ +#endif + if (ofs > fp->obj.objsize && (FF_FS_READONLY || !(fp->flag & FA_WRITE))) { /* In read-only mode, clip offset with the file size */ + ofs = fp->obj.objsize; + } + ifptr = fp->fptr; + fp->fptr = nsect = 0; + if (ofs > 0) { + bcs = (DWORD)fs->csize * SS(fs); /* Cluster size (byte) */ + if (ifptr > 0 && + (ofs - 1) / bcs >= (ifptr - 1) / bcs) { /* When seek to same or following cluster, */ + fp->fptr = (ifptr - 1) & ~(FSIZE_t)(bcs - 1); /* start from the current cluster */ + ofs -= fp->fptr; + clst = fp->clust; + } else { /* When seek to back cluster, */ + clst = fp->obj.sclust; /* start from the first cluster */ +#if !FF_FS_READONLY + if (clst == 0) { /* If no cluster chain, create a new chain */ + clst = create_chain(&fp->obj, 0); + if (clst == 1) ABORT(fs, FR_INT_ERR); + if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); + fp->obj.sclust = clst; + } +#endif + fp->clust = clst; + } + if (clst != 0) { + while (ofs > bcs) { /* Cluster following loop */ + ofs -= bcs; fp->fptr += bcs; +#if !FF_FS_READONLY + if (fp->flag & FA_WRITE) { /* Check if in write mode or not */ + if (FF_FS_EXFAT && fp->fptr > fp->obj.objsize) { /* No FAT chain object needs correct objsize to generate FAT value */ + fp->obj.objsize = fp->fptr; + fp->flag |= FA_MODIFIED; + } + clst = create_chain(&fp->obj, clst); /* Follow chain with forceed stretch */ + if (clst == 0) { /* Clip file size in case of disk full */ + ofs = 0; break; + } + } else +#endif + { + clst = get_fat(&fp->obj, clst); /* Follow cluster chain if not in write mode */ + } + if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); + if (clst <= 1 || clst >= fs->n_fatent) ABORT(fs, FR_INT_ERR); + fp->clust = clst; + } + fp->fptr += ofs; + if (ofs % SS(fs)) { + nsect = clst2sect(fs, clst); /* Current sector */ + if (nsect == 0) ABORT(fs, FR_INT_ERR); + nsect += (DWORD)(ofs / SS(fs)); + } + } + } + if (!FF_FS_READONLY && fp->fptr > fp->obj.objsize) { /* Set file change flag if the file size is extended */ + fp->obj.objsize = fp->fptr; + fp->flag |= FA_MODIFIED; + } + if (fp->fptr % SS(fs) && nsect != fp->sect) { /* Fill sector cache if needed */ +#if !FF_FS_TINY +#if !FF_FS_READONLY + if (fp->flag & FA_DIRTY) { /* Write-back dirty sector cache */ + if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); + fp->flag &= (BYTE)~FA_DIRTY; + } +#endif + if (disk_read(fs->pdrv, fp->buf, nsect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Fill sector cache */ +#endif + fp->sect = nsect; + } + } + + LEAVE_FF(fs, res); +} + + + +#if FF_FS_MINIMIZE <= 1 +/*-----------------------------------------------------------------------*/ +/* Create a Directory Object */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_opendir ( + DIR* dp, /* Pointer to directory object to create */ + const TCHAR* path /* Pointer to the directory path */ +) +{ + FRESULT res; + FATFS *fs; + DEF_NAMBUF + + + if (!dp) return FR_INVALID_OBJECT; + + /* Get logical drive */ + res = find_volume(&path, &fs, 0); + if (res == FR_OK) { + dp->obj.fs = fs; + INIT_NAMBUF(fs); + res = follow_path(dp, path); /* Follow the path to the directory */ + if (res == FR_OK) { /* Follow completed */ + if (!(dp->fn[NSFLAG] & NS_NONAME)) { /* It is not the origin directory itself */ + if (dp->obj.attr & AM_DIR) { /* This object is a sub-directory */ +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + dp->obj.c_scl = dp->obj.sclust; /* Get containing directory inforamation */ + dp->obj.c_size = ((DWORD)dp->obj.objsize & 0xFFFFFF00) | dp->obj.stat; + dp->obj.c_ofs = dp->blk_ofs; + init_alloc_info(fs, &dp->obj); /* Get object allocation info */ + } else +#endif + { + dp->obj.sclust = ld_clust(fs, dp->dir); /* Get object allocation info */ + } + } else { /* This object is a file */ + res = FR_NO_PATH; + } + } + if (res == FR_OK) { + dp->obj.id = fs->id; + res = dir_sdi(dp, 0); /* Rewind directory */ +#if FF_FS_LOCK != 0 + if (res == FR_OK) { + if (dp->obj.sclust != 0) { + dp->obj.lockid = inc_lock(dp, 0); /* Lock the sub directory */ + if (!dp->obj.lockid) res = FR_TOO_MANY_OPEN_FILES; + } else { + dp->obj.lockid = 0; /* Root directory need not to be locked */ + } + } +#endif + } + } + FREE_NAMBUF(); + if (res == FR_NO_FILE) res = FR_NO_PATH; + } + if (res != FR_OK) dp->obj.fs = 0; /* Invalidate the directory object if function faild */ + + LEAVE_FF(fs, res); +} + + + + +/*-----------------------------------------------------------------------*/ +/* Close Directory */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_closedir ( + DIR *dp /* Pointer to the directory object to be closed */ +) +{ + FRESULT res; + FATFS *fs; + + + res = validate(&dp->obj, &fs); /* Check validity of the file object */ + if (res == FR_OK) { +#if FF_FS_LOCK != 0 + if (dp->obj.lockid) res = dec_lock(dp->obj.lockid); /* Decrement sub-directory open counter */ + if (res == FR_OK) dp->obj.fs = 0; /* Invalidate directory object */ +#else + dp->obj.fs = 0; /* Invalidate directory object */ +#endif +#if FF_FS_REENTRANT + unlock_fs(fs, FR_OK); /* Unlock volume */ +#endif + } + return res; +} + + + + +/*-----------------------------------------------------------------------*/ +/* Read Directory Entries in Sequence */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_readdir ( + DIR* dp, /* Pointer to the open directory object */ + FILINFO* fno /* Pointer to file information to return */ +) +{ + FRESULT res; + FATFS *fs; + DEF_NAMBUF + + + res = validate(&dp->obj, &fs); /* Check validity of the directory object */ + if (res == FR_OK) { + if (!fno) { + res = dir_sdi(dp, 0); /* Rewind the directory object */ + } else { + INIT_NAMBUF(fs); + res = DIR_READ_FILE(dp); /* Read an item */ + if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory */ + if (res == FR_OK) { /* A valid entry is found */ + get_fileinfo(dp, fno); /* Get the object information */ + res = dir_next(dp, 0); /* Increment index for next */ + if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory now */ + } + FREE_NAMBUF(); + } + } + LEAVE_FF(fs, res); +} + + + +#if FF_USE_FIND +/*-----------------------------------------------------------------------*/ +/* Find Next File */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_findnext ( + DIR* dp, /* Pointer to the open directory object */ + FILINFO* fno /* Pointer to the file information structure */ +) +{ + FRESULT res; + + + for (;;) { + res = f_readdir(dp, fno); /* Get a directory item */ + if (res != FR_OK || !fno || !fno->fname[0]) break; /* Terminate if any error or end of directory */ + if (pattern_matching(dp->pat, fno->fname, 0, 0)) break; /* Test for the file name */ +#if FF_USE_LFN && FF_USE_FIND == 2 + if (pattern_matching(dp->pat, fno->altname, 0, 0)) break; /* Test for alternative name if exist */ +#endif + } + return res; +} + + + +/*-----------------------------------------------------------------------*/ +/* Find First File */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_findfirst ( + DIR* dp, /* Pointer to the blank directory object */ + FILINFO* fno, /* Pointer to the file information structure */ + const TCHAR* path, /* Pointer to the directory to open */ + const TCHAR* pattern /* Pointer to the matching pattern */ +) +{ + FRESULT res; + + + dp->pat = pattern; /* Save pointer to pattern string */ + res = f_opendir(dp, path); /* Open the target directory */ + if (res == FR_OK) { + res = f_findnext(dp, fno); /* Find the first item */ + } + return res; +} + +#endif /* FF_USE_FIND */ + + + +#if FF_FS_MINIMIZE == 0 +/*-----------------------------------------------------------------------*/ +/* Get File Status */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_stat ( + const TCHAR* path, /* Pointer to the file path */ + FILINFO* fno /* Pointer to file information to return */ +) +{ + FRESULT res; + DIR dj; + DEF_NAMBUF + + + /* Get logical drive */ + res = find_volume(&path, &dj.obj.fs, 0); + if (res == FR_OK) { + INIT_NAMBUF(dj.obj.fs); + res = follow_path(&dj, path); /* Follow the file path */ + if (res == FR_OK) { /* Follow completed */ + if (dj.fn[NSFLAG] & NS_NONAME) { /* It is origin directory */ + res = FR_INVALID_NAME; + } else { /* Found an object */ + if (fno) get_fileinfo(&dj, fno); + } + } + FREE_NAMBUF(); + } + + LEAVE_FF(dj.obj.fs, res); +} + + + +#if !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* Get Number of Free Clusters */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_getfree ( + const TCHAR* path, /* Logical drive number */ + DWORD* nclst, /* Pointer to a variable to return number of free clusters */ + FATFS** fatfs /* Pointer to return pointer to corresponding filesystem object */ +) +{ + FRESULT res; + FATFS *fs; + DWORD nfree, clst, sect, stat; + UINT i; + FFOBJID obj; + + + /* Get logical drive */ + res = find_volume(&path, &fs, 0); + if (res == FR_OK) { + *fatfs = fs; /* Return ptr to the fs object */ + /* If free_clst is valid, return it without full FAT scan */ + if (fs->free_clst <= fs->n_fatent - 2) { + *nclst = fs->free_clst; + } else { + /* Scan FAT to obtain number of free clusters */ + nfree = 0; + if (fs->fs_type == FS_FAT12) { /* FAT12: Scan bit field FAT entries */ + clst = 2; obj.fs = fs; + do { + stat = get_fat(&obj, clst); + if (stat == 0xFFFFFFFF) { res = FR_DISK_ERR; break; } + if (stat == 1) { res = FR_INT_ERR; break; } + if (stat == 0) nfree++; + } while (++clst < fs->n_fatent); + } else { +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { /* exFAT: Scan allocation bitmap */ + BYTE bm; + UINT b; + + clst = fs->n_fatent - 2; /* Number of clusters */ + sect = fs->bitbase; /* Bitmap sector */ + i = 0; /* Offset in the sector */ + do { /* Counts numbuer of bits with zero in the bitmap */ + if (i == 0) { + res = move_window(fs, sect++); + if (res != FR_OK) break; + } + for (b = 8, bm = fs->win[i]; b && clst; b--, clst--) { + if (!(bm & 1)) nfree++; + bm >>= 1; + } + i = (i + 1) % SS(fs); + } while (clst); + } else +#endif + { /* FAT16/32: Scan WORD/DWORD FAT entries */ + clst = fs->n_fatent; /* Number of entries */ + sect = fs->fatbase; /* Top of the FAT */ + i = 0; /* Offset in the sector */ + do { /* Counts numbuer of entries with zero in the FAT */ + if (i == 0) { + res = move_window(fs, sect++); + if (res != FR_OK) break; + } + if (fs->fs_type == FS_FAT16) { + if (ld_word(fs->win + i) == 0) nfree++; + i += 2; + } else { + if ((ld_dword(fs->win + i) & 0x0FFFFFFF) == 0) nfree++; + i += 4; + } + i %= SS(fs); + } while (--clst); + } + } + *nclst = nfree; /* Return the free clusters */ + fs->free_clst = nfree; /* Now free_clst is valid */ + fs->fsi_flag |= 1; /* FAT32: FSInfo is to be updated */ + } + } + + LEAVE_FF(fs, res); +} + + + + +/*-----------------------------------------------------------------------*/ +/* Truncate File */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_truncate ( + FIL* fp /* Pointer to the file object */ +) +{ + FRESULT res; + FATFS *fs; + DWORD ncl; + + + res = validate(&fp->obj, &fs); /* Check validity of the file object */ + if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); + if (!(fp->flag & FA_WRITE)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ + + if (fp->fptr < fp->obj.objsize) { /* Process when fptr is not on the eof */ + if (fp->fptr == 0) { /* When set file size to zero, remove entire cluster chain */ + res = remove_chain(&fp->obj, fp->obj.sclust, 0); + fp->obj.sclust = 0; + } else { /* When truncate a part of the file, remove remaining clusters */ + ncl = get_fat(&fp->obj, fp->clust); + res = FR_OK; + if (ncl == 0xFFFFFFFF) res = FR_DISK_ERR; + if (ncl == 1) res = FR_INT_ERR; + if (res == FR_OK && ncl < fs->n_fatent) { + res = remove_chain(&fp->obj, ncl, fp->clust); + } + } + fp->obj.objsize = fp->fptr; /* Set file size to current read/write point */ + fp->flag |= FA_MODIFIED; +#if !FF_FS_TINY + if (res == FR_OK && (fp->flag & FA_DIRTY)) { + if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) { + res = FR_DISK_ERR; + } else { + fp->flag &= (BYTE)~FA_DIRTY; + } + } +#endif + if (res != FR_OK) ABORT(fs, res); + } + + LEAVE_FF(fs, res); +} + + + + +/*-----------------------------------------------------------------------*/ +/* Delete a File/Directory */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_unlink ( + const TCHAR* path /* Pointer to the file or directory path */ +) +{ + FRESULT res; + DIR dj, sdj; + DWORD dclst = 0; + FATFS *fs; +#if FF_FS_EXFAT + FFOBJID obj; +#endif + DEF_NAMBUF + + + /* Get logical drive */ + res = find_volume(&path, &fs, FA_WRITE); + if (res == FR_OK) { + dj.obj.fs = fs; + INIT_NAMBUF(fs); + res = follow_path(&dj, path); /* Follow the file path */ + if (FF_FS_RPATH && res == FR_OK && (dj.fn[NSFLAG] & NS_DOT)) { + res = FR_INVALID_NAME; /* Cannot remove dot entry */ + } +#if FF_FS_LOCK != 0 + if (res == FR_OK) res = chk_lock(&dj, 2); /* Check if it is an open object */ +#endif + if (res == FR_OK) { /* The object is accessible */ + if (dj.fn[NSFLAG] & NS_NONAME) { + res = FR_INVALID_NAME; /* Cannot remove the origin directory */ + } else { + if (dj.obj.attr & AM_RDO) { + res = FR_DENIED; /* Cannot remove R/O object */ + } + } + if (res == FR_OK) { +#if FF_FS_EXFAT + obj.fs = fs; + if (fs->fs_type == FS_EXFAT) { + init_alloc_info(fs, &obj); + dclst = obj.sclust; + } else +#endif + { + dclst = ld_clust(fs, dj.dir); + } + if (dj.obj.attr & AM_DIR) { /* Is it a sub-directory? */ +#if FF_FS_RPATH != 0 + if (dclst == fs->cdir) { /* Is it the current directory? */ + res = FR_DENIED; + } else +#endif + { + sdj.obj.fs = fs; /* Open the sub-directory */ + sdj.obj.sclust = dclst; +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + sdj.obj.objsize = obj.objsize; + sdj.obj.stat = obj.stat; + } +#endif + res = dir_sdi(&sdj, 0); + if (res == FR_OK) { + res = DIR_READ_FILE(&sdj); /* Test if the directory is empty */ + if (res == FR_OK) res = FR_DENIED; /* Not empty? */ + if (res == FR_NO_FILE) res = FR_OK; /* Empty? */ + } + } + } + } + if (res == FR_OK) { + res = dir_remove(&dj); /* Remove the directory entry */ + if (res == FR_OK && dclst != 0) { /* Remove the cluster chain if exist */ +#if FF_FS_EXFAT + res = remove_chain(&obj, dclst, 0); +#else + res = remove_chain(&dj.obj, dclst, 0); +#endif + } + if (res == FR_OK) res = sync_fs(fs); + } + } + FREE_NAMBUF(); + } + + LEAVE_FF(fs, res); +} + + + + +/*-----------------------------------------------------------------------*/ +/* Create a Directory */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_mkdir ( + const TCHAR* path /* Pointer to the directory path */ +) +{ + FRESULT res; + DIR dj; + FFOBJID sobj; + FATFS *fs; + DWORD dcl, pcl, tm; + DEF_NAMBUF + + + res = find_volume(&path, &fs, FA_WRITE); /* Get logical drive */ + if (res == FR_OK) { + dj.obj.fs = fs; + INIT_NAMBUF(fs); + res = follow_path(&dj, path); /* Follow the file path */ + if (res == FR_OK) res = FR_EXIST; /* Name collision? */ + if (FF_FS_RPATH && res == FR_NO_FILE && (dj.fn[NSFLAG] & NS_DOT)) { /* Invalid name? */ + res = FR_INVALID_NAME; + } + if (res == FR_NO_FILE) { /* It is clear to create a new directory */ + sobj.fs = fs; /* New object id to create a new chain */ + dcl = create_chain(&sobj, 0); /* Allocate a cluster for the new directory */ + res = FR_OK; + if (dcl == 0) res = FR_DENIED; /* No space to allocate a new cluster? */ + if (dcl == 1) res = FR_INT_ERR; /* Any insanity? */ + if (dcl == 0xFFFFFFFF) res = FR_DISK_ERR; /* Disk error? */ + tm = GET_FATTIME(); + if (res == FR_OK) { + res = dir_clear(fs, dcl); /* Clean up the new table */ + if (res == FR_OK) { + if (!FF_FS_EXFAT || fs->fs_type != FS_EXFAT) { /* Create dot entries (FAT only) */ + mem_set(fs->win + DIR_Name, ' ', 11); /* Create "." entry */ + fs->win[DIR_Name] = '.'; + fs->win[DIR_Attr] = AM_DIR; + st_dword(fs->win + DIR_ModTime, tm); + st_clust(fs, fs->win, dcl); + mem_cpy(fs->win + SZDIRE, fs->win, SZDIRE); /* Create ".." entry */ + fs->win[SZDIRE + 1] = '.'; pcl = dj.obj.sclust; + st_clust(fs, fs->win + SZDIRE, pcl); + fs->wflag = 1; + } + res = dir_register(&dj); /* Register the object to the parent directoy */ + } + } + if (res == FR_OK) { +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { /* Initialize directory entry block */ + st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Created time */ + st_dword(fs->dirbuf + XDIR_FstClus, dcl); /* Table start cluster */ + st_dword(fs->dirbuf + XDIR_FileSize, (DWORD)fs->csize * SS(fs)); /* File size needs to be valid */ + st_dword(fs->dirbuf + XDIR_ValidFileSize, (DWORD)fs->csize * SS(fs)); + fs->dirbuf[XDIR_GenFlags] = 3; /* Initialize the object flag */ + fs->dirbuf[XDIR_Attr] = AM_DIR; /* Attribute */ + res = store_xdir(&dj); + } else +#endif + { + st_dword(dj.dir + DIR_ModTime, tm); /* Created time */ + st_clust(fs, dj.dir, dcl); /* Table start cluster */ + dj.dir[DIR_Attr] = AM_DIR; /* Attribute */ + fs->wflag = 1; + } + if (res == FR_OK) { + res = sync_fs(fs); + } + } else { + remove_chain(&sobj, dcl, 0); /* Could not register, remove the allocated cluster */ + } + } + FREE_NAMBUF(); + } + + LEAVE_FF(fs, res); +} + + + + +/*-----------------------------------------------------------------------*/ +/* Rename a File/Directory */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_rename ( + const TCHAR* path_old, /* Pointer to the object name to be renamed */ + const TCHAR* path_new /* Pointer to the new name */ +) +{ + FRESULT res; + DIR djo, djn; + FATFS *fs; + BYTE buf[FF_FS_EXFAT ? SZDIRE * 2 : SZDIRE], *dir; + DWORD dw; + DEF_NAMBUF + + + get_ldnumber(&path_new); /* Snip the drive number of new name off */ + res = find_volume(&path_old, &fs, FA_WRITE); /* Get logical drive of the old object */ + if (res == FR_OK) { + djo.obj.fs = fs; + INIT_NAMBUF(fs); + res = follow_path(&djo, path_old); /* Check old object */ + if (res == FR_OK && (djo.fn[NSFLAG] & (NS_DOT | NS_NONAME))) res = FR_INVALID_NAME; /* Check validity of name */ +#if FF_FS_LOCK != 0 + if (res == FR_OK) { + res = chk_lock(&djo, 2); + } +#endif + if (res == FR_OK) { /* Object to be renamed is found */ +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { /* At exFAT volume */ + BYTE nf, nn; + WORD nh; + + mem_cpy(buf, fs->dirbuf, SZDIRE * 2); /* Save 85+C0 entry of old object */ + mem_cpy(&djn, &djo, sizeof djo); + res = follow_path(&djn, path_new); /* Make sure if new object name is not in use */ + if (res == FR_OK) { /* Is new name already in use by any other object? */ + res = (djn.obj.sclust == djo.obj.sclust && djn.dptr == djo.dptr) ? FR_NO_FILE : FR_EXIST; + } + if (res == FR_NO_FILE) { /* It is a valid path and no name collision */ + res = dir_register(&djn); /* Register the new entry */ + if (res == FR_OK) { + nf = fs->dirbuf[XDIR_NumSec]; nn = fs->dirbuf[XDIR_NumName]; + nh = ld_word(fs->dirbuf + XDIR_NameHash); + mem_cpy(fs->dirbuf, buf, SZDIRE * 2); /* Restore 85+C0 entry */ + fs->dirbuf[XDIR_NumSec] = nf; fs->dirbuf[XDIR_NumName] = nn; + st_word(fs->dirbuf + XDIR_NameHash, nh); + if (!(fs->dirbuf[XDIR_Attr] & AM_DIR)) fs->dirbuf[XDIR_Attr] |= AM_ARC; /* Set archive attribute if it is a file */ +/* Start of critical section where an interruption can cause a cross-link */ + res = store_xdir(&djn); + } + } + } else +#endif + { /* At FAT/FAT32 volume */ + mem_cpy(buf, djo.dir, SZDIRE); /* Save directory entry of the object */ + mem_cpy(&djn, &djo, sizeof (DIR)); /* Duplicate the directory object */ + res = follow_path(&djn, path_new); /* Make sure if new object name is not in use */ + if (res == FR_OK) { /* Is new name already in use by any other object? */ + res = (djn.obj.sclust == djo.obj.sclust && djn.dptr == djo.dptr) ? FR_NO_FILE : FR_EXIST; + } + if (res == FR_NO_FILE) { /* It is a valid path and no name collision */ + res = dir_register(&djn); /* Register the new entry */ + if (res == FR_OK) { + dir = djn.dir; /* Copy directory entry of the object except name */ + mem_cpy(dir + 13, buf + 13, SZDIRE - 13); + dir[DIR_Attr] = buf[DIR_Attr]; + if (!(dir[DIR_Attr] & AM_DIR)) dir[DIR_Attr] |= AM_ARC; /* Set archive attribute if it is a file */ + fs->wflag = 1; + if ((dir[DIR_Attr] & AM_DIR) && djo.obj.sclust != djn.obj.sclust) { /* Update .. entry in the sub-directory if needed */ + dw = clst2sect(fs, ld_clust(fs, dir)); + if (dw == 0) { + res = FR_INT_ERR; + } else { +/* Start of critical section where an interruption can cause a cross-link */ + res = move_window(fs, dw); + dir = fs->win + SZDIRE * 1; /* Ptr to .. entry */ + if (res == FR_OK && dir[1] == '.') { + st_clust(fs, dir, djn.obj.sclust); + fs->wflag = 1; + } + } + } + } + } + } + if (res == FR_OK) { + res = dir_remove(&djo); /* Remove old entry */ + if (res == FR_OK) { + res = sync_fs(fs); + } + } +/* End of the critical section */ + } + FREE_NAMBUF(); + } + + LEAVE_FF(fs, res); +} + +#endif /* !FF_FS_READONLY */ +#endif /* FF_FS_MINIMIZE == 0 */ +#endif /* FF_FS_MINIMIZE <= 1 */ +#endif /* FF_FS_MINIMIZE <= 2 */ + + + +#if FF_USE_CHMOD && !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* Change Attribute */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_chmod ( + const TCHAR* path, /* Pointer to the file path */ + BYTE attr, /* Attribute bits */ + BYTE mask /* Attribute mask to change */ +) +{ + FRESULT res; + DIR dj; + FATFS *fs; + DEF_NAMBUF + + + res = find_volume(&path, &fs, FA_WRITE); /* Get logical drive */ + if (res == FR_OK) { + dj.obj.fs = fs; + INIT_NAMBUF(fs); + res = follow_path(&dj, path); /* Follow the file path */ + if (res == FR_OK && (dj.fn[NSFLAG] & (NS_DOT | NS_NONAME))) res = FR_INVALID_NAME; /* Check object validity */ + if (res == FR_OK) { + mask &= AM_RDO|AM_HID|AM_SYS|AM_ARC; /* Valid attribute mask */ +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + fs->dirbuf[XDIR_Attr] = (attr & mask) | (fs->dirbuf[XDIR_Attr] & (BYTE)~mask); /* Apply attribute change */ + res = store_xdir(&dj); + } else +#endif + { + dj.dir[DIR_Attr] = (attr & mask) | (dj.dir[DIR_Attr] & (BYTE)~mask); /* Apply attribute change */ + fs->wflag = 1; + } + if (res == FR_OK) { + res = sync_fs(fs); + } + } + FREE_NAMBUF(); + } + + LEAVE_FF(fs, res); +} + + + + +/*-----------------------------------------------------------------------*/ +/* Change Timestamp */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_utime ( + const TCHAR* path, /* Pointer to the file/directory name */ + const FILINFO* fno /* Pointer to the timestamp to be set */ +) +{ + FRESULT res; + DIR dj; + FATFS *fs; + DEF_NAMBUF + + + res = find_volume(&path, &fs, FA_WRITE); /* Get logical drive */ + if (res == FR_OK) { + dj.obj.fs = fs; + INIT_NAMBUF(fs); + res = follow_path(&dj, path); /* Follow the file path */ + if (res == FR_OK && (dj.fn[NSFLAG] & (NS_DOT | NS_NONAME))) res = FR_INVALID_NAME; /* Check object validity */ + if (res == FR_OK) { +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + st_dword(fs->dirbuf + XDIR_ModTime, (DWORD)fno->fdate << 16 | fno->ftime); + res = store_xdir(&dj); + } else +#endif + { + st_dword(dj.dir + DIR_ModTime, (DWORD)fno->fdate << 16 | fno->ftime); + fs->wflag = 1; + } + if (res == FR_OK) { + res = sync_fs(fs); + } + } + FREE_NAMBUF(); + } + + LEAVE_FF(fs, res); +} + +#endif /* FF_USE_CHMOD && !FF_FS_READONLY */ + + + +#if FF_USE_LABEL +/*-----------------------------------------------------------------------*/ +/* Get Volume Label */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_getlabel ( + const TCHAR* path, /* Logical drive number */ + TCHAR* label, /* Buffer to store the volume label */ + DWORD* vsn /* Variable to store the volume serial number */ +) +{ + FRESULT res; + DIR dj; + FATFS *fs; + UINT si, di; + WCHAR wc; + + /* Get logical drive */ + res = find_volume(&path, &fs, 0); + + /* Get volume label */ + if (res == FR_OK && label) { + dj.obj.fs = fs; dj.obj.sclust = 0; /* Open root directory */ + res = dir_sdi(&dj, 0); + if (res == FR_OK) { + res = DIR_READ_LABEL(&dj); /* Find a volume label entry */ + if (res == FR_OK) { +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + WCHAR hs; + + for (si = di = hs = 0; si < dj.dir[XDIR_NumLabel]; si++) { /* Extract volume label from 83 entry */ + wc = ld_word(dj.dir + XDIR_Label + si * 2); + if (hs == 0 && IsSurrogate(wc)) { /* Is the code a surrogate? */ + hs = wc; continue; + } + wc = put_utf((DWORD)hs << 16 | wc, &label[di], 4); + if (wc == 0) { di = 0; break; } + di += wc; + hs = 0; + } + if (hs != 0) di = 0; /* Broken surrogate pair? */ + label[di] = 0; + } else +#endif + { + si = di = 0; /* Extract volume label from AM_VOL entry */ + while (si < 11) { + wc = dj.dir[si++]; +#if FF_USE_LFN && FF_LFN_UNICODE >= 1 /* Unicode output */ + if (dbc_1st((BYTE)wc) && si < 11) wc = wc << 8 | dj.dir[si++]; /* Is it a DBC? */ + wc = ff_oem2uni(wc, CODEPAGE); /* Convert it into Unicode */ + if (wc != 0) wc = put_utf(wc, &label[di], 4); /* Put it in Unicode */ + if (wc == 0) { di = 0; break; } + di += wc; +#else /* ANSI/OEM output */ + label[di++] = (TCHAR)wc; +#endif + } + do { /* Truncate trailing spaces */ + label[di] = 0; + if (di == 0) break; + } while (label[--di] == ' '); + } + } + } + if (res == FR_NO_FILE) { /* No label entry and return nul string */ + label[0] = 0; + res = FR_OK; + } + } + + /* Get volume serial number */ + if (res == FR_OK && vsn) { + res = move_window(fs, fs->volbase); + if (res == FR_OK) { + switch (fs->fs_type) { + case FS_EXFAT: + di = BPB_VolIDEx; break; + + case FS_FAT32: + di = BS_VolID32; break; + + default: + di = BS_VolID; + } + *vsn = ld_dword(fs->win + di); + } + } + + LEAVE_FF(fs, res); +} + + + +#if !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* Set Volume Label */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_setlabel ( + const TCHAR* label /* Volume label to set with heading logical drive number */ +) +{ + FRESULT res; + DIR dj; + FATFS *fs; + BYTE dirvn[22]; + UINT di; + WCHAR wc; + static const char badchr[] = "+.,;=[]/\\\"*:<>\?|\x7F"; /* [0..] for FAT, [7..] for exFAT */ +#if FF_USE_LFN + DWORD dc; +#endif + + /* Get logical drive */ + res = find_volume(&label, &fs, FA_WRITE); + if (res != FR_OK) LEAVE_FF(fs, res); + +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ + mem_set(dirvn, 0, 22); + di = 0; + while ((UINT)*label >= ' ') { /* Create volume label */ + dc = tchar2uni(&label); /* Get a Unicode character */ + if (dc >= 0x10000) { + if (dc == 0xFFFFFFFF || di >= 10) { /* Wrong surrogate or buffer overflow */ + dc = 0; + } else { + st_word(dirvn + di * 2, (WCHAR)(dc >> 16)); di++; + } + } + if (dc == 0 || chk_chr(badchr + 7, (int)dc) || di >= 11) { /* Check validity of the volume label */ + LEAVE_FF(fs, FR_INVALID_NAME); + } + st_word(dirvn + di * 2, (WCHAR)dc); di++; + } + } else +#endif + { /* On the FAT/FAT32 volume */ + mem_set(dirvn, ' ', 11); + di = 0; + while ((UINT)*label >= ' ') { /* Create volume label */ +#if FF_USE_LFN + dc = tchar2uni(&label); + wc = (dc < 0x10000) ? ff_uni2oem(ff_wtoupper(dc), CODEPAGE) : 0; +#else /* ANSI/OEM input */ + wc = (BYTE)*label++; + if (dbc_1st((BYTE)wc)) wc = dbc_2nd((BYTE)*label) ? wc << 8 | (BYTE)*label++ : 0; + if (IsLower(wc)) wc -= 0x20; /* To upper ASCII characters */ +#if FF_CODE_PAGE == 0 + if (ExCvt && wc >= 0x80) wc = ExCvt[wc - 0x80]; /* To upper extended characters (SBCS cfg) */ +#elif FF_CODE_PAGE < 900 + if (wc >= 0x80) wc = ExCvt[wc - 0x80]; /* To upper extended characters (SBCS cfg) */ +#endif +#endif + if (wc == 0 || chk_chr(badchr + 0, (int)wc) || di >= (UINT)((wc >= 0x100) ? 10 : 11)) { /* Reject invalid characters for volume label */ + LEAVE_FF(fs, FR_INVALID_NAME); + } + if (wc >= 0x100) dirvn[di++] = (BYTE)(wc >> 8); + dirvn[di++] = (BYTE)wc; + } + if (dirvn[0] == DDEM) LEAVE_FF(fs, FR_INVALID_NAME); /* Reject illegal name (heading DDEM) */ + while (di && dirvn[di - 1] == ' ') di--; /* Snip trailing spaces */ + } + + /* Set volume label */ + dj.obj.fs = fs; dj.obj.sclust = 0; /* Open root directory */ + res = dir_sdi(&dj, 0); + if (res == FR_OK) { + res = DIR_READ_LABEL(&dj); /* Get volume label entry */ + if (res == FR_OK) { + if (FF_FS_EXFAT && fs->fs_type == FS_EXFAT) { + dj.dir[XDIR_NumLabel] = (BYTE)di; /* Change the volume label */ + mem_cpy(dj.dir + XDIR_Label, dirvn, 22); + } else { + if (di != 0) { + mem_cpy(dj.dir, dirvn, 11); /* Change the volume label */ + } else { + dj.dir[DIR_Name] = DDEM; /* Remove the volume label */ + } + } + fs->wflag = 1; + res = sync_fs(fs); + } else { /* No volume label entry or an error */ + if (res == FR_NO_FILE) { + res = FR_OK; + if (di != 0) { /* Create a volume label entry */ + res = dir_alloc(&dj, 1); /* Allocate an entry */ + if (res == FR_OK) { + mem_set(dj.dir, 0, SZDIRE); /* Clean the entry */ + if (FF_FS_EXFAT && fs->fs_type == FS_EXFAT) { + dj.dir[XDIR_Type] = ET_VLABEL; /* Create volume label entry */ + dj.dir[XDIR_NumLabel] = (BYTE)di; + mem_cpy(dj.dir + XDIR_Label, dirvn, 22); + } else { + dj.dir[DIR_Attr] = AM_VOL; /* Create volume label entry */ + mem_cpy(dj.dir, dirvn, 11); + } + fs->wflag = 1; + res = sync_fs(fs); + } + } + } + } + } + + LEAVE_FF(fs, res); +} + +#endif /* !FF_FS_READONLY */ +#endif /* FF_USE_LABEL */ + + + +#if FF_USE_EXPAND && !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* Allocate a Contiguous Blocks to the File */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_expand ( + FIL* fp, /* Pointer to the file object */ + FSIZE_t fsz, /* File size to be expanded to */ + BYTE opt /* Operation mode 0:Find and prepare or 1:Find and allocate */ +) +{ + FRESULT res; + FATFS *fs; + DWORD n, clst, stcl, scl, ncl, tcl, lclst; + + + res = validate(&fp->obj, &fs); /* Check validity of the file object */ + if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); + if (fsz == 0 || fp->obj.objsize != 0 || !(fp->flag & FA_WRITE)) LEAVE_FF(fs, FR_DENIED); +#if FF_FS_EXFAT + if (fs->fs_type != FS_EXFAT && fsz >= 0x100000000) LEAVE_FF(fs, FR_DENIED); /* Check if in size limit */ +#endif + n = (DWORD)fs->csize * SS(fs); /* Cluster size */ + tcl = (DWORD)(fsz / n) + ((fsz & (n - 1)) ? 1 : 0); /* Number of clusters required */ + stcl = fs->last_clst; lclst = 0; + if (stcl < 2 || stcl >= fs->n_fatent) stcl = 2; + +#if FF_FS_EXFAT + if (fs->fs_type == FS_EXFAT) { + scl = find_bitmap(fs, stcl, tcl); /* Find a contiguous cluster block */ + if (scl == 0) res = FR_DENIED; /* No contiguous cluster block was found */ + if (scl == 0xFFFFFFFF) res = FR_DISK_ERR; + if (res == FR_OK) { /* A contiguous free area is found */ + if (opt) { /* Allocate it now */ + res = change_bitmap(fs, scl, tcl, 1); /* Mark the cluster block 'in use' */ + lclst = scl + tcl - 1; + } else { /* Set it as suggested point for next allocation */ + lclst = scl - 1; + } + } + } else +#endif + { + scl = clst = stcl; ncl = 0; + for (;;) { /* Find a contiguous cluster block */ + n = get_fat(&fp->obj, clst); + if (++clst >= fs->n_fatent) clst = 2; + if (n == 1) { res = FR_INT_ERR; break; } + if (n == 0xFFFFFFFF) { res = FR_DISK_ERR; break; } + if (n == 0) { /* Is it a free cluster? */ + if (++ncl == tcl) break; /* Break if a contiguous cluster block is found */ + } else { + scl = clst; ncl = 0; /* Not a free cluster */ + } + if (clst == stcl) { res = FR_DENIED; break; } /* No contiguous cluster? */ + } + if (res == FR_OK) { /* A contiguous free area is found */ + if (opt) { /* Allocate it now */ + for (clst = scl, n = tcl; n; clst++, n--) { /* Create a cluster chain on the FAT */ + res = put_fat(fs, clst, (n == 1) ? 0xFFFFFFFF : clst + 1); + if (res != FR_OK) break; + lclst = clst; + } + } else { /* Set it as suggested point for next allocation */ + lclst = scl - 1; + } + } + } + + if (res == FR_OK) { + fs->last_clst = lclst; /* Set suggested start cluster to start next */ + if (opt) { /* Is it allocated now? */ + fp->obj.sclust = scl; /* Update object allocation information */ + fp->obj.objsize = fsz; + if (FF_FS_EXFAT) fp->obj.stat = 2; /* Set status 'contiguous chain' */ + fp->flag |= FA_MODIFIED; + if (fs->free_clst <= fs->n_fatent - 2) { /* Update FSINFO */ + fs->free_clst -= tcl; + fs->fsi_flag |= 1; + } + } + } + + LEAVE_FF(fs, res); +} + +#endif /* FF_USE_EXPAND && !FF_FS_READONLY */ + + + +#if FF_USE_FORWARD +/*-----------------------------------------------------------------------*/ +/* Forward Data to the Stream Directly */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_forward ( + FIL* fp, /* Pointer to the file object */ + UINT (*func)(const BYTE*,UINT), /* Pointer to the streaming function */ + UINT btf, /* Number of bytes to forward */ + UINT* bf /* Pointer to number of bytes forwarded */ +) +{ + FRESULT res; + FATFS *fs; + DWORD clst, sect; + FSIZE_t remain; + UINT rcnt, csect; + BYTE *dbuf; + + + *bf = 0; /* Clear transfer byte counter */ + res = validate(&fp->obj, &fs); /* Check validity of the file object */ + if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); + if (!(fp->flag & FA_READ)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ + + remain = fp->obj.objsize - fp->fptr; + if (btf > remain) btf = (UINT)remain; /* Truncate btf by remaining bytes */ + + for ( ; btf && (*func)(0, 0); /* Repeat until all data transferred or stream goes busy */ + fp->fptr += rcnt, *bf += rcnt, btf -= rcnt) { + csect = (UINT)(fp->fptr / SS(fs) & (fs->csize - 1)); /* Sector offset in the cluster */ + if (fp->fptr % SS(fs) == 0) { /* On the sector boundary? */ + if (csect == 0) { /* On the cluster boundary? */ + clst = (fp->fptr == 0) ? /* On the top of the file? */ + fp->obj.sclust : get_fat(&fp->obj, fp->clust); + if (clst <= 1) ABORT(fs, FR_INT_ERR); + if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); + fp->clust = clst; /* Update current cluster */ + } + } + sect = clst2sect(fs, fp->clust); /* Get current data sector */ + if (sect == 0) ABORT(fs, FR_INT_ERR); + sect += csect; +#if FF_FS_TINY + if (move_window(fs, sect) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Move sector window to the file data */ + dbuf = fs->win; +#else + if (fp->sect != sect) { /* Fill sector cache with file data */ +#if !FF_FS_READONLY + if (fp->flag & FA_DIRTY) { /* Write-back dirty sector cache */ + if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); + fp->flag &= (BYTE)~FA_DIRTY; + } +#endif + if (disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); + } + dbuf = fp->buf; +#endif + fp->sect = sect; + rcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes left in the sector */ + if (rcnt > btf) rcnt = btf; /* Clip it by btr if needed */ + rcnt = (*func)(dbuf + ((UINT)fp->fptr % SS(fs)), rcnt); /* Forward the file data */ + if (rcnt == 0) ABORT(fs, FR_INT_ERR); + } + + LEAVE_FF(fs, FR_OK); +} +#endif /* FF_USE_FORWARD */ + + + +#if FF_USE_MKFS && !FF_FS_READONLY +/*-----------------------------------------------------------------------*/ +/* Create an FAT/exFAT volume */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_mkfs ( + const TCHAR* path, /* Logical drive number */ + BYTE opt, /* Format option */ + DWORD au, /* Size of allocation unit (cluster) [byte] */ + void* work, /* Pointer to working buffer (null: use heap memory) */ + UINT len /* Size of working buffer [byte] */ +) +{ + const UINT n_fats = 1; /* Number of FATs for FAT/FAT32 volume (1 or 2) */ + const UINT n_rootdir = 512; /* Number of root directory entries for FAT volume */ + static const WORD cst[] = {1, 4, 16, 64, 256, 512, 0}; /* Cluster size boundary for FAT volume (4Ks unit) */ + static const WORD cst32[] = {1, 2, 4, 8, 16, 32, 0}; /* Cluster size boundary for FAT32 volume (128Ks unit) */ + BYTE fmt, sys, *buf, *pte, pdrv, part; + WORD ss; /* Sector size */ + DWORD szb_buf, sz_buf, sz_blk, n_clst, pau, sect, nsect, n; + DWORD b_vol, b_fat, b_data; /* Base LBA for volume, fat, data */ + DWORD sz_vol, sz_rsv, sz_fat, sz_dir; /* Size for volume, fat, dir, data */ + UINT i; + int vol; + DSTATUS stat; +#if FF_USE_TRIM || FF_FS_EXFAT + DWORD tbl[3]; +#endif + + + /* Check mounted drive and clear work area */ + vol = get_ldnumber(&path); /* Get target logical drive */ + if (vol < 0) return FR_INVALID_DRIVE; + if (FatFs[vol]) FatFs[vol]->fs_type = 0; /* Clear the volume if mounted */ + pdrv = LD2PD(vol); /* Physical drive */ + part = LD2PT(vol); /* Partition (0:create as new, 1-4:get from partition table) */ + + /* Check physical drive status */ + stat = disk_initialize(pdrv); + if (stat & STA_NOINIT) return FR_NOT_READY; + if (stat & STA_PROTECT) return FR_WRITE_PROTECTED; + if (disk_ioctl(pdrv, GET_BLOCK_SIZE, &sz_blk) != RES_OK || !sz_blk || sz_blk > 32768 || (sz_blk & (sz_blk - 1))) sz_blk = 1; /* Erase block to align data area */ +#if FF_MAX_SS != FF_MIN_SS /* Get sector size of the medium if variable sector size cfg. */ + if (disk_ioctl(pdrv, GET_SECTOR_SIZE, &ss) != RES_OK) return FR_DISK_ERR; + if (ss > FF_MAX_SS || ss < FF_MIN_SS || (ss & (ss - 1))) return FR_DISK_ERR; +#else + ss = FF_MAX_SS; +#endif + if ((au != 0 && au < ss) || au > 0x1000000 || (au & (au - 1))) return FR_INVALID_PARAMETER; /* Check if au is valid */ + au /= ss; /* Cluster size in unit of sector */ + + /* Get working buffer */ +#if FF_USE_LFN == 3 + if (!work) { /* Use heap memory for working buffer */ + for (szb_buf = MAX_MALLOC, buf = 0; szb_buf >= ss && (buf = ff_memalloc(szb_buf)) == 0; szb_buf /= 2) ; + sz_buf = szb_buf / ss; /* Size of working buffer (sector) */ + } else +#endif + { + buf = (BYTE*)work; /* Working buffer */ + sz_buf = len / ss; /* Size of working buffer (sector) */ + szb_buf = sz_buf * ss; /* Size of working buffer (byte) */ + } + if (!buf || sz_buf == 0) return FR_NOT_ENOUGH_CORE; + + /* Determine where the volume to be located (b_vol, sz_vol) */ + if (FF_MULTI_PARTITION && part != 0) { + /* Get partition information from partition table in the MBR */ + if (disk_read(pdrv, buf, 0, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Load MBR */ + if (ld_word(buf + BS_55AA) != 0xAA55) LEAVE_MKFS(FR_MKFS_ABORTED); /* Check if MBR is valid */ + pte = buf + (MBR_Table + (part - 1) * SZ_PTE); + if (pte[PTE_System] == 0) LEAVE_MKFS(FR_MKFS_ABORTED); /* No partition? */ + b_vol = ld_dword(pte + PTE_StLba); /* Get volume start sector */ + sz_vol = ld_dword(pte + PTE_SizLba); /* Get volume size */ + } else { + /* Create a single-partition in this function */ + if (disk_ioctl(pdrv, GET_SECTOR_COUNT, &sz_vol) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + b_vol = (opt & FM_SFD) ? 0 : 63; /* Volume start sector */ + if (sz_vol < b_vol) LEAVE_MKFS(FR_MKFS_ABORTED); + sz_vol -= b_vol; /* Volume size */ + } + if (sz_vol < 128) LEAVE_MKFS(FR_MKFS_ABORTED); /* Check if volume size is >=128s */ + + /* Pre-determine the FAT type */ + do { + if (FF_FS_EXFAT && (opt & FM_EXFAT)) { /* exFAT possible? */ + if ((opt & FM_ANY) == FM_EXFAT || sz_vol >= 0x4000000 || au > 128) { /* exFAT only, vol >= 64Ms or au > 128s ? */ + fmt = FS_EXFAT; break; + } + } + if (au > 128) LEAVE_MKFS(FR_INVALID_PARAMETER); /* Too large au for FAT/FAT32 */ + if (opt & FM_FAT32) { /* FAT32 possible? */ + if ((opt & FM_ANY) == FM_FAT32 || !(opt & FM_FAT)) { /* FAT32 only or no-FAT? */ + fmt = FS_FAT32; break; + } + } + if (!(opt & FM_FAT)) LEAVE_MKFS(FR_INVALID_PARAMETER); /* no-FAT? */ + fmt = FS_FAT16; + } while (0); + +#if FF_FS_EXFAT + if (fmt == FS_EXFAT) { /* Create an exFAT volume */ + DWORD szb_bit, szb_case, sum, nb, cl; + WCHAR ch, si; + UINT j, st; + BYTE b; + + if (sz_vol < 0x1000) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too small volume? */ +#if FF_USE_TRIM + tbl[0] = b_vol; tbl[1] = b_vol + sz_vol - 1; /* Inform the device the volume area may be erased */ + disk_ioctl(pdrv, CTRL_TRIM, tbl); +#endif + /* Determine FAT location, data location and number of clusters */ + if (au == 0) { /* au auto-selection */ + au = 8; + if (sz_vol >= 0x80000) au = 64; /* >= 512Ks */ + if (sz_vol >= 0x4000000) au = 256; /* >= 64Ms */ + } + b_fat = b_vol + 32; /* FAT start at offset 32 */ + sz_fat = ((sz_vol / au + 2) * 4 + ss - 1) / ss; /* Number of FAT sectors */ + b_data = (b_fat + sz_fat + sz_blk - 1) & ~(sz_blk - 1); /* Align data area to the erase block boundary */ + if (b_data >= sz_vol / 2) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too small volume? */ + n_clst = (sz_vol - (b_data - b_vol)) / au; /* Number of clusters */ + if (n_clst <16) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too few clusters? */ + if (n_clst > MAX_EXFAT) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too many clusters? */ + + szb_bit = (n_clst + 7) / 8; /* Size of allocation bitmap */ + tbl[0] = (szb_bit + au * ss - 1) / (au * ss); /* Number of allocation bitmap clusters */ + + /* Create a compressed up-case table */ + sect = b_data + au * tbl[0]; /* Table start sector */ + sum = 0; /* Table checksum to be stored in the 82 entry */ + st = 0; si = 0; i = 0; j = 0; szb_case = 0; + do { + switch (st) { + case 0: + ch = (WCHAR)ff_wtoupper(si); /* Get an up-case char */ + if (ch != si) { + si++; break; /* Store the up-case char if exist */ + } + for (j = 1; (WCHAR)(si + j) && (WCHAR)(si + j) == ff_wtoupper((WCHAR)(si + j)); j++) ; /* Get run length of no-case block */ + if (j >= 128) { + ch = 0xFFFF; st = 2; break; /* Compress the no-case block if run is >= 128 */ + } + st = 1; /* Do not compress short run */ + /* go to next case */ + case 1: + ch = si++; /* Fill the short run */ + if (--j == 0) st = 0; + break; + + default: + ch = (WCHAR)j; si += (WCHAR)j; /* Number of chars to skip */ + st = 0; + } + sum = xsum32(buf[i + 0] = (BYTE)ch, sum); /* Put it into the write buffer */ + sum = xsum32(buf[i + 1] = (BYTE)(ch >> 8), sum); + i += 2; szb_case += 2; + if (si == 0 || i == szb_buf) { /* Write buffered data when buffer full or end of process */ + n = (i + ss - 1) / ss; + if (disk_write(pdrv, buf, sect, n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + sect += n; i = 0; + } + } while (si); + tbl[1] = (szb_case + au * ss - 1) / (au * ss); /* Number of up-case table clusters */ + tbl[2] = 1; /* Number of root dir clusters */ + + /* Initialize the allocation bitmap */ + sect = b_data; nsect = (szb_bit + ss - 1) / ss; /* Start of bitmap and number of sectors */ + nb = tbl[0] + tbl[1] + tbl[2]; /* Number of clusters in-use by system */ + do { + mem_set(buf, 0, szb_buf); + for (i = 0; nb >= 8 && i < szb_buf; buf[i++] = 0xFF, nb -= 8) ; + for (b = 1; nb != 0 && i < szb_buf; buf[i] |= b, b <<= 1, nb--) ; + n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ + if (disk_write(pdrv, buf, sect, n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + sect += n; nsect -= n; + } while (nsect); + + /* Initialize the FAT */ + sect = b_fat; nsect = sz_fat; /* Start of FAT and number of FAT sectors */ + j = nb = cl = 0; + do { + mem_set(buf, 0, szb_buf); i = 0; /* Clear work area and reset write index */ + if (cl == 0) { /* Set entry 0 and 1 */ + st_dword(buf + i, 0xFFFFFFF8); i += 4; cl++; + st_dword(buf + i, 0xFFFFFFFF); i += 4; cl++; + } + do { /* Create chains of bitmap, up-case and root dir */ + while (nb != 0 && i < szb_buf) { /* Create a chain */ + st_dword(buf + i, (nb > 1) ? cl + 1 : 0xFFFFFFFF); + i += 4; cl++; nb--; + } + if (nb == 0 && j < 3) nb = tbl[j++]; /* Next chain */ + } while (nb != 0 && i < szb_buf); + n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ + if (disk_write(pdrv, buf, sect, n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + sect += n; nsect -= n; + } while (nsect); + + /* Initialize the root directory */ + mem_set(buf, 0, szb_buf); + buf[SZDIRE * 0 + 0] = ET_VLABEL; /* Volume label entry */ + buf[SZDIRE * 1 + 0] = ET_BITMAP; /* Bitmap entry */ + st_dword(buf + SZDIRE * 1 + 20, 2); /* cluster */ + st_dword(buf + SZDIRE * 1 + 24, szb_bit); /* size */ + buf[SZDIRE * 2 + 0] = ET_UPCASE; /* Up-case table entry */ + st_dword(buf + SZDIRE * 2 + 4, sum); /* sum */ + st_dword(buf + SZDIRE * 2 + 20, 2 + tbl[0]); /* cluster */ + st_dword(buf + SZDIRE * 2 + 24, szb_case); /* size */ + sect = b_data + au * (tbl[0] + tbl[1]); nsect = au; /* Start of the root directory and number of sectors */ + do { /* Fill root directory sectors */ + n = (nsect > sz_buf) ? sz_buf : nsect; + if (disk_write(pdrv, buf, sect, n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + mem_set(buf, 0, ss); + sect += n; nsect -= n; + } while (nsect); + + /* Create two set of the exFAT VBR blocks */ + sect = b_vol; + for (n = 0; n < 2; n++) { + /* Main record (+0) */ + mem_set(buf, 0, ss); + mem_cpy(buf + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11); /* Boot jump code (x86), OEM name */ + st_dword(buf + BPB_VolOfsEx, b_vol); /* Volume offset in the physical drive [sector] */ + st_dword(buf + BPB_TotSecEx, sz_vol); /* Volume size [sector] */ + st_dword(buf + BPB_FatOfsEx, b_fat - b_vol); /* FAT offset [sector] */ + st_dword(buf + BPB_FatSzEx, sz_fat); /* FAT size [sector] */ + st_dword(buf + BPB_DataOfsEx, b_data - b_vol); /* Data offset [sector] */ + st_dword(buf + BPB_NumClusEx, n_clst); /* Number of clusters */ + st_dword(buf + BPB_RootClusEx, 2 + tbl[0] + tbl[1]); /* Root dir cluster # */ + st_dword(buf + BPB_VolIDEx, GET_FATTIME()); /* VSN */ + st_word(buf + BPB_FSVerEx, 0x100); /* Filesystem version (1.00) */ + for (buf[BPB_BytsPerSecEx] = 0, i = ss; i >>= 1; buf[BPB_BytsPerSecEx]++) ; /* Log2 of sector size [byte] */ + for (buf[BPB_SecPerClusEx] = 0, i = au; i >>= 1; buf[BPB_SecPerClusEx]++) ; /* Log2 of cluster size [sector] */ + buf[BPB_NumFATsEx] = 1; /* Number of FATs */ + buf[BPB_DrvNumEx] = 0x80; /* Drive number (for int13) */ + st_word(buf + BS_BootCodeEx, 0xFEEB); /* Boot code (x86) */ + st_word(buf + BS_55AA, 0xAA55); /* Signature (placed here regardless of sector size) */ + for (i = sum = 0; i < ss; i++) { /* VBR checksum */ + if (i != BPB_VolFlagEx && i != BPB_VolFlagEx + 1 && i != BPB_PercInUseEx) sum = xsum32(buf[i], sum); + } + if (disk_write(pdrv, buf, sect++, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + /* Extended bootstrap record (+1..+8) */ + mem_set(buf, 0, ss); + st_word(buf + ss - 2, 0xAA55); /* Signature (placed at end of sector) */ + for (j = 1; j < 9; j++) { + for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ + if (disk_write(pdrv, buf, sect++, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + } + /* OEM/Reserved record (+9..+10) */ + mem_set(buf, 0, ss); + for ( ; j < 11; j++) { + for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ + if (disk_write(pdrv, buf, sect++, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + } + /* Sum record (+11) */ + for (i = 0; i < ss; i += 4) st_dword(buf + i, sum); /* Fill with checksum value */ + if (disk_write(pdrv, buf, sect++, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + } + + } else +#endif /* FF_FS_EXFAT */ + { /* Create an FAT/FAT32 volume */ + do { + pau = au; + /* Pre-determine number of clusters and FAT sub-type */ + if (fmt == FS_FAT32) { /* FAT32 volume */ + if (pau == 0) { /* au auto-selection */ + n = sz_vol / 0x20000; /* Volume size in unit of 128KS */ + for (i = 0, pau = 1; cst32[i] && cst32[i] <= n; i++, pau <<= 1) ; /* Get from table */ + } + n_clst = sz_vol / pau; /* Number of clusters */ + sz_fat = (n_clst * 4 + 8 + ss - 1) / ss; /* FAT size [sector] */ + sz_rsv = 32; /* Number of reserved sectors */ + sz_dir = 0; /* No static directory */ + if (n_clst <= MAX_FAT16 || n_clst > MAX_FAT32) LEAVE_MKFS(FR_MKFS_ABORTED); + } else { /* FAT volume */ + if (pau == 0) { /* au auto-selection */ + n = sz_vol / 0x1000; /* Volume size in unit of 4KS */ + for (i = 0, pau = 1; cst[i] && cst[i] <= n; i++, pau <<= 1) ; /* Get from table */ + } + n_clst = sz_vol / pau; + if (n_clst > MAX_FAT12) { + n = n_clst * 2 + 4; /* FAT size [byte] */ + } else { + fmt = FS_FAT12; + n = (n_clst * 3 + 1) / 2 + 3; /* FAT size [byte] */ + } + sz_fat = (n + ss - 1) / ss; /* FAT size [sector] */ + sz_rsv = 1; /* Number of reserved sectors */ + sz_dir = (DWORD)n_rootdir * SZDIRE / ss; /* Rootdir size [sector] */ + } + b_fat = b_vol + sz_rsv; /* FAT base */ + b_data = b_fat + sz_fat * n_fats + sz_dir; /* Data base */ + + /* Align data base to erase block boundary (for flash memory media) */ + n = ((b_data + sz_blk - 1) & ~(sz_blk - 1)) - b_data; /* Next nearest erase block from current data base */ + if (fmt == FS_FAT32) { /* FAT32: Move FAT base */ + sz_rsv += n; b_fat += n; + } else { /* FAT: Expand FAT size */ + sz_fat += n / n_fats; + } + + /* Determine number of clusters and final check of validity of the FAT sub-type */ + if (sz_vol < b_data + pau * 16 - b_vol) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too small volume */ + n_clst = (sz_vol - sz_rsv - sz_fat * n_fats - sz_dir) / pau; + if (fmt == FS_FAT32) { + if (n_clst <= MAX_FAT16) { /* Too few clusters for FAT32 */ + if (au == 0 && (au = pau / 2) != 0) continue; /* Adjust cluster size and retry */ + LEAVE_MKFS(FR_MKFS_ABORTED); + } + } + if (fmt == FS_FAT16) { + if (n_clst > MAX_FAT16) { /* Too many clusters for FAT16 */ + if (au == 0 && (pau * 2) <= 64) { + au = pau * 2; continue; /* Adjust cluster size and retry */ + } + if ((opt & FM_FAT32)) { + fmt = FS_FAT32; continue; /* Switch type to FAT32 and retry */ + } + if (au == 0 && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ + LEAVE_MKFS(FR_MKFS_ABORTED); + } + if (n_clst <= MAX_FAT12) { /* Too few clusters for FAT16 */ + if (au == 0 && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ + LEAVE_MKFS(FR_MKFS_ABORTED); + } + } + if (fmt == FS_FAT12 && n_clst > MAX_FAT12) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too many clusters for FAT12 */ + + /* Ok, it is the valid cluster configuration */ + break; + } while (1); + +#if FF_USE_TRIM + tbl[0] = b_vol; tbl[1] = b_vol + sz_vol - 1; /* Inform the device the volume area can be erased */ + disk_ioctl(pdrv, CTRL_TRIM, tbl); +#endif + /* Create FAT VBR */ + mem_set(buf, 0, ss); + mem_cpy(buf + BS_JmpBoot, "\xEB\xFE\x90" "MSDOS5.0", 11);/* Boot jump code (x86), OEM name */ + st_word(buf + BPB_BytsPerSec, ss); /* Sector size [byte] */ + buf[BPB_SecPerClus] = (BYTE)pau; /* Cluster size [sector] */ + st_word(buf + BPB_RsvdSecCnt, (WORD)sz_rsv); /* Size of reserved area */ + buf[BPB_NumFATs] = (BYTE)n_fats; /* Number of FATs */ + st_word(buf + BPB_RootEntCnt, (WORD)((fmt == FS_FAT32) ? 0 : n_rootdir)); /* Number of root directory entries */ + if (sz_vol < 0x10000) { + st_word(buf + BPB_TotSec16, (WORD)sz_vol); /* Volume size in 16-bit LBA */ + } else { + st_dword(buf + BPB_TotSec32, sz_vol); /* Volume size in 32-bit LBA */ + } + buf[BPB_Media] = 0xF8; /* Media descriptor byte */ + st_word(buf + BPB_SecPerTrk, 63); /* Number of sectors per track (for int13) */ + st_word(buf + BPB_NumHeads, 255); /* Number of heads (for int13) */ + st_dword(buf + BPB_HiddSec, b_vol); /* Volume offset in the physical drive [sector] */ + if (fmt == FS_FAT32) { + st_dword(buf + BS_VolID32, GET_FATTIME()); /* VSN */ + st_dword(buf + BPB_FATSz32, sz_fat); /* FAT size [sector] */ + st_dword(buf + BPB_RootClus32, 2); /* Root directory cluster # (2) */ + st_word(buf + BPB_FSInfo32, 1); /* Offset of FSINFO sector (VBR + 1) */ + st_word(buf + BPB_BkBootSec32, 6); /* Offset of backup VBR (VBR + 6) */ + buf[BS_DrvNum32] = 0x80; /* Drive number (for int13) */ + buf[BS_BootSig32] = 0x29; /* Extended boot signature */ + mem_cpy(buf + BS_VolLab32, "NO NAME " "FAT32 ", 19); /* Volume label, FAT signature */ + } else { + st_dword(buf + BS_VolID, GET_FATTIME()); /* VSN */ + st_word(buf + BPB_FATSz16, (WORD)sz_fat); /* FAT size [sector] */ + buf[BS_DrvNum] = 0x80; /* Drive number (for int13) */ + buf[BS_BootSig] = 0x29; /* Extended boot signature */ + mem_cpy(buf + BS_VolLab, "NO NAME " "FAT ", 19); /* Volume label, FAT signature */ + } + st_word(buf + BS_55AA, 0xAA55); /* Signature (offset is fixed here regardless of sector size) */ + if (disk_write(pdrv, buf, b_vol, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Write it to the VBR sector */ + + /* Create FSINFO record if needed */ + if (fmt == FS_FAT32) { + disk_write(pdrv, buf, b_vol + 6, 1); /* Write backup VBR (VBR + 6) */ + mem_set(buf, 0, ss); + st_dword(buf + FSI_LeadSig, 0x41615252); + st_dword(buf + FSI_StrucSig, 0x61417272); + st_dword(buf + FSI_Free_Count, n_clst - 1); /* Number of free clusters */ + st_dword(buf + FSI_Nxt_Free, 2); /* Last allocated cluster# */ + st_word(buf + BS_55AA, 0xAA55); + disk_write(pdrv, buf, b_vol + 7, 1); /* Write backup FSINFO (VBR + 7) */ + disk_write(pdrv, buf, b_vol + 1, 1); /* Write original FSINFO (VBR + 1) */ + } + + /* Initialize FAT area */ + mem_set(buf, 0, (UINT)szb_buf); + sect = b_fat; /* FAT start sector */ + for (i = 0; i < n_fats; i++) { /* Initialize FATs each */ + if (fmt == FS_FAT32) { + st_dword(buf + 0, 0xFFFFFFF8); /* Entry 0 */ + st_dword(buf + 4, 0xFFFFFFFF); /* Entry 1 */ + st_dword(buf + 8, 0x0FFFFFFF); /* Entry 2 (root directory) */ + } else { + st_dword(buf + 0, (fmt == FS_FAT12) ? 0xFFFFF8 : 0xFFFFFFF8); /* Entry 0 and 1 */ + } + nsect = sz_fat; /* Number of FAT sectors */ + do { /* Fill FAT sectors */ + n = (nsect > sz_buf) ? sz_buf : nsect; + if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + mem_set(buf, 0, ss); + sect += n; nsect -= n; + } while (nsect); + } + + /* Initialize root directory (fill with zero) */ + nsect = (fmt == FS_FAT32) ? pau : sz_dir; /* Number of root directory sectors */ + do { + n = (nsect > sz_buf) ? sz_buf : nsect; + if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + sect += n; nsect -= n; + } while (nsect); + } + + /* Determine system ID in the partition table */ + if (FF_FS_EXFAT && fmt == FS_EXFAT) { + sys = 0x07; /* HPFS/NTFS/exFAT */ + } else { + if (fmt == FS_FAT32) { + sys = 0x0C; /* FAT32X */ + } else { + if (sz_vol >= 0x10000) { + sys = 0x06; /* FAT12/16 (large) */ + } else { + sys = (fmt == FS_FAT16) ? 0x04 : 0x01; /* FAT16 : FAT12 */ + } + } + } + + /* Update partition information */ + if (FF_MULTI_PARTITION && part != 0) { /* Created in the existing partition */ + /* Update system ID in the partition table */ + if (disk_read(pdrv, buf, 0, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Read the MBR */ + buf[MBR_Table + (part - 1) * SZ_PTE + PTE_System] = sys; /* Set system ID */ + if (disk_write(pdrv, buf, 0, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Write it back to the MBR */ + } else { /* Created as a new single partition */ + if (!(opt & FM_SFD)) { /* Create partition table if in FDISK format */ + mem_set(buf, 0, ss); + st_word(buf + BS_55AA, 0xAA55); /* MBR signature */ + pte = buf + MBR_Table; /* Create partition table for single partition in the drive */ + pte[PTE_Boot] = 0; /* Boot indicator */ + pte[PTE_StHead] = 1; /* Start head */ + pte[PTE_StSec] = 1; /* Start sector */ + pte[PTE_StCyl] = 0; /* Start cylinder */ + pte[PTE_System] = sys; /* System type */ + n = (b_vol + sz_vol) / (63 * 255); /* (End CHS may be invalid) */ + pte[PTE_EdHead] = 254; /* End head */ + pte[PTE_EdSec] = (BYTE)(((n >> 2) & 0xC0) | 63); /* End sector */ + pte[PTE_EdCyl] = (BYTE)n; /* End cylinder */ + st_dword(pte + PTE_StLba, b_vol); /* Start offset in LBA */ + st_dword(pte + PTE_SizLba, sz_vol); /* Size in sectors */ + if (disk_write(pdrv, buf, 0, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Write it to the MBR */ + } + } + + if (disk_ioctl(pdrv, CTRL_SYNC, 0) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); + + LEAVE_MKFS(FR_OK); +} + + + +#if FF_MULTI_PARTITION +/*-----------------------------------------------------------------------*/ +/* Create Partition Table on the Physical Drive */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_fdisk ( + BYTE pdrv, /* Physical drive number */ + const DWORD* szt, /* Pointer to the size table for each partitions */ + void* work /* Pointer to the working buffer (null: use heap memory) */ +) +{ + UINT i, n, sz_cyl, tot_cyl, b_cyl, e_cyl, p_cyl; + BYTE s_hd, e_hd, *p, *buf = (BYTE*)work; + DSTATUS stat; + DWORD sz_disk, sz_part, s_part; + FRESULT res; + + + stat = disk_initialize(pdrv); + if (stat & STA_NOINIT) return FR_NOT_READY; + if (stat & STA_PROTECT) return FR_WRITE_PROTECTED; + if (disk_ioctl(pdrv, GET_SECTOR_COUNT, &sz_disk)) return FR_DISK_ERR; + + buf = (BYTE*)work; +#if FF_USE_LFN == 3 + if (!buf) buf = ff_memalloc(FF_MAX_SS); /* Use heap memory for working buffer */ +#endif + if (!buf) return FR_NOT_ENOUGH_CORE; + + /* Determine the CHS without any consideration of the drive geometry */ + for (n = 16; n < 256 && sz_disk / n / 63 > 1024; n *= 2) ; + if (n == 256) n--; + e_hd = (BYTE)(n - 1); + sz_cyl = 63 * n; + tot_cyl = sz_disk / sz_cyl; + + /* Create partition table */ + mem_set(buf, 0, FF_MAX_SS); + p = buf + MBR_Table; b_cyl = 0; + for (i = 0; i < 4; i++, p += SZ_PTE) { + p_cyl = (szt[i] <= 100U) ? (DWORD)tot_cyl * szt[i] / 100 : szt[i] / sz_cyl; /* Number of cylinders */ + if (p_cyl == 0) continue; + s_part = (DWORD)sz_cyl * b_cyl; + sz_part = (DWORD)sz_cyl * p_cyl; + if (i == 0) { /* Exclude first track of cylinder 0 */ + s_hd = 1; + s_part += 63; sz_part -= 63; + } else { + s_hd = 0; + } + e_cyl = b_cyl + p_cyl - 1; /* End cylinder */ + if (e_cyl >= tot_cyl) LEAVE_MKFS(FR_INVALID_PARAMETER); + + /* Set partition table */ + p[1] = s_hd; /* Start head */ + p[2] = (BYTE)(((b_cyl >> 2) & 0xC0) | 1); /* Start sector */ + p[3] = (BYTE)b_cyl; /* Start cylinder */ + p[4] = 0x07; /* System type (temporary setting) */ + p[5] = e_hd; /* End head */ + p[6] = (BYTE)(((e_cyl >> 2) & 0xC0) | 63); /* End sector */ + p[7] = (BYTE)e_cyl; /* End cylinder */ + st_dword(p + 8, s_part); /* Start sector in LBA */ + st_dword(p + 12, sz_part); /* Number of sectors */ + + /* Next partition */ + b_cyl += p_cyl; + } + st_word(p, 0xAA55); /* MBR signature (always at offset 510) */ + + /* Write it to the MBR */ + res = (disk_write(pdrv, buf, 0, 1) == RES_OK && disk_ioctl(pdrv, CTRL_SYNC, 0) == RES_OK) ? FR_OK : FR_DISK_ERR; + LEAVE_MKFS(res); +} + +#endif /* FF_MULTI_PARTITION */ +#endif /* FF_USE_MKFS && !FF_FS_READONLY */ + + + + +#if FF_USE_STRFUNC +#if FF_USE_LFN && FF_LFN_UNICODE && (FF_STRF_ENCODE < 0 || FF_STRF_ENCODE > 3) +#error Wrong FF_STRF_ENCODE setting +#endif +/*-----------------------------------------------------------------------*/ +/* Get a String from the File */ +/*-----------------------------------------------------------------------*/ + +TCHAR* f_gets ( + TCHAR* buff, /* Pointer to the string buffer to read */ + int len, /* Size of string buffer (items) */ + FIL* fp /* Pointer to the file object */ +) +{ + int nc = 0; + TCHAR *p = buff; + BYTE s[4]; + UINT rc; + DWORD dc; +#if FF_USE_LFN && FF_LFN_UNICODE && FF_STRF_ENCODE <= 2 + WCHAR wc; +#endif +#if FF_USE_LFN && FF_LFN_UNICODE && FF_STRF_ENCODE == 3 + UINT ct; +#endif + +#if FF_USE_LFN && FF_LFN_UNICODE /* With code conversion (Unicode API) */ + /* Make a room for the character and terminator */ + if (FF_LFN_UNICODE == 1) len -= (FF_STRF_ENCODE == 0) ? 1 : 2; + if (FF_LFN_UNICODE == 2) len -= (FF_STRF_ENCODE == 0) ? 3 : 4; + if (FF_LFN_UNICODE == 3) len -= 1; + while (nc < len) { +#if FF_STRF_ENCODE == 0 /* Read a character in ANSI/OEM */ + f_read(fp, s, 1, &rc); + if (rc != 1) break; + wc = s[0]; + if (dbc_1st((BYTE)wc)) { + f_read(fp, s, 1, &rc); + if (rc != 1 || !dbc_2nd(s[0])) continue; + wc = wc << 8 | s[0]; + } + dc = ff_oem2uni(wc, CODEPAGE); + if (dc == 0) continue; +#elif FF_STRF_ENCODE == 1 || FF_STRF_ENCODE == 2 /* Read a character in UTF-16LE/BE */ + f_read(fp, s, 2, &rc); + if (rc != 2) break; + dc = (FF_STRF_ENCODE == 1) ? ld_word(s) : s[0] << 8 | s[1]; + if (IsSurrogateL(dc)) continue; + if (IsSurrogateH(dc)) { + f_read(fp, s, 2, &rc); + if (rc != 2) break; + wc = (FF_STRF_ENCODE == 1) ? ld_word(s) : s[0] << 8 | s[1]; + if (!IsSurrogateL(wc)) continue; + dc = ((dc & 0x3FF) + 0x40) << 10 | (wc & 0x3FF); + } +#else /* Read a character in UTF-8 */ + f_read(fp, s, 1, &rc); + if (rc != 1) break; + dc = s[0]; + if (dc >= 0x80) { /* Multi-byte character? */ + ct = 0; + if ((dc & 0xE0) == 0xC0) { dc &= 0x1F; ct = 1; } /* 2-byte? */ + if ((dc & 0xF0) == 0xE0) { dc &= 0x0F; ct = 2; } /* 3-byte? */ + if ((dc & 0xF8) == 0xF0) { dc &= 0x07; ct = 3; } /* 4-byte? */ + if (ct == 0) continue; + f_read(fp, s, ct, &rc); /* Get trailing bytes */ + if (rc != ct) break; + rc = 0; + do { /* Merge trailing bytes */ + if ((s[rc] & 0xC0) != 0x80) break; + dc = dc << 6 | (s[rc] & 0x3F); + } while (++rc < ct); + if (rc != ct || dc < 0x80 || IsSurrogate(dc) || dc >= 0x110000) continue; /* Wrong encoding? */ + } +#endif + if (FF_USE_STRFUNC == 2 && dc == '\r') continue; /* Strip \r off if needed */ +#if FF_LFN_UNICODE == 1 || FF_LFN_UNICODE == 3 /* Output it in UTF-16/32 encoding */ + if (FF_LFN_UNICODE == 1 && dc >= 0x10000) { /* Out of BMP at UTF-16? */ + *p++ = (TCHAR)(0xD800 | ((dc >> 10) - 0x40)); nc++; /* Make and output high surrogate */ + dc = 0xDC00 | (dc & 0x3FF); /* Make low surrogate */ + } + *p++ = (TCHAR)dc; nc++; + if (dc == '\n') break; /* End of line? */ +#elif FF_LFN_UNICODE == 2 /* Output it in UTF-8 encoding */ + if (dc < 0x80) { /* 1-byte */ + *p++ = (TCHAR)dc; + nc++; + if (dc == '\n') break; /* End of line? */ + } else { + if (dc < 0x800) { /* 2-byte */ + *p++ = (TCHAR)(0xC0 | (dc >> 6 & 0x1F)); + *p++ = (TCHAR)(0x80 | (dc >> 0 & 0x3F)); + nc += 2; + } else { + if (dc < 0x10000) { /* 3-byte */ + *p++ = (TCHAR)(0xE0 | (dc >> 12 & 0x0F)); + *p++ = (TCHAR)(0x80 | (dc >> 6 & 0x3F)); + *p++ = (TCHAR)(0x80 | (dc >> 0 & 0x3F)); + nc += 3; + } else { /* 4-byte */ + *p++ = (TCHAR)(0xF0 | (dc >> 18 & 0x07)); + *p++ = (TCHAR)(0x80 | (dc >> 12 & 0x3F)); + *p++ = (TCHAR)(0x80 | (dc >> 6 & 0x3F)); + *p++ = (TCHAR)(0x80 | (dc >> 0 & 0x3F)); + nc += 4; + } + } + } +#endif + } + +#else /* Byte-by-byte without any conversion (ANSI/OEM API) */ + len -= 1; /* Make a room for the terminator */ + while (nc < len) { + f_read(fp, s, 1, &rc); + if (rc != 1) break; + dc = s[0]; + if (FF_USE_STRFUNC == 2 && dc == '\r') continue; + *p++ = (TCHAR)dc; nc++; + if (dc == '\n') break; + } +#endif + + *p = 0; /* Terminate the string */ + return nc ? buff : 0; /* When no data read due to EOF or error, return with error. */ +} + + + + +#if !FF_FS_READONLY +#include +/*-----------------------------------------------------------------------*/ +/* Put a Character to the File */ +/*-----------------------------------------------------------------------*/ + +typedef struct { /* Putchar output buffer and work area */ + FIL *fp; /* Ptr to the writing file */ + int idx, nchr; /* Write index of buf[] (-1:error), number of encoding units written */ +#if FF_USE_LFN && FF_LFN_UNICODE == 1 + WCHAR hs; +#elif FF_USE_LFN && FF_LFN_UNICODE == 2 + BYTE bs[4]; + UINT wi, ct; +#endif + BYTE buf[64]; /* Write buffer */ +} putbuff; + + +static void putc_bfd ( /* Buffered write with code conversion */ + putbuff* pb, + TCHAR c +) +{ + UINT n; + int i, nc; +#if FF_USE_LFN && FF_LFN_UNICODE + WCHAR hs, wc; +#if FF_LFN_UNICODE == 2 + DWORD dc; + TCHAR *tp; +#endif +#endif + + if (FF_USE_STRFUNC == 2 && c == '\n') { /* LF -> CRLF conversion */ + putc_bfd(pb, '\r'); + } + + i = pb->idx; /* Write index of pb->buf[] */ + if (i < 0) return; + nc = pb->nchr; /* Write unit counter */ + +#if FF_USE_LFN && FF_LFN_UNICODE +#if FF_LFN_UNICODE == 1 /* UTF-16 input */ + if (IsSurrogateH(c)) { + pb->hs = c; return; + } + hs = pb->hs; pb->hs = 0; + if (hs != 0) { + if (!IsSurrogateL(c)) hs = 0; + } else { + if (IsSurrogateL(c)) return; + } + wc = c; +#elif FF_LFN_UNICODE == 2 /* UTF-8 input */ + for (;;) { + if (pb->ct == 0) { /* Out of multi-byte sequence? */ + pb->bs[pb->wi = 0] = (BYTE)c; /* Save 1st byte */ + if ((BYTE)c < 0x80) break; /* 1-byte? */ + if (((BYTE)c & 0xE0) == 0xC0) pb->ct = 1; /* 2-byte? */ + if (((BYTE)c & 0xF0) == 0xE0) pb->ct = 2; /* 3-byte? */ + if (((BYTE)c & 0xF1) == 0xF0) pb->ct = 3; /* 4-byte? */ + return; + } else { /* In the multi-byte sequence */ + if (((BYTE)c & 0xC0) != 0x80) { /* Broken sequence? */ + pb->ct = 0; continue; + } + pb->bs[++pb->wi] = (BYTE)c; /* Save the trailing byte */ + if (--pb->ct == 0) break; /* End of multi-byte sequence? */ + return; + } + } + tp = (TCHAR*)pb->bs; + dc = tchar2uni(&tp); /* UTF-8 ==> UTF-16 */ + if (dc == 0xFFFFFFFF) return; + wc = (WCHAR)dc; + hs = (WCHAR)(dc >> 16); +#elif FF_LFN_UNICODE == 3 /* UTF-32 input */ + if (IsSurrogate(c) || c >= 0x110000) return; + if (c >= 0x10000) { + hs = (WCHAR)(0xD800 | ((c >> 10) - 0x40)); /* Make high surrogate */ + wc = 0xDC00 | (c & 0x3FF); /* Make low surrogate */ + } else { + hs = 0; + wc = (WCHAR)c; + } +#endif + +#if FF_STRF_ENCODE == 1 /* Write a character in UTF-16LE */ + if (hs != 0) { + st_word(&pb->buf[i], hs); + i += 2; + nc++; + } + st_word(&pb->buf[i], wc); + i += 2; +#elif FF_STRF_ENCODE == 2 /* Write a character in UTF-16BE */ + if (hs != 0) { + pb->buf[i++] = (BYTE)(hs >> 8); + pb->buf[i++] = (BYTE)hs; + nc++; + } + pb->buf[i++] = (BYTE)(wc >> 8); + pb->buf[i++] = (BYTE)wc; +#elif FF_STRF_ENCODE == 3 /* Write it in UTF-8 */ + if (hs != 0) { /* 4-byte */ + nc += 3; + hs = (hs & 0x3FF) + 0x40; + pb->buf[i++] = (BYTE)(0xF0 | hs >> 8); + pb->buf[i++] = (BYTE)(0x80 | (hs >> 2 & 0x3F)); + pb->buf[i++] = (BYTE)(0x80 | (hs & 3) << 4 | (wc >> 6 & 0x0F)); + pb->buf[i++] = (BYTE)(0x80 | (wc & 0x3F)); + } else { + if (wc < 0x80) { /* 1-byte */ + pb->buf[i++] = (BYTE)wc; + } else { + if (wc < 0x800) { /* 2-byte */ + nc += 1; + pb->buf[i++] = (BYTE)(0xC0 | wc >> 6); + } else { /* 3-byte */ + nc += 2; + pb->buf[i++] = (BYTE)(0xE0 | wc >> 12); + pb->buf[i++] = (BYTE)(0x80 | (wc >> 6 & 0x3F)); + } + pb->buf[i++] = (BYTE)(0x80 | (wc & 0x3F)); + } + } +#else /* Write it in ANSI/OEM */ + if (hs != 0) return; + wc = ff_uni2oem(wc, CODEPAGE); /* UTF-16 ==> ANSI/OEM */ + if (wc == 0) return; + if (wc >= 0x100) { + pb->buf[i++] = (BYTE)(wc >> 8); nc++; + } + pb->buf[i++] = (BYTE)wc; +#endif + +#else /* ANSI/OEM input (without re-encode) */ + pb->buf[i++] = (BYTE)c; +#endif + + if (i >= (int)(sizeof pb->buf) - 4) { /* Write buffered characters to the file */ + f_write(pb->fp, pb->buf, (UINT)i, &n); + i = (n == (UINT)i) ? 0 : -1; + } + pb->idx = i; + pb->nchr = nc + 1; +} + + +static int putc_flush ( /* Flush left characters in the buffer */ + putbuff* pb +) +{ + UINT nw; + + if ( pb->idx >= 0 /* Flush buffered characters to the file */ + && f_write(pb->fp, pb->buf, (UINT)pb->idx, &nw) == FR_OK + && (UINT)pb->idx == nw) return pb->nchr; + return EOF; +} + + +static void putc_init ( /* Initialize write buffer */ + putbuff* pb, + FIL* fp +) +{ + mem_set(pb, 0, sizeof (putbuff)); + pb->fp = fp; +} + + + +int f_putc ( + TCHAR c, /* A character to be output */ + FIL* fp /* Pointer to the file object */ +) +{ + putbuff pb; + + + putc_init(&pb, fp); + putc_bfd(&pb, c); /* Put the character */ + return putc_flush(&pb); +} + + + + +/*-----------------------------------------------------------------------*/ +/* Put a String to the File */ +/*-----------------------------------------------------------------------*/ + +int f_puts ( + const TCHAR* str, /* Pointer to the string to be output */ + FIL* fp /* Pointer to the file object */ +) +{ + putbuff pb; + + + putc_init(&pb, fp); + while (*str) putc_bfd(&pb, *str++); /* Put the string */ + return putc_flush(&pb); +} + + + + +/*-----------------------------------------------------------------------*/ +/* Put a Formatted String to the File */ +/*-----------------------------------------------------------------------*/ + +int f_printf ( + FIL* fp, /* Pointer to the file object */ + const TCHAR* fmt, /* Pointer to the format string */ + ... /* Optional arguments... */ +) +{ + va_list arp; + putbuff pb; + BYTE f, r; + UINT i, j, w; + DWORD v; + TCHAR c, d, str[32], *p; + + + putc_init(&pb, fp); + + va_start(arp, fmt); + + for (;;) { + c = *fmt++; + if (c == 0) break; /* End of string */ + if (c != '%') { /* Non escape character */ + putc_bfd(&pb, c); + continue; + } + w = f = 0; + c = *fmt++; + if (c == '0') { /* Flag: '0' padding */ + f = 1; c = *fmt++; + } else { + if (c == '-') { /* Flag: left justified */ + f = 2; c = *fmt++; + } + } + if (c == '*') { /* Minimum width by argument */ + w = va_arg(arp, int); + c = *fmt++; + } else { + while (IsDigit(c)) { /* Minimum width */ + w = w * 10 + c - '0'; + c = *fmt++; + } + } + if (c == 'l' || c == 'L') { /* Type prefix: Size is long int */ + f |= 4; c = *fmt++; + } + if (c == 0) break; + d = c; + if (IsLower(d)) d -= 0x20; + switch (d) { /* Atgument type is... */ + case 'S' : /* String */ + p = va_arg(arp, TCHAR*); + for (j = 0; p[j]; j++) ; + if (!(f & 2)) { /* Right padded */ + while (j++ < w) putc_bfd(&pb, ' ') ; + } + while (*p) putc_bfd(&pb, *p++) ; /* String body */ + while (j++ < w) putc_bfd(&pb, ' ') ; /* Left padded */ + continue; + + case 'C' : /* Character */ + putc_bfd(&pb, (TCHAR)va_arg(arp, int)); continue; + + case 'B' : /* Unsigned binary */ + r = 2; break; + + case 'O' : /* Unsigned octal */ + r = 8; break; + + case 'D' : /* Signed decimal */ + case 'U' : /* Unsigned decimal */ + r = 10; break; + + case 'X' : /* Unsigned hexdecimal */ + r = 16; break; + + default: /* Unknown type (pass-through) */ + putc_bfd(&pb, c); continue; + } + + /* Get an argument and put it in numeral */ + v = (f & 4) ? (DWORD)va_arg(arp, long) : ((d == 'D') ? (DWORD)(long)va_arg(arp, int) : (DWORD)va_arg(arp, unsigned int)); + if (d == 'D' && (v & 0x80000000)) { + v = 0 - v; + f |= 8; + } + i = 0; + do { + d = (TCHAR)(v % r); v /= r; + if (d > 9) d += (c == 'x') ? 0x27 : 0x07; + str[i++] = d + '0'; + } while (v && i < sizeof str / sizeof *str); + if (f & 8) str[i++] = '-'; + j = i; d = (f & 1) ? '0' : ' '; + if (!(f & 2)) { + while (j++ < w) putc_bfd(&pb, d); /* Right pad */ + } + do { + putc_bfd(&pb, str[--i]); /* Number body */ + } while (i); + while (j++ < w) putc_bfd(&pb, d); /* Left pad */ + } + + va_end(arp); + + return putc_flush(&pb); +} + +#endif /* !FF_FS_READONLY */ +#endif /* FF_USE_STRFUNC */ + + + +#if FF_CODE_PAGE == 0 +/*-----------------------------------------------------------------------*/ +/* Set Active Codepage for the Path Name */ +/*-----------------------------------------------------------------------*/ + +FRESULT f_setcp ( + WORD cp /* Value to be set as active code page */ +) +{ + static const WORD validcp[] = { 437, 720, 737, 771, 775, 850, 852, 857, 860, 861, 862, 863, 864, 865, 866, 869, 932, 936, 949, 950, 0}; + static const BYTE* const tables[] = {Ct437, Ct720, Ct737, Ct771, Ct775, Ct850, Ct852, Ct857, Ct860, Ct861, Ct862, Ct863, Ct864, Ct865, Ct866, Ct869, Dc932, Dc936, Dc949, Dc950, 0}; + UINT i; + + + for (i = 0; validcp[i] != 0 && validcp[i] != cp; i++) ; /* Find the code page */ + if (validcp[i] != cp) return FR_INVALID_PARAMETER; /* Not found? */ + + CodePage = cp; + if (cp >= 900) { /* DBCS */ + ExCvt = 0; + DbcTbl = tables[i]; + } else { /* SBCS */ + ExCvt = tables[i]; + DbcTbl = 0; + } + return FR_OK; +} +#endif /* FF_CODE_PAGE == 0 */ + diff --git a/examples/gif_from_spi_flash/ff.h b/examples/gif_from_spi_flash/ff.h new file mode 100644 index 0000000..e5f14a8 --- /dev/null +++ b/examples/gif_from_spi_flash/ff.h @@ -0,0 +1,405 @@ +/*----------------------------------------------------------------------------/ +/ FatFs - Generic FAT Filesystem module R0.13c / +/-----------------------------------------------------------------------------/ +/ +/ Copyright (C) 2018, ChaN, all right reserved. +/ +/ FatFs module is an open source software. Redistribution and use of FatFs in +/ source and binary forms, with or without modification, are permitted provided +/ that the following condition is met: + +/ 1. Redistributions of source code must retain the above copyright notice, +/ this condition and the following disclaimer. +/ +/ This software is provided by the copyright holder and contributors "AS IS" +/ and any warranties related to this software are DISCLAIMED. +/ The copyright owner or contributors be NOT LIABLE for any damages caused +/ by use of this software. +/ +/----------------------------------------------------------------------------*/ + + +#ifndef FF_DEFINED +#define FF_DEFINED 86604 /* Revision ID */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "ffconf.h" /* FatFs configuration options */ + +#if FF_DEFINED != FFCONF_DEF +#error Wrong configuration file (ffconf.h). +#endif + + +/* Integer types used for FatFs API */ + +#if defined(_WIN32) /* Main development platform */ +#define FF_INTDEF 2 +#include +typedef unsigned __int64 QWORD; +#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) /* C99 or later */ +#define FF_INTDEF 2 +#include +typedef unsigned int UINT; /* int must be 16-bit or 32-bit */ +typedef unsigned char BYTE; /* char must be 8-bit */ +typedef uint16_t WORD; /* 16-bit unsigned integer */ +typedef uint16_t WCHAR; /* 16-bit unsigned integer */ +typedef uint32_t DWORD; /* 32-bit unsigned integer */ +typedef uint64_t QWORD; /* 64-bit unsigned integer */ +#else /* Earlier than C99 */ +#define FF_INTDEF 1 +typedef unsigned int UINT; /* int must be 16-bit or 32-bit */ +typedef unsigned char BYTE; /* char must be 8-bit */ +typedef unsigned short WORD; /* 16-bit unsigned integer */ +typedef unsigned short WCHAR; /* 16-bit unsigned integer */ +typedef unsigned long DWORD; /* 32-bit unsigned integer */ +#endif + + +/* Definitions of volume management */ + +#if FF_MULTI_PARTITION /* Multiple partition configuration */ +typedef struct { + BYTE pd; /* Physical drive number */ + BYTE pt; /* Partition: 0:Auto detect, 1-4:Forced partition) */ +} PARTITION; +extern PARTITION VolToPart[]; /* Volume - Partition resolution table */ +#endif + +#if FF_STR_VOLUME_ID +#ifndef FF_VOLUME_STRS +extern const char* VolumeStr[FF_VOLUMES]; /* User defied volume ID */ +#endif +#endif + + + +/* Type of path name strings on FatFs API */ + +#ifndef _INC_TCHAR +#define _INC_TCHAR + +#if FF_USE_LFN && FF_LFN_UNICODE == 1 /* Unicode in UTF-16 encoding */ +typedef WCHAR TCHAR; +#define _T(x) L ## x +#define _TEXT(x) L ## x +#elif FF_USE_LFN && FF_LFN_UNICODE == 2 /* Unicode in UTF-8 encoding */ +typedef char TCHAR; +#define _T(x) u8 ## x +#define _TEXT(x) u8 ## x +#elif FF_USE_LFN && FF_LFN_UNICODE == 3 /* Unicode in UTF-32 encoding */ +typedef DWORD TCHAR; +#define _T(x) U ## x +#define _TEXT(x) U ## x +#elif FF_USE_LFN && (FF_LFN_UNICODE < 0 || FF_LFN_UNICODE > 3) +#error Wrong FF_LFN_UNICODE setting +#else /* ANSI/OEM code in SBCS/DBCS */ +typedef char TCHAR; +#define _T(x) x +#define _TEXT(x) x +#endif + +#endif + + + +/* Type of file size variables */ + +#if FF_FS_EXFAT +#if FF_INTDEF != 2 +#error exFAT feature wants C99 or later +#endif +typedef QWORD FSIZE_t; +#else +typedef DWORD FSIZE_t; +#endif + + + +/* Filesystem object structure (FATFS) */ + +typedef struct { + BYTE fs_type; /* Filesystem type (0:not mounted) */ + BYTE pdrv; /* Associated physical drive */ + BYTE n_fats; /* Number of FATs (1 or 2) */ + BYTE wflag; /* win[] flag (b0:dirty) */ + BYTE fsi_flag; /* FSINFO flags (b7:disabled, b0:dirty) */ + WORD id; /* Volume mount ID */ + WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ + WORD csize; /* Cluster size [sectors] */ +#if FF_MAX_SS != FF_MIN_SS + WORD ssize; /* Sector size (512, 1024, 2048 or 4096) */ +#endif +#if FF_USE_LFN + WCHAR* lfnbuf; /* LFN working buffer */ +#endif +#if FF_FS_EXFAT + BYTE* dirbuf; /* Directory entry block scratchpad buffer for exFAT */ +#endif +#if FF_FS_REENTRANT + FF_SYNC_t sobj; /* Identifier of sync object */ +#endif +#if !FF_FS_READONLY + DWORD last_clst; /* Last allocated cluster */ + DWORD free_clst; /* Number of free clusters */ +#endif +#if FF_FS_RPATH + DWORD cdir; /* Current directory start cluster (0:root) */ +#if FF_FS_EXFAT + DWORD cdc_scl; /* Containing directory start cluster (invalid when cdir is 0) */ + DWORD cdc_size; /* b31-b8:Size of containing directory, b7-b0: Chain status */ + DWORD cdc_ofs; /* Offset in the containing directory (invalid when cdir is 0) */ +#endif +#endif + DWORD n_fatent; /* Number of FAT entries (number of clusters + 2) */ + DWORD fsize; /* Size of an FAT [sectors] */ + DWORD volbase; /* Volume base sector */ + DWORD fatbase; /* FAT base sector */ + DWORD dirbase; /* Root directory base sector/cluster */ + DWORD database; /* Data base sector */ +#if FF_FS_EXFAT + DWORD bitbase; /* Allocation bitmap base sector */ +#endif + DWORD winsect; /* Current sector appearing in the win[] */ + BYTE win[FF_MAX_SS]; /* Disk access window for Directory, FAT (and file data at tiny cfg) */ +} FATFS; + + + +/* Object ID and allocation information (FFOBJID) */ + +typedef struct { + FATFS* fs; /* Pointer to the hosting volume of this object */ + WORD id; /* Hosting volume mount ID */ + BYTE attr; /* Object attribute */ + BYTE stat; /* Object chain status (b1-0: =0:not contiguous, =2:contiguous, =3:fragmented in this session, b2:sub-directory stretched) */ + DWORD sclust; /* Object data start cluster (0:no cluster or root directory) */ + FSIZE_t objsize; /* Object size (valid when sclust != 0) */ +#if FF_FS_EXFAT + DWORD n_cont; /* Size of first fragment - 1 (valid when stat == 3) */ + DWORD n_frag; /* Size of last fragment needs to be written to FAT (valid when not zero) */ + DWORD c_scl; /* Containing directory start cluster (valid when sclust != 0) */ + DWORD c_size; /* b31-b8:Size of containing directory, b7-b0: Chain status (valid when c_scl != 0) */ + DWORD c_ofs; /* Offset in the containing directory (valid when file object and sclust != 0) */ +#endif +#if FF_FS_LOCK + UINT lockid; /* File lock ID origin from 1 (index of file semaphore table Files[]) */ +#endif +} FFOBJID; + + + +/* File object structure (FIL) */ + +typedef struct { + FFOBJID obj; /* Object identifier (must be the 1st member to detect invalid object pointer) */ + BYTE flag; /* File status flags */ + BYTE err; /* Abort flag (error code) */ + FSIZE_t fptr; /* File read/write pointer (Zeroed on file open) */ + DWORD clust; /* Current cluster of fpter (invalid when fptr is 0) */ + DWORD sect; /* Sector number appearing in buf[] (0:invalid) */ +#if !FF_FS_READONLY + DWORD dir_sect; /* Sector number containing the directory entry (not used at exFAT) */ + BYTE* dir_ptr; /* Pointer to the directory entry in the win[] (not used at exFAT) */ +#endif +#if FF_USE_FASTSEEK + DWORD* cltbl; /* Pointer to the cluster link map table (nulled on open, set by application) */ +#endif +#if !FF_FS_TINY + BYTE buf[FF_MAX_SS]; /* File private data read/write window */ +#endif +} FIL; + + + +/* Directory object structure (DIR) */ + +typedef struct { + FFOBJID obj; /* Object identifier */ + DWORD dptr; /* Current read/write offset */ + DWORD clust; /* Current cluster */ + DWORD sect; /* Current sector (0:Read operation has terminated) */ + BYTE* dir; /* Pointer to the directory item in the win[] */ + BYTE fn[12]; /* SFN (in/out) {body[8],ext[3],status[1]} */ +#if FF_USE_LFN + DWORD blk_ofs; /* Offset of current entry block being processed (0xFFFFFFFF:Invalid) */ +#endif +#if FF_USE_FIND + const TCHAR* pat; /* Pointer to the name matching pattern */ +#endif +} DIR; + + + +/* File information structure (FILINFO) */ + +typedef struct { + FSIZE_t fsize; /* File size */ + WORD fdate; /* Modified date */ + WORD ftime; /* Modified time */ + BYTE fattrib; /* File attribute */ +#if FF_USE_LFN + TCHAR altname[FF_SFN_BUF + 1];/* Altenative file name */ + TCHAR fname[FF_LFN_BUF + 1]; /* Primary file name */ +#else + TCHAR fname[12 + 1]; /* File name */ +#endif +} FILINFO; + + + +/* File function return code (FRESULT) */ + +typedef enum { + FR_OK = 0, /* (0) Succeeded */ + FR_DISK_ERR, /* (1) A hard error occurred in the low level disk I/O layer */ + FR_INT_ERR, /* (2) Assertion failed */ + FR_NOT_READY, /* (3) The physical drive cannot work */ + FR_NO_FILE, /* (4) Could not find the file */ + FR_NO_PATH, /* (5) Could not find the path */ + FR_INVALID_NAME, /* (6) The path name format is invalid */ + FR_DENIED, /* (7) Access denied due to prohibited access or directory full */ + FR_EXIST, /* (8) Access denied due to prohibited access */ + FR_INVALID_OBJECT, /* (9) The file/directory object is invalid */ + FR_WRITE_PROTECTED, /* (10) The physical drive is write protected */ + FR_INVALID_DRIVE, /* (11) The logical drive number is invalid */ + FR_NOT_ENABLED, /* (12) The volume has no work area */ + FR_NO_FILESYSTEM, /* (13) There is no valid FAT volume */ + FR_MKFS_ABORTED, /* (14) The f_mkfs() aborted due to any problem */ + FR_TIMEOUT, /* (15) Could not get a grant to access the volume within defined period */ + FR_LOCKED, /* (16) The operation is rejected according to the file sharing policy */ + FR_NOT_ENOUGH_CORE, /* (17) LFN working buffer could not be allocated */ + FR_TOO_MANY_OPEN_FILES, /* (18) Number of open files > FF_FS_LOCK */ + FR_INVALID_PARAMETER /* (19) Given parameter is invalid */ +} FRESULT; + + + +/*--------------------------------------------------------------*/ +/* FatFs module application interface */ + +FRESULT f_open (FIL* fp, const TCHAR* path, BYTE mode); /* Open or create a file */ +FRESULT f_close (FIL* fp); /* Close an open file object */ +FRESULT f_read (FIL* fp, void* buff, UINT btr, UINT* br); /* Read data from the file */ +FRESULT f_write (FIL* fp, const void* buff, UINT btw, UINT* bw); /* Write data to the file */ +FRESULT f_lseek (FIL* fp, FSIZE_t ofs); /* Move file pointer of the file object */ +FRESULT f_truncate (FIL* fp); /* Truncate the file */ +FRESULT f_sync (FIL* fp); /* Flush cached data of the writing file */ +FRESULT f_opendir (DIR* dp, const TCHAR* path); /* Open a directory */ +FRESULT f_closedir (DIR* dp); /* Close an open directory */ +FRESULT f_readdir (DIR* dp, FILINFO* fno); /* Read a directory item */ +FRESULT f_findfirst (DIR* dp, FILINFO* fno, const TCHAR* path, const TCHAR* pattern); /* Find first file */ +FRESULT f_findnext (DIR* dp, FILINFO* fno); /* Find next file */ +FRESULT f_mkdir (const TCHAR* path); /* Create a sub directory */ +FRESULT f_unlink (const TCHAR* path); /* Delete an existing file or directory */ +FRESULT f_rename (const TCHAR* path_old, const TCHAR* path_new); /* Rename/Move a file or directory */ +FRESULT f_stat (const TCHAR* path, FILINFO* fno); /* Get file status */ +FRESULT f_chmod (const TCHAR* path, BYTE attr, BYTE mask); /* Change attribute of a file/dir */ +FRESULT f_utime (const TCHAR* path, const FILINFO* fno); /* Change timestamp of a file/dir */ +FRESULT f_chdir (const TCHAR* path); /* Change current directory */ +FRESULT f_chdrive (const TCHAR* path); /* Change current drive */ +FRESULT f_getcwd (TCHAR* buff, UINT len); /* Get current directory */ +FRESULT f_getfree (const TCHAR* path, DWORD* nclst, FATFS** fatfs); /* Get number of free clusters on the drive */ +FRESULT f_getlabel (const TCHAR* path, TCHAR* label, DWORD* vsn); /* Get volume label */ +FRESULT f_setlabel (const TCHAR* label); /* Set volume label */ +FRESULT f_forward (FIL* fp, UINT(*func)(const BYTE*,UINT), UINT btf, UINT* bf); /* Forward data to the stream */ +FRESULT f_expand (FIL* fp, FSIZE_t szf, BYTE opt); /* Allocate a contiguous block to the file */ +FRESULT f_mount (FATFS* fs, const TCHAR* path, BYTE opt); /* Mount/Unmount a logical drive */ +FRESULT f_mkfs (const TCHAR* path, BYTE opt, DWORD au, void* work, UINT len); /* Create a FAT volume */ +FRESULT f_fdisk (BYTE pdrv, const DWORD* szt, void* work); /* Divide a physical drive into some partitions */ +FRESULT f_setcp (WORD cp); /* Set current code page */ +int f_putc (TCHAR c, FIL* fp); /* Put a character to the file */ +int f_puts (const TCHAR* str, FIL* cp); /* Put a string to the file */ +int f_printf (FIL* fp, const TCHAR* str, ...); /* Put a formatted string to the file */ +TCHAR* f_gets (TCHAR* buff, int len, FIL* fp); /* Get a string from the file */ + +#define f_eof(fp) ((int)((fp)->fptr == (fp)->obj.objsize)) +#define f_error(fp) ((fp)->err) +#define f_tell(fp) ((fp)->fptr) +#define f_size(fp) ((fp)->obj.objsize) +#define f_rewind(fp) f_lseek((fp), 0) +#define f_rewinddir(dp) f_readdir((dp), 0) +#define f_rmdir(path) f_unlink(path) +#define f_unmount(path) f_mount(0, path, 0) + +#ifndef EOF +#define EOF (-1) +#endif + + + + +/*--------------------------------------------------------------*/ +/* Additional user defined functions */ + +/* RTC function */ +#if !FF_FS_READONLY && !FF_FS_NORTC +DWORD get_fattime (void); +#endif + +/* LFN support functions */ +#if FF_USE_LFN >= 1 /* Code conversion (defined in unicode.c) */ +WCHAR ff_oem2uni (WCHAR oem, WORD cp); /* OEM code to Unicode conversion */ +WCHAR ff_uni2oem (DWORD uni, WORD cp); /* Unicode to OEM code conversion */ +DWORD ff_wtoupper (DWORD uni); /* Unicode upper-case conversion */ +#endif +#if FF_USE_LFN == 3 /* Dynamic memory allocation */ +void* ff_memalloc (UINT msize); /* Allocate memory block */ +void ff_memfree (void* mblock); /* Free memory block */ +#endif + +/* Sync functions */ +#if FF_FS_REENTRANT +int ff_cre_syncobj (BYTE vol, FF_SYNC_t* sobj); /* Create a sync object */ +int ff_req_grant (FF_SYNC_t sobj); /* Lock sync object */ +void ff_rel_grant (FF_SYNC_t sobj); /* Unlock sync object */ +int ff_del_syncobj (FF_SYNC_t sobj); /* Delete a sync object */ +#endif + + + + +/*--------------------------------------------------------------*/ +/* Flags and offset address */ + + +/* File access mode and open method flags (3rd argument of f_open) */ +#define FA_READ 0x01 +#define FA_WRITE 0x02 +#define FA_OPEN_EXISTING 0x00 +#define FA_CREATE_NEW 0x04 +#define FA_CREATE_ALWAYS 0x08 +#define FA_OPEN_ALWAYS 0x10 +#define FA_OPEN_APPEND 0x30 + +/* Fast seek controls (2nd argument of f_lseek) */ +#define CREATE_LINKMAP ((FSIZE_t)0 - 1) + +/* Format options (2nd argument of f_mkfs) */ +#define FM_FAT 0x01 +#define FM_FAT32 0x02 +#define FM_EXFAT 0x04 +#define FM_ANY 0x07 +#define FM_SFD 0x08 + +/* Filesystem type (FATFS.fs_type) */ +#define FS_FAT12 1 +#define FS_FAT16 2 +#define FS_FAT32 3 +#define FS_EXFAT 4 + +/* File attribute bits for directory entry (FILINFO.fattrib) */ +#define AM_RDO 0x01 /* Read only */ +#define AM_HID 0x02 /* Hidden */ +#define AM_SYS 0x04 /* System */ +#define AM_DIR 0x10 /* Directory */ +#define AM_ARC 0x20 /* Archive */ + + +#ifdef __cplusplus +} +#endif + +#endif /* FF_DEFINED */ diff --git a/examples/gif_from_spi_flash/ffconf.h b/examples/gif_from_spi_flash/ffconf.h new file mode 100644 index 0000000..6e6efd0 --- /dev/null +++ b/examples/gif_from_spi_flash/ffconf.h @@ -0,0 +1,288 @@ +/*---------------------------------------------------------------------------/ +/ FatFs Functional Configurations +/---------------------------------------------------------------------------*/ + +#define FFCONF_DEF 86604 /* Revision ID */ + +/*---------------------------------------------------------------------------/ +/ Function Configurations +/---------------------------------------------------------------------------*/ + +#define FF_FS_READONLY 0 +/* This option switches read-only configuration. (0:Read/Write or 1:Read-only) +/ Read-only configuration removes writing API functions, f_write(), f_sync(), +/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree() +/ and optional writing functions as well. */ + + +#define FF_FS_MINIMIZE 0 +/* This option defines minimization level to remove some basic API functions. +/ +/ 0: Basic functions are fully enabled. +/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename() +/ are removed. +/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1. +/ 3: f_lseek() function is removed in addition to 2. */ + + +#define FF_USE_STRFUNC 0 +/* This option switches string functions, f_gets(), f_putc(), f_puts() and f_printf(). +/ +/ 0: Disable string functions. +/ 1: Enable without LF-CRLF conversion. +/ 2: Enable with LF-CRLF conversion. */ + + +#define FF_USE_FIND 0 +/* This option switches filtered directory read functions, f_findfirst() and +/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */ + + +#define FF_USE_MKFS 1 +/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */ + + +#define FF_USE_FASTSEEK 0 +/* This option switches fast seek function. (0:Disable or 1:Enable) */ + + +#define FF_USE_EXPAND 0 +/* This option switches f_expand function. (0:Disable or 1:Enable) */ + + +#define FF_USE_CHMOD 0 +/* This option switches attribute manipulation functions, f_chmod() and f_utime(). +/ (0:Disable or 1:Enable) Also FF_FS_READONLY needs to be 0 to enable this option. */ + + +#define FF_USE_LABEL 1 +/* This option switches volume label functions, f_getlabel() and f_setlabel(). +/ (0:Disable or 1:Enable) */ + + +#define FF_USE_FORWARD 0 +/* This option switches f_forward() function. (0:Disable or 1:Enable) */ + + +/*---------------------------------------------------------------------------/ +/ Locale and Namespace Configurations +/---------------------------------------------------------------------------*/ + +#define FF_CODE_PAGE 437 +/* This option specifies the OEM code page to be used on the target system. +/ Incorrect code page setting can cause a file open failure. +/ +/ 437 - U.S. +/ 720 - Arabic +/ 737 - Greek +/ 771 - KBL +/ 775 - Baltic +/ 850 - Latin 1 +/ 852 - Latin 2 +/ 855 - Cyrillic +/ 857 - Turkish +/ 860 - Portuguese +/ 861 - Icelandic +/ 862 - Hebrew +/ 863 - Canadian French +/ 864 - Arabic +/ 865 - Nordic +/ 866 - Russian +/ 869 - Greek 2 +/ 932 - Japanese (DBCS) +/ 936 - Simplified Chinese (DBCS) +/ 949 - Korean (DBCS) +/ 950 - Traditional Chinese (DBCS) +/ 0 - Include all code pages above and configured by f_setcp() +*/ + + +#define FF_USE_LFN 0 +#define FF_MAX_LFN 255 +/* The FF_USE_LFN switches the support for LFN (long file name). +/ +/ 0: Disable LFN. FF_MAX_LFN has no effect. +/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe. +/ 2: Enable LFN with dynamic working buffer on the STACK. +/ 3: Enable LFN with dynamic working buffer on the HEAP. +/ +/ To enable the LFN, ffunicode.c needs to be added to the project. The LFN function +/ requiers certain internal working buffer occupies (FF_MAX_LFN + 1) * 2 bytes and +/ additional (FF_MAX_LFN + 44) / 15 * 32 bytes when exFAT is enabled. +/ The FF_MAX_LFN defines size of the working buffer in UTF-16 code unit and it can +/ be in range of 12 to 255. It is recommended to be set 255 to fully support LFN +/ specification. +/ When use stack for the working buffer, take care on stack overflow. When use heap +/ memory for the working buffer, memory management functions, ff_memalloc() and +/ ff_memfree() in ffsystem.c, need to be added to the project. */ + + +#define FF_LFN_UNICODE 0 +/* This option switches the character encoding on the API when LFN is enabled. +/ +/ 0: ANSI/OEM in current CP (TCHAR = char) +/ 1: Unicode in UTF-16 (TCHAR = WCHAR) +/ 2: Unicode in UTF-8 (TCHAR = char) +/ 3: Unicode in UTF-32 (TCHAR = DWORD) +/ +/ Also behavior of string I/O functions will be affected by this option. +/ When LFN is not enabled, this option has no effect. */ + + +#define FF_LFN_BUF 255 +#define FF_SFN_BUF 12 +/* This set of options defines size of file name members in the FILINFO structure +/ which is used to read out directory items. These values should be suffcient for +/ the file names to read. The maximum possible length of the read file name depends +/ on character encoding. When LFN is not enabled, these options have no effect. */ + + +#define FF_STRF_ENCODE 3 +/* When FF_LFN_UNICODE >= 1 with LFN enabled, string I/O functions, f_gets(), +/ f_putc(), f_puts and f_printf() convert the character encoding in it. +/ This option selects assumption of character encoding ON THE FILE to be +/ read/written via those functions. +/ +/ 0: ANSI/OEM in current CP +/ 1: Unicode in UTF-16LE +/ 2: Unicode in UTF-16BE +/ 3: Unicode in UTF-8 +*/ + + +#define FF_FS_RPATH 0 +/* This option configures support for relative path. +/ +/ 0: Disable relative path and remove related functions. +/ 1: Enable relative path. f_chdir() and f_chdrive() are available. +/ 2: f_getcwd() function is available in addition to 1. +*/ + + +/*---------------------------------------------------------------------------/ +/ Drive/Volume Configurations +/---------------------------------------------------------------------------*/ + +#define FF_VOLUMES 1 +/* Number of volumes (logical drives) to be used. (1-10) */ + + +#define FF_STR_VOLUME_ID 0 +#define FF_VOLUME_STRS "RAM","NAND","CF","SD","SD2","USB","USB2","USB3" +/* FF_STR_VOLUME_ID switches support for volume ID in arbitrary strings. +/ When FF_STR_VOLUME_ID is set to 1 or 2, arbitrary strings can be used as drive +/ number in the path name. FF_VOLUME_STRS defines the volume ID strings for each +/ logical drives. Number of items must not be less than FF_VOLUMES. Valid +/ characters for the volume ID strings are A-Z, a-z and 0-9, however, they are +/ compared in case-insensitive. If FF_STR_VOLUME_ID >= 1 and FF_VOLUME_STRS is +/ not defined, a user defined volume string table needs to be defined as: +/ +/ const char* VolumeStr[FF_VOLUMES] = {"ram","flash","sd","usb",... +*/ + + +#define FF_MULTI_PARTITION 0 +/* This option switches support for multiple volumes on the physical drive. +/ By default (0), each logical drive number is bound to the same physical drive +/ number and only an FAT volume found on the physical drive will be mounted. +/ When this function is enabled (1), each logical drive number can be bound to +/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk() +/ funciton will be available. */ + + +#define FF_MIN_SS 512 +#define FF_MAX_SS 512 +/* This set of options configures the range of sector size to be supported. (512, +/ 1024, 2048 or 4096) Always set both 512 for most systems, generic memory card and +/ harddisk. But a larger value may be required for on-board flash memory and some +/ type of optical media. When FF_MAX_SS is larger than FF_MIN_SS, FatFs is configured +/ for variable sector size mode and disk_ioctl() function needs to implement +/ GET_SECTOR_SIZE command. */ + + +#define FF_USE_TRIM 0 +/* This option switches support for ATA-TRIM. (0:Disable or 1:Enable) +/ To enable Trim function, also CTRL_TRIM command should be implemented to the +/ disk_ioctl() function. */ + + +#define FF_FS_NOFSINFO 0 +/* If you need to know correct free space on the FAT32 volume, set bit 0 of this +/ option, and f_getfree() function at first time after volume mount will force +/ a full FAT scan. Bit 1 controls the use of last allocated cluster number. +/ +/ bit0=0: Use free cluster count in the FSINFO if available. +/ bit0=1: Do not trust free cluster count in the FSINFO. +/ bit1=0: Use last allocated cluster number in the FSINFO if available. +/ bit1=1: Do not trust last allocated cluster number in the FSINFO. +*/ + + + +/*---------------------------------------------------------------------------/ +/ System Configurations +/---------------------------------------------------------------------------*/ + +#define FF_FS_TINY 0 +/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny) +/ At the tiny configuration, size of file object (FIL) is shrinked FF_MAX_SS bytes. +/ Instead of private sector buffer eliminated from the file object, common sector +/ buffer in the filesystem object (FATFS) is used for the file data transfer. */ + + +#define FF_FS_EXFAT 0 +/* This option switches support for exFAT filesystem. (0:Disable or 1:Enable) +/ To enable exFAT, also LFN needs to be enabled. (FF_USE_LFN >= 1) +/ Note that enabling exFAT discards ANSI C (C89) compatibility. */ + + +#define FF_FS_NORTC 1 +#define FF_NORTC_MON 1 +#define FF_NORTC_MDAY 1 +#define FF_NORTC_YEAR 2019 +/* The option FF_FS_NORTC switches timestamp functiton. If the system does not have +/ any RTC function or valid timestamp is not needed, set FF_FS_NORTC = 1 to disable +/ the timestamp function. Every object modified by FatFs will have a fixed timestamp +/ defined by FF_NORTC_MON, FF_NORTC_MDAY and FF_NORTC_YEAR in local time. +/ To enable timestamp function (FF_FS_NORTC = 0), get_fattime() function need to be +/ added to the project to read current time form real-time clock. FF_NORTC_MON, +/ FF_NORTC_MDAY and FF_NORTC_YEAR have no effect. +/ These options have no effect at read-only configuration (FF_FS_READONLY = 1). */ + + +#define FF_FS_LOCK 0 +/* The option FF_FS_LOCK switches file lock function to control duplicated file open +/ and illegal operation to open objects. This option must be 0 when FF_FS_READONLY +/ is 1. +/ +/ 0: Disable file lock function. To avoid volume corruption, application program +/ should avoid illegal open, remove and rename to the open objects. +/ >0: Enable file lock function. The value defines how many files/sub-directories +/ can be opened simultaneously under file lock control. Note that the file +/ lock control is independent of re-entrancy. */ + + +/* #include // O/S definitions */ +#define FF_FS_REENTRANT 0 +#define FF_FS_TIMEOUT 1000 +#define FF_SYNC_t HANDLE +/* The option FF_FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs +/ module itself. Note that regardless of this option, file access to different +/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs() +/ and f_fdisk() function, are always not re-entrant. Only file/directory access +/ to the same volume is under control of this function. +/ +/ 0: Disable re-entrancy. FF_FS_TIMEOUT and FF_SYNC_t have no effect. +/ 1: Enable re-entrancy. Also user provided synchronization handlers, +/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj() +/ function, must be added to the project. Samples are available in +/ option/syscall.c. +/ +/ The FF_FS_TIMEOUT defines timeout period in unit of time tick. +/ The FF_SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*, +/ SemaphoreHandle_t and etc. A header file for O/S definitions needs to be +/ included somewhere in the scope of ff.h. */ + + + +/*--- End of configuration options ---*/ diff --git a/examples/gif_from_spi_flash/gif_from_spi_flash.ino b/examples/gif_from_spi_flash/gif_from_spi_flash.ino new file mode 100644 index 0000000..e03cc6a --- /dev/null +++ b/examples/gif_from_spi_flash/gif_from_spi_flash.ino @@ -0,0 +1,553 @@ +// +// SPI FLASH & DMA example +// +// An AnimatedGIF example sketch which demonstrates how to play GIF files from SD cards and/or SPI FLASH +// to an SPI LCD display as efficiently as possible. This sketch specifically looks for a single file +// to be present on the SD card and if present, will copy it onto SPI FLASH for faster playback. +// By using SPI FLASH (a different SPI bus than that used by the SD card), DMA can be used to send +// the pixels faster to the SPI LCD. When the LCD and SD card share the same SPI bus, DMA can't be used because +// the chip select of the display needs to be disabled to access the SD card. A DMA engine would still be writing +// data to the LCD when the CS flips, the data will be mistakenly sent to the SD card. +// +// written by Larry Bank (bitbank@pobox.com) +// +// The target platform used for this example is the Adafruit Feather M4 Express with the 2.4" TFT Featherwing +// The same code can work on many different boards with minor changes +// +// NOTE: To run this sketch, copy the sample GIF file in this directory (PATTERN.GIF) to the uSD card first +// +#include +#include "SPI.h" +#include "Adafruit_GFX.h" +#include "Adafruit_ILI9341.h" +//#include +#include +#include +// Since SdFat doesn't fully support FAT12 such as format a new flash +// We will use Elm Cham's fatfs f_mkfs() to format +#include "ff.h" +#include "diskio.h" +// up to 11 characters +#define DISK_LABEL "EXT FLASH" +#define FILENAME "/PATTERN.GIF" + + // On-board external flash (QSPI or SPI) macros should already + // defined in your board variant if supported + // - EXTERNAL_FLASH_USE_QSPI + // - EXTERNAL_FLASH_USE_CS/EXTERNAL_FLASH_USE_SPI + #if defined(EXTERNAL_FLASH_USE_QSPI) + Adafruit_FlashTransport_QSPI flashTransport; + + #elif defined(EXTERNAL_FLASH_USE_SPI) + Adafruit_FlashTransport_SPI flashTransport(EXTERNAL_FLASH_USE_CS, EXTERNAL_FLASH_USE_SPI); + + #else + #error No QSPI/SPI flash are defined on your board variant.h ! + #endif +Adafruit_SPIFlash flash(&flashTransport); +SdFat onboardSdCard; +// file system object from SdFat +FatFileSystem fatfs; +// Elm Cham's fatfs objects +FATFS elmchamFatfs; +uint8_t workbuf[4096]; // Working buffer for f_fdisk function. +static bool bFromFLASH = false; // indicates if file should be run from the SD card or FLASH file system + +// +// This define can select between having a backing buffer (faster output) or using less memory. +// The backing buffer is defined to be 16-bits per pixel and the size of the output display (320x240 in this case) +// 320x240x2 = 153600 bytes. This quantity of RAM is not available on all Microcontrollers and for this reason +// the sketch provides code to draw GIFs with and without the use of this memory. Without the backing RAM, the +// transparent pixels of each frame must be skipped on the LCD framebuffer through a slower set of commands. +// +//#define USE_RAM + +// Display settings for Adafruit TFT Featherwing (ILI9341) +#define TFT_DC 10 // Data/command pin +#define TFT_CS 9 // Chip-select pin + +#define DISPLAY_WIDTH 320 +#define DISPLAY_HEIGHT 240 + +#define SDCARD_CS 5 + +#ifdef USE_RAM +// +// Hold the entire (16-bits per pixel) GIF image in RAM to speed up LCD output of transparent sections +// We could potentially store the GIF image as 8-bits per pixel, but that can create a problem... +// Often the color palette is changed on new frames and transparent pixels' palette entries are reused +// for a different color. If we only kept 8-bits per pixel, those re-used entries would show up as the wrong +// color for frames which have transparent pixels and re-use the values. In other words, if pixel 0,0 was +// written as value 0x01 with color palette entry of 0x00ff00 (pure green), suppose that the next frame the +// pixel was to remain green and a transparent color was written to position (0,0) to keep the color from +// changing, but... palette entry 1 was re-used and set to blue (0xff0000). If we only had 8-bits of info +// for the old version of the frame, we would incorrectly draw pixel 0,0 as blue because of the palette change. +// By holding onto the translated color (green), we would display the frame correctly. +// +static uint16_t usImage[DISPLAY_WIDTH * DISPLAY_HEIGHT]; +#endif // USE_RAM + +//Adafruit_ILI9341 tft = Adafruit_ILI9341(tft8bitbus, TFT_D0, TFT_WR, TFT_DC, TFT_CS, TFT_RST, TFT_RD); +Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC); + +AnimatedGIF gif; +File f; +static int iXOff, iYOff; // centering values + +void * GIFOpenFile(const char *fname, int32_t *pSize) +{ +// f = SD.open(fname); + if (bFromFLASH) + f = fatfs.open(fname); + else + f = onboardSdCard.open(fname); + if (f) + { + *pSize = f.size(); + return (void *)&f; + } + return NULL; +} /* GIFOpenFile() */ + +void GIFCloseFile(void *pHandle) +{ + File *f = static_cast(pHandle); + if (f != NULL) + f->close(); +} /* GIFCloseFile() */ + +int32_t GIFReadFile(GIFFILE *pFile, uint8_t *pBuf, int32_t iLen) +{ + int32_t iBytesRead; + iBytesRead = iLen; + File *f = static_cast(pFile->fHandle); + // Note: If you read a file all the way to the last byte, seek() stops working + if ((pFile->iSize - pFile->iPos) < iLen) + iBytesRead = pFile->iSize - pFile->iPos - 1; // <-- ugly work-around + if (iBytesRead <= 0) + return 0; + iBytesRead = (int32_t)f->read(pBuf, iBytesRead); + pFile->iPos = f->position(); + return iBytesRead; +} /* GIFReadFile() */ + +int32_t GIFSeekFile(GIFFILE *pFile, int32_t iPosition) +{ + File *f = static_cast(pFile->fHandle); + f->seek(iPosition); + pFile->iPos = (int32_t)f->position(); + return pFile->iPos; +} /* GIFSeekFile() */ + +#ifdef USE_RAM +// +// Callback function to receive each line of the image as it decodes. +// This implementation uses a backing buffer to allow more efficient +// handling of transparent pixels. With a RAM copy of the last frame +// transparent pixels can just be skipped. With using system RAM +// we would need to "jump over" the transparent pixels on the LCD's +// frame buffer and this slows things down quite a bit with SPI LCDs +// +void GIFDraw(GIFDRAW *pDraw) +{ + uint8_t *s; + uint16_t *d, *usPalette; + int x, iWidth; + + iWidth = pDraw->iWidth; + if (iWidth + pDraw->iX > DISPLAY_WIDTH) + iWidth = DISPLAY_WIDTH - pDraw->iX; + usPalette = pDraw->pPalette; + if (pDraw->iY + pDraw->y >= DISPLAY_HEIGHT || pDraw->iX >= DISPLAY_WIDTH || iWidth < 1) + return; + if (!bFromFLASH) + tft.startWrite(); + if (pDraw->y == 0) { // start of frame, set address window on LCD + if (bFromFLASH) + tft.dmaWait(); // wait for previous writes to complete before trying to access the LCD + tft.setAddrWindow(iXOff + pDraw->iX, iYOff + pDraw->iY, pDraw->iWidth, pDraw->iHeight); + // By setting the address window to the size of the current GIF frame, we can just write + // continuously over the whole frame without having to set the address window again + } + s = pDraw->pPixels; + if (pDraw->ucDisposalMethod == 2) // restore to background color + { + for (x=0; xucTransparent) + s[x] = pDraw->ucBackground; + } + pDraw->ucHasTransparency = 0; + } + + // Apply the new pixels to the main image + d = &usImage[pDraw->iWidth * pDraw->y]; + if (pDraw->ucHasTransparency) // if transparency used + { + uint8_t c, ucTransparent = pDraw->ucTransparent; + int x; + for (x=0; x < iWidth; x++) + { + c = *s++; + if (c != ucTransparent) + d[x] = usPalette[c]; + } + } + else + { + // Translate the 8-bit pixels through the RGB565 palette (already byte reversed) + for (x=0; xiWidth; + if (iWidth + pDraw->iX > DISPLAY_WIDTH) + iWidth = DISPLAY_WIDTH - pDraw->iX; + usPalette = pDraw->pPalette; + y = pDraw->iY + pDraw->y; // current line + if (y >= DISPLAY_HEIGHT || pDraw->iX >= DISPLAY_WIDTH || iWidth < 1) + return; + if (!bFromFLASH) + tft.startWrite(); + s = pDraw->pPixels; + if (pDraw->ucDisposalMethod == 2) // restore to background color + { + for (x=0; xucTransparent) + s[x] = pDraw->ucBackground; + } + pDraw->ucHasTransparency = 0; + } + // + // Apply the new pixels to the main image + // We need to search for runs of transparent pixels and runs of opaque pixels + // to efficiently send them to the SPI LCD. + // Transparent pixels will be skipped since they will retain the previous value, + // and opaque pixels will be transmitted. The performance is negatively affected + // by transparent pixels because the LCD memory write pointer must be moved to + // skip over the transparent pixels. If we didn't search for runs of each pixel + // type and wrote them individually, it would be excruciatingly slow. + // + if (pDraw->ucHasTransparency) // if transparency used + { + uint8_t *pEnd, c, ucTransparent = pDraw->ucTransparent; + int x, iCount; + pEnd = s + iWidth; + x = 0; + iCount = 0; // count non-transparent pixels + while(x < iWidth) + { + c = ucTransparent-1; + d = usTemp; + while (c != ucTransparent && s < pEnd) + { + c = *s++; + if (c == ucTransparent) // done, stop + { + s--; // back up to treat it like transparent + } + else // opaque + { + *d++ = usPalette[c]; + iCount++; + } + } // while looking for opaque pixels + if (iCount) // any opaque pixels? + { + if (bFromFLASH) + tft.dmaWait(); // wait for last write to complete + tft.setAddrWindow(iXOff + pDraw->iX + x, iYOff + y, iCount, 1); + tft.writePixels(usTemp, iCount, !bFromFLASH, false); + x += iCount; + iCount = 0; + } + // no, look for a run of transparent pixels + c = ucTransparent; + while (c == ucTransparent && s < pEnd) + { + c = *s++; + if (c == ucTransparent) + iCount++; + else + s--; + } + if (iCount) + { + x += iCount; // skip these + iCount = 0; + } + } + } + else // There aren't any transparent pixels, so just convert and send the line in one pass + { + s = pDraw->pPixels; + // Translate the 8-bit pixels through the RGB565 palette (already byte reversed) + for (x=0; xiX, iYOff + y, iWidth, 1); + // We write with block set to FALSE (3rd param) so that we can be decoding the next + // line while the DMA hardware continues to write data to the LCD controller + tft.writePixels(usTemp, iWidth, !bFromFLASH, false); + } +} /* GIFDraw() */ + +#endif // USE_RAM + +void setup() { + int iTimeout; + Serial.begin(115200); + iTimeout = 0; + while (!Serial && iTimeout < 4) // don't let it hang + { + delay(500); + iTimeout++; + } + +// Note - some systems (ESP32?) require an SPI.begin() before calling SD.begin() +// this code was tested on a Teensy 4.1 board + +// if(!SD.begin(BUILTIN_SDCARD)) + if (!onboardSdCard.begin(SDCARD_CS)) + { + Serial.println("SD Card mount failed!"); + // Try to mount the FLASH filesystem + flash.begin(); + if (!fatfs.begin(&flash)) { + Serial.println("Error, failed to mount FLASH filesystem!"); + while(1) delay(1); + } + Serial.println("Running from FLASH filesystem"); + bFromFLASH = true; + } + else + { + Serial.println("SD Card mount succeeded!"); + // Copy the GIF file we want from the SD card to the QSPI FLASH + flash.begin(); + Serial.print("Flash size: "); + Serial.print(flash.size() / 1024); + Serial.println(" KB"); + // Call fatfs begin and passed flash object to initialize file system + Serial.println("Creating and formatting FAT filesystem (this takes ~60 seconds)..."); + + // Make filesystem. + FRESULT r = f_mkfs("", FM_FAT | FM_SFD, 0, workbuf, sizeof(workbuf)); + if (r != FR_OK) { + Serial.print("Error, f_mkfs failed with error code: "); Serial.println(r, DEC); + while(1) yield(); + } + + // mount to set disk label + r = f_mount(&elmchamFatfs, "0:", 1); + if (r != FR_OK) { + Serial.print("Error, f_mount failed with error code: "); Serial.println(r, DEC); + while(1) yield(); + } + + // Setting label + Serial.println("Setting disk label to: " DISK_LABEL); + r = f_setlabel(DISK_LABEL); + if (r != FR_OK) { + Serial.print("Error, f_setlabel failed with error code: "); Serial.println(r, DEC); + while(1) yield(); + } + + // unmount + f_unmount("0:"); + // sync to make sure all data is written to flash + flash.syncBlocks(); + + Serial.println("Formatted flash!"); + + // Check new filesystem + if (!fatfs.begin(&flash)) { + Serial.println("Error, failed to mount newly formatted filesystem!"); + while(1) delay(1); + } + + // Done! + Serial.println("Flash chip successfully formatted with new empty filesystem!"); + // Copy file from uSD to flash + File s, d; + int iSize, iRead; + s = onboardSdCard.open(FILENAME); + d = fatfs.open(FILENAME, FILE_WRITE); + if (!d) { + Serial.println("FLASH outputfile failed to open!"); + while(1) delay(1); + } + if (s && d) + { + iSize = s.size(); + if (iSize > flash.size()) { + Serial.println("File won't fit in FLASH, aborting..."); + while(1) delay(1); + } + Serial.print("Copying "); Serial.print(iSize, DEC); + Serial.println(" bytes"); + for (int i=0; i

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 z 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%0A;HkE64X8BgjK&seN<_!gjafurVbnAu+PGa10 zcI0N=nbx@Ff`~X~oUZ2{7t}b;z;0i_%Pi0cpX=a?!hltGt-Qxoj^7^(`YXn}BM0{c zCCh?+b{2>D%swT{9ygideTH0;`I&rtsDyA6QQnEccaGY4E21e+bC3^j0WW&I-0xxx z)*LZ7B9(}|R7Nd}+WhOT2$Rv?Z*(`!x)rQ71_GyqPVmdrM9ZQI($2jt7b;|(b2;>8 zf>ouOfTTfHGN3ig)dS+ZTrE{bOMURW4&9*1^Hnw*)i4&;)jbjYF8D_aq%1PmGa#IXZy|X=s2j$_qoW}S?Yx+B; zcj9iyEa1XLLW7x2MQ_0#{sImL7vBnomP_S+E_*!)XWB1d82>nm7IF(_o&>-`^ zzF-)clIXJeivXh6GH#xo-QPRuH@Px?ZRGLDKfRg8z$ig!+@`DN`a@pLaw^X4Ql`ov z%9elo=iySptk4+7P{p)d6#lSqL;|rzwn?cg@)T=Mv?pol%GlyTB);IlivEDM>qH{z7)w{`yjFFIobGey1%sE;w;`db0G}0O&`2lcx9!U0>T=$cH_jod2U- zSP9_{Zt4R$NgocGPAt#F59OORJ53b0r-Y6NsZ}w;JoZ7_qQQ>w+ZVC-wy!wlCO1QU z6V7&}^8Tk&ifqF|4rM%eKQ%drqhNKHn<$NI3%enS%=BUFPs+7PkRe7-^5*0?cOAz_yXs zz#~?M&4qs>!7JVeRD6Y=!;F8)cKH*Rf|lMsnD|pa|NGw3-_(Z``ljA+J9I=^l4x+> zrk=dzpn~y@b5gd)<1=Yyyqn)|+#2#d-u>nAyX28-g|?DVtFOsOrZ`W7qoB#F@w#2R zaacyvP4ofFd$96981h-F#j`!@H?Mejo6XPPcv3&I^6c8?TZP;S z9JgIt3bV^{>imT{=5*$z)rXSFC~L9{$*$94SHdk+(OouoAn&k-14#FNXn!;WH_p#m z40$Ag*$$VlXLdRAARl$igW0E7FU{0VJsg^S)OYA22Do`WV4;jQh4cESC3v$Q8U4|? z@#HRqc<$D=qevLf$bg1A`F`Tgm8XTY+ZNcuGR9a}TT=X^xrEb7-}3zP6Q%a-zj<%Z z;=A*YH^et?uZ*8pcT%%hyR^Ao(jNal#TX&AVxKj3&u#{yv|m}Czg2m%m<(6 z;lOpw%<%A)jtszzn_jd1?clEQ+1}R$RB2xh9I5AE!IL$Jp65oRG(VizH$g&dCwoRm zy4oILemw7PAL{$DUzU93Nx|Xsdg1+dpQ~pwE%;--w*|K<3rBBwA6hzo^75gn8)~}=4?JJx{%nzU{7Fgp*`0Ew zB(VCB>vvG4|NZbVtLJ-T{-B-I8Ot|_8u-sYR3EK`d8~(@r?NK9MF6`L zxAWiOID)E55zNHi6oi*QCRpB6IhCOBF41MZjL6693>H(r7So{DQPwfw_LEHxZ?%7I z+wEw#bS<9J zc3?)BTO%a-cEXs1Qq8SKe2j?V4AY)3!9BG}nQp)%x4RtolPtiP)_+0DNQ zwC6}1vqY=A-a?oZd2PppcJU(gm@|BaNI%zyn~3FZDSPY75)(V_zM+nCq(ztX>n4Q% z^Ox?Z%LKajiEuwlipHkoIOHziXXv(mu-~f>PC2P)H77I;uq-S9eDiB)7k(Cph)8vcX zspqIb4wBS)V#&YJcl3W*1uT+(#M286Li;Tr#Fx1`;&z{&hOh>I-dOq(Y=eo7kZ&%v zDbbh;+E?J=XP~=!`0C77IjVpLy8w|jTSJqkZ|o+`Uts4G=&MtZhAv$y+KBvS1}gUw z>$zzlD)RQj3TN9IL9~{wHg2QM1d7UStLXi}U{+$Uxd1XdHF2=q zoZ9DRXL*0$JcU>5-z5vruoIx%xBV~5S{{@V6Z8v=@oe0l*(l|b`u;9^Om^ZoYy|9? z8k+bG;~sBtrfyloL?MZ;!4#giQYwTnU7M+rry<}~s!OHS&&WRG~ zC*Fo5{m@#ZWa*W}9$)qp-WBsbZ?Z#6yY51+MEpPB#3R<4X|f@f5oDk)jAW#ZzULRV zd2a*4=|eqE^m|jaEHgPZJcljcr}ZFa7L*N@6BVjq;ND1?yU%{N1i298c~R8Oyk=bL z^PZ@}nx@Xvx*wgaeVxw2J>{SXeQhJ{&`)1%8;2&h8m6x$x8Kw3i46YBl#`0R3GQ`I zuaoHJv!~r|Jrw}2ME3Tke)a1$;hFa?Qv#05pJ!PF%$4zIC*&@e=$ta5IZ0&9`~Bfl z&<%Y1J~=(h zunAX&4f@OM-0$h;(T|z;2M7P8fT}SZip&*MjBcw0Vb2m{CaZ3=`N&wZ_x1rFD27)* zJ|4gMHA5Pef>#{iEQ{D=ZBTwltU;T?pUXUdp#qsXnnpC0;-XKH#igoPM2Wb(8^hu= zhRZ`2X4i02znoEKV>@*I`e@B{GqY~Z9d{%>_woVqzK~k0PeqQaVNmREN?a7ym7}V4 zn4#FQM!_DW6zeE^J}4qXO%GS@*+i+CS(V`VMVo;cZ=kAl}pbX zr57vhLMfbYeo>v^9UFp(YYtbb2S*ljvE-B9bd-C(J+OQArJ_kHQ{ylvEd-I!`mu8H zYe-M2Ufn1r^bJf;Zi#NcJWWfAhlUBCw^%J};K46U0{NL|Zm#=`Cy5=l9ft>k5vZ(# z>H34gL6b)vH?ELxLoiu>Y1@eWqty{&8eV+cMG*@QBUgdX*Ain;EU&+@yH-LzVvr?c zNt*<9mdQtBLvn#Y{>|XoC~=210GmXw%ek6s*1|8qx%1iKIKS=L2VYW1i^VefR4oee zww&i1u?ElFM(u!c%xFBI@pl=0R;}BR#@UL#LKFKO{!G-nbu(0ygHc;e@Nu9y*rb@j z%4>|;a~GAQvzAdnu#2rqJc7CeLFdiT(CZkh`&I)0!V}Y7g}{H~W#qI4OvAC(asWTl zBu5{W4-c8EZ1qpvvf81_e0g!l=v@@eLtp?gZk+g!+qp?!XGhYoMd>^Z8PAzNkS!f~eztq^`-cD=tzY`Xrj6K7l`tc6}R@Jiy4cLm|QJ zA_vw3RIkN3S&Z^RwmS>>mx>K``@%XYNR&GF{i_^P$HYD0(ay}*&kx(K)@%j-bW5mB zfzfQ%yok|dDmi*5nRd_T#9lC4-tW@MfD%z6J;KFG-ZTSbAq>3087Z?xwY)BVzn`SG zRkK$|>9lT}6BrdiD=;3MKO7PaZvOUd$gkLd5sF{XSm$3O(sI-`VMTN{Rx2`IUYc`O z_!It3-Y@o2gN_Js+47IX91d6`V(U(;yqI1#3(v+o>`Lm)#RC@iUW!$8Er;&t58Si! zQtDpRO^{Gv+A++aC>7jdN-Td<(qb42uXmD8Nd#DdZI4rG%ym10*R!JC6FpPHB#g~C zIN~MbN{_DF_We@SdTbhPlC`spH%bhL|6G%*YCx* zWxbq(DZOVOJU3|KGmLKil7n3%&g{Q!OtX9d&zbPWM4BN9eVvUq)it0sf}gKX%3MbG zVs$i&6K2w)13s*eiE`H>9c(patfxf30Kp$`=0l+IL7;5TqbtcGQDM#&Jmc^zl>Wr_ zp|U%)>%i$XiIVPUDeNdVbhdBPdm3u^CRvWk&(AqTLlH9J^CLLvr09?rO(~P2+l(RN zUVHqFZRN#^ATv#`6rFH1@AO5p&GMqaKV5}>ZxQ0xVU4$ozyFmMyF-7e>&g}PwL17j z9-DtT-0ek4yrLWt4-<^<8-r?qB)NG(h60LG>9TRRBRf>sO+pK8e6fpH-??Dy$Cj=O z_nw>ll&r&}$j=9$wWBejO_3M$^;vf;c{HO!?wf5JFWaA=KU0`|k1Uyce02#RCx)eJ zfv*C)jBXv$Q~zEGx9EA@i)ZJ~-&Xx@ss8(I$VO6|^ny~{s=dg1gf`B~H5urZ5{b!2 zE$_AG6ttuWcjapC)UEX&3@%)JjPiP)pLxFmTk}${?WcOO)83^?#wS9$gG>50B0N=- zR6MyScp2{kprP|hN`Qr#1L`YU(uKO^#|31&9BX`kb_*x_PVJ^z9_+Kcis3sW|CW4)h zC49w^RNGblbMex#L?vg+&Ub=s_mRDm8$yo6V($u!tmo{vl28Zo^vj{56;Q|&xn{wd z473(K(g2?eu2{}~4|b-Q?4CIMo*pZ?;_#zCB!?<q4&9%Czg>D*AfPj5poZ|%grT-$*URlY02lgnf;N8~uNX`Rh`+*ag z8SfOc1AY>l}HTZT8CQiw&!4W*$mIKm3Jv#VbSB2eYhAq9g z&lL`F5%&?5ihGtUWu5jN(pmp0Dc?aVB#~-@QH%b74-Hl~K(~DL6cSMl{wm|6$ljGS zBe!bH%t|6gxB?(lPI$c3-yu1lwNbEx#v=b-CcM%uU!s@WYdOWd+5Tq8t(y-ZR>nI+ zst^3KY?v!@!B%QKC^&|JpDCdv6tcOz6+f>v-zWSzZq6v)-%|rpn4&1 z%oV%ChCk)ip8RF0NmqR2+JM8BSuIx%3fS^-S>r)fzc?uQhd#)>BU(_iL?>A&`6b2S zj-wi`Pj7ez={2CcOI_%&+5W?psdYt*K7TAh>tz-|u(BUOD!U<*38URBjc7oj4QYCs zfP}3HnJV~I$O)$|Irfx?i%`gI0Z=V>BY4y=8l3P38=xb0!8)z*Yeo<$T4ddK*??;< zikT`z1q;Xk512|-+URWBibrJeB{y$`jMADLNcF3cQo73fo>UzF$C^tpG{P9v2|Yfd zYoIu{wT9UwsnWb8$igM&>qKoU-l@LwOl((sKPTGN^NTRQcEf z*wRqhYj$!e60O1{I}5N18O@5Rq}>+~k{`}Yq0~XF<3~SWMQd{@YN!%qox^OLvIzk` z4DT9TraGKb+11`sFrYj?migbW_Q;t|+>?22dy8nfNW}8%vQA5mH$JB+$jRK(XWtn2+wjUwD>*}g9yi+U= z7#sDn8ScJNbnq?M<86q#D%KGF_z5A!n;)-j3a{Q#_!}@&$eFf(B zXw5U0`8imleu78!XO)&E)127UQ(9xnnF>HhDug#YXKK6u=V$Q>a#rJqY~2Fx%e$KW4;&AlrIdp!)w}My;pXSVD)<{{W-DGkr=u z4n`WbY+x7|YQJ*z+V$#sT_IyMp)fV!Mj+^_+J<%iPh#}o;lkpAfmgpe)$y65%S#vj z%IceIs&2~vOSgUb`t7T}uTw7zMvJ`YTrDY0Qb;tmyyA(NCn-pRm z6=`9(y%Lv~ClQ8x;A=*y+2=aa$ssz9VPX>IH;R(|WmkkK(p*o(UVcHClFWv@)oq&Q zP6A-GZEfH|@{~fRLXkuORU0LZ6Twx;5?V(@y>sBhN@mHQ7H-y|16KLq=Erxr_k|9+ zRaE{}sRoJefOrS0_;+eaYU&yrF_y&Z2_KqZk-haflS_Yd`i^U;rG4q8wz!KciO~4; zcOmHoC(&^4`jNiJqRs%1Ml-MSYKU0gA>iY*M5LarxkX&^cO@4*PduXi$?a)Hp{8R! zO*Zbn@|uIF{ObK?(c`9Hz$l!WuShm1CcOE3cfK=H;&Xvi4 z`^G8q3hL*;B>4~?lK{rdE`}0?BobDg+v$qZi`22-tQ^cJ-#`<_tb|9QVHynnaL%F!N%a`opgPD!bgQk@m=6$Ub! zeIQD1xxI{VHp7kOPE?r+c#Kn56rk=l+6lT-5xgFg6c>Aqm{&{NHQQZDFm~(G?1;z# zrRC||2TV}u3oYuV19 zvQEfyDc?to5?aw0rxt_L0;t-tjl-qJ!1#vJtNecG)Q6~iKpd~dHz5cy()ZVU6Z21k z52qW>PXB8I)Y8zt+06g*NwWh7=RQ7{*peKk21K@NVfV2eQdn^H zw?XE~9022|{U1ZjFCN(XEKlzYh|zkneo=bUHuaFfwDbH|bAO5{6XqG3KzCO7Fg@6=U%ou1~)# ztfyQFR~-|r`zc=(nWE;n#$P$Q%oCsG$CHK|@v;86!6UsQDEvu%kpe4&H7OiOx4*8> zhZdUm9nc!6WezTL;@z}S+V@nxG`&H8~uf@ib%~j)0XA6TCimj&L^YaRS7#I-sa&I+0Qn zUk+L=-+*Gau&>_q`}uMftvt^aadU(rJXOdcJ>wJ@Gvy!XnPKB`a5l+t`WguhDLv1~ zb$E&vd_m0-SsQ_$7?BTkrvW`}5Y?r|fdNEKjiRbORT}j-}g>VkVa+j7ZE?3ma=>VQj!YV z5vO3^IOS@u1>KHnY?Fg)}B5gE^*sH(}L61$t%YixjKkDcU_0#=c}cDg@&0iPy`zY6yLB) zfQBxhEDZ34LdeRal;hc=!h$`hBQm+!x6~Kz2AOT^a@ba&23h%{HAq61;&WApSd^_2 zhoPjM!Fu^5;gpLG3{^2S*0yWbhHiCyTCqA89XisIL!*532SB53k##Y73__V+kaJcU zDqaQsp-(vCyKb3oMxxIMyghHpUZ!0xLknwedDd$!&mxK>Zt(Yy#}maG(k$LFBc2mZ^+&b1r(~5>vU*} z=rh1B51U-`Eq=04m$fYm$~)WZF(#GI6AN(e7&1?~@4Ty0M_as|+>l;&2fe z_}E5|cL*M?Q%)I62$rl)XL(i!Jf}$&h~JM zx7mdkWn5nPV9MHVhZwr{)tBPKii{;5-PCLqn@NRz&FLt&3z?SPYy1h7{v3Jj5s%ri zSJ3iddUH8p^A5mfqIw}mCJS=dIZC;-T#~#|=(Fj>hn%z>P9E&`uk{fc1CKtYcx!Ie zB7fFD@H*B8&>B+BG0~ndirumux^5HjI2ems+Ma>D-}(o)i7dXU&<;VqJ^2I~W3ZW@ z>H?tI_)jnE&VRLNZ?PO586C8Lx7iMOac(&?7JmtFPPcv^b>ef*l&|R9CHv?)GN5%- z6Ep9ew3=`kyyvsuXXU@wm$afl3%1(LZxM*N;yKYvM7I-X>~p#G12rF7^h1M~RV1KjBirTY$7)Kzo$YYmdImFCXO{C>#UQp;H2!fhYqfJ+D-wf@>X3NN}9Y(7ez<*N-~P5b0iJ<5yb4Q@xauef*cNM zwrcjy`Q7*i`@woMkp~T{L3h3lzQ8VaD`f0UPi{-T^ekd`T9}4t9Bn;yOC4Z1c7){! zU6{-&nmvX(Af_8BFG_%LwMOh9eP&?FU>jj`@Uc992un`Ka&iYn4GdYnwTgLIDk!|T zl<`pG*rcLrC!t+L>&89@viIeTqi5R^V)YT@)uRP?yE{%ad8*obZP!35w4KX9V+o5j z7FUG2_B8l|DO=Huwx9#4Kxnmlem{RA+RKT^&;fidEJq7w`G@%MHDkEU?n>C5n(%$a z@r}Hs(0}x6T=kK~Ms5z#ty)g&_ZcSi%eGc9kNM~0vfb+TXdw&*xeMvo_?f2N6qw9ti$^p0Y4->83 z?{@7MMMB{>Y3>}@;76*qF4}@9eq