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   6502
#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 EOF   (-1)
#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, FR_INVALID_PARAMETER
}

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 *)
FRESULT f_chdrive (BYTE)
FRESULT f_chdir (const TCHAR *)
FRESULT f_getcwd (TCHAR *, UINT)
FRESULT f_forward (FIL *, UINT(*)(const BYTE *, UINT), UINT, UINT *)
FRESULT f_mkfs (BYTE, BYTE, UINT)
FRESULT f_fdisk (BYTE, const DWORD[], void *)
int f_putc (TCHAR, FIL *)
int f_puts (const TCHAR *, FIL *)
int f_printf (FIL *, const TCHAR *,...)
TCHARf_gets (TCHAR *, int, FIL *)
DWORD get_fattime (void)
 Read the time and convert to a 32 bit value suitable for FAT filesystem timestamps.

Define Documentation

#define _FATFS   6502
#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 EOF   (-1)
#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 
FR_INVALID_PARAMETER 

Function Documentation

FRESULT f_chdir ( const TCHAR  ) 
FRESULT f_chdrive ( BYTE   ) 
FRESULT f_chmod ( const TCHAR ,
BYTE  ,
BYTE   
)
FRESULT f_close ( FIL  ) 
FRESULT f_fdisk ( BYTE  ,
const   DWORD[],
void *   
)
FRESULT f_forward ( FIL ,
UINT(*)(const BYTE *, UINT ,
UINT  ,
UINT  
)
FRESULT f_getcwd ( TCHAR ,
UINT   
)
FRESULT f_getfree ( const TCHAR ,
DWORD ,
FATFS **   
)
TCHAR* f_gets ( TCHAR ,
int  ,
FIL  
)
FRESULT f_lseek ( FIL ,
DWORD   
)
FRESULT f_mkdir ( const TCHAR  ) 
FRESULT f_mkfs ( BYTE  ,
BYTE  ,
UINT   
)
FRESULT f_mount ( BYTE  ,
FATFS  
)
FRESULT f_open ( FIL ,
const TCHAR ,
BYTE   
)
FRESULT f_opendir ( DIR ,
const TCHAR  
)
int f_printf ( FIL ,
const TCHAR ,
  ... 
)
int f_putc ( TCHAR  ,
FIL  
)
int f_puts ( const TCHAR ,
FIL  
)
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.

Reads the time into internal variable time_store[7], and converts for FAT filesystems.

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