int uffs_write(int fd, void *data, int len) { int ret; uffs_Object *obj = FD2OBJ(fd); CHK_OBJ(obj, -1); uffs_ClearObjectErr(obj); ret = uffs_WriteObject(obj, data, len); uffs_set_error(-uffs_GetObjectErr(obj)); return ret; }
int uffs_write(int fd, const void *data, int len) { int ret; uffs_Object *obj; CHK_OBJ_LOCK(fd, obj, -1); uffs_ClearObjectErr(obj); ret = uffs_WriteObject(obj, data, len); uffs_set_error(-uffs_GetObjectErr(obj)); uffs_GlobalFsLockUnlock(); return ret; }
int dfs_uffs_write(struct dfs_fd* fd, const void* buf, rt_size_t count) { uffs_Object* fp; u32 byte_write; struct uffs_stat stat_buf; rt_kprintf("count=%d\n",count); if(fd->type == FT_DIRECTORY) { return -DFS_STATUS_EISDIR; } fp = (uffs_Object*)(fd->data); RT_ASSERT(fp != RT_NULL); byte_write = uffs_WriteObject(fp, buf, count); /* update position and file size */ fd->pos = fp->pos; uffs_stat(fp->name, &stat_buf); fd->size = stat_buf.st_size; return byte_write; }