summaryrefslogtreecommitdiff
path: root/source3/include/vfs.h
diff options
context:
space:
mode:
authorAravind Srinivasan <aravind.srinivasan@isilon.com>2009-08-26 14:56:09 -0700
committerTim Prouty <tprouty@samba.org>2009-08-28 16:38:57 -0700
commite046b382f24f507a19bfb020b145ea2ec8acafcb (patch)
tree867511a82c4772ee8f325c48ed1ec3f0b5e5d093 /source3/include/vfs.h
parent77e2403f1314a28722f0fb21f6682320b2e9935d (diff)
downloadsamba-e046b382f24f507a19bfb020b145ea2ec8acafcb.tar.gz
samba-e046b382f24f507a19bfb020b145ea2ec8acafcb.tar.bz2
samba-e046b382f24f507a19bfb020b145ea2ec8acafcb.zip
s3: Add a new VFS op called SMB_VFS_TRANSLATE_NAME
This vop is designed to work in tandem with SMB_VFS_READDIR to allow vfs modules to make modifications to arbitrary filenames before they're consumed by callers. Subsequently the core directory enumeration code in smbd is now changed to free the memory that may be allocated in a module. This vop enables the new version of catia in the following patch. Signed-off-by: Tim Prouty <tprouty@samba.org>
Diffstat (limited to 'source3/include/vfs.h')
-rw-r--r--source3/include/vfs.h7
1 files changed, 7 insertions, 0 deletions
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,