summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/proto.h2
-rw-r--r--source3/include/vfs.h7
-rw-r--r--source3/include/vfs_macros.h8
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) \