summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-10-01 06:57:18 +0200
committerStefan Metzmacher <metze@samba.org>2011-10-08 01:43:38 +0200
commit9bd26d81900c16718e9ad3916aec5a7ac6b636be (patch)
tree80724d3c6a69c2cf9c793ca260a97754f9b839d6 /source3/include
parent37a17a49175b2f0eca5578467b785325561eb0cf (diff)
downloadsamba-9bd26d81900c16718e9ad3916aec5a7ac6b636be.tar.gz
samba-9bd26d81900c16718e9ad3916aec5a7ac6b636be.tar.bz2
samba-9bd26d81900c16718e9ad3916aec5a7ac6b636be.zip
s3:vfs: add SMB_VFS_GET_DFS_REFERRAL() hooks
metze
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/vfs.h14
-rw-r--r--source3/include/vfs_macros.h9
2 files changed, 23 insertions, 0 deletions
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 3b5e0e7f6a..4559b351bc 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -137,6 +137,7 @@
/* Leave at 28 - not yet released. Make getwd function always return malloced memory. JRA. */
/* Bump to version 29 - Samba 3.6.0 will ship with interface version 28. */
/* Leave at 29 - not yet releases. Add fsctl. Richard Sharpe */
+/* Leave at 29 - not yet released. add SMB_VFS_GET_DFS_REFERRAL() - metze */
#define SMB_VFS_INTERFACE_VERSION 29
/*
@@ -157,6 +158,7 @@ struct ea_list;
struct smb_file_time;
struct blocking_lock_record;
struct smb_filename;
+struct dfs_GetDFSReferral;
#define VFS_FIND(__fn__) while (handle->fns->__fn__==NULL) { \
handle = handle->next; \
@@ -193,6 +195,13 @@ struct vfs_fn_pointers {
int (*statvfs)(struct vfs_handle_struct *handle, const char *path, struct vfs_statvfs_struct *statbuf);
uint32_t (*fs_capabilities)(struct vfs_handle_struct *handle, enum timestamp_set_resolution *p_ts_res);
+ /*
+ * Note: that "struct dfs_GetDFSReferral *r"
+ * needs to be a valid TALLOC_CTX
+ */
+ NTSTATUS (*get_dfs_referrals)(struct vfs_handle_struct *handle,
+ struct dfs_GetDFSReferral *r);
+
/* Directory operations */
SMB_STRUCT_DIR *(*opendir)(struct vfs_handle_struct *handle, const char *fname, const char *mask, uint32 attributes);
@@ -536,6 +545,11 @@ int smb_vfs_call_statvfs(struct vfs_handle_struct *handle, const char *path,
struct vfs_statvfs_struct *statbuf);
uint32_t smb_vfs_call_fs_capabilities(struct vfs_handle_struct *handle,
enum timestamp_set_resolution *p_ts_res);
+/*
+ * Note: that "struct dfs_GetDFSReferral *r" needs to be a valid TALLOC_CTX
+ */
+NTSTATUS smb_vfs_call_get_dfs_referrals(struct vfs_handle_struct *handle,
+ struct dfs_GetDFSReferral *r);
SMB_STRUCT_DIR *smb_vfs_call_opendir(struct vfs_handle_struct *handle,
const char *fname, const char *mask,
uint32 attributes);
diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h
index 3dd6a64249..6047f59392 100644
--- a/source3/include/vfs_macros.h
+++ b/source3/include/vfs_macros.h
@@ -68,6 +68,15 @@
#define SMB_VFS_NEXT_FS_CAPABILITIES(handle, p_ts_res) \
smb_vfs_call_fs_capabilities((handle)->next, (p_ts_res))
+/*
+ * Note: that "struct dfs_GetDFSReferral *r"
+ * needs to be a valid TALLOC_CTX
+ */
+#define SMB_VFS_GET_DFS_REFERRALS(conn, r) \
+ smb_vfs_call_get_dfs_referrals((conn)->vfs_handles, (r))
+#define SMB_VFS_NEXT_GET_DFS_REFERRALS(handle, r) \
+ smb_vfs_call_get_dfs_referrals((handle)->next, (r))
+
/* Directory operations */
#define SMB_VFS_OPENDIR(conn, fname, mask, attr) \
smb_vfs_call_opendir((conn)->vfs_handles, (fname), (mask), (attr))