-extern struct vnodeop_desc vop_advlock_desc;
-#define VOP_ADVLOCK(vp, id, op, fl, flags) _VOP_ADVLOCK(vp, id, op, fl, flags)
-static __inline int _VOP_ADVLOCK(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;
-#define VOP_BLKATOFF(vp, offset, res, bpp) _VOP_BLKATOFF(vp, offset, res, bpp)
-static __inline int _VOP_BLKATOFF(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;
-#define VOP_VALLOC(pvp, mode, cred, vpp) _VOP_VALLOC(pvp, mode, cred, vpp)
-static __inline int _VOP_VALLOC(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;
-#define VOP_REALLOCBLKS(vp, buflist) _VOP_REALLOCBLKS(vp, buflist)
-static __inline int _VOP_REALLOCBLKS(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;
-#define VOP_VFREE(pvp, ino, mode) _VOP_VFREE(pvp, ino, mode)
-static __inline int _VOP_VFREE(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;
-#define VOP_TRUNCATE(vp, length, flags, cred, p) _VOP_TRUNCATE(vp, length, flags, cred, p)
-static __inline int _VOP_TRUNCATE(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;
- {
- int _err;
- extern int ubc_hold();
- extern void ubc_rele();
- int _didhold = ubc_hold(vp);
- _err = VCALL(vp, VOFFSET(vop_truncate), &a);
- if (_didhold)
- ubc_rele(vp);
- return (_err);
- }
-}
-
-struct vop_allocate_args {