Esempio n. 1
0
ssize_t LittleFileSystem::file_read(fs_file_t file, void *buffer, size_t len)
{
    lfs_file_t *f = (lfs_file_t *)file;
    _mutex.lock();
    LFS_INFO("file_read(%p, %p, %d)", file, buffer, len);
    lfs_ssize_t res = lfs_file_read(&_lfs, f, buffer, len);
    LFS_INFO("file_read -> %d", lfs_toerror(res));
    _mutex.unlock();
    return lfs_toerror(res);
}
Esempio n. 2
0
static ssize_t _read(vfs_file_t *filp, void *dest, size_t nbytes)
{
    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: read: filp=%p, fp=%p, dest=%p, nbytes=%u\n",
          (void *)filp, (void *)fp, (void *)dest, (unsigned)nbytes);

    ssize_t ret = lfs_file_read(&fs->fs, fp, dest, nbytes);
    mutex_unlock(&fs->lock);

    return littlefs_err_to_errno(ret);
}