vboxfs_vnode.h revision fa9edef91c7d9c34721989aceda8f07604e7f8a8
/* $Id$ */
/** @file
* VirtualBox File System for Solaris Guests, VNode implementation.
*/
/*
* Copyright (C) 2009-2010 Sun Microsystems, Inc.
*
* 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.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
* Clara, CA 95054 USA or visit http://www.sun.com if you need
* additional information or have any questions.
*/
#ifndef __VBoxFS_node_Solaris_h
#define __VBoxFS_node_Solaris_h
#ifdef __cplusplus
extern "C" {
#endif
/*
* sfnode is the file system dependent vnode data for vboxsf.
* sfnode's also track all files ever accessed, both open and closed.
* It duplicates some of the information in vnode, since it holds
* information for files that may have been completely closed.
*
* The sfnode_t's are stored in an AVL tree sorted by:
* sf_sffs, sf_path
*/
typedef struct sfnode {
char *sf_path; /* full pathname to file or dir */
} sfnode_t;
#ifdef _KERNEL
extern int sffs_vnode_init(void);
extern void sffs_vnode_fini(void);
/*
* Purge all cached information about a shared file system at unmount
*/
extern int sffs_purge(struct sffs_data *);
#endif /* _KERNEL */
#ifdef __cplusplus
}
#endif
#endif /* __VBoxFS_node_Solaris_h */