summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorRalph Boehme <slow@samba.org>2020-05-15 16:29:44 +0200
committerJeremy Allison <jra@samba.org>2020-05-21 20:38:31 +0000
commite4a38916e60dd092901cd5c431980b012978e2ee (patch)
tree9bf9b0c7783aee575acfae7f2bff5d1f01421a25 /examples
parentd3c16d93d1833ef2756012def053996372245245 (diff)
downloadsamba-e4a38916e60dd092901cd5c431980b012978e2ee.tar.gz
vfs: add SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'examples')
-rw-r--r--examples/VFS/skel_opaque.c12
-rw-r--r--examples/VFS/skel_transparent.c11
2 files changed, 23 insertions, 0 deletions
diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c
index 77bd471315e..4c42e3d96c2 100644
--- a/examples/VFS/skel_opaque.c
+++ b/examples/VFS/skel_opaque.c
@@ -198,6 +198,17 @@ static int skel_open(vfs_handle_struct *handle, struct smb_filename *smb_fname,
return -1;
}
+static int skel_openat(struct vfs_handle_struct *handle,
+ const struct files_struct *dirfsp,
+ const struct smb_filename *smb_fname,
+ struct files_struct *fsp,
+ int flags,
+ mode_t mode)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
static NTSTATUS skel_create_file(struct vfs_handle_struct *handle,
struct smb_request *req,
struct files_struct **dirfsp,
@@ -1063,6 +1074,7 @@ static struct vfs_fn_pointers skel_opaque_fns = {
/* File operations */
.open_fn = skel_open,
+ .openat_fn = skel_openat,
.create_file_fn = skel_create_file,
.close_fn = skel_close_fn,
.pread_fn = skel_pread,
diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c
index 5c758f2fc5f..a57102607e3 100644
--- a/examples/VFS/skel_transparent.c
+++ b/examples/VFS/skel_transparent.c
@@ -206,6 +206,16 @@ static int skel_open(vfs_handle_struct *handle, struct smb_filename *smb_fname,
return SMB_VFS_NEXT_OPEN(handle, smb_fname, fsp, flags, mode);
}
+static int skel_openat(struct vfs_handle_struct *handle,
+ const struct files_struct *dirfsp,
+ const struct smb_filename *smb_fname,
+ struct files_struct *fsp,
+ int flags,
+ mode_t mode)
+{
+ return SMB_VFS_NEXT_OPENAT(handle, dirfsp, smb_fname, fsp, flags, mode);
+}
+
static NTSTATUS skel_create_file(struct vfs_handle_struct *handle,
struct smb_request *req,
struct files_struct **dirfsp,
@@ -1371,6 +1381,7 @@ static struct vfs_fn_pointers skel_transparent_fns = {
/* File operations */
.open_fn = skel_open,
+ .openat_fn = skel_openat,
.create_file_fn = skel_create_file,
.close_fn = skel_close_fn,
.pread_fn = skel_pread,