smbfs_mount.h revision 4bff34e37def8a90f9194d81bc345c52ba20086a
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/*
4bff34e37def8a90f9194d81bc345c52ba20086athurlow * Copyright 2008 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#pragma ident "%Z%%M% %I% %E% SMI"
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
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_VERMIN 3200
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_VERSION (SMBFS_VERMAJ*100000 + SMBFS_VERMIN)
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_VER_STR "1.32"
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_VFSNAME "smbfs"
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow/* Values for flags */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_MOUNT_SOFT 0x0001
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_MOUNT_INTR 0x0002
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_MOUNT_STRONG 0x0004
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_MOUNT_HAVE_NLS 0x0008
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_MOUNT_NO_LONG 0x0010
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_MOUNT_HOSTNAME 0x020
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_MOUNT_SEMISOFT 0x200000 /* read soft, modify hard */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define SMBFS_MOUNT_NOPRINT 0x400000 /* don't print messages */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define MNT_RDONLY 0x0001
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define MNT_NODEV 0x0002
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define MNT_NOEXEC 0x0004
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define MNT_NOSUID 0x0008
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define MNT_UNION 0x0010
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define MNT_DONTBROWSE 0x0020
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#define MNT_AUTOMOUNTED 0x0040
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 */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow uint_t flags; /* mount options, eg: soft */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow mode_t file_mode; /* octal srwx for files */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow mode_t dir_mode; /* octal srwx for dirs */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow int caseopt; /* convert upper|lower|none */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow caddr_t addr; /* file server address */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow caddr_t hostname; /* server's hostname */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow caddr_t sharename; /* server's sharename */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow uid_t uid; /* octal user id */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow gid_t gid; /* octal group id */
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 */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow uint_t flags; /* mount options, eg: soft */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow mode_t file_mode; /* octal srwx for files */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow mode_t dir_mode; /* octal srwx for dirs */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow int32_t caseopt; /* convert upper|lower|none */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow caddr32_t addr; /* file server address */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow caddr32_t hostname; /* server's hostname */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow caddr32_t sharename; /* server's sharename */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow uid32_t uid; /* octal user id */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow gid32_t gid; /* octal group id */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow};
4bff34e37def8a90f9194d81bc345c52ba20086athurlow
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#endif /* _SYSCALL32 */
4bff34e37def8a90f9194d81bc345c52ba20086athurlow#endif /* _SMBFS_MOUNT_H */