vboxfs_vfs.h revision a10877d4f30b85d18ed38f3f7f809a359047e8e6
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync/* $Id$ */
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync/** @file
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * VirtualBox File System for Solaris Guests, VFS header.
9b5a120b694c2603a7a3dccbd6cc519164943b17vboxsync */
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync/*
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * Copyright (C) 2009-2010 Oracle Corporation
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync *
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * available from http://www.virtualbox.org. This file is free software;
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * you can redistribute it and/or modify it under the terms of the GNU
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * General Public License (GPL) as published by the Free Software
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync *
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * The contents of this file may alternatively be used under the terms
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * of the Common Development and Distribution License Version 1.0
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * VirtualBox OSE distribution, in which case the provisions of the
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * CDDL are applicable instead of those of the GPL.
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync *
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * You may elect to license modified versions of this file under the
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync * terms and conditions of either the GPL or the CDDL or both.
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync */
866306ba031a2f258907507dd4abb3b84b6983e7vboxsync
866306ba031a2f258907507dd4abb3b84b6983e7vboxsync#ifndef ___VBoxFS_vfs_Solaris_h
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync#define ___VBoxFS_vfs_Solaris_h
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync#ifdef __cplusplus
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsyncextern "C" {
0593edaa1761266cd29c8534b4090646737d3c99vboxsync#endif
0593edaa1761266cd29c8534b4090646737d3c99vboxsync
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync/*
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync * Shared Folders filesystem per-mount data structure.
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync */
bb4f31aac6155757fe15ef9fe0bf843ed9a14441vboxsynctypedef struct sffs_data {
bb4f31aac6155757fe15ef9fe0bf843ed9a14441vboxsync vfs_t *sf_vfsp; /* filesystem's vfs struct */
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync vnode_t *sf_rootnode; /* of vnode of the root directory */
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync uid_t sf_uid; /* owner of all shared folders */
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync gid_t sf_gid; /* group of all shared folders */
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync mode_t sf_dmode; /* mode of all directories */
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync mode_t sf_fmode; /* mode of all files */
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync mode_t sf_dmask; /* mask of all directories */
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync mode_t sf_fmask; /* mask of all files */
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync int sf_stat_ttl; /* ttl for stat caches (in ms) */
3238841f4d74fd0e37778c270ae81b177a98e21bvboxsync int sf_fsync; /* whether to honor fsync or not */
ba00a478700c77b6b1435cd8a7e7cb64d84f8d93vboxsync char *sf_share_name;
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync char *sf_mntpath; /* name of mount point */
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync sfp_mount_t *sf_handle;
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync uint64_t sf_ino; /* per FS ino generator */
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync} sffs_data_t;
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync#ifdef __cplusplus
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync}
9f4747a43944848d911353b1bcc99f41aaa5bf81vboxsync#endif
120ee2736ed70b5ce8b0b4dd73cc4f8b4b9416c1vboxsync
0d9f0399d4356c471af5e68c30b51c73f7909487vboxsync#endif /* !___VBoxFS_vfs_Solaris_h */
abb14a9d49aa819cc2296b1daf7c416118d39f1evboxsync
abb14a9d49aa819cc2296b1daf7c416118d39f1evboxsync