From 6e5ea70e9e0aafa39dbf8cd53238d0045f38f468 Mon Sep 17 00:00:00 2001 From: James Peach Date: Thu, 8 Mar 2007 01:40:49 +0000 Subject: r21757: Add SMB_VFS_CHFLAGS operation. (This used to be commit 16cb22d6b83c502dec1b297c544c05d89714b3d6) --- source3/include/vfs.h | 6 +++++- source3/include/vfs_macros.h | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'source3/include') diff --git a/source3/include/vfs.h b/source3/include/vfs.h index 7bcd6cdf2c..5e7048bb54 100644 --- a/source3/include/vfs.h +++ b/source3/include/vfs.h @@ -69,7 +69,8 @@ Also included linux setlease call - jmcd */ /* Changed to version 20, use ntimes call instead of utime (greater * timestamp resolition. JRA. */ -#define SMB_VFS_INTERFACE_VERSION 20 +/* Changed to version21 to add chflags operation -- jpeach */ +#define SMB_VFS_INTERFACE_VERSION 21 /* to bug old modules which are trying to compile with the old functions */ @@ -158,6 +159,7 @@ typedef enum _vfs_op_type { SMB_VFS_OP_MKNOD, SMB_VFS_OP_REALPATH, SMB_VFS_OP_NOTIFY_WATCH, + SMB_VFS_OP_CHFLAGS, /* NT ACL operations. */ @@ -289,6 +291,7 @@ struct vfs_ops { void *private_data, struct notify_event *ev), void *private_data, void *handle_p); + int (*chflags)(struct vfs_handle_struct *handle, const char *path, uint flags); /* NT ACL operations. */ @@ -406,6 +409,7 @@ struct vfs_ops { struct vfs_handle_struct *mknod; struct vfs_handle_struct *realpath; struct vfs_handle_struct *notify_watch; + struct vfs_handle_struct *chflags; /* NT ACL operations. */ diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h index f4a289716b..2ff313b42c 100644 --- a/source3/include/vfs_macros.h +++ b/source3/include/vfs_macros.h @@ -79,6 +79,7 @@ #define SMB_VFS_MKNOD(conn, path, mode, dev) ((conn)->vfs.ops.mknod((conn)->vfs.handles.mknod, (path), (mode), (dev))) #define SMB_VFS_REALPATH(conn, path, resolved_path) ((conn)->vfs.ops.realpath((conn)->vfs.handles.realpath, (path), (resolved_path))) #define SMB_VFS_NOTIFY_WATCH(conn, ctx, e, callback, private_data, handle_p) ((conn)->vfs.ops.notify_watch((conn)->vfs.handles.notify_watch, (ctx), (e), (callback), (private_data), (handle_p))) +#define SMB_VFS_CHFLAGS(conn, path, flags) ((conn)->vfs.ops.chflags((conn)->vfs.handles.chflags, (path), (flags))) /* NT ACL operations. */ #define SMB_VFS_FGET_NT_ACL(fsp, fd, security_info, ppdesc) ((fsp)->conn->vfs.ops.fget_nt_acl((fsp)->conn->vfs.handles.fget_nt_acl, (fsp), (fd), (security_info), (ppdesc))) @@ -194,6 +195,7 @@ #define SMB_VFS_OPAQUE_MKNOD(conn, path, mode, dev) ((conn)->vfs_opaque.ops.mknod((conn)->vfs_opaque.handles.mknod, (path), (mode), (dev))) #define SMB_VFS_OPAQUE_REALPATH(conn, path, resolved_path) ((conn)->vfs_opaque.ops.realpath((conn)->vfs_opaque.handles.realpath, (path), (resolved_path))) #define SMB_VFS_OPAQUE_NOTIFY_WATCH(conn, ctx, e, callback, private_data, handle_p) ((conn)->vfs_opaque.ops.notify_watch((conn)->vfs_opaque.handles.notify_watch, (ctx), (e), (callback), (private_data), (handle_p))) +#define SMB_VFS_OPAQUE_CHFLAGS(conn, path, flags) ((conn)->vfs_opaque.ops.chflags((conn)->vfs_opaque.handles.chflags, (path), (flags))) /* NT ACL operations. */ #define SMB_VFS_OPAQUE_FGET_NT_ACL(fsp, fd, security_info, ppdesc) ((fsp)->conn->vfs_opaque.ops.fget_nt_acl((fsp)->conn->vfs_opaque.handles.fget_nt_acl, (fsp), (fd), (security_info), (ppdesc))) @@ -310,6 +312,7 @@ #define SMB_VFS_NEXT_MKNOD(handle, path, mode, dev) ((handle)->vfs_next.ops.mknod((handle)->vfs_next.handles.mknod, (path), (mode), (dev))) #define SMB_VFS_NEXT_REALPATH(handle, path, resolved_path) ((handle)->vfs_next.ops.realpath((handle)->vfs_next.handles.realpath, (path), (resolved_path))) #define SMB_VFS_NEXT_NOTIFY_WATCH(conn, ctx, e, callback, private_data, handle_p) ((conn)->vfs_next.ops.notify_watch((conn)->vfs_next.handles.notify_watch, (ctx), (e), (callback), (private_data), (handle_p))) +#define SMB_VFS_NEXT_CHFLAGS(handle, path, flags) ((handle)->vfs_next.ops.chflags((handle)->vfs_next.handles.chflags, (path), (flags))) /* NT ACL operations. */ #define SMB_VFS_NEXT_FGET_NT_ACL(handle, fsp, fd, security_info, ppdesc) ((handle)->vfs_next.ops.fget_nt_acl((handle)->vfs_next.handles.fget_nt_acl, (fsp), (fd), (security_info), (ppdesc))) -- cgit