1/* 2 Copyright 1999-2001, Be Incorporated. All Rights Reserved. 3 This file may be used under the terms of the Be Sample Code License. 4*/ 5#ifndef FAT_FILE_H 6#define FAT_FILE_H 7 8mode_t make_mode(nspace *volume, vnode *node); 9status_t write_vnode_entry(nspace *vol, vnode *node); 10 11status_t dosfs_get_vnode_name(fs_volume *_vol, fs_vnode *_node, 12 char *buffer, size_t bufferSize); 13status_t dosfs_release_vnode(fs_volume *_vol, fs_vnode *_node, 14 bool reenter); 15status_t dosfs_rstat(fs_volume *_vol, fs_vnode *_node, struct stat *st); 16status_t dosfs_open(fs_volume *_vol, fs_vnode *_node, int omode, 17 void **cookie); 18status_t dosfs_read(fs_volume *_vol, fs_vnode *_node, void *cookie, 19 off_t pos, void *buf, size_t *len); 20status_t dosfs_free_cookie(fs_volume *vol, fs_vnode *node, void *cookie); 21status_t dosfs_close(fs_volume *vol, fs_vnode *node, void *cookie); 22 23status_t dosfs_remove_vnode(fs_volume *vol, fs_vnode *node, bool reenter); 24status_t dosfs_create(fs_volume *vol, fs_vnode *dir, const char *name, 25 int omode, int perms, void **cookie, ino_t *vnid); 26status_t dosfs_mkdir(fs_volume *vol, fs_vnode *dir, const char *name, 27 int perms); 28status_t dosfs_rename(fs_volume *vol, fs_vnode *olddir, const char *oldname, 29 fs_vnode *newdir, const char *newname); 30status_t dosfs_unlink(fs_volume *vol, fs_vnode *dir, const char *name); 31status_t dosfs_rmdir(fs_volume *vol, fs_vnode *dir, const char *name); 32status_t dosfs_wstat(fs_volume *vol, fs_vnode *node, const struct stat *st, 33 uint32 mask); 34status_t dosfs_write(fs_volume *vol, fs_vnode *node, void *cookie, 35 off_t pos, const void *buf, size_t *len); 36status_t dosfs_get_file_map(fs_volume *_vol, fs_vnode *_node, off_t pos, 37 size_t reqLen, struct file_io_vec *vecs, size_t *_count); 38bool dosfs_can_page(fs_volume *_vol, fs_vnode *_node, void *_cookie); 39status_t dosfs_read_pages(fs_volume *_vol, fs_vnode *_node, void *_cookie, 40 off_t pos, const iovec *vecs, size_t count, size_t *_numBytes); 41status_t dosfs_write_pages(fs_volume *_vol, fs_vnode *_node, void *_cookie, 42 off_t pos, const iovec *vecs, size_t count, size_t *_numBytes); 43 44#endif /* FAT_FILE_H */ 45