Merge with http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[linux-2.6] / include / linux / smb_mount.h
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_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
46 struct 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