off_t LittleFileSystem::file_seek(fs_file_t file, off_t offset, int whence) { lfs_file_t *f = (lfs_file_t *)file; _mutex.lock(); LFS_INFO("file_seek(%p, %ld, %d)", file, offset, whence); off_t res = lfs_file_seek(&_lfs, f, offset, lfs_fromwhence(whence)); LFS_INFO("file_seek -> %d", lfs_toerror(res)); _mutex.unlock(); return lfs_toerror(res); }
static off_t _lseek(vfs_file_t *filp, off_t off, int whence) { littlefs_desc_t *fs = filp->mp->private_data; lfs_file_t *fp = (lfs_file_t *)&filp->private_data.buffer; mutex_lock(&fs->lock); DEBUG("littlefs: seek: filp=%p, fp=%p, off=%ld, whence=%d\n", (void *)filp, (void *)fp, (long)off, whence); int ret = lfs_file_seek(&fs->fs, fp, off, whence); mutex_unlock(&fs->lock); return littlefs_err_to_errno(ret); }