diff options
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/vfs.h | 14 | ||||
-rw-r--r-- | source3/include/vfs_macros.h | 9 |
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)) |