vfs: remove dirfsp arg from SMB_VFS_CREATE_FILE()
[amitay/samba.git] / source3 / modules / vfs_not_implemented.c
index 9fa143a6729543be494e20274acbc7576450c07e..9b5b0f6b4f65f27f237d6eadac097095b829de81 100644 (file)
@@ -97,12 +97,23 @@ NTSTATUS vfs_not_implemented_get_dfs_referrals(struct vfs_handle_struct *handle,
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
-DIR *vfs_not_implemented_opendir(vfs_handle_struct *handle,
-                       const struct smb_filename *smb_fname,
-                       const char *mask,
-                       uint32_t attr)
+NTSTATUS vfs_not_implemented_create_dfs_pathat(struct vfs_handle_struct *handle,
+                               struct files_struct *dirfsp,
+                               const struct smb_filename *smb_fname,
+                               const struct referral *reflist,
+                               size_t referral_count)
 {
-       return NULL;
+       return NT_STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS vfs_not_implemented_read_dfs_pathat(struct vfs_handle_struct *handle,
+                               TALLOC_CTX *mem_ctx,
+                               struct files_struct *dirfsp,
+                               struct smb_filename *smb_fname,
+                               struct referral **ppreflist,
+                               size_t *preferral_count)
+{
+       return NT_STATUS_NOT_IMPLEMENTED;
 }
 
 NTSTATUS vfs_not_implemented_snap_check_path(struct vfs_handle_struct *handle,
@@ -162,14 +173,6 @@ void vfs_not_implemented_rewind_dir(vfs_handle_struct *handle, DIR *dirp)
        ;
 }
 
-int vfs_not_implemented_mkdir(vfs_handle_struct *handle,
-               const struct smb_filename *smb_fname,
-               mode_t mode)
-{
-       errno = ENOSYS;
-       return -1;
-}
-
 int vfs_not_implemented_mkdirat(vfs_handle_struct *handle,
                struct files_struct *dirfsp,
                const struct smb_filename *smb_fname,
@@ -179,22 +182,18 @@ int vfs_not_implemented_mkdirat(vfs_handle_struct *handle,
        return -1;
 }
 
-int vfs_not_implemented_rmdir(vfs_handle_struct *handle,
-               const struct smb_filename *smb_fname)
-{
-       errno = ENOSYS;
-       return -1;
-}
-
 int vfs_not_implemented_closedir(vfs_handle_struct *handle, DIR *dir)
 {
        errno = ENOSYS;
        return -1;
 }
 
-int vfs_not_implemented_open(vfs_handle_struct *handle,
-                            struct smb_filename *smb_fname,
-                            files_struct *fsp, int flags, mode_t mode)
+int vfs_not_implemented_openat(vfs_handle_struct *handle,
+                              const struct files_struct *dirfsp,
+                              const struct smb_filename *smb_fname,
+                              struct files_struct *fsp,
+                              int flags,
+                              mode_t mode)
 {
        errno = ENOSYS;
        return -1;
@@ -202,7 +201,6 @@ int vfs_not_implemented_open(vfs_handle_struct *handle,
 
 NTSTATUS vfs_not_implemented_create_file(struct vfs_handle_struct *handle,
                                struct smb_request *req,
-                               uint16_t root_dir_fid,
                                struct smb_filename *smb_fname,
                                uint32_t access_mask,
                                uint32_t share_access,
@@ -350,8 +348,10 @@ uint64_t vfs_not_implemented_get_alloc_size(struct vfs_handle_struct *handle,
        return -1;
 }
 
-int vfs_not_implemented_unlink(vfs_handle_struct *handle,
-                              const struct smb_filename *smb_fname)
+int vfs_not_implemented_unlinkat(vfs_handle_struct *handle,
+                       struct files_struct *dirfsp,
+                       const struct smb_filename *smb_fname,
+                       int flags)
 {
        errno = ENOSYS;
        return -1;
@@ -372,15 +372,6 @@ int vfs_not_implemented_fchmod(vfs_handle_struct *handle, files_struct *fsp,
        return -1;
 }
 
-int vfs_not_implemented_chown(vfs_handle_struct *handle,
-                             const struct smb_filename *smb_fname,
-                             uid_t uid,
-                             gid_t gid)
-{
-       errno = ENOSYS;
-       return -1;
-}
-
 int vfs_not_implemented_fchown(vfs_handle_struct *handle, files_struct *fsp,
                               uid_t uid, gid_t gid)
 {
@@ -442,7 +433,15 @@ bool vfs_not_implemented_lock(vfs_handle_struct *handle, files_struct *fsp, int
 
 int vfs_not_implemented_kernel_flock(struct vfs_handle_struct *handle,
                                     struct files_struct *fsp,
-                                    uint32_t share_mode, uint32_t access_mask)
+                                    uint32_t share_access, uint32_t access_mask)
+{
+       errno = ENOSYS;
+       return -1;
+}
+
+int vfs_not_implemented_fcntl(struct vfs_handle_struct *handle,
+                             struct files_struct *fsp, int cmd,
+                             va_list cmd_arg)
 {
        errno = ENOSYS;
        return -1;
@@ -464,7 +463,7 @@ bool vfs_not_implemented_getlock(vfs_handle_struct *handle, files_struct *fsp,
 }
 
 int vfs_not_implemented_symlinkat(vfs_handle_struct *handle,
-                               const char *link_contents,
+                               const struct smb_filename *link_contents,
                                struct files_struct *dirfsp,
                                const struct smb_filename *new_smb_fname)
 {
@@ -649,7 +648,7 @@ NTSTATUS vfs_not_implemented_streaminfo(struct vfs_handle_struct *handle,
 }
 
 int vfs_not_implemented_get_real_filename(struct vfs_handle_struct *handle,
-                                         const char *path,
+                                         const struct smb_filename *path,
                                          const char *name,
                                          TALLOC_CTX *mem_ctx,
                                          char **found_name)
@@ -799,7 +798,8 @@ NTSTATUS vfs_not_implemented_fget_nt_acl(vfs_handle_struct *handle, files_struct
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
-NTSTATUS vfs_not_implemented_get_nt_acl(vfs_handle_struct *handle,
+NTSTATUS vfs_not_implemented_get_nt_acl_at(vfs_handle_struct *handle,
+                                       struct files_struct *dirfsp,
                                        const struct smb_filename *smb_fname,
                                        uint32_t security_info,
                                        TALLOC_CTX *mem_ctx,
@@ -1051,26 +1051,25 @@ static struct vfs_fn_pointers vfs_not_implemented_fns = {
        .statvfs_fn = vfs_not_implemented_statvfs,
        .fs_capabilities_fn = vfs_not_implemented_fs_capabilities,
        .get_dfs_referrals_fn = vfs_not_implemented_get_dfs_referrals,
+       .create_dfs_pathat_fn = vfs_not_implemented_create_dfs_pathat,
+       .read_dfs_pathat_fn = vfs_not_implemented_read_dfs_pathat,
        .snap_check_path_fn = vfs_not_implemented_snap_check_path,
        .snap_create_fn = vfs_not_implemented_snap_create,
        .snap_delete_fn = vfs_not_implemented_snap_delete,
 
        /* Directory operations */
 
-       .opendir_fn = vfs_not_implemented_opendir,
        .fdopendir_fn = vfs_not_implemented_fdopendir,
        .readdir_fn = vfs_not_implemented_readdir,
        .seekdir_fn = vfs_not_implemented_seekdir,
        .telldir_fn = vfs_not_implemented_telldir,
        .rewind_dir_fn = vfs_not_implemented_rewind_dir,
-       .mkdir_fn = vfs_not_implemented_mkdir,
        .mkdirat_fn = vfs_not_implemented_mkdirat,
-       .rmdir_fn = vfs_not_implemented_rmdir,
        .closedir_fn = vfs_not_implemented_closedir,
 
        /* File operations */
 
-       .open_fn = vfs_not_implemented_open,
+       .openat_fn = vfs_not_implemented_openat,
        .create_file_fn = vfs_not_implemented_create_file,
        .close_fn = vfs_not_implemented_close_fn,
        .pread_fn = vfs_not_implemented_pread,
@@ -1089,10 +1088,9 @@ static struct vfs_fn_pointers vfs_not_implemented_fns = {
        .fstat_fn = vfs_not_implemented_fstat,
        .lstat_fn = vfs_not_implemented_lstat,
        .get_alloc_size_fn = vfs_not_implemented_get_alloc_size,
-       .unlink_fn = vfs_not_implemented_unlink,
+       .unlinkat_fn = vfs_not_implemented_unlinkat,
        .chmod_fn = vfs_not_implemented_chmod,
        .fchmod_fn = vfs_not_implemented_fchmod,
-       .chown_fn = vfs_not_implemented_chown,
        .fchown_fn = vfs_not_implemented_fchown,
        .lchown_fn = vfs_not_implemented_lchown,
        .chdir_fn = vfs_not_implemented_chdir,
@@ -1102,6 +1100,7 @@ static struct vfs_fn_pointers vfs_not_implemented_fns = {
        .fallocate_fn = vfs_not_implemented_fallocate,
        .lock_fn = vfs_not_implemented_lock,
        .kernel_flock_fn = vfs_not_implemented_kernel_flock,
+       .fcntl_fn = vfs_not_implemented_fcntl,
        .linux_setlease_fn = vfs_not_implemented_linux_setlease,
        .getlock_fn = vfs_not_implemented_getlock,
        .symlinkat_fn = vfs_not_implemented_symlinkat,
@@ -1141,7 +1140,7 @@ static struct vfs_fn_pointers vfs_not_implemented_fns = {
        /* NT ACL operations. */
 
        .fget_nt_acl_fn = vfs_not_implemented_fget_nt_acl,
-       .get_nt_acl_fn = vfs_not_implemented_get_nt_acl,
+       .get_nt_acl_at_fn = vfs_not_implemented_get_nt_acl_at,
        .fset_nt_acl_fn = vfs_not_implemented_fset_nt_acl,
 
        /* POSIX ACL operations. */