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,
;
}
-int vfs_not_implemented_mkdir(vfs_handle_struct *handle,
+int vfs_not_implemented_mkdirat(vfs_handle_struct *handle,
+ struct files_struct *dirfsp,
const struct smb_filename *smb_fname,
mode_t mode)
{
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;
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,
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;
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)
{
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;
return false;
}
-int vfs_not_implemented_symlink(vfs_handle_struct *handle,
- const char *link_contents,
+int vfs_not_implemented_symlinkat(vfs_handle_struct *handle,
+ const struct smb_filename *link_contents,
+ struct files_struct *dirfsp,
const struct smb_filename *new_smb_fname)
{
errno = ENOSYS;
return -1;
}
-int vfs_not_implemented_vfs_readlink(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- char *buf,
- size_t bufsiz)
+int vfs_not_implemented_vfs_readlinkat(vfs_handle_struct *handle,
+ files_struct *dirfsp,
+ const struct smb_filename *smb_fname,
+ char *buf,
+ size_t bufsiz)
{
errno = ENOSYS;
return -1;
return -1;
}
-int vfs_not_implemented_mknod(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- mode_t mode,
- SMB_DEV_T dev)
+int vfs_not_implemented_mknodat(vfs_handle_struct *handle,
+ files_struct *dirfsp,
+ const struct smb_filename *smb_fname,
+ mode_t mode,
+ SMB_DEV_T dev)
{
errno = ENOSYS;
return -1;
}
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)
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,
.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,
- .rmdir_fn = vfs_not_implemented_rmdir,
+ .mkdirat_fn = vfs_not_implemented_mkdirat,
.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,
.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,
.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,
- .symlink_fn = vfs_not_implemented_symlink,
- .readlink_fn = vfs_not_implemented_vfs_readlink,
+ .symlinkat_fn = vfs_not_implemented_symlinkat,
+ .readlinkat_fn = vfs_not_implemented_vfs_readlinkat,
.linkat_fn = vfs_not_implemented_linkat,
- .mknod_fn = vfs_not_implemented_mknod,
+ .mknodat_fn = vfs_not_implemented_mknodat,
.realpath_fn = vfs_not_implemented_realpath,
.chflags_fn = vfs_not_implemented_chflags,
.file_id_create_fn = vfs_not_implemented_file_id_create,
/* 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. */