49 lines
1.7 KiB
C
Raw Normal View History

#pragma once
#include "common.h"
#include "sddata.h"
#include "ff.h"
2017-10-03 01:46:52 +02:00
#define AM_VRT 0x40 // Virtual (FILINFO FAT attribute)
2017-06-06 21:14:19 +02:00
#define fvx_tell(fp) ((fp)->fptr)
#define fvx_size(fp) ((fp)->obj.objsize)
#define FN_ANY 0x00
#define FN_HIGHEST 0x01
#define FN_LOWEST 0x02
// wrapper functions for ff.h + sddata.h
// incomplete(!) extension to FatFS to support a common interface for virtual and FAT
FRESULT fvx_open (FIL* fp, const TCHAR* path, BYTE mode);
FRESULT fvx_read (FIL* fp, void* buff, UINT btr, UINT* br);
FRESULT fvx_write (FIL* fp, const void* buff, UINT btw, UINT* bw);
FRESULT fvx_close (FIL* fp);
FRESULT fvx_lseek (FIL* fp, FSIZE_t ofs);
FRESULT fvx_sync (FIL* fp);
FRESULT fvx_stat (const TCHAR* path, FILINFO* fno);
2017-06-06 21:14:19 +02:00
FRESULT fvx_rename (const TCHAR* path_old, const TCHAR* path_new);
FRESULT fvx_unlink (const TCHAR* path);
FRESULT fvx_mkdir (const TCHAR* path);
FRESULT fvx_opendir (DIR* dp, const TCHAR* path);
FRESULT fvx_closedir (DIR* dp);
FRESULT fvx_readdir (DIR* dp, FILINFO* fno);
2017-01-27 18:32:52 +01:00
// additional quick read / write functions
FRESULT fvx_qread (const TCHAR* path, void* buff, FSIZE_t ofs, UINT btr, UINT* br);
FRESULT fvx_qwrite (const TCHAR* path, const void* buff, FSIZE_t ofs, UINT btw, UINT* bw);
2017-06-06 21:14:19 +02:00
// additional quick file info functions
FSIZE_t fvx_qsize (const TCHAR* path);
2017-06-06 21:14:19 +02:00
// additional recursive functions
FRESULT fvx_rmkdir (const TCHAR* path);
2017-06-09 16:21:41 +02:00
FRESULT fvx_rmkpath (const TCHAR* path);
2017-06-06 21:14:19 +02:00
FRESULT fvx_runlink (const TCHAR* path);
// additional wildcard based functions
FRESULT fvx_match_name(const TCHAR* path, const TCHAR* pattern);
FRESULT fvx_preaddir (DIR* dp, FILINFO* fno, const TCHAR* pattern);
FRESULT fvx_findpath (TCHAR* path, const TCHAR* pattern, BYTE mode);
2017-06-09 01:45:00 +02:00
FRESULT fvx_findnopath (TCHAR* path, const TCHAR* pattern);