#include "lib/util/tevent_unix.h"
#include "lib/util/tevent_ntstatus.h"
+_PUBLIC_
int vfs_not_implemented_connect(
vfs_handle_struct *handle,
const char *service,
return -1;
}
+_PUBLIC_
void vfs_not_implemented_disconnect(vfs_handle_struct *handle)
{
;
}
+_PUBLIC_
uint64_t vfs_not_implemented_disk_free(vfs_handle_struct *handle,
const struct smb_filename *smb_fname,
uint64_t *bsize,
return 0;
}
+_PUBLIC_
int vfs_not_implemented_get_quota(vfs_handle_struct *handle,
const struct smb_filename *smb_fname,
enum SMB_QUOTA_TYPE qtype,
return -1;
}
+_PUBLIC_
int vfs_not_implemented_set_quota(vfs_handle_struct *handle,
enum SMB_QUOTA_TYPE qtype,
unid_t id, SMB_DISK_QUOTA *dq)
return -1;
}
+_PUBLIC_
int vfs_not_implemented_get_shadow_copy_data(vfs_handle_struct *handle,
files_struct *fsp,
struct shadow_copy_data *shadow_copy_data,
return -1;
}
+_PUBLIC_
int vfs_not_implemented_statvfs(struct vfs_handle_struct *handle,
const struct smb_filename *smb_fname,
struct vfs_statvfs_struct *statbuf)
return -1;
}
+_PUBLIC_
uint32_t vfs_not_implemented_fs_capabilities(struct vfs_handle_struct *handle,
enum timestamp_set_resolution *p_ts_res)
{
return 0;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_get_dfs_referrals(struct vfs_handle_struct *handle,
struct dfs_GetDFSReferral *r)
{
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_create_dfs_pathat(struct vfs_handle_struct *handle,
struct files_struct *dirfsp,
const struct smb_filename *smb_fname,
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_read_dfs_pathat(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
struct files_struct *dirfsp,
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_snap_check_path(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
const char *service_path,
return NT_STATUS_NOT_SUPPORTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_snap_create(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
const char *base_volume,
return NT_STATUS_NOT_SUPPORTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_snap_delete(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
char *base_path,
return NT_STATUS_NOT_SUPPORTED;
}
+_PUBLIC_
DIR *vfs_not_implemented_fdopendir(vfs_handle_struct *handle, files_struct *fsp,
const char *mask, uint32_t attr)
{
return NULL;
}
+_PUBLIC_
struct dirent *vfs_not_implemented_readdir(vfs_handle_struct *handle,
struct files_struct *dirfsp,
DIR *dirp,
return NULL;
}
+_PUBLIC_
void vfs_not_implemented_seekdir(vfs_handle_struct *handle, DIR *dirp, long offset)
{
;
}
+_PUBLIC_
long vfs_not_implemented_telldir(vfs_handle_struct *handle, DIR *dirp)
{
errno = ENOSYS;
return (long)-1;
}
+_PUBLIC_
void vfs_not_implemented_rewind_dir(vfs_handle_struct *handle, DIR *dirp)
{
;
}
+_PUBLIC_
int vfs_not_implemented_mkdirat(vfs_handle_struct *handle,
struct files_struct *dirfsp,
const struct smb_filename *smb_fname,
return -1;
}
+_PUBLIC_
int vfs_not_implemented_closedir(vfs_handle_struct *handle, DIR *dir)
{
errno = ENOSYS;
return -1;
}
+_PUBLIC_
int vfs_not_implemented_openat(vfs_handle_struct *handle,
const struct files_struct *dirfsp,
const struct smb_filename *smb_fname,
return -1;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_create_file(struct vfs_handle_struct *handle,
struct smb_request *req,
struct smb_filename *smb_fname,
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
int vfs_not_implemented_close_fn(vfs_handle_struct *handle, files_struct *fsp)
{
errno = ENOSYS;
return -1;
}
+_PUBLIC_
ssize_t vfs_not_implemented_pread(vfs_handle_struct *handle, files_struct *fsp,
void *data, size_t n, off_t offset)
{
return -1;
}
+_PUBLIC_
struct tevent_req *vfs_not_implemented_pread_send(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
return NULL;
}
+_PUBLIC_
ssize_t vfs_not_implemented_pread_recv(struct tevent_req *req,
struct vfs_aio_state *vfs_aio_state)
{
return -1;
}
+_PUBLIC_
ssize_t vfs_not_implemented_pwrite(vfs_handle_struct *handle, files_struct *fsp,
const void *data, size_t n, off_t offset)
{
return -1;
}
+_PUBLIC_
struct tevent_req *vfs_not_implemented_pwrite_send(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
return NULL;
}
+_PUBLIC_
ssize_t vfs_not_implemented_pwrite_recv(struct tevent_req *req,
struct vfs_aio_state *vfs_aio_state)
{
return -1;
}
+_PUBLIC_
off_t vfs_not_implemented_lseek(vfs_handle_struct *handle, files_struct *fsp,
off_t offset, int whence)
{
return (off_t) - 1;
}
+_PUBLIC_
ssize_t vfs_not_implemented_sendfile(vfs_handle_struct *handle, int tofd,
files_struct *fromfsp, const DATA_BLOB *hdr,
off_t offset, size_t n)
return -1;
}
+_PUBLIC_
ssize_t vfs_not_implemented_recvfile(vfs_handle_struct *handle, int fromfd,
files_struct *tofsp, off_t offset, size_t n)
{
return -1;
}
+_PUBLIC_
int vfs_not_implemented_renameat(vfs_handle_struct *handle,
files_struct *srcfsp,
const struct smb_filename *smb_fname_src,
return -1;
}
+_PUBLIC_
struct tevent_req *vfs_not_implemented_fsync_send(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
return NULL;
}
+_PUBLIC_
int vfs_not_implemented_fsync_recv(struct tevent_req *req,
struct vfs_aio_state *vfs_aio_state)
{
return -1;
}
+_PUBLIC_
int vfs_not_implemented_stat(vfs_handle_struct *handle, struct smb_filename *smb_fname)
{
errno = ENOSYS;
return -1;
}
+_PUBLIC_
int vfs_not_implemented_fstat(vfs_handle_struct *handle, files_struct *fsp,
SMB_STRUCT_STAT *sbuf)
{
return -1;
}
+_PUBLIC_
int vfs_not_implemented_lstat(vfs_handle_struct *handle,
struct smb_filename *smb_fname)
{
return -1;
}
+_PUBLIC_
uint64_t vfs_not_implemented_get_alloc_size(struct vfs_handle_struct *handle,
struct files_struct *fsp,
const SMB_STRUCT_STAT *sbuf)
return -1;
}
+_PUBLIC_
int vfs_not_implemented_unlinkat(vfs_handle_struct *handle,
struct files_struct *dirfsp,
const struct smb_filename *smb_fname,
return -1;
}
+_PUBLIC_
int vfs_not_implemented_fchmod(vfs_handle_struct *handle, files_struct *fsp,
mode_t mode)
{
return -1;
}
+_PUBLIC_
int vfs_not_implemented_fchown(vfs_handle_struct *handle, files_struct *fsp,
uid_t uid, gid_t gid)
{
return -1;
}
+_PUBLIC_
int vfs_not_implemented_lchown(vfs_handle_struct *handle,
const struct smb_filename *smb_fname,
uid_t uid,
return -1;
}
+_PUBLIC_
int vfs_not_implemented_chdir(vfs_handle_struct *handle,
const struct smb_filename *smb_fname)
{
return -1;
}
+_PUBLIC_
struct smb_filename *vfs_not_implemented_getwd(vfs_handle_struct *handle,
TALLOC_CTX *ctx)
{
return NULL;
}
+_PUBLIC_
int vfs_not_implemented_fntimes(vfs_handle_struct *handle,
files_struct *fsp,
struct smb_file_time *ft)
return -1;
}
+_PUBLIC_
int vfs_not_implemented_ftruncate(vfs_handle_struct *handle, files_struct *fsp,
off_t offset)
{
return -1;
}
+_PUBLIC_
int vfs_not_implemented_fallocate(vfs_handle_struct *handle, files_struct *fsp,
uint32_t mode, off_t offset, off_t len)
{
return -1;
}
+_PUBLIC_
bool vfs_not_implemented_lock(vfs_handle_struct *handle, files_struct *fsp, int op,
off_t offset, off_t count, int type)
{
return false;
}
+_PUBLIC_
int vfs_not_implemented_filesystem_sharemode(struct vfs_handle_struct *handle,
struct files_struct *fsp,
uint32_t share_access,
return -1;
}
+_PUBLIC_
int vfs_not_implemented_fcntl(struct vfs_handle_struct *handle,
struct files_struct *fsp, int cmd,
va_list cmd_arg)
return -1;
}
+_PUBLIC_
int vfs_not_implemented_linux_setlease(struct vfs_handle_struct *handle,
struct files_struct *fsp, int leasetype)
{
return -1;
}
+_PUBLIC_
bool vfs_not_implemented_getlock(vfs_handle_struct *handle, files_struct *fsp,
off_t *poffset, off_t *pcount, int *ptype,
pid_t *ppid)
return false;
}
+_PUBLIC_
int vfs_not_implemented_symlinkat(vfs_handle_struct *handle,
const struct smb_filename *link_contents,
struct files_struct *dirfsp,
return -1;
}
+_PUBLIC_
int vfs_not_implemented_vfs_readlinkat(vfs_handle_struct *handle,
const struct files_struct *dirfsp,
const struct smb_filename *smb_fname,
return -1;
}
+_PUBLIC_
int vfs_not_implemented_linkat(vfs_handle_struct *handle,
files_struct *srcfsp,
const struct smb_filename *old_smb_fname,
return -1;
}
+_PUBLIC_
int vfs_not_implemented_mknodat(vfs_handle_struct *handle,
files_struct *dirfsp,
const struct smb_filename *smb_fname,
return -1;
}
+_PUBLIC_
struct smb_filename *vfs_not_implemented_realpath(vfs_handle_struct *handle,
TALLOC_CTX *ctx,
const struct smb_filename *smb_fname)
return NULL;
}
+_PUBLIC_
int vfs_not_implemented_fchflags(vfs_handle_struct *handle,
struct files_struct *fsp,
uint flags)
return -1;
}
+_PUBLIC_
struct file_id vfs_not_implemented_file_id_create(vfs_handle_struct *handle,
const SMB_STRUCT_STAT *sbuf)
{
return id;
}
+_PUBLIC_
uint64_t vfs_not_implemented_fs_file_id(vfs_handle_struct *handle,
const SMB_STRUCT_STAT *sbuf)
{
return 0;
}
+_PUBLIC_
struct vfs_not_implemented_offload_read_state {
bool dummy;
};
+_PUBLIC_
struct tevent_req *vfs_not_implemented_offload_read_send(
TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
return tevent_req_post(req, ev);
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_offload_read_recv(struct tevent_req *req,
struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
return NT_STATUS_OK;
}
+_PUBLIC_
struct vfs_not_implemented_offload_write_state {
uint64_t unused;
};
+_PUBLIC_
struct tevent_req *vfs_not_implemented_offload_write_send(
struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
return tevent_req_post(req, ev);
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_offload_write_recv(struct vfs_handle_struct *handle,
struct tevent_req *req,
off_t *copied)
return NT_STATUS_OK;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_fget_compression(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
struct files_struct *fsp,
return NT_STATUS_INVALID_DEVICE_REQUEST;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_set_compression(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
struct files_struct *fsp,
return NT_STATUS_INVALID_DEVICE_REQUEST;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_fstreaminfo(struct vfs_handle_struct *handle,
struct files_struct *fsp,
TALLOC_CTX *mem_ctx,
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
int vfs_not_implemented_get_real_filename(struct vfs_handle_struct *handle,
const struct smb_filename *path,
const char *name,
return -1;
}
+_PUBLIC_
const char *vfs_not_implemented_connectpath(struct vfs_handle_struct *handle,
const struct smb_filename *smb_fname)
{
return NULL;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_brl_lock_windows(struct vfs_handle_struct *handle,
struct byte_range_lock *br_lck,
struct lock_struct *plock)
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
bool vfs_not_implemented_brl_unlock_windows(struct vfs_handle_struct *handle,
struct byte_range_lock *br_lck,
const struct lock_struct *plock)
return false;
}
+_PUBLIC_
bool vfs_not_implemented_strict_lock_check(struct vfs_handle_struct *handle,
struct files_struct *fsp,
struct lock_struct *plock)
return false;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_translate_name(struct vfs_handle_struct *handle,
const char *mapped_name,
enum vfs_translate_direction direction,
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_parent_pathname(struct vfs_handle_struct *handle,
TALLOC_CTX *mem_ctx,
const struct smb_filename *smb_fname_in,
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_fsctl(struct vfs_handle_struct *handle,
struct files_struct *fsp,
TALLOC_CTX *ctx,
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_freaddir_attr(struct vfs_handle_struct *handle,
struct files_struct *fsp,
TALLOC_CTX *mem_ctx,
uint32_t dosmode;
};
+_PUBLIC_
struct tevent_req *vfs_not_implemented_get_dos_attributes_send(
TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
return tevent_req_post(req, ev);
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_get_dos_attributes_recv(
struct tevent_req *req,
struct vfs_aio_state *aio_state,
return NT_STATUS_OK;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_fget_dos_attributes(struct vfs_handle_struct *handle,
struct files_struct *fsp,
uint32_t *dosmode)
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_fset_dos_attributes(struct vfs_handle_struct *handle,
struct files_struct *fsp,
uint32_t dosmode)
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_fget_nt_acl(vfs_handle_struct *handle, files_struct *fsp,
uint32_t security_info,
TALLOC_CTX *mem_ctx,
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_fset_nt_acl(vfs_handle_struct *handle, files_struct *fsp,
uint32_t security_info_sent,
const struct security_descriptor *psd)
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
SMB_ACL_T vfs_not_implemented_sys_acl_get_fd(vfs_handle_struct *handle,
files_struct *fsp,
SMB_ACL_TYPE_T type,
return (SMB_ACL_T) NULL;
}
+_PUBLIC_
int vfs_not_implemented_sys_acl_blob_get_fd(vfs_handle_struct *handle,
files_struct *fsp, TALLOC_CTX *mem_ctx,
char **blob_description, DATA_BLOB *blob)
return -1;
}
+_PUBLIC_
int vfs_not_implemented_sys_acl_set_fd(vfs_handle_struct *handle,
struct files_struct *fsp,
SMB_ACL_TYPE_T type,
return -1;
}
+_PUBLIC_
int vfs_not_implemented_sys_acl_delete_def_fd(vfs_handle_struct *handle,
struct files_struct *fsp)
{
uint8_t *xattr_value;
};
+_PUBLIC_
struct tevent_req *vfs_not_implemented_getxattrat_send(
TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
return tevent_req_post(req, ev);
}
+_PUBLIC_
ssize_t vfs_not_implemented_getxattrat_recv(struct tevent_req *req,
struct vfs_aio_state *aio_state,
TALLOC_CTX *mem_ctx,
return xattr_size;
}
+_PUBLIC_
ssize_t vfs_not_implemented_fgetxattr(vfs_handle_struct *handle,
struct files_struct *fsp, const char *name,
void *value, size_t size)
return -1;
}
+_PUBLIC_
ssize_t vfs_not_implemented_flistxattr(vfs_handle_struct *handle,
struct files_struct *fsp, char *list,
size_t size)
return -1;
}
+_PUBLIC_
int vfs_not_implemented_fremovexattr(vfs_handle_struct *handle,
struct files_struct *fsp, const char *name)
{
return -1;
}
+_PUBLIC_
int vfs_not_implemented_fsetxattr(vfs_handle_struct *handle, struct files_struct *fsp,
const char *name, const void *value, size_t size,
int flags)
return -1;
}
+_PUBLIC_
bool vfs_not_implemented_aio_force(struct vfs_handle_struct *handle,
struct files_struct *fsp)
{
return false;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_audit_file(struct vfs_handle_struct *handle,
struct smb_filename *file,
struct security_acl *sacl,
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_durable_cookie(struct vfs_handle_struct *handle,
struct files_struct *fsp,
TALLOC_CTX *mem_ctx,
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_durable_disconnect(struct vfs_handle_struct *handle,
struct files_struct *fsp,
const DATA_BLOB old_cookie,
return NT_STATUS_NOT_IMPLEMENTED;
}
+_PUBLIC_
NTSTATUS vfs_not_implemented_durable_reconnect(struct vfs_handle_struct *handle,
struct smb_request *smb1req,
struct smbXsrv_open *op,