Esempio n. 1
0
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;
}
Esempio n. 3
0
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);  
}