vnode_if.h
来自「基于组件方式开发操作系统的OSKIT源代码」· C头文件 代码 · 共 1,041 行 · 第 1/2 页
H
1,041 行
a.a_dvp = dvp; a.a_vpp = vpp; a.a_cnp = cnp; a.a_vap = vap; return (VCALL(dvp, VOFFSET(vop_mkdir), &a));}struct vop_rmdir_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct vnode *a_vp; struct componentname *a_cnp;};extern struct vnodeop_desc vop_rmdir_desc;static __inline int VOP_RMDIR __P((struct vnode *, struct vnode *, struct componentname *));static __inline int VOP_RMDIR(dvp, vp, cnp) struct vnode *dvp; struct vnode *vp; struct componentname *cnp;{ struct vop_rmdir_args a; a.a_desc = VDESC(vop_rmdir); a.a_dvp = dvp; a.a_vp = vp; a.a_cnp = cnp; return (VCALL(dvp, VOFFSET(vop_rmdir), &a));}struct vop_symlink_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct vnode **a_vpp; struct componentname *a_cnp; struct vattr *a_vap; char *a_target;};extern struct vnodeop_desc vop_symlink_desc;static __inline int VOP_SYMLINK __P((struct vnode *, struct vnode **, struct componentname *, struct vattr *, char *));static __inline int VOP_SYMLINK(dvp, vpp, cnp, vap, target) struct vnode *dvp; struct vnode **vpp; struct componentname *cnp; struct vattr *vap; char *target;{ struct vop_symlink_args a; a.a_desc = VDESC(vop_symlink); a.a_dvp = dvp; a.a_vpp = vpp; a.a_cnp = cnp; a.a_vap = vap; a.a_target = target; return (VCALL(dvp, VOFFSET(vop_symlink), &a));}struct vop_readdir_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct uio *a_uio; struct ucred *a_cred; int *a_eofflag; u_long *a_cookies; int a_ncookies;};extern struct vnodeop_desc vop_readdir_desc;static __inline int VOP_READDIR __P((struct vnode *, struct uio *, struct ucred *, int *, u_long *, int));static __inline int VOP_READDIR(vp, uio, cred, eofflag, cookies, ncookies) struct vnode *vp; struct uio *uio; struct ucred *cred; int *eofflag; u_long *cookies; int ncookies;{ struct vop_readdir_args a; a.a_desc = VDESC(vop_readdir); a.a_vp = vp; a.a_uio = uio; a.a_cred = cred; a.a_eofflag = eofflag; a.a_cookies = cookies; a.a_ncookies = ncookies; return (VCALL(vp, VOFFSET(vop_readdir), &a));}struct vop_readlink_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct uio *a_uio; struct ucred *a_cred;};extern struct vnodeop_desc vop_readlink_desc;static __inline int VOP_READLINK __P((struct vnode *, struct uio *, struct ucred *));static __inline int VOP_READLINK(vp, uio, cred) struct vnode *vp; struct uio *uio; struct ucred *cred;{ struct vop_readlink_args a; a.a_desc = VDESC(vop_readlink); a.a_vp = vp; a.a_uio = uio; a.a_cred = cred; return (VCALL(vp, VOFFSET(vop_readlink), &a));}struct vop_abortop_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct componentname *a_cnp;};extern struct vnodeop_desc vop_abortop_desc;static __inline int VOP_ABORTOP __P((struct vnode *, struct componentname *));static __inline int VOP_ABORTOP(dvp, cnp) struct vnode *dvp; struct componentname *cnp;{ struct vop_abortop_args a; a.a_desc = VDESC(vop_abortop); a.a_dvp = dvp; a.a_cnp = cnp; return (VCALL(dvp, VOFFSET(vop_abortop), &a));}struct vop_inactive_args { struct vnodeop_desc *a_desc; struct vnode *a_vp;};extern struct vnodeop_desc vop_inactive_desc;static __inline int VOP_INACTIVE __P((struct vnode *));static __inline int VOP_INACTIVE(vp) struct vnode *vp;{ struct vop_inactive_args a; a.a_desc = VDESC(vop_inactive); a.a_vp = vp; return (VCALL(vp, VOFFSET(vop_inactive), &a));}struct vop_reclaim_args { struct vnodeop_desc *a_desc; struct vnode *a_vp;};extern struct vnodeop_desc vop_reclaim_desc;static __inline int VOP_RECLAIM __P((struct vnode *));static __inline int VOP_RECLAIM(vp) struct vnode *vp;{ struct vop_reclaim_args a; a.a_desc = VDESC(vop_reclaim); a.a_vp = vp; return (VCALL(vp, VOFFSET(vop_reclaim), &a));}struct vop_lock_args { struct vnodeop_desc *a_desc; struct vnode *a_vp;};extern struct vnodeop_desc vop_lock_desc;static __inline int VOP_LOCK __P((struct vnode *));static __inline int VOP_LOCK(vp) struct vnode *vp;{ struct vop_lock_args a; a.a_desc = VDESC(vop_lock); a.a_vp = vp; return (VCALL(vp, VOFFSET(vop_lock), &a));}struct vop_unlock_args { struct vnodeop_desc *a_desc; struct vnode *a_vp;};extern struct vnodeop_desc vop_unlock_desc;static __inline int VOP_UNLOCK __P((struct vnode *));static __inline int VOP_UNLOCK(vp) struct vnode *vp;{ struct vop_unlock_args a; a.a_desc = VDESC(vop_unlock); a.a_vp = vp; return (VCALL(vp, VOFFSET(vop_unlock), &a));}struct vop_bmap_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; daddr_t a_bn; struct vnode **a_vpp; daddr_t *a_bnp; int *a_runp;};extern struct vnodeop_desc vop_bmap_desc;static __inline int VOP_BMAP __P((struct vnode *, daddr_t, struct vnode **, daddr_t *, int *));static __inline int VOP_BMAP(vp, bn, vpp, bnp, runp) struct vnode *vp; daddr_t bn; struct vnode **vpp; daddr_t *bnp; int *runp;{ struct vop_bmap_args a; a.a_desc = VDESC(vop_bmap); a.a_vp = vp; a.a_bn = bn; a.a_vpp = vpp; a.a_bnp = bnp; a.a_runp = runp; return (VCALL(vp, VOFFSET(vop_bmap), &a));}struct vop_print_args { struct vnodeop_desc *a_desc; struct vnode *a_vp;};extern struct vnodeop_desc vop_print_desc;static __inline int VOP_PRINT __P((struct vnode *));static __inline int VOP_PRINT(vp) struct vnode *vp;{ struct vop_print_args a; a.a_desc = VDESC(vop_print); a.a_vp = vp; return (VCALL(vp, VOFFSET(vop_print), &a));}struct vop_islocked_args { struct vnodeop_desc *a_desc; struct vnode *a_vp;};extern struct vnodeop_desc vop_islocked_desc;static __inline int VOP_ISLOCKED __P((struct vnode *));static __inline int VOP_ISLOCKED(vp) struct vnode *vp;{ struct vop_islocked_args a; a.a_desc = VDESC(vop_islocked); a.a_vp = vp; return (VCALL(vp, VOFFSET(vop_islocked), &a));}struct vop_pathconf_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; int a_name; register_t *a_retval;};extern struct vnodeop_desc vop_pathconf_desc;static __inline int VOP_PATHCONF __P((struct vnode *, int, register_t *));static __inline int VOP_PATHCONF(vp, name, retval) struct vnode *vp; int name; register_t *retval;{ struct vop_pathconf_args a; a.a_desc = VDESC(vop_pathconf); a.a_vp = vp; a.a_name = name; a.a_retval = retval; return (VCALL(vp, VOFFSET(vop_pathconf), &a));}struct vop_advlock_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; caddr_t a_id; int a_op; struct flock *a_fl; int a_flags;};extern struct vnodeop_desc vop_advlock_desc;static __inline int VOP_ADVLOCK __P((struct vnode *, caddr_t, int, struct flock *, int));static __inline int VOP_ADVLOCK(vp, id, op, fl, flags) struct vnode *vp; caddr_t id; int op; struct flock *fl; int flags;{ struct vop_advlock_args a; a.a_desc = VDESC(vop_advlock); a.a_vp = vp; a.a_id = id; a.a_op = op; a.a_fl = fl; a.a_flags = flags; return (VCALL(vp, VOFFSET(vop_advlock), &a));}struct vop_blkatoff_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; off_t a_offset; char **a_res; struct buf **a_bpp;};extern struct vnodeop_desc vop_blkatoff_desc;static __inline int VOP_BLKATOFF __P((struct vnode *, off_t, char **, struct buf **));static __inline int VOP_BLKATOFF(vp, offset, res, bpp) struct vnode *vp; off_t offset; char **res; struct buf **bpp;{ struct vop_blkatoff_args a; a.a_desc = VDESC(vop_blkatoff); a.a_vp = vp; a.a_offset = offset; a.a_res = res; a.a_bpp = bpp; return (VCALL(vp, VOFFSET(vop_blkatoff), &a));}struct vop_valloc_args { struct vnodeop_desc *a_desc; struct vnode *a_pvp; int a_mode; struct ucred *a_cred; struct vnode **a_vpp;};extern struct vnodeop_desc vop_valloc_desc;static __inline int VOP_VALLOC __P((struct vnode *, int, struct ucred *, struct vnode **));static __inline int VOP_VALLOC(pvp, mode, cred, vpp) struct vnode *pvp; int mode; struct ucred *cred; struct vnode **vpp;{ struct vop_valloc_args a; a.a_desc = VDESC(vop_valloc); a.a_pvp = pvp; a.a_mode = mode; a.a_cred = cred; a.a_vpp = vpp; return (VCALL(pvp, VOFFSET(vop_valloc), &a));}struct vop_reallocblks_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct cluster_save *a_buflist;};extern struct vnodeop_desc vop_reallocblks_desc;static __inline int VOP_REALLOCBLKS __P((struct vnode *, struct cluster_save *));static __inline int VOP_REALLOCBLKS(vp, buflist) struct vnode *vp; struct cluster_save *buflist;{ struct vop_reallocblks_args a; a.a_desc = VDESC(vop_reallocblks); a.a_vp = vp; a.a_buflist = buflist; return (VCALL(vp, VOFFSET(vop_reallocblks), &a));}struct vop_vfree_args { struct vnodeop_desc *a_desc; struct vnode *a_pvp; ino_t a_ino; int a_mode;};extern struct vnodeop_desc vop_vfree_desc;static __inline int VOP_VFREE __P((struct vnode *, ino_t, int));static __inline int VOP_VFREE(pvp, ino, mode) struct vnode *pvp; ino_t ino; int mode;{ struct vop_vfree_args a; a.a_desc = VDESC(vop_vfree); a.a_pvp = pvp; a.a_ino = ino; a.a_mode = mode; return (VCALL(pvp, VOFFSET(vop_vfree), &a));}struct vop_truncate_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; off_t a_length; int a_flags; struct ucred *a_cred; struct proc *a_p;};extern struct vnodeop_desc vop_truncate_desc;static __inline int VOP_TRUNCATE __P((struct vnode *, off_t, int, struct ucred *, struct proc *));static __inline int VOP_TRUNCATE(vp, length, flags, cred, p) struct vnode *vp; off_t length; int flags; struct ucred *cred; struct proc *p;{ struct vop_truncate_args a; a.a_desc = VDESC(vop_truncate); a.a_vp = vp; a.a_length = length; a.a_flags = flags; a.a_cred = cred; a.a_p = p; return (VCALL(vp, VOFFSET(vop_truncate), &a));}struct vop_update_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct timespec *a_access; struct timespec *a_modify; int a_waitfor;};extern struct vnodeop_desc vop_update_desc;static __inline int VOP_UPDATE __P((struct vnode *, struct timespec *, struct timespec *, int));static __inline int VOP_UPDATE(vp, access, modify, waitfor) struct vnode *vp; struct timespec *access; struct timespec *modify; int waitfor;{ struct vop_update_args a; a.a_desc = VDESC(vop_update); a.a_vp = vp; a.a_access = access; a.a_modify = modify; a.a_waitfor = waitfor; return (VCALL(vp, VOFFSET(vop_update), &a));}struct vop_lease_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct proc *a_p; struct ucred *a_cred; int a_flag;};extern struct vnodeop_desc vop_lease_desc;static __inline int VOP_LEASE __P((struct vnode *, struct proc *, struct ucred *, int));static __inline int VOP_LEASE(vp, p, cred, flag) struct vnode *vp; struct proc *p; struct ucred *cred; int flag;{ struct vop_lease_args a; a.a_desc = VDESC(vop_lease); a.a_vp = vp; a.a_p = p; a.a_cred = cred; a.a_flag = flag; return (VCALL(vp, VOFFSET(vop_lease), &a));}struct vop_whiteout_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct componentname *a_cnp; int a_flags;};extern struct vnodeop_desc vop_whiteout_desc;static __inline int VOP_WHITEOUT __P((struct vnode *, struct componentname *, int));static __inline int VOP_WHITEOUT(dvp, cnp, flags) struct vnode *dvp; struct componentname *cnp; int flags;{ struct vop_whiteout_args a; a.a_desc = VDESC(vop_whiteout); a.a_dvp = dvp; a.a_cnp = cnp; a.a_flags = flags; return (VCALL(dvp, VOFFSET(vop_whiteout), &a));}/* Special cases: */#include <sys/buf.h>struct vop_strategy_args { struct vnodeop_desc *a_desc; struct buf *a_bp;};extern struct vnodeop_desc vop_strategy_desc;static __inline int VOP_STRATEGY __P((struct buf *));static __inline int VOP_STRATEGY(bp) struct buf *bp;{ struct vop_strategy_args a; a.a_desc = VDESC(vop_strategy); a.a_bp = bp; return (VCALL(bp->b_vp, VOFFSET(vop_strategy), &a));}struct vop_bwrite_args { struct vnodeop_desc *a_desc; struct buf *a_bp;};extern struct vnodeop_desc vop_bwrite_desc;static __inline int VOP_BWRITE __P((struct buf *));static __inline int VOP_BWRITE(bp) struct buf *bp;{ struct vop_bwrite_args a; a.a_desc = VDESC(vop_bwrite); a.a_bp = bp; return (VCALL(bp->b_vp, VOFFSET(vop_bwrite), &a));}/* End of special cases. */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?