| Christoph Hellwig | 993386c | 2007-08-28 16:12:30 +1000 | [diff] [blame] | 1 | #ifndef _XFS_VNODEOPS_H | 
|  | 2 | #define _XFS_VNODEOPS_H 1 | 
|  | 3 |  | 
|  | 4 | struct attrlist_cursor_kern; | 
|  | 5 | struct bhv_vattr; | 
|  | 6 | struct cred; | 
|  | 7 | struct file; | 
|  | 8 | struct inode; | 
|  | 9 | struct iovec; | 
|  | 10 | struct kiocb; | 
|  | 11 | struct pipe_inode_info; | 
|  | 12 | struct uio; | 
|  | 13 | struct xfs_inode; | 
|  | 14 | struct xfs_iomap; | 
|  | 15 |  | 
|  | 16 |  | 
|  | 17 | int xfs_open(struct xfs_inode *ip); | 
|  | 18 | int xfs_getattr(struct xfs_inode *ip, struct bhv_vattr *vap, int flags); | 
|  | 19 | int xfs_setattr(struct xfs_inode *ip, struct bhv_vattr *vap, int flags, | 
|  | 20 | struct cred *credp); | 
|  | 21 | int xfs_access(struct xfs_inode *ip, int mode, struct cred *credp); | 
|  | 22 | int xfs_readlink(struct xfs_inode *ip, char *link); | 
|  | 23 | int xfs_fsync(struct xfs_inode *ip, int flag, xfs_off_t start, | 
|  | 24 | xfs_off_t stop); | 
|  | 25 | int xfs_release(struct xfs_inode *ip); | 
|  | 26 | int xfs_inactive(struct xfs_inode *ip); | 
|  | 27 | int xfs_lookup(struct xfs_inode *dp, bhv_vname_t *dentry, | 
|  | 28 | bhv_vnode_t **vpp); | 
| Christoph Hellwig | 3e5daf0 | 2007-10-11 18:09:12 +1000 | [diff] [blame] | 29 | int xfs_create(struct xfs_inode *dp, bhv_vname_t *dentry, mode_t mode, | 
|  | 30 | xfs_dev_t rdev, bhv_vnode_t **vpp, struct cred *credp); | 
| Christoph Hellwig | 993386c | 2007-08-28 16:12:30 +1000 | [diff] [blame] | 31 | int xfs_remove(struct xfs_inode *dp, bhv_vname_t	*dentry); | 
|  | 32 | int xfs_link(struct xfs_inode *tdp, bhv_vnode_t *src_vp, | 
|  | 33 | bhv_vname_t *dentry); | 
|  | 34 | int xfs_mkdir(struct xfs_inode *dp, bhv_vname_t *dentry, | 
| Christoph Hellwig | 3e5daf0 | 2007-10-11 18:09:12 +1000 | [diff] [blame] | 35 | mode_t mode, bhv_vnode_t **vpp, struct cred *credp); | 
| Christoph Hellwig | 993386c | 2007-08-28 16:12:30 +1000 | [diff] [blame] | 36 | int xfs_rmdir(struct xfs_inode *dp, bhv_vname_t *dentry); | 
|  | 37 | int xfs_readdir(struct xfs_inode	*dp, void *dirent, size_t bufsize, | 
|  | 38 | xfs_off_t *offset, filldir_t filldir); | 
|  | 39 | int xfs_symlink(struct xfs_inode *dp, bhv_vname_t *dentry, | 
| Christoph Hellwig | 3e5daf0 | 2007-10-11 18:09:12 +1000 | [diff] [blame] | 40 | char *target_path, mode_t mode, bhv_vnode_t **vpp, | 
|  | 41 | struct cred *credp); | 
| Christoph Hellwig | c614391 | 2007-09-14 15:22:37 +1000 | [diff] [blame] | 42 | int xfs_fid2(struct xfs_inode *ip, struct xfs_fid *xfid); | 
| Christoph Hellwig | 993386c | 2007-08-28 16:12:30 +1000 | [diff] [blame] | 43 | int xfs_rwlock(struct xfs_inode *ip, bhv_vrwlock_t locktype); | 
|  | 44 | void xfs_rwunlock(struct xfs_inode *ip, bhv_vrwlock_t locktype); | 
|  | 45 | int xfs_inode_flush(struct xfs_inode *ip, int flags); | 
|  | 46 | int xfs_set_dmattrs(struct xfs_inode *ip, u_int evmask, u_int16_t state); | 
|  | 47 | int xfs_reclaim(struct xfs_inode *ip); | 
|  | 48 | int xfs_change_file_space(struct xfs_inode *ip, int cmd, | 
|  | 49 | xfs_flock64_t *bf, xfs_off_t offset, | 
|  | 50 | struct cred *credp, int	attr_flags); | 
|  | 51 | int xfs_rename(struct xfs_inode *src_dp, bhv_vname_t *src_vname, | 
|  | 52 | bhv_vnode_t *target_dir_vp, bhv_vname_t *target_vname); | 
|  | 53 | int xfs_attr_get(struct xfs_inode *ip, const char *name, char *value, | 
|  | 54 | int *valuelenp, int flags, cred_t *cred); | 
|  | 55 | int xfs_attr_set(struct xfs_inode *dp, const char *name, char *value, | 
|  | 56 | int valuelen, int flags); | 
|  | 57 | int xfs_attr_remove(struct xfs_inode *dp, const char *name, int flags); | 
|  | 58 | int xfs_attr_list(struct xfs_inode *dp, char *buffer, int bufsize, | 
|  | 59 | int flags, struct attrlist_cursor_kern *cursor); | 
|  | 60 | int xfs_ioctl(struct xfs_inode *ip, struct file *filp, | 
|  | 61 | int ioflags, unsigned int cmd, void __user *arg); | 
|  | 62 | ssize_t xfs_read(struct xfs_inode *ip, struct kiocb *iocb, | 
|  | 63 | const struct iovec *iovp, unsigned int segs, | 
|  | 64 | loff_t *offset, int ioflags); | 
|  | 65 | ssize_t xfs_sendfile(struct xfs_inode *ip, struct file *filp, | 
|  | 66 | loff_t *offset, int ioflags, size_t count, | 
|  | 67 | read_actor_t actor, void *target); | 
|  | 68 | ssize_t xfs_splice_read(struct xfs_inode *ip, struct file *infilp, | 
|  | 69 | loff_t *ppos, struct pipe_inode_info *pipe, size_t count, | 
|  | 70 | int flags, int ioflags); | 
|  | 71 | ssize_t xfs_splice_write(struct xfs_inode *ip, | 
|  | 72 | struct pipe_inode_info *pipe, struct file *outfilp, | 
|  | 73 | loff_t *ppos, size_t count, int flags, int ioflags); | 
|  | 74 | ssize_t xfs_write(struct xfs_inode *xip, struct kiocb *iocb, | 
|  | 75 | const struct iovec *iovp, unsigned int nsegs, | 
|  | 76 | loff_t *offset, int ioflags); | 
|  | 77 | int xfs_bmap(struct xfs_inode *ip, xfs_off_t offset, ssize_t count, | 
|  | 78 | int flags, struct xfs_iomap *iomapp, int *niomaps); | 
|  | 79 | void xfs_tosspages(struct xfs_inode *inode, xfs_off_t first, | 
|  | 80 | xfs_off_t last, int fiopt); | 
|  | 81 | int xfs_flushinval_pages(struct xfs_inode *ip, xfs_off_t first, | 
|  | 82 | xfs_off_t last, int fiopt); | 
|  | 83 | int xfs_flush_pages(struct xfs_inode *ip, xfs_off_t first, | 
|  | 84 | xfs_off_t last, uint64_t flags, int fiopt); | 
|  | 85 |  | 
|  | 86 | #endif /* _XFS_VNODEOPS_H */ |