summaryrefslogtreecommitdiff
path: root/sys/kern/vnode_if.c
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2002-02-22 20:55:29 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2002-02-22 20:55:29 +0000
commit0e29999ecbd23c3d28b387738fdc44c06ad62dc7 (patch)
tree9ec29d5dde85b292d85d0342d8f9d7e188ca2679 /sys/kern/vnode_if.c
parented874c54b82ac4b26457f13e640e6dff76f2bf8c (diff)
EA sync
Diffstat (limited to 'sys/kern/vnode_if.c')
-rw-r--r--sys/kern/vnode_if.c76
1 files changed, 75 insertions, 1 deletions
diff --git a/sys/kern/vnode_if.c b/sys/kern/vnode_if.c
index 1f30d85c507..1c762730f66 100644
--- a/sys/kern/vnode_if.c
+++ b/sys/kern/vnode_if.c
@@ -3,7 +3,7 @@
* (Modifications made here may easily be lost!)
*
* Created from the file:
- * OpenBSD: vnode_if.src,v 1.11 2001/06/23 02:21:05 csapuntz Exp
+ * OpenBSD: vnode_if.src,v 1.19 2002/02/22 20:37:45 drahn Exp
* by the script:
* OpenBSD: vnode_if.sh,v 1.8 2001/02/26 17:34:18 art Exp
*/
@@ -1230,6 +1230,78 @@ int VOP_WHITEOUT(dvp, cnp, flags)
return (VCALL(dvp, VOFFSET(vop_whiteout), &a));
}
+int vop_getextattr_vp_offsets[] = {
+ VOPARG_OFFSETOF(struct vop_getextattr_args,a_vp),
+ VDESC_NO_OFFSET
+};
+struct vnodeop_desc vop_getextattr_desc = {
+ 0,
+ "vop_getextattr",
+ 0,
+ vop_getextattr_vp_offsets,
+ VDESC_NO_OFFSET,
+ VOPARG_OFFSETOF(struct vop_getextattr_args, a_cred),
+ VOPARG_OFFSETOF(struct vop_getextattr_args, a_p),
+ VDESC_NO_OFFSET,
+ NULL,
+};
+
+int VOP_GETEXTATTR(vp, attrnamespace, name, uio, size, cred, p)
+ struct vnode *vp;
+ int attrnamespace;
+ const char *name;
+ struct uio *uio;
+ size_t *size;
+ struct ucred *cred;
+ struct proc *p;
+{
+ struct vop_getextattr_args a;
+ a.a_desc = VDESC(vop_getextattr);
+ a.a_vp = vp;
+ a.a_attrnamespace = attrnamespace;
+ a.a_name = name;
+ a.a_uio = uio;
+ a.a_size = size;
+ a.a_cred = cred;
+ a.a_p = p;
+ return (VCALL(vp, VOFFSET(vop_getextattr), &a));
+}
+
+int vop_setextattr_vp_offsets[] = {
+ VOPARG_OFFSETOF(struct vop_setextattr_args,a_vp),
+ VDESC_NO_OFFSET
+};
+struct vnodeop_desc vop_setextattr_desc = {
+ 0,
+ "vop_setextattr",
+ 0,
+ vop_setextattr_vp_offsets,
+ VDESC_NO_OFFSET,
+ VOPARG_OFFSETOF(struct vop_setextattr_args, a_cred),
+ VOPARG_OFFSETOF(struct vop_setextattr_args, a_p),
+ VDESC_NO_OFFSET,
+ NULL,
+};
+
+int VOP_SETEXTATTR(vp, attrnamespace, name, uio, cred, p)
+ struct vnode *vp;
+ int attrnamespace;
+ const char *name;
+ struct uio *uio;
+ struct ucred *cred;
+ struct proc *p;
+{
+ struct vop_setextattr_args a;
+ a.a_desc = VDESC(vop_setextattr);
+ a.a_vp = vp;
+ a.a_attrnamespace = attrnamespace;
+ a.a_name = name;
+ a.a_uio = uio;
+ a.a_cred = cred;
+ a.a_p = p;
+ return (VCALL(vp, VOFFSET(vop_setextattr), &a));
+}
+
/* Special cases: */
int vop_strategy_vp_offsets[] = {
@@ -1323,6 +1395,8 @@ struct vnodeop_desc *vfs_op_descs[] = {
&vop_advlock_desc,
&vop_reallocblks_desc,
&vop_whiteout_desc,
+ &vop_getextattr_desc,
+ &vop_setextattr_desc,
NULL
};