diff options
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 2 | ||||
-rw-r--r-- | source3/include/vfs.h | 7 | ||||
-rw-r--r-- | source3/include/vfs_macros.h | 8 |
3 files changed, 16 insertions, 1 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index ac0eed2b5b..9314e57cc2 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -6216,7 +6216,7 @@ bool get_dir_entry(TALLOC_CTX *ctx, bool is_visible_file(connection_struct *conn, const char *dir_path, const char *name, SMB_STRUCT_STAT *pst, bool use_veto); struct smb_Dir *OpenDir(TALLOC_CTX *mem_ctx, connection_struct *conn, const char *name, const char *mask, uint32 attr); -const char *ReadDirName(struct smb_Dir *dirp, long *poffset, +char *ReadDirName(struct smb_Dir *dirp, long *poffset, SMB_STRUCT_STAT *sbuf); void RewindDir(struct smb_Dir *dirp, long *poffset); void SeekDir(struct smb_Dir *dirp, long offset); diff --git a/source3/include/vfs.h b/source3/include/vfs.h index 38a972f04c..38d60a0aec 100644 --- a/source3/include/vfs.h +++ b/source3/include/vfs.h @@ -123,6 +123,8 @@ SMB_VFS_RENAME, SMB_VFS_UNLINK, SMB_VFS_NTIMES. */ /* Changed to version 27 - not yet released. Added enum timestamp_set_resolution * return to fs_capabilities call. JRA. */ +/* Leave at 27 - not yet released. Add translate_name VFS call to convert + UNIX names to Windows supported names -- asrinivasan. */ #define SMB_VFS_INTERFACE_VERSION 27 @@ -299,6 +301,9 @@ struct vfs_fn_pointers { struct files_struct *fsp, struct lock_struct *plock); + NTSTATUS (*translate_name)(struct vfs_handle_struct *handle, + char **mapped_name); + /* NT ACL operations. */ NTSTATUS (*fget_nt_acl)(struct vfs_handle_struct *handle, @@ -644,6 +649,8 @@ bool smb_vfs_call_strict_lock(struct vfs_handle_struct *handle, void smb_vfs_call_strict_unlock(struct vfs_handle_struct *handle, struct files_struct *fsp, struct lock_struct *plock); +NTSTATUS smb_vfs_call_translate_name(struct vfs_handle_struct *handle, + char **mapped_name); NTSTATUS smb_vfs_call_fget_nt_acl(struct vfs_handle_struct *handle, struct files_struct *fsp, uint32 security_info, diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h index e271cdee61..7cc5579e25 100644 --- a/source3/include/vfs_macros.h +++ b/source3/include/vfs_macros.h @@ -345,6 +345,14 @@ #define SMB_VFS_NEXT_STRICT_UNLOCK(handle, fsp, plock) \ smb_vfs_call_strict_unlock((handle)->next, (fsp), (plock)) +#define SMB_VFS_TRANSLATE_NAME(conn, mapped_name) \ + smb_vfs_call_translate_name((conn)->vfs_handles, (mapped_name)) +#define SMB_VFS_NEXT_TRANSLATE_NAME(handle, mapped_name) \ + smb_vfs_call_translate_name((handle)->next, (mapped_name)) + +#define SMB_VFS_NEXT_STRICT_UNLOCK(handle, fsp, plock) \ + smb_vfs_call_strict_unlock((handle)->next, (fsp), (plock)) + #define SMB_VFS_FGET_NT_ACL(fsp, security_info, ppdesc) \ smb_vfs_call_fget_nt_acl((fsp)->conn->vfs_handles, (fsp), (security_info), (ppdesc)) #define SMB_VFS_NEXT_FGET_NT_ACL(handle, fsp, security_info, ppdesc) \ |