Lines Matching full:file
209 static int dfs_jffs2_open(struct dfs_fd* file) in dfs_jffs2_open() argument
218 oflag = file->flags; in dfs_jffs2_open()
219 fs = (struct dfs_filesystem *)file->data; in dfs_jffs2_open()
227 name = file->path; in dfs_jffs2_open()
248 /* fixme, should test file->path can end with '/' */ in dfs_jffs2_open()
270 file->data = jffs2_file; in dfs_jffs2_open()
273 /* regular file operations */ in dfs_jffs2_open()
277 /* Opens the file, if it is existing. If not, a new file is created. */ in dfs_jffs2_open()
279 /* Creates a new file. If the file is existing, it is truncated and overwritten. */ in dfs_jffs2_open()
281 /* Creates a new file. The function fails if the file is already existing. */ in dfs_jffs2_open()
295 file->data = jffs2_file; in dfs_jffs2_open()
296 file->pos = jffs2_file->f_offset; in dfs_jffs2_open()
297 file->size = 0; in dfs_jffs2_open()
298 jffs2_file_lseek(jffs2_file, (off_t *)(&(file->size)), SEEK_END); in dfs_jffs2_open()
299 jffs2_file->f_offset = (off_t)file->pos; in dfs_jffs2_open()
304 file->pos = file->size; in dfs_jffs2_open()
305 jffs2_file->f_offset = file->size; in dfs_jffs2_open()
311 static int dfs_jffs2_close(struct dfs_fd* file) in dfs_jffs2_close() argument
316 RT_ASSERT(file->data != NULL); in dfs_jffs2_close()
317 jffs2_file = (cyg_file *)(file->data); in dfs_jffs2_close()
319 if (file->flags & O_DIRECTORY) /* operations about dir */ in dfs_jffs2_close()
330 /* regular file operations */ in dfs_jffs2_close()
342 static int dfs_jffs2_ioctl(struct dfs_fd* file, int cmd, void* args) in dfs_jffs2_ioctl() argument
347 static int dfs_jffs2_read(struct dfs_fd* file, void* buf, size_t len) in dfs_jffs2_read() argument
355 RT_ASSERT(file->data != NULL); in dfs_jffs2_read()
356 jffs2_file = (cyg_file *)(file->data); in dfs_jffs2_read()
372 file->pos = jffs2_file->f_offset; in dfs_jffs2_read()
377 static int dfs_jffs2_write(struct dfs_fd* file, in dfs_jffs2_write() argument
387 RT_ASSERT(file->data != NULL); in dfs_jffs2_write()
388 jffs2_file = (cyg_file *)(file->data); in dfs_jffs2_write()
404 file->pos = jffs2_file->f_offset; in dfs_jffs2_write()
409 static int dfs_jffs2_flush(struct dfs_fd* file) in dfs_jffs2_flush() argument
415 /* fixme warning: the offset is rt_off_t, so maybe the size of a file is must <= 2G*/
416 static int dfs_jffs2_lseek(struct dfs_fd* file, in dfs_jffs2_lseek() argument
422 RT_ASSERT(file->data != NULL); in dfs_jffs2_lseek()
423 jffs2_file = (cyg_file *)(file->data); in dfs_jffs2_lseek()
431 /* update file position */ in dfs_jffs2_lseek()
432 file->pos = offset; in dfs_jffs2_lseek()
437 static int dfs_jffs2_getdents(struct dfs_fd* file, in dfs_jffs2_getdents() argument
454 RT_ASSERT(file->data != RT_NULL); in dfs_jffs2_getdents()
455 jffs2_file = (cyg_file*)(file->data); in dfs_jffs2_getdents()
497 if ((file->path[0] == '/') ) in dfs_jffs2_getdents()
499 if (file->path[1] == 0) in dfs_jffs2_getdents()
502 rt_sprintf(fullname, "%s/%s", file->path+1, jffs2_d.d_name); in dfs_jffs2_getdents()
505 rt_sprintf(fullname, "%s/%s", file->path, jffs2_d.d_name); in dfs_jffs2_getdents()
549 /* judge file type, dir is to be delete by rmdir, others by unlink */ in dfs_jffs2_unlink()
567 /* unknown file type */ in dfs_jffs2_unlink()
676 /* register fatfs file system */ in dfs_jffs2_init()