vfsmod.h revision c161379f4055372228230517aa1700c47e3b9b7f
/** @file
*
* vboxsf -- VirtualBox Guest Additions for Linux
*/
/*
* Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#ifndef VFSMOD_H
#define VFSMOD_H
#include "the-linux-kernel.h"
#include "version-generated.h"
#include "product-generated.h"
# include <linux/backing-dev.h>
#endif
#include "VBoxGuestR0LibSharedFolders.h"
#include "vbsfmount.h"
/* per-shared folder information */
struct sf_glob_info
{
int ttl;
int uid;
int gid;
int dmode;
int fmode;
int dmask;
int fmask;
struct backing_dev_info bdi;
#endif
};
/* per-inode information */
struct sf_inode_info
{
/* which file */
/* some information was changed, update data on next revalidate */
int force_restat;
/* directory content changed, update the whole directory on next sf_getdent */
int force_reread;
/* file structure, only valid between open() and release() */
/* handle valid if a file was created with sf_create_aux until it will
* be opened with sf_reg_open() */
};
struct sf_dir_info
{
};
struct sf_dir_buf
{
void *buf;
};
struct sf_reg_info
{
};
/* globals */
extern VBSFCLIENT client_handle;
/* forward declarations */
extern struct inode_operations sf_dir_iops;
extern struct inode_operations sf_lnk_iops;
extern struct inode_operations sf_reg_iops;
extern struct file_operations sf_dir_fops;
extern struct file_operations sf_reg_fops;
extern struct dentry_operations sf_dentry_ops;
extern struct address_space_operations sf_reg_aops;
#endif
SHFLSTRING **result);
extern void sf_dir_info_free(struct sf_dir_info *p);
extern void sf_dir_info_empty(struct sf_dir_info *p);
extern struct sf_dir_info *sf_dir_info_alloc(void);
# define STRUCT_STATFS struct statfs
#else
# define STRUCT_STATFS struct kstatfs
#endif
#ifdef __cplusplus
#else
#endif
/* Following casts are here to prevent assignment of void * to
pointers of arbitrary type */
#else
#endif
/* FC6 kernel 2.6.18, vanilla kernel 2.6.19+ */
#else
/* vanilla kernel up to 2.6.18 */
#endif
#endif /* vfsmod.h */