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 + -
显示快捷键?