diff options
Diffstat (limited to 'src/VBox/Additions/freebsd/vboxvfs/vboxvfs.h')
-rw-r--r-- | src/VBox/Additions/freebsd/vboxvfs/vboxvfs.h | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/src/VBox/Additions/freebsd/vboxvfs/vboxvfs.h b/src/VBox/Additions/freebsd/vboxvfs/vboxvfs.h new file mode 100644 index 00000000..354da72b --- /dev/null +++ b/src/VBox/Additions/freebsd/vboxvfs/vboxvfs.h @@ -0,0 +1,95 @@ +/* $Id: vboxvfs.h $ */ +/** @file + * Description. + */ + +/* + * Copyright (C) 2010-2019 Oracle Corporation + * + * This file is part of VirtualBox Open Source Edition (OSE), as + * available from http://www.virtualbox.org. This file is free software; + * you can redistribute it and/or modify it under the terms of the GNU + * 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 GA_INCLUDED_SRC_freebsd_vboxvfs_vboxvfs_h +#define GA_INCLUDED_SRC_freebsd_vboxvfs_vboxvfs_h +#ifndef RT_WITHOUT_PRAGMA_ONCE +# pragma once +#endif + +#define VBOXVFS_VFSNAME "vboxvfs" +#define VBOXVFS_VERSION 1 + +#define MAX_HOST_NAME 256 +#define MAX_NLS_NAME 32 + +struct vboxvfs_mount_info { + char name[MAX_HOST_NAME]; + char nls_name[MAX_NLS_NAME]; + int uid; + int gid; + int ttl; +}; + +#ifdef _KERNEL + +#include <VBox/VBoxGuestLibSharedFolders.h> +#include <sys/mount.h> +#include <sys/vnode.h> + +struct vboxvfsmount { + uid_t uid; + gid_t gid; + mode_t file_mode; + mode_t dir_mode; + struct mount *mp; + struct ucred *owner; + u_int flags; + long nextino; + int caseopt; + int didrele; +}; + +/* structs - stolen from the linux shared module code */ +struct sf_glob_info { + VBGLSFMAP map; +/* struct nls_table *nls;*/ + int ttl; + int uid; + int gid; + struct vnode *vnode_root; +}; + +struct sf_inode_info { + SHFLSTRING *path; + int force_restat; +}; + +#if 0 +struct sf_dir_info { + struct list_head info_list; +}; +#endif + +struct sf_dir_buf { + size_t nb_entries; + size_t free_bytes; + size_t used_bytes; + void *buf; +#if 0 + struct list_head head; +#endif +}; + +struct sf_reg_info { + SHFLHANDLE handle; +}; + +#endif /* KERNEL */ + +#endif /* !GA_INCLUDED_SRC_freebsd_vboxvfs_vboxvfs_h */ + |