1/*
2 *  smb_mount.h
3 *
4 *  Copyright (C) 1995, 1996 by Paal-Kr. Engstad and Volker Lendecke
5 *  Copyright (C) 1997 by Volker Lendecke
6 *
7 */
8
9#ifndef _LINUX_SMB_MOUNT_H
10#define _LINUX_SMB_MOUNT_H
11
12#include <linux/types.h>
13
14#define SMB_MOUNT_VERSION	6
15
16struct smb_mount_data {
17	int version;
18	__kernel_uid_t mounted_uid; /* Who may umount() this filesystem? */
19	__kernel_uid_t uid;
20	__kernel_gid_t gid;
21	__kernel_mode_t file_mode;
22	__kernel_mode_t dir_mode;
23};
24
25
26#ifdef __KERNEL__
27
28/* "vers" in big-endian */
29#define SMB_MOUNT_ASCII 0x76657273
30
31#define SMB_MOUNT_OLDVERSION	6
32#undef SMB_MOUNT_VERSION
33#define SMB_MOUNT_VERSION	7
34
35/* flags */
36#define SMB_MOUNT_WIN95		0x0001	/* Win 95 server */
37#define SMB_MOUNT_OLDATTR	0x0002	/* Use core getattr (Win 95 speedup) */
38#define SMB_MOUNT_DIRATTR	0x0004	/* Use find_first for getattr */
39#define SMB_MOUNT_CASE		0x0008	/* Be case sensitive */
40#define SMB_MOUNT_UNICODE	0x0010	/* Server talks unicode */
41#define SMB_MOUNT_UID		0x0020  /* Use user specified uid */
42#define SMB_MOUNT_GID		0x0040  /* Use user specified gid */
43#define SMB_MOUNT_FMODE		0x0080  /* Use user specified file mode */
44#define SMB_MOUNT_DMODE		0x0100  /* Use user specified dir mode */
45
46struct smb_mount_data_kernel {
47	int version;
48
49	uid_t mounted_uid;	/* Who may umount() this filesystem? */
50	uid_t uid;
51	gid_t gid;
52	mode_t file_mode;
53	mode_t dir_mode;
54
55	u32 flags;
56
57        /* maximum age in jiffies (inode, dentry and dircache) */
58	int ttl;
59
60	struct smb_nls_codepage codepage;
61};
62
63#endif
64
65#endif
66