]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - ubuntu/vbox/vboxsf/vbsfmount.h
UBUNTU: Ubuntu-4.10.0-37.41
[mirror_ubuntu-zesty-kernel.git] / ubuntu / vbox / vboxsf / vbsfmount.h
CommitLineData
39adb5c3
TG
1/** @file
2 * vboxsf -- VirtualBox Guest Additions for Linux: mount(2) parameter structure.
3 */
4
5/*
6 * Copyright (C) 2006-2016 Oracle Corporation
7 *
8 * This file is part of VirtualBox Open Source Edition (OSE), as
9 * available from http://www.virtualbox.org. This file is free software;
10 * you can redistribute it and/or modify it under the terms of the GNU
11 * General Public License (GPL) as published by the Free Software
12 * Foundation, in version 2 as it comes in the "COPYING" file of the
13 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
15 */
16
17#ifndef VBFS_MOUNT_H
18#define VBFS_MOUNT_H
19
20#define MAX_HOST_NAME 256
21#define MAX_NLS_NAME 32
22
23/* Linux constraints the size of data mount argument to PAGE_SIZE - 1. */
24struct vbsf_mount_info_old
25{
26 char name[MAX_HOST_NAME];
27 char nls_name[MAX_NLS_NAME];
28 int uid;
29 int gid;
30 int ttl;
31};
32
33#define VBSF_MOUNT_SIGNATURE_BYTE_0 '\377'
34#define VBSF_MOUNT_SIGNATURE_BYTE_1 '\376'
35#define VBSF_MOUNT_SIGNATURE_BYTE_2 '\375'
36
37struct vbsf_mount_info_new
38{
39 char nullchar; /* name cannot be '\0' -- we use this field
40 to distinguish between the old structure
41 and the new structure */
42 char signature[3]; /* signature */
43 int length; /* length of the whole structure */
44 char name[MAX_HOST_NAME]; /* share name */
45 char nls_name[MAX_NLS_NAME];/* name of an I/O charset */
46 int uid; /* user ID for all entries, default 0=root */
47 int gid; /* group ID for all entries, default 0=root */
48 int ttl; /* time to live */
49 int dmode; /* mode for directories if != 0xffffffff */
50 int fmode; /* mode for regular files if != 0xffffffff */
51 int dmask; /* umask applied to directories */
52 int fmask; /* umask applied to regular files */
53};
54
55struct vbsf_mount_opts
56{
57 int uid;
58 int gid;
59 int ttl;
60 int dmode;
61 int fmode;
62 int dmask;
63 int fmask;
64 int ronly;
65 int sloppy;
66 int noexec;
67 int nodev;
68 int nosuid;
69 int remount;
70 char nls_name[MAX_NLS_NAME];
71 char *convertcp;
72};
73
74/** Completes the mount operation by adding the new mount point to mtab if required. */
75int vbsfmount_complete(const char *host_name, const char *mount_point,
76 unsigned long flags, struct vbsf_mount_opts *opts);
77
78#endif /* vbsfmount.h */