return result;
}
-static ssize_t posix_eadb_getxattr(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name,
- void *value,
- size_t size)
-{
- struct tdb_wrap *db;
-
- SMB_VFS_HANDLE_GET_DATA(handle, db, struct tdb_wrap, return -1);
-
- return posix_eadb_getattr(db, smb_fname->base_name,
- -1, name, value, size);
-}
-
static ssize_t posix_eadb_fgetxattr(struct vfs_handle_struct *handle,
struct files_struct *fsp,
const char *name, void *value, size_t size)
return 0;
}
-static int posix_eadb_setxattr(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name,
- const void *value,
- size_t size,
- int flags)
-{
- struct tdb_wrap *db;
-
- SMB_VFS_HANDLE_GET_DATA(handle, db, struct tdb_wrap, return -1);
-
- return posix_eadb_setattr(db, smb_fname->base_name,
- -1, name, value, size, flags);
-}
-
static int posix_eadb_fsetxattr(struct vfs_handle_struct *handle,
struct files_struct *fsp,
const char *name, const void *value,
return blob.length;
}
-static ssize_t posix_eadb_listxattr(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- char *list,
- size_t size)
-{
- struct tdb_wrap *db;
-
- SMB_VFS_HANDLE_GET_DATA(handle, db, struct tdb_wrap, return -1);
-
- return posix_eadb_listattr(db, smb_fname->base_name, -1, list, size);
-}
-
static ssize_t posix_eadb_flistxattr(struct vfs_handle_struct *handle,
struct files_struct *fsp, char *list,
size_t size)
return 0;
}
-static int posix_eadb_removexattr(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name)
-{
- struct tdb_wrap *db;
-
- SMB_VFS_HANDLE_GET_DATA(handle, db, struct tdb_wrap, return -1);
-
- return posix_eadb_removeattr(db, smb_fname->base_name, -1, name);
-}
-
static int posix_eadb_fremovexattr(struct vfs_handle_struct *handle,
struct files_struct *fsp, const char *name)
{
{
int ret;
- SMB_ASSERT(dirfsp == dirfsp->conn->cwd_fsp);
if (flags & AT_REMOVEDIR) {
ret = posix_eadb_rmdir_internal(handle,
dirfsp,
}
static struct vfs_fn_pointers vfs_posix_eadb_fns = {
- .getxattr_fn = posix_eadb_getxattr,
.getxattrat_send_fn = vfs_not_implemented_getxattrat_send,
.getxattrat_recv_fn = vfs_not_implemented_getxattrat_recv,
.fgetxattr_fn = posix_eadb_fgetxattr,
- .setxattr_fn = posix_eadb_setxattr,
.fsetxattr_fn = posix_eadb_fsetxattr,
- .listxattr_fn = posix_eadb_listxattr,
.flistxattr_fn = posix_eadb_flistxattr,
- .removexattr_fn = posix_eadb_removexattr,
.fremovexattr_fn = posix_eadb_fremovexattr,
.unlinkat_fn = posix_eadb_unlinkat,
.connect_fn = posix_eadb_connect,