4bff34e37def8a90f9194d81bc345c52ba20086athurlow/*
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * Copyright (c) 2000-2001, Boris Popov
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * All rights reserved.
4bff34e37def8a90f9194d81bc345c52ba20086athurlow *
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * Redistribution and use in source and binary forms, with or without
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * modification, are permitted provided that the following conditions
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * are met:
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * 1. Redistributions of source code must retain the above copyright
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * notice, this list of conditions and the following disclaimer.
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * 2. Redistributions in binary form must reproduce the above copyright
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * notice, this list of conditions and the following disclaimer in the
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * documentation and/or other materials provided with the distribution.
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * 3. All advertising materials mentioning features or use of this software
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * must display the following acknowledgement:
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * This product includes software developed by Boris Popov.
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * 4. Neither the name of the author nor the names of any co-contributors
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * may be used to endorse or promote products derived from this software
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * without specific prior written permission.
4bff34e37def8a90f9194d81bc345c52ba20086athurlow *
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * SUCH DAMAGE.
4bff34e37def8a90f9194d81bc345c52ba20086athurlow *
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * $Id: smbfs.h,v 1.30.100.1 2005/05/27 02:35:28 lindak Exp $
4bff34e37def8a90f9194d81bc345c52ba20086athurlow */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow/*
bd7c6f51f14365fc31d408903b38c02177384d3dGordon Ross * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * Use is subject to license terms.
4bff34e37def8a90f9194d81bc345c52ba20086athurlow */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#ifndef _SMBFS_MOUNT_H
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define _SMBFS_MOUNT_H
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow/*
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * This file defines the interface used by mount_smbfs.
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * Some of this came from the Darwin file:
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * smb-217.2/kernel/fs/smbfs/smbfs.h
4bff34e37def8a90f9194d81bc345c52ba20086athurlow */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_VERMAJ 1
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross#define SMBFS_VERMIN 3300
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_VERSION (SMBFS_VERMAJ*100000 + SMBFS_VERMIN)
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross#define SMBFS_VER_STR "1.33"
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_VFSNAME "smbfs"
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
bd7c6f51f14365fc31d408903b38c02177384d3dGordon Ross/* Additions not in mntent.h */
bd7c6f51f14365fc31d408903b38c02177384d3dGordon Ross#define MNTOPT_ACL "acl" /* enable smbfs ACLs */
bd7c6f51f14365fc31d408903b38c02177384d3dGordon Ross#define MNTOPT_NOACL "noacl" /* disable smbfs ACLs */
bd7c6f51f14365fc31d408903b38c02177384d3dGordon Ross
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross/* Values for smbfs_args.flags */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross#define SMBFS_MF_SOFT 0x0001
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross#define SMBFS_MF_INTR 0x0002
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross#define SMBFS_MF_NOAC 0x0004
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross#define SMBFS_MF_ACREGMIN 0x0100 /* set min secs for file attr cache */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross#define SMBFS_MF_ACREGMAX 0x0200 /* set max secs for file attr cache */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross#define SMBFS_MF_ACDIRMIN 0x0400 /* set min secs for dir attr cache */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross#define SMBFS_MF_ACDIRMAX 0x0800 /* set max secs for dir attr cache */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow/* Layout of the mount control block for an smb file system. */
4bff34e37def8a90f9194d81bc345c52ba20086athurlowstruct smbfs_args {
4bff34e37def8a90f9194d81bc345c52ba20086athurlow int version; /* smbfs mount version */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow int devfd; /* file descriptor */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross uint_t flags; /* SMBFS_MF_ flags */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow uid_t uid; /* octal user id */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow gid_t gid; /* octal group id */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross mode_t file_mode; /* octal srwx for files */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross mode_t dir_mode; /* octal srwx for dirs */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross int acregmin; /* attr cache file min secs */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross int acregmax; /* attr cache file max secs */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross int acdirmin; /* attr cache dir min secs */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross int acdirmax; /* attr cache dir max secs */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow};
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#ifdef _SYSCALL32
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow/* Layout of the mount control block for an smb file system. */
4bff34e37def8a90f9194d81bc345c52ba20086athurlowstruct smbfs_args32 {
4bff34e37def8a90f9194d81bc345c52ba20086athurlow int32_t version; /* smbfs mount version */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow int32_t devfd; /* file descriptor */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross uint32_t flags; /* SMBFS_MF_ flags */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow uid32_t uid; /* octal user id */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow gid32_t gid; /* octal group id */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross mode32_t file_mode; /* octal srwx for files */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross mode32_t dir_mode; /* octal srwx for dirs */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross int32_t acregmin; /* attr cache file min secs */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross int32_t acregmax; /* attr cache file max secs */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross int32_t acdirmin; /* attr cache dir min secs */
02d09e03eb27f3a2dc299de704e45dae5173f43fGordon Ross int32_t acdirmax; /* attr cache dir max secs */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow};
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#endif /* _SYSCALL32 */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#endif /* _SMBFS_MOUNT_H */