#include <linux/namei.h>
#include <linux/vbox_utils.h>
#include "vfsmod.h"
static int vboxsf_dir_open(struct inode *inode, struct file *file)
{ … }
static int vboxsf_dir_release(struct inode *inode, struct file *file)
{ … }
static unsigned int vboxsf_get_d_type(u32 mode)
{ … }
static bool vboxsf_dir_emit(struct file *dir, struct dir_context *ctx)
{ … }
static int vboxsf_dir_iterate(struct file *dir, struct dir_context *ctx)
{ … }
WRAP_DIR_ITER(…)
const struct file_operations vboxsf_dir_fops = …;
static int vboxsf_dentry_revalidate(struct dentry *dentry, unsigned int flags)
{ … }
const struct dentry_operations vboxsf_dentry_ops = …;
static struct dentry *vboxsf_dir_lookup(struct inode *parent,
struct dentry *dentry,
unsigned int flags)
{ … }
static int vboxsf_dir_instantiate(struct inode *parent, struct dentry *dentry,
struct shfl_fsobjinfo *info)
{ … }
static int vboxsf_dir_create(struct inode *parent, struct dentry *dentry,
umode_t mode, bool is_dir, bool excl, u64 *handle_ret)
{ … }
static int vboxsf_dir_mkfile(struct mnt_idmap *idmap,
struct inode *parent, struct dentry *dentry,
umode_t mode, bool excl)
{ … }
static int vboxsf_dir_mkdir(struct mnt_idmap *idmap,
struct inode *parent, struct dentry *dentry,
umode_t mode)
{ … }
static int vboxsf_dir_atomic_open(struct inode *parent, struct dentry *dentry,
struct file *file, unsigned int flags, umode_t mode)
{ … }
static int vboxsf_dir_unlink(struct inode *parent, struct dentry *dentry)
{ … }
static int vboxsf_dir_rename(struct mnt_idmap *idmap,
struct inode *old_parent,
struct dentry *old_dentry,
struct inode *new_parent,
struct dentry *new_dentry,
unsigned int flags)
{ … }
static int vboxsf_dir_symlink(struct mnt_idmap *idmap,
struct inode *parent, struct dentry *dentry,
const char *symname)
{ … }
const struct inode_operations vboxsf_dir_iops = …;