summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2020-01-09 10:13:14 -0800
committerJeremy Allison <jra@samba.org>2020-01-10 19:38:42 +0000
commitb0b9dd2f8693edc87840f04259e8f31fb55f601c (patch)
tree6e79ba693aa3e0e59633bbb5f67aff7617e5d656 /source3/include
parent86a31defbf212d188281d5d963b12eedf1960e8b (diff)
downloadsamba-b0b9dd2f8693edc87840f04259e8f31fb55f601c.tar.gz
s3: VFS: Add SMB_VFS_CREATE_DFS_PATHAT().
Not yet used. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/vfs.h17
-rw-r--r--source3/include/vfs_macros.h13
2 files changed, 30 insertions, 0 deletions
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index e4881d4940b..a836903a832 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -288,6 +288,7 @@
/* Version 42 - Remove SMB_VFS_CHOWN */
/* Version 42 - Remove struct write_cache *wcp from files_struct */
/* Version 42 - SMB_VFS_NTIMES() receives null times based on UTIMES_OMIT */
+/* Version 42 - Add SMB_VFS_CREATE_DFS_PATHAT() */
#define SMB_VFS_INTERFACE_VERSION 42
@@ -547,6 +548,7 @@ typedef struct connection_struct {
struct smbd_smb2_request;
struct privilege_paths;
+struct referral;
struct smb_request {
uint8_t cmd;
@@ -702,6 +704,11 @@ struct vfs_fn_pointers {
*/
NTSTATUS (*get_dfs_referrals_fn)(struct vfs_handle_struct *handle,
struct dfs_GetDFSReferral *r);
+ NTSTATUS (*create_dfs_pathat_fn)(struct vfs_handle_struct *handle,
+ struct files_struct *dirfsp,
+ const struct smb_filename *smb_fname,
+ const struct referral *reflist,
+ size_t referral_count);
/* Directory operations */
@@ -1205,6 +1212,11 @@ uint32_t smb_vfs_call_fs_capabilities(struct vfs_handle_struct *handle,
*/
NTSTATUS smb_vfs_call_get_dfs_referrals(struct vfs_handle_struct *handle,
struct dfs_GetDFSReferral *r);
+NTSTATUS smb_vfs_call_create_dfs_pathat(struct vfs_handle_struct *handle,
+ struct files_struct *dirfsp,
+ const struct smb_filename *smb_fname,
+ const struct referral *reflist,
+ size_t referral_count);
DIR *smb_vfs_call_opendir(struct vfs_handle_struct *handle,
const struct smb_filename *smb_fname,
const char *mask,
@@ -1642,6 +1654,11 @@ uint32_t vfs_not_implemented_fs_capabilities(struct vfs_handle_struct *handle,
enum timestamp_set_resolution *p_ts_res);
NTSTATUS vfs_not_implemented_get_dfs_referrals(struct vfs_handle_struct *handle,
struct dfs_GetDFSReferral *r);
+NTSTATUS vfs_not_implemented_create_dfs_pathat(struct vfs_handle_struct *handle,
+ struct files_struct *dirfsp,
+ const struct smb_filename *smb_fname,
+ const struct referral *reflist,
+ size_t referral_count);
DIR *vfs_not_implemented_opendir(vfs_handle_struct *handle,
const struct smb_filename *smb_fname,
const char *mask,
diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h
index cec8f6f204d..d4ccb8f5c73 100644
--- a/source3/include/vfs_macros.h
+++ b/source3/include/vfs_macros.h
@@ -78,6 +78,19 @@
#define SMB_VFS_NEXT_GET_DFS_REFERRALS(handle, r) \
smb_vfs_call_get_dfs_referrals((handle)->next, (r))
+#define SMB_VFS_CREATE_DFS_PATHAT(conn, dirfsp, smb_fname, reflist, count) \
+ smb_vfs_call_create_dfs_pathat((conn)->vfs_handles, \
+ (dirfsp), \
+ (smb_fname), \
+ (reflist), \
+ (count))
+#define SMB_VFS_NEXT_CREATE_DFS_PATHAT(handle, dirfsp, smb_fname, reflist, count) \
+ smb_vfs_call_create_dfs_pathat((handle)->next, \
+ (dirfsp), \
+ (smb_fname), \
+ (reflist), \
+ (count))
+
/* Directory operations */
#define SMB_VFS_OPENDIR(conn, smb_fname, mask, attr) \
smb_vfs_call_opendir((conn)->vfs_handles, (smb_fname), (mask), (attr))