int uffs_read(int fd, void *data, int len) { int ret; uffs_Object *obj = FD2OBJ(fd); CHK_OBJ(obj, -1); uffs_ClearObjectErr(obj); ret = uffs_ReadObject(obj, data, len); uffs_set_error(-uffs_GetObjectErr(obj)); return ret; }
int uffs_read(int fd, void *data, int len) { int ret; uffs_Object *obj; CHK_OBJ_LOCK(fd, obj, -1); uffs_ClearObjectErr(obj); ret = uffs_ReadObject(obj, data, len); uffs_set_error(-uffs_GetObjectErr(obj)); uffs_GlobalFsLockUnlock(); return ret; }
int dfs_uffs_read(struct dfs_fd* fd, void* buf, rt_size_t count) { uffs_Object* fp; uffs_DIR* dirp; if (fd->type == FT_DIRECTORY) { dirp = (uffs_DIR*)(fd->data); fp = dirp->obj; } else { fp = (uffs_Object*)(fd->data); } RT_ASSERT(fd != RT_NULL); /* update position */ fd->pos = fp->pos; return uffs_ReadObject(fp, buf, count); }