SPIFFS: Support lseek, stat, fstat
Support for lseek, stat, fstat added. Test extended to covert those functions.
This commit is contained in:
parent
bfa20af855
commit
22654a4de7
3 changed files with 33 additions and 3 deletions
|
@ -88,10 +88,13 @@ int _close_r(struct _reent *r, int fd);
|
|||
__attribute__((weak, alias("syscall_returns_enosys")))
|
||||
int _unlink_r(struct _reent *r, const char *path);
|
||||
|
||||
__attribute__((alias("syscall_returns_enosys")))
|
||||
__attribute__((weak, alias("syscall_returns_enosys")))
|
||||
int _fstat_r(struct _reent *r, int fd, void *buf);
|
||||
|
||||
__attribute__((alias("syscall_returns_enosys")))
|
||||
__attribute__((weak, alias("syscall_returns_enosys")))
|
||||
int _stat_r(struct _reent *r, const char *pathname, void *buf);
|
||||
|
||||
__attribute__((weak, alias("syscall_returns_enosys")))
|
||||
off_t _lseek_r(struct _reent *r, int fd, off_t offset, int whence);
|
||||
|
||||
/* Generic stub for any newlib syscall that fails with errno ENOSYS
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 218c5235584429f407d619e5e35f90732ad505f3
|
||||
Subproject commit 12b10230cc56970857e6890bdd5663fbae74c4c3
|
|
@ -253,3 +253,30 @@ int _unlink_r(struct _reent *r, const char *path)
|
|||
{
|
||||
return SPIFFS_remove(&fs, path);
|
||||
}
|
||||
|
||||
int _fstat_r(struct _reent *r, int fd, void *buf)
|
||||
{
|
||||
spiffs_stat s;
|
||||
struct stat *sb = (struct stat*)buf;
|
||||
|
||||
int result = SPIFFS_fstat(&fs, (spiffs_file)(fd - FD_OFFSET), &s);
|
||||
sb->st_size = s.size;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int _stat_r(struct _reent *r, const char *pathname, void *buf)
|
||||
{
|
||||
spiffs_stat s;
|
||||
struct stat *sb = (struct stat*)buf;
|
||||
|
||||
int result = SPIFFS_stat(&fs, pathname, &s);
|
||||
sb->st_size = s.size;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
off_t _lseek_r(struct _reent *r, int fd, off_t offset, int whence)
|
||||
{
|
||||
return SPIFFS_lseek(&fs, (spiffs_file)(fd - FD_OFFSET), offset, whence);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue