Data Structures | Defines | Typedefs | Enumerations | Functions

ff.h File Reference

#include "integer.h"
#include "ffconf.h"

Go to the source code of this file.

Data Structures

struct  FATFS
struct  FIL
struct  DIR
struct  FILINFO

Defines

#define _FATFS   8255
#define _DF1S   0
#define _EXCVT
#define LD2PD(vol)   (vol)
#define LD2PT(vol)   0
#define _T(x)   x
#define _TEXT(x)   x
#define f_eof(fp)   (((fp)->fptr == (fp)->fsize) ? 1 : 0)
#define f_error(fp)   (((fp)->flag & FA__ERROR) ? 1 : 0)
#define f_tell(fp)   ((fp)->fptr)
#define f_size(fp)   ((fp)->fsize)
#define FA_READ   0x01
#define FA_OPEN_EXISTING   0x00
#define FA__ERROR   0x80
#define FA_WRITE   0x02
#define FA_CREATE_NEW   0x04
#define FA_CREATE_ALWAYS   0x08
#define FA_OPEN_ALWAYS   0x10
#define FA__WRITTEN   0x20
#define FA__DIRTY   0x40
#define FS_FAT12   1
#define FS_FAT16   2
#define FS_FAT32   3
#define AM_RDO   0x01
#define AM_HID   0x02
#define AM_SYS   0x04
#define AM_VOL   0x08
#define AM_LFN   0x0F
#define AM_DIR   0x10
#define AM_ARC   0x20
#define AM_MASK   0x3F
#define CREATE_LINKMAP   0xFFFFFFFF
#define LD_WORD(ptr)   (WORD)(((WORD)*(BYTE*)((ptr)+1)<<8)|(WORD)*(BYTE*)(ptr))
#define LD_DWORD(ptr)   (DWORD)(((DWORD)*(BYTE*)((ptr)+3)<<24)|((DWORD)*(BYTE*)((ptr)+2)<<16)|((WORD)*(BYTE*)((ptr)+1)<<8)|*(BYTE*)(ptr))
#define ST_WORD(ptr, val)   *(BYTE*)(ptr)=(BYTE)(val); *(BYTE*)((ptr)+1)=(BYTE)((WORD)(val)>>8)
#define ST_DWORD(ptr, val)   *(BYTE*)(ptr)=(BYTE)(val); *(BYTE*)((ptr)+1)=(BYTE)((WORD)(val)>>8); *(BYTE*)((ptr)+2)=(BYTE)((DWORD)(val)>>16); *(BYTE*)((ptr)+3)=(BYTE)((DWORD)(val)>>24)

Typedefs

typedef char TCHAR

Enumerations

enum  FRESULT {
  FR_OK = 0, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY,
  FR_NO_FILE, FR_NO_PATH, FR_INVALID_NAME, FR_DENIED,
  FR_EXIST, FR_INVALID_OBJECT, FR_WRITE_PROTECTED, FR_INVALID_DRIVE,
  FR_NOT_ENABLED, FR_NO_FILESYSTEM, FR_MKFS_ABORTED, FR_TIMEOUT,
  FR_LOCKED, FR_NOT_ENOUGH_CORE, FR_TOO_MANY_OPEN_FILES
}

Functions

FRESULT f_mount (BYTE, FATFS *)
FRESULT f_open (FIL *, const TCHAR *, BYTE)
FRESULT f_read (FIL *, void *, UINT, UINT *)
FRESULT f_lseek (FIL *, DWORD)
FRESULT f_close (FIL *)
FRESULT f_opendir (DIR *, const TCHAR *)
FRESULT f_readdir (DIR *, FILINFO *)
FRESULT f_stat (const TCHAR *, FILINFO *)
FRESULT f_write (FIL *, const void *, UINT, UINT *)
FRESULT f_getfree (const TCHAR *, DWORD *, FATFS **)
FRESULT f_truncate (FIL *)
FRESULT f_sync (FIL *)
FRESULT f_unlink (const TCHAR *)
FRESULT f_mkdir (const TCHAR *)
FRESULT f_chmod (const TCHAR *, BYTE, BYTE)
FRESULT f_utime (const TCHAR *, const FILINFO *)
FRESULT f_rename (const TCHAR *, const TCHAR *)
DWORD get_fattime (void)
 Read the time and convert to a 32 bit value suitable for FAT filesystem timestamps.

Define Documentation

#define _DF1S   0
#define _EXCVT
Value:
{0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0xAd,0x9B,0x8C,0x9D,0xAE,0x9F, \
                                0xA0,0x21,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
                                0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
                                0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xF7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0x9F}
#define _FATFS   8255
#define _T (   x  )     x
#define _TEXT (   x  )     x
#define AM_ARC   0x20
#define AM_DIR   0x10
#define AM_HID   0x02
#define AM_LFN   0x0F
#define AM_MASK   0x3F
#define AM_RDO   0x01
#define AM_SYS   0x04
#define AM_VOL   0x08
#define CREATE_LINKMAP   0xFFFFFFFF
#define f_eof (   fp  )     (((fp)->fptr == (fp)->fsize) ? 1 : 0)
#define f_error (   fp  )     (((fp)->flag & FA__ERROR) ? 1 : 0)
#define f_size (   fp  )     ((fp)->fsize)
#define f_tell (   fp  )     ((fp)->fptr)
#define FA__DIRTY   0x40
#define FA__ERROR   0x80
#define FA__WRITTEN   0x20
#define FA_CREATE_ALWAYS   0x08
#define FA_CREATE_NEW   0x04
#define FA_OPEN_ALWAYS   0x10
#define FA_OPEN_EXISTING   0x00
#define FA_READ   0x01
#define FA_WRITE   0x02
#define FS_FAT12   1
#define FS_FAT16   2
#define FS_FAT32   3
#define LD2PD (   vol  )     (vol)
#define LD2PT (   vol  )     0
#define LD_DWORD (   ptr  )     (DWORD)(((DWORD)*(BYTE*)((ptr)+3)<<24)|((DWORD)*(BYTE*)((ptr)+2)<<16)|((WORD)*(BYTE*)((ptr)+1)<<8)|*(BYTE*)(ptr))
#define LD_WORD (   ptr  )     (WORD)(((WORD)*(BYTE*)((ptr)+1)<<8)|(WORD)*(BYTE*)(ptr))
#define ST_DWORD (   ptr,
  val 
)    *(BYTE*)(ptr)=(BYTE)(val); *(BYTE*)((ptr)+1)=(BYTE)((WORD)(val)>>8); *(BYTE*)((ptr)+2)=(BYTE)((DWORD)(val)>>16); *(BYTE*)((ptr)+3)=(BYTE)((DWORD)(val)>>24)
#define ST_WORD (   ptr,
  val 
)    *(BYTE*)(ptr)=(BYTE)(val); *(BYTE*)((ptr)+1)=(BYTE)((WORD)(val)>>8)

Typedef Documentation

typedef char TCHAR

Enumeration Type Documentation

enum FRESULT
Enumerator:
FR_OK 
FR_DISK_ERR 
FR_INT_ERR 
FR_NOT_READY 
FR_NO_FILE 
FR_NO_PATH 
FR_INVALID_NAME 
FR_DENIED 
FR_EXIST 
FR_INVALID_OBJECT 
FR_WRITE_PROTECTED 
FR_INVALID_DRIVE 
FR_NOT_ENABLED 
FR_NO_FILESYSTEM 
FR_MKFS_ABORTED 
FR_TIMEOUT 
FR_LOCKED 
FR_NOT_ENOUGH_CORE 
FR_TOO_MANY_OPEN_FILES 

Function Documentation

FRESULT f_chmod ( const TCHAR ,
BYTE  ,
BYTE   
)
FRESULT f_close ( FIL  ) 
FRESULT f_getfree ( const TCHAR ,
DWORD ,
FATFS **   
)
FRESULT f_lseek ( FIL ,
DWORD   
)
FRESULT f_mkdir ( const TCHAR  ) 
FRESULT f_mount ( BYTE  ,
FATFS  
)
FRESULT f_open ( FIL ,
const TCHAR ,
BYTE   
)
FRESULT f_opendir ( DIR ,
const TCHAR  
)
FRESULT f_read ( FIL ,
void *  ,
UINT  ,
UINT  
)
FRESULT f_readdir ( DIR ,
FILINFO  
)
FRESULT f_rename ( const TCHAR ,
const TCHAR  
)
FRESULT f_stat ( const TCHAR ,
FILINFO  
)
FRESULT f_sync ( FIL  ) 
FRESULT f_truncate ( FIL  ) 
FRESULT f_unlink ( const TCHAR  ) 
FRESULT f_utime ( const TCHAR ,
const FILINFO  
)
FRESULT f_write ( FIL ,
const void *  ,
UINT  ,
UINT  
)
DWORD get_fattime ( void   ) 

Read the time and convert to a 32 bit value suitable for FAT filesystem timestamps.

Returns:
uint32_t FAT time encoded in a 32 bit value

See FATFS documentation for the specification of FAT time stamp format time_store must consist of an array of at least 7 bytes A side effect of calling this function is to update the time stores in time_store Format of time_store is (in BCD) ss,mm,hh,date,month,dow,yy