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 
16 struct 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_UID		0x0020  /* Use user specified uid */
41 #define SMB_MOUNT_GID		0x0040  /* Use user specified gid */
42 #define SMB_MOUNT_FMODE		0x0080  /* Use user specified file mode */
43 #define SMB_MOUNT_DMODE		0x0100  /* Use user specified dir mode */
44 
45 
46 struct smb_mount_data_kernel {
47 	int version;
48 
49 	uid_t mounted_uid;	/* Who may umount() this filesystem? */
50 	__kernel_uid_t uid;
51 	__kernel_gid_t gid;
52 	__kernel_mode_t file_mode;
53 	__kernel_mode_t dir_mode;
54 
55 	u32 flags;
56 
57 	int ttl;	/* maximum age in jiffies (inode, dentry & dircache) */
58 	int timeo;	/* timeout for requests */
59 
60 	struct smb_nls_codepage codepage;
61 };
62 
63 #endif
64 
65 #endif
66