This commit is contained in:
dholland 2021-06-29 22:37:11 +00:00
parent c6c16cd073
commit 0c749716e7
4 changed files with 127 additions and 67 deletions

View File

@ -1,13 +1,13 @@
/* $NetBSD: vnode_if.c,v 1.112 2020/05/18 08:30:06 hannken Exp $ */ /* $NetBSD: vnode_if.c,v 1.113 2021/06/29 22:37:11 dholland Exp $ */
/* /*
* Warning: DO NOT EDIT! This file is automatically generated! * Warning: DO NOT EDIT! This file is automatically generated!
* (Modifications made here may easily be lost!) * (Modifications made here may easily be lost!)
* *
* Created from the file: * Created from the file:
* NetBSD: vnode_if.src,v 1.78 2019/10/11 08:04:52 hannken Exp * NetBSD: vnode_if.src,v 1.81 2021/06/29 22:34:08 dholland Exp
* by the script: * by the script:
* NetBSD: vnode_if.sh,v 1.69 2020/02/23 22:14:04 ad Exp * NetBSD: vnode_if.sh,v 1.70 2020/05/16 18:31:50 christos Exp
*/ */
/* /*
@ -40,7 +40,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v 1.112 2020/05/18 08:30:06 hannken Exp $"); __KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v 1.113 2021/06/29 22:37:11 dholland Exp $");
#include <sys/param.h> #include <sys/param.h>
#include <sys/mount.h> #include <sys/mount.h>
@ -145,6 +145,40 @@ VOP_BWRITE(struct vnode *vp,
return error; return error;
} }
const int vop_parsepath_vp_offsets[] = {
VOPARG_OFFSETOF(struct vop_parsepath_args,a_dvp),
VDESC_NO_OFFSET
};
const struct vnodeop_desc vop_parsepath_desc = {
VOP_PARSEPATH_DESCOFFSET,
"vop_parsepath",
0,
vop_parsepath_vp_offsets,
VDESC_NO_OFFSET,
VDESC_NO_OFFSET,
VDESC_NO_OFFSET,
};
int
VOP_PARSEPATH(struct vnode *dvp,
const char *name,
size_t *retval)
{
int error;
bool mpsafe;
struct vop_parsepath_args a;
struct mount *mp;
a.a_desc = VDESC(vop_parsepath);
a.a_dvp = dvp;
a.a_name = name;
a.a_retval = retval;
error = vop_pre(dvp, &mp, &mpsafe, FST_YES);
if (error)
return error;
error = (VCALL(dvp, VOFFSET(vop_parsepath), &a));
vop_post(dvp, mp, mpsafe, FST_YES);
return error;
}
const int vop_lookup_vp_offsets[] = { const int vop_lookup_vp_offsets[] = {
VOPARG_OFFSETOF(struct vop_lookup_v2_args,a_dvp), VOPARG_OFFSETOF(struct vop_lookup_v2_args,a_dvp),
VDESC_NO_OFFSET VDESC_NO_OFFSET
@ -2000,6 +2034,7 @@ const struct vnodeop_desc * const vfs_op_descs[] = {
&vop_default_desc, /* MUST BE FIRST */ &vop_default_desc, /* MUST BE FIRST */
&vop_bwrite_desc, &vop_bwrite_desc,
&vop_parsepath_desc,
&vop_lookup_desc, &vop_lookup_desc,
&vop_create_desc, &vop_create_desc,
&vop_mknod_desc, &vop_mknod_desc,

View File

@ -1,13 +1,13 @@
/* $NetBSD: rumpvnode_if.h,v 1.34 2020/05/16 18:31:52 christos Exp $ */ /* $NetBSD: rumpvnode_if.h,v 1.35 2021/06/29 22:37:11 dholland Exp $ */
/* /*
* Warning: DO NOT EDIT! This file is automatically generated! * Warning: DO NOT EDIT! This file is automatically generated!
* (Modifications made here may easily be lost!) * (Modifications made here may easily be lost!)
* *
* Created from the file: * Created from the file:
* NetBSD: vnode_if.src,v 1.78 2019/10/11 08:04:52 hannken Exp * NetBSD: vnode_if.src,v 1.81 2021/06/29 22:34:08 dholland Exp
* by the script: * by the script:
* NetBSD: vnode_if.sh,v 1.69 2020/02/23 22:14:04 ad Exp * NetBSD: vnode_if.sh,v 1.70 2020/05/16 18:31:50 christos Exp
*/ */
/* /*
@ -55,6 +55,7 @@ struct acl;
#endif #endif
int RUMP_VOP_BWRITE(struct vnode *, struct buf *); int RUMP_VOP_BWRITE(struct vnode *, struct buf *);
int RUMP_VOP_PARSEPATH(struct vnode *, const char *, size_t *);
int RUMP_VOP_LOOKUP(struct vnode *, struct vnode **, struct componentname *); int RUMP_VOP_LOOKUP(struct vnode *, struct vnode **, struct componentname *);
int RUMP_VOP_CREATE(struct vnode *, struct vnode **, struct componentname *, int RUMP_VOP_CREATE(struct vnode *, struct vnode **, struct componentname *,
struct vattr *); struct vattr *);

View File

@ -1,13 +1,13 @@
/* $NetBSD: rumpvnode_if.c,v 1.34 2020/05/16 18:31:53 christos Exp $ */ /* $NetBSD: rumpvnode_if.c,v 1.35 2021/06/29 22:37:11 dholland Exp $ */
/* /*
* Warning: DO NOT EDIT! This file is automatically generated! * Warning: DO NOT EDIT! This file is automatically generated!
* (Modifications made here may easily be lost!) * (Modifications made here may easily be lost!)
* *
* Created from the file: * Created from the file:
* NetBSD: vnode_if.src,v 1.78 2019/10/11 08:04:52 hannken Exp * NetBSD: vnode_if.src,v 1.81 2021/06/29 22:34:08 dholland Exp
* by the script: * by the script:
* NetBSD: vnode_if.sh,v 1.69 2020/02/23 22:14:04 ad Exp * NetBSD: vnode_if.sh,v 1.70 2020/05/16 18:31:50 christos Exp
*/ */
/* /*
@ -40,7 +40,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: rumpvnode_if.c,v 1.34 2020/05/16 18:31:53 christos Exp $"); __KERNEL_RCSID(0, "$NetBSD: rumpvnode_if.c,v 1.35 2021/06/29 22:37:11 dholland Exp $");
#include <sys/param.h> #include <sys/param.h>
#include <sys/mount.h> #include <sys/mount.h>
@ -63,6 +63,20 @@ RUMP_VOP_BWRITE(struct vnode *vp,
return error; return error;
} }
int
RUMP_VOP_PARSEPATH(struct vnode *dvp,
const char *name,
size_t *retval)
{
int error;
rump_schedule();
error = VOP_PARSEPATH(dvp, name, retval);
rump_unschedule();
return error;
}
int int
RUMP_VOP_LOOKUP(struct vnode *dvp, RUMP_VOP_LOOKUP(struct vnode *dvp,
struct vnode **vpp, struct vnode **vpp,

View File

@ -1,13 +1,13 @@
/* $NetBSD: vnode_if.h,v 1.105 2020/05/16 18:31:53 christos Exp $ */ /* $NetBSD: vnode_if.h,v 1.106 2021/06/29 22:37:11 dholland Exp $ */
/* /*
* Warning: DO NOT EDIT! This file is automatically generated! * Warning: DO NOT EDIT! This file is automatically generated!
* (Modifications made here may easily be lost!) * (Modifications made here may easily be lost!)
* *
* Created from the file: * Created from the file:
* NetBSD: vnode_if.src,v 1.78 2019/10/11 08:04:52 hannken Exp * NetBSD: vnode_if.src,v 1.81 2021/06/29 22:34:08 dholland Exp
* by the script: * by the script:
* NetBSD: vnode_if.sh,v 1.69 2020/02/23 22:14:04 ad Exp * NetBSD: vnode_if.sh,v 1.70 2020/05/16 18:31:50 christos Exp
*/ */
/* /*
@ -59,7 +59,17 @@ struct vop_bwrite_args {
extern const struct vnodeop_desc vop_bwrite_desc; extern const struct vnodeop_desc vop_bwrite_desc;
int VOP_BWRITE(struct vnode *, struct buf *); int VOP_BWRITE(struct vnode *, struct buf *);
#define VOP_LOOKUP_DESCOFFSET 2 #define VOP_PARSEPATH_DESCOFFSET 2
struct vop_parsepath_args {
const struct vnodeop_desc *a_desc;
struct vnode *a_dvp;
const char *a_name;
size_t *a_retval;
};
extern const struct vnodeop_desc vop_parsepath_desc;
int VOP_PARSEPATH(struct vnode *, const char *, size_t *);
#define VOP_LOOKUP_DESCOFFSET 3
struct vop_lookup_v2_args { struct vop_lookup_v2_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_dvp; struct vnode *a_dvp;
@ -69,7 +79,7 @@ struct vop_lookup_v2_args {
extern const struct vnodeop_desc vop_lookup_desc; extern const struct vnodeop_desc vop_lookup_desc;
int VOP_LOOKUP(struct vnode *, struct vnode **, struct componentname *); int VOP_LOOKUP(struct vnode *, struct vnode **, struct componentname *);
#define VOP_CREATE_DESCOFFSET 3 #define VOP_CREATE_DESCOFFSET 4
struct vop_create_v3_args { struct vop_create_v3_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_dvp; struct vnode *a_dvp;
@ -81,7 +91,7 @@ extern const struct vnodeop_desc vop_create_desc;
int VOP_CREATE(struct vnode *, struct vnode **, struct componentname *, int VOP_CREATE(struct vnode *, struct vnode **, struct componentname *,
struct vattr *); struct vattr *);
#define VOP_MKNOD_DESCOFFSET 4 #define VOP_MKNOD_DESCOFFSET 5
struct vop_mknod_v3_args { struct vop_mknod_v3_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_dvp; struct vnode *a_dvp;
@ -93,7 +103,7 @@ extern const struct vnodeop_desc vop_mknod_desc;
int VOP_MKNOD(struct vnode *, struct vnode **, struct componentname *, int VOP_MKNOD(struct vnode *, struct vnode **, struct componentname *,
struct vattr *); struct vattr *);
#define VOP_OPEN_DESCOFFSET 5 #define VOP_OPEN_DESCOFFSET 6
struct vop_open_args { struct vop_open_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -103,7 +113,7 @@ struct vop_open_args {
extern const struct vnodeop_desc vop_open_desc; extern const struct vnodeop_desc vop_open_desc;
int VOP_OPEN(struct vnode *, int, kauth_cred_t); int VOP_OPEN(struct vnode *, int, kauth_cred_t);
#define VOP_CLOSE_DESCOFFSET 6 #define VOP_CLOSE_DESCOFFSET 7
struct vop_close_args { struct vop_close_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -113,7 +123,7 @@ struct vop_close_args {
extern const struct vnodeop_desc vop_close_desc; extern const struct vnodeop_desc vop_close_desc;
int VOP_CLOSE(struct vnode *, int, kauth_cred_t); int VOP_CLOSE(struct vnode *, int, kauth_cred_t);
#define VOP_ACCESS_DESCOFFSET 7 #define VOP_ACCESS_DESCOFFSET 8
struct vop_access_args { struct vop_access_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -123,7 +133,7 @@ struct vop_access_args {
extern const struct vnodeop_desc vop_access_desc; extern const struct vnodeop_desc vop_access_desc;
int VOP_ACCESS(struct vnode *, accmode_t, kauth_cred_t); int VOP_ACCESS(struct vnode *, accmode_t, kauth_cred_t);
#define VOP_ACCESSX_DESCOFFSET 8 #define VOP_ACCESSX_DESCOFFSET 9
struct vop_accessx_args { struct vop_accessx_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -133,7 +143,7 @@ struct vop_accessx_args {
extern const struct vnodeop_desc vop_accessx_desc; extern const struct vnodeop_desc vop_accessx_desc;
int VOP_ACCESSX(struct vnode *, accmode_t, kauth_cred_t); int VOP_ACCESSX(struct vnode *, accmode_t, kauth_cred_t);
#define VOP_GETATTR_DESCOFFSET 9 #define VOP_GETATTR_DESCOFFSET 10
struct vop_getattr_args { struct vop_getattr_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -143,7 +153,7 @@ struct vop_getattr_args {
extern const struct vnodeop_desc vop_getattr_desc; extern const struct vnodeop_desc vop_getattr_desc;
int VOP_GETATTR(struct vnode *, struct vattr *, kauth_cred_t); int VOP_GETATTR(struct vnode *, struct vattr *, kauth_cred_t);
#define VOP_SETATTR_DESCOFFSET 10 #define VOP_SETATTR_DESCOFFSET 11
struct vop_setattr_args { struct vop_setattr_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -153,7 +163,7 @@ struct vop_setattr_args {
extern const struct vnodeop_desc vop_setattr_desc; extern const struct vnodeop_desc vop_setattr_desc;
int VOP_SETATTR(struct vnode *, struct vattr *, kauth_cred_t); int VOP_SETATTR(struct vnode *, struct vattr *, kauth_cred_t);
#define VOP_READ_DESCOFFSET 11 #define VOP_READ_DESCOFFSET 12
struct vop_read_args { struct vop_read_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -164,7 +174,7 @@ struct vop_read_args {
extern const struct vnodeop_desc vop_read_desc; extern const struct vnodeop_desc vop_read_desc;
int VOP_READ(struct vnode *, struct uio *, int, kauth_cred_t); int VOP_READ(struct vnode *, struct uio *, int, kauth_cred_t);
#define VOP_WRITE_DESCOFFSET 12 #define VOP_WRITE_DESCOFFSET 13
struct vop_write_args { struct vop_write_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -175,7 +185,7 @@ struct vop_write_args {
extern const struct vnodeop_desc vop_write_desc; extern const struct vnodeop_desc vop_write_desc;
int VOP_WRITE(struct vnode *, struct uio *, int, kauth_cred_t); int VOP_WRITE(struct vnode *, struct uio *, int, kauth_cred_t);
#define VOP_FALLOCATE_DESCOFFSET 13 #define VOP_FALLOCATE_DESCOFFSET 14
struct vop_fallocate_args { struct vop_fallocate_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -185,7 +195,7 @@ struct vop_fallocate_args {
extern const struct vnodeop_desc vop_fallocate_desc; extern const struct vnodeop_desc vop_fallocate_desc;
int VOP_FALLOCATE(struct vnode *, off_t, off_t); int VOP_FALLOCATE(struct vnode *, off_t, off_t);
#define VOP_FDISCARD_DESCOFFSET 14 #define VOP_FDISCARD_DESCOFFSET 15
struct vop_fdiscard_args { struct vop_fdiscard_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -195,7 +205,7 @@ struct vop_fdiscard_args {
extern const struct vnodeop_desc vop_fdiscard_desc; extern const struct vnodeop_desc vop_fdiscard_desc;
int VOP_FDISCARD(struct vnode *, off_t, off_t); int VOP_FDISCARD(struct vnode *, off_t, off_t);
#define VOP_IOCTL_DESCOFFSET 15 #define VOP_IOCTL_DESCOFFSET 16
struct vop_ioctl_args { struct vop_ioctl_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -207,7 +217,7 @@ struct vop_ioctl_args {
extern const struct vnodeop_desc vop_ioctl_desc; extern const struct vnodeop_desc vop_ioctl_desc;
int VOP_IOCTL(struct vnode *, u_long, void *, int, kauth_cred_t); int VOP_IOCTL(struct vnode *, u_long, void *, int, kauth_cred_t);
#define VOP_FCNTL_DESCOFFSET 16 #define VOP_FCNTL_DESCOFFSET 17
struct vop_fcntl_args { struct vop_fcntl_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -219,7 +229,7 @@ struct vop_fcntl_args {
extern const struct vnodeop_desc vop_fcntl_desc; extern const struct vnodeop_desc vop_fcntl_desc;
int VOP_FCNTL(struct vnode *, u_int, void *, int, kauth_cred_t); int VOP_FCNTL(struct vnode *, u_int, void *, int, kauth_cred_t);
#define VOP_POLL_DESCOFFSET 17 #define VOP_POLL_DESCOFFSET 18
struct vop_poll_args { struct vop_poll_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -228,7 +238,7 @@ struct vop_poll_args {
extern const struct vnodeop_desc vop_poll_desc; extern const struct vnodeop_desc vop_poll_desc;
int VOP_POLL(struct vnode *, int); int VOP_POLL(struct vnode *, int);
#define VOP_KQFILTER_DESCOFFSET 18 #define VOP_KQFILTER_DESCOFFSET 19
struct vop_kqfilter_args { struct vop_kqfilter_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -237,7 +247,7 @@ struct vop_kqfilter_args {
extern const struct vnodeop_desc vop_kqfilter_desc; extern const struct vnodeop_desc vop_kqfilter_desc;
int VOP_KQFILTER(struct vnode *, struct knote *); int VOP_KQFILTER(struct vnode *, struct knote *);
#define VOP_REVOKE_DESCOFFSET 19 #define VOP_REVOKE_DESCOFFSET 20
struct vop_revoke_args { struct vop_revoke_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -246,7 +256,7 @@ struct vop_revoke_args {
extern const struct vnodeop_desc vop_revoke_desc; extern const struct vnodeop_desc vop_revoke_desc;
int VOP_REVOKE(struct vnode *, int); int VOP_REVOKE(struct vnode *, int);
#define VOP_MMAP_DESCOFFSET 20 #define VOP_MMAP_DESCOFFSET 21
struct vop_mmap_args { struct vop_mmap_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -256,7 +266,7 @@ struct vop_mmap_args {
extern const struct vnodeop_desc vop_mmap_desc; extern const struct vnodeop_desc vop_mmap_desc;
int VOP_MMAP(struct vnode *, vm_prot_t, kauth_cred_t); int VOP_MMAP(struct vnode *, vm_prot_t, kauth_cred_t);
#define VOP_FSYNC_DESCOFFSET 21 #define VOP_FSYNC_DESCOFFSET 22
struct vop_fsync_args { struct vop_fsync_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -268,7 +278,7 @@ struct vop_fsync_args {
extern const struct vnodeop_desc vop_fsync_desc; extern const struct vnodeop_desc vop_fsync_desc;
int VOP_FSYNC(struct vnode *, kauth_cred_t, int, off_t, off_t); int VOP_FSYNC(struct vnode *, kauth_cred_t, int, off_t, off_t);
#define VOP_SEEK_DESCOFFSET 22 #define VOP_SEEK_DESCOFFSET 23
struct vop_seek_args { struct vop_seek_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -279,7 +289,7 @@ struct vop_seek_args {
extern const struct vnodeop_desc vop_seek_desc; extern const struct vnodeop_desc vop_seek_desc;
int VOP_SEEK(struct vnode *, off_t, off_t, kauth_cred_t); int VOP_SEEK(struct vnode *, off_t, off_t, kauth_cred_t);
#define VOP_REMOVE_DESCOFFSET 23 #define VOP_REMOVE_DESCOFFSET 24
struct vop_remove_v2_args { struct vop_remove_v2_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_dvp; struct vnode *a_dvp;
@ -289,7 +299,7 @@ struct vop_remove_v2_args {
extern const struct vnodeop_desc vop_remove_desc; extern const struct vnodeop_desc vop_remove_desc;
int VOP_REMOVE(struct vnode *, struct vnode *, struct componentname *); int VOP_REMOVE(struct vnode *, struct vnode *, struct componentname *);
#define VOP_LINK_DESCOFFSET 24 #define VOP_LINK_DESCOFFSET 25
struct vop_link_v2_args { struct vop_link_v2_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_dvp; struct vnode *a_dvp;
@ -299,7 +309,7 @@ struct vop_link_v2_args {
extern const struct vnodeop_desc vop_link_desc; extern const struct vnodeop_desc vop_link_desc;
int VOP_LINK(struct vnode *, struct vnode *, struct componentname *); int VOP_LINK(struct vnode *, struct vnode *, struct componentname *);
#define VOP_RENAME_DESCOFFSET 25 #define VOP_RENAME_DESCOFFSET 26
struct vop_rename_args { struct vop_rename_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_fdvp; struct vnode *a_fdvp;
@ -313,7 +323,7 @@ extern const struct vnodeop_desc vop_rename_desc;
int VOP_RENAME(struct vnode *, struct vnode *, struct componentname *, int VOP_RENAME(struct vnode *, struct vnode *, struct componentname *,
struct vnode *, struct vnode *, struct componentname *); struct vnode *, struct vnode *, struct componentname *);
#define VOP_MKDIR_DESCOFFSET 26 #define VOP_MKDIR_DESCOFFSET 27
struct vop_mkdir_v3_args { struct vop_mkdir_v3_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_dvp; struct vnode *a_dvp;
@ -325,7 +335,7 @@ extern const struct vnodeop_desc vop_mkdir_desc;
int VOP_MKDIR(struct vnode *, struct vnode **, struct componentname *, int VOP_MKDIR(struct vnode *, struct vnode **, struct componentname *,
struct vattr *); struct vattr *);
#define VOP_RMDIR_DESCOFFSET 27 #define VOP_RMDIR_DESCOFFSET 28
struct vop_rmdir_v2_args { struct vop_rmdir_v2_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_dvp; struct vnode *a_dvp;
@ -335,7 +345,7 @@ struct vop_rmdir_v2_args {
extern const struct vnodeop_desc vop_rmdir_desc; extern const struct vnodeop_desc vop_rmdir_desc;
int VOP_RMDIR(struct vnode *, struct vnode *, struct componentname *); int VOP_RMDIR(struct vnode *, struct vnode *, struct componentname *);
#define VOP_SYMLINK_DESCOFFSET 28 #define VOP_SYMLINK_DESCOFFSET 29
struct vop_symlink_v3_args { struct vop_symlink_v3_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_dvp; struct vnode *a_dvp;
@ -348,7 +358,7 @@ extern const struct vnodeop_desc vop_symlink_desc;
int VOP_SYMLINK(struct vnode *, struct vnode **, struct componentname *, int VOP_SYMLINK(struct vnode *, struct vnode **, struct componentname *,
struct vattr *, char *); struct vattr *, char *);
#define VOP_READDIR_DESCOFFSET 29 #define VOP_READDIR_DESCOFFSET 30
struct vop_readdir_args { struct vop_readdir_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -362,7 +372,7 @@ extern const struct vnodeop_desc vop_readdir_desc;
int VOP_READDIR(struct vnode *, struct uio *, kauth_cred_t, int *, off_t **, int VOP_READDIR(struct vnode *, struct uio *, kauth_cred_t, int *, off_t **,
int *); int *);
#define VOP_READLINK_DESCOFFSET 30 #define VOP_READLINK_DESCOFFSET 31
struct vop_readlink_args { struct vop_readlink_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -372,7 +382,7 @@ struct vop_readlink_args {
extern const struct vnodeop_desc vop_readlink_desc; extern const struct vnodeop_desc vop_readlink_desc;
int VOP_READLINK(struct vnode *, struct uio *, kauth_cred_t); int VOP_READLINK(struct vnode *, struct uio *, kauth_cred_t);
#define VOP_ABORTOP_DESCOFFSET 31 #define VOP_ABORTOP_DESCOFFSET 32
struct vop_abortop_args { struct vop_abortop_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_dvp; struct vnode *a_dvp;
@ -381,7 +391,7 @@ struct vop_abortop_args {
extern const struct vnodeop_desc vop_abortop_desc; extern const struct vnodeop_desc vop_abortop_desc;
int VOP_ABORTOP(struct vnode *, struct componentname *); int VOP_ABORTOP(struct vnode *, struct componentname *);
#define VOP_INACTIVE_DESCOFFSET 32 #define VOP_INACTIVE_DESCOFFSET 33
struct vop_inactive_v2_args { struct vop_inactive_v2_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -390,7 +400,7 @@ struct vop_inactive_v2_args {
extern const struct vnodeop_desc vop_inactive_desc; extern const struct vnodeop_desc vop_inactive_desc;
int VOP_INACTIVE(struct vnode *, bool *); int VOP_INACTIVE(struct vnode *, bool *);
#define VOP_RECLAIM_DESCOFFSET 33 #define VOP_RECLAIM_DESCOFFSET 34
struct vop_reclaim_v2_args { struct vop_reclaim_v2_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -398,7 +408,7 @@ struct vop_reclaim_v2_args {
extern const struct vnodeop_desc vop_reclaim_desc; extern const struct vnodeop_desc vop_reclaim_desc;
int VOP_RECLAIM(struct vnode *); int VOP_RECLAIM(struct vnode *);
#define VOP_LOCK_DESCOFFSET 34 #define VOP_LOCK_DESCOFFSET 35
struct vop_lock_args { struct vop_lock_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -407,7 +417,7 @@ struct vop_lock_args {
extern const struct vnodeop_desc vop_lock_desc; extern const struct vnodeop_desc vop_lock_desc;
int VOP_LOCK(struct vnode *, int); int VOP_LOCK(struct vnode *, int);
#define VOP_UNLOCK_DESCOFFSET 35 #define VOP_UNLOCK_DESCOFFSET 36
struct vop_unlock_args { struct vop_unlock_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -415,7 +425,7 @@ struct vop_unlock_args {
extern const struct vnodeop_desc vop_unlock_desc; extern const struct vnodeop_desc vop_unlock_desc;
int VOP_UNLOCK(struct vnode *); int VOP_UNLOCK(struct vnode *);
#define VOP_BMAP_DESCOFFSET 36 #define VOP_BMAP_DESCOFFSET 37
struct vop_bmap_args { struct vop_bmap_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -427,7 +437,7 @@ struct vop_bmap_args {
extern const struct vnodeop_desc vop_bmap_desc; extern const struct vnodeop_desc vop_bmap_desc;
int VOP_BMAP(struct vnode *, daddr_t, struct vnode **, daddr_t *, int *); int VOP_BMAP(struct vnode *, daddr_t, struct vnode **, daddr_t *, int *);
#define VOP_STRATEGY_DESCOFFSET 37 #define VOP_STRATEGY_DESCOFFSET 38
struct vop_strategy_args { struct vop_strategy_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -436,7 +446,7 @@ struct vop_strategy_args {
extern const struct vnodeop_desc vop_strategy_desc; extern const struct vnodeop_desc vop_strategy_desc;
int VOP_STRATEGY(struct vnode *, struct buf *); int VOP_STRATEGY(struct vnode *, struct buf *);
#define VOP_PRINT_DESCOFFSET 38 #define VOP_PRINT_DESCOFFSET 39
struct vop_print_args { struct vop_print_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -444,7 +454,7 @@ struct vop_print_args {
extern const struct vnodeop_desc vop_print_desc; extern const struct vnodeop_desc vop_print_desc;
int VOP_PRINT(struct vnode *); int VOP_PRINT(struct vnode *);
#define VOP_ISLOCKED_DESCOFFSET 39 #define VOP_ISLOCKED_DESCOFFSET 40
struct vop_islocked_args { struct vop_islocked_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -452,7 +462,7 @@ struct vop_islocked_args {
extern const struct vnodeop_desc vop_islocked_desc; extern const struct vnodeop_desc vop_islocked_desc;
int VOP_ISLOCKED(struct vnode *); int VOP_ISLOCKED(struct vnode *);
#define VOP_PATHCONF_DESCOFFSET 40 #define VOP_PATHCONF_DESCOFFSET 41
struct vop_pathconf_args { struct vop_pathconf_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -462,7 +472,7 @@ struct vop_pathconf_args {
extern const struct vnodeop_desc vop_pathconf_desc; extern const struct vnodeop_desc vop_pathconf_desc;
int VOP_PATHCONF(struct vnode *, int, register_t *); int VOP_PATHCONF(struct vnode *, int, register_t *);
#define VOP_ADVLOCK_DESCOFFSET 41 #define VOP_ADVLOCK_DESCOFFSET 42
struct vop_advlock_args { struct vop_advlock_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -474,7 +484,7 @@ struct vop_advlock_args {
extern const struct vnodeop_desc vop_advlock_desc; extern const struct vnodeop_desc vop_advlock_desc;
int VOP_ADVLOCK(struct vnode *, void *, int, struct flock *, int); int VOP_ADVLOCK(struct vnode *, void *, int, struct flock *, int);
#define VOP_WHITEOUT_DESCOFFSET 42 #define VOP_WHITEOUT_DESCOFFSET 43
struct vop_whiteout_args { struct vop_whiteout_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_dvp; struct vnode *a_dvp;
@ -484,7 +494,7 @@ struct vop_whiteout_args {
extern const struct vnodeop_desc vop_whiteout_desc; extern const struct vnodeop_desc vop_whiteout_desc;
int VOP_WHITEOUT(struct vnode *, struct componentname *, int); int VOP_WHITEOUT(struct vnode *, struct componentname *, int);
#define VOP_GETPAGES_DESCOFFSET 43 #define VOP_GETPAGES_DESCOFFSET 44
struct vop_getpages_args { struct vop_getpages_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -500,7 +510,7 @@ extern const struct vnodeop_desc vop_getpages_desc;
int VOP_GETPAGES(struct vnode *, voff_t, struct vm_page **, int *, int, int VOP_GETPAGES(struct vnode *, voff_t, struct vm_page **, int *, int,
vm_prot_t, int, int); vm_prot_t, int, int);
#define VOP_PUTPAGES_DESCOFFSET 44 #define VOP_PUTPAGES_DESCOFFSET 45
struct vop_putpages_args { struct vop_putpages_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -511,7 +521,7 @@ struct vop_putpages_args {
extern const struct vnodeop_desc vop_putpages_desc; extern const struct vnodeop_desc vop_putpages_desc;
int VOP_PUTPAGES(struct vnode *, voff_t, voff_t, int); int VOP_PUTPAGES(struct vnode *, voff_t, voff_t, int);
#define VOP_GETACL_DESCOFFSET 45 #define VOP_GETACL_DESCOFFSET 46
struct vop_getacl_args { struct vop_getacl_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -522,7 +532,7 @@ struct vop_getacl_args {
extern const struct vnodeop_desc vop_getacl_desc; extern const struct vnodeop_desc vop_getacl_desc;
int VOP_GETACL(struct vnode *, acl_type_t, struct acl *, kauth_cred_t); int VOP_GETACL(struct vnode *, acl_type_t, struct acl *, kauth_cred_t);
#define VOP_SETACL_DESCOFFSET 46 #define VOP_SETACL_DESCOFFSET 47
struct vop_setacl_args { struct vop_setacl_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -533,7 +543,7 @@ struct vop_setacl_args {
extern const struct vnodeop_desc vop_setacl_desc; extern const struct vnodeop_desc vop_setacl_desc;
int VOP_SETACL(struct vnode *, acl_type_t, struct acl *, kauth_cred_t); int VOP_SETACL(struct vnode *, acl_type_t, struct acl *, kauth_cred_t);
#define VOP_ACLCHECK_DESCOFFSET 47 #define VOP_ACLCHECK_DESCOFFSET 48
struct vop_aclcheck_args { struct vop_aclcheck_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -544,7 +554,7 @@ struct vop_aclcheck_args {
extern const struct vnodeop_desc vop_aclcheck_desc; extern const struct vnodeop_desc vop_aclcheck_desc;
int VOP_ACLCHECK(struct vnode *, acl_type_t, struct acl *, kauth_cred_t); int VOP_ACLCHECK(struct vnode *, acl_type_t, struct acl *, kauth_cred_t);
#define VOP_CLOSEEXTATTR_DESCOFFSET 48 #define VOP_CLOSEEXTATTR_DESCOFFSET 49
struct vop_closeextattr_args { struct vop_closeextattr_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -554,7 +564,7 @@ struct vop_closeextattr_args {
extern const struct vnodeop_desc vop_closeextattr_desc; extern const struct vnodeop_desc vop_closeextattr_desc;
int VOP_CLOSEEXTATTR(struct vnode *, int, kauth_cred_t); int VOP_CLOSEEXTATTR(struct vnode *, int, kauth_cred_t);
#define VOP_GETEXTATTR_DESCOFFSET 49 #define VOP_GETEXTATTR_DESCOFFSET 50
struct vop_getextattr_args { struct vop_getextattr_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -568,7 +578,7 @@ extern const struct vnodeop_desc vop_getextattr_desc;
int VOP_GETEXTATTR(struct vnode *, int, const char *, struct uio *, int VOP_GETEXTATTR(struct vnode *, int, const char *, struct uio *,
size_t *, kauth_cred_t); size_t *, kauth_cred_t);
#define VOP_LISTEXTATTR_DESCOFFSET 50 #define VOP_LISTEXTATTR_DESCOFFSET 51
struct vop_listextattr_args { struct vop_listextattr_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -582,7 +592,7 @@ extern const struct vnodeop_desc vop_listextattr_desc;
int VOP_LISTEXTATTR(struct vnode *, int, struct uio *, size_t *, int, int VOP_LISTEXTATTR(struct vnode *, int, struct uio *, size_t *, int,
kauth_cred_t); kauth_cred_t);
#define VOP_OPENEXTATTR_DESCOFFSET 51 #define VOP_OPENEXTATTR_DESCOFFSET 52
struct vop_openextattr_args { struct vop_openextattr_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -591,7 +601,7 @@ struct vop_openextattr_args {
extern const struct vnodeop_desc vop_openextattr_desc; extern const struct vnodeop_desc vop_openextattr_desc;
int VOP_OPENEXTATTR(struct vnode *, kauth_cred_t); int VOP_OPENEXTATTR(struct vnode *, kauth_cred_t);
#define VOP_DELETEEXTATTR_DESCOFFSET 52 #define VOP_DELETEEXTATTR_DESCOFFSET 53
struct vop_deleteextattr_args { struct vop_deleteextattr_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -602,7 +612,7 @@ struct vop_deleteextattr_args {
extern const struct vnodeop_desc vop_deleteextattr_desc; extern const struct vnodeop_desc vop_deleteextattr_desc;
int VOP_DELETEEXTATTR(struct vnode *, int, const char *, kauth_cred_t); int VOP_DELETEEXTATTR(struct vnode *, int, const char *, kauth_cred_t);
#define VOP_SETEXTATTR_DESCOFFSET 53 #define VOP_SETEXTATTR_DESCOFFSET 54
struct vop_setextattr_args { struct vop_setextattr_args {
const struct vnodeop_desc *a_desc; const struct vnodeop_desc *a_desc;
struct vnode *a_vp; struct vnode *a_vp;
@ -615,6 +625,6 @@ extern const struct vnodeop_desc vop_setextattr_desc;
int VOP_SETEXTATTR(struct vnode *, int, const char *, struct uio *, int VOP_SETEXTATTR(struct vnode *, int, const char *, struct uio *,
kauth_cred_t); kauth_cred_t);
#define VNODE_OPS_COUNT 54 #define VNODE_OPS_COUNT 55
#endif /* !_SYS_VNODE_IF_H_ */ #endif /* !_SYS_VNODE_IF_H_ */