aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/linux-headers/linux/mount.h
blob: cf3fb6cd220a76beeda41dac6113826e4ab2e144 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#ifndef _LINUX_MOUNT_H 
#define _LINUX_MOUNT_H 
 
/* 
 * These are the fs-independent mount-flags: up to 32 flags are supported 
 * 
 * Usage of these is restricted within the kernel to core mount(2) code and 
 * callers of sys_mount() only.  Filesystems should be using the SB_* 
 * equivalent instead. 
 */ 
#define MS_RDONLY	 1	/* Mount read-only */ 
#define MS_NOSUID	 2	/* Ignore suid and sgid bits */ 
#define MS_NODEV	 4	/* Disallow access to device special files */ 
#define MS_NOEXEC	 8	/* Disallow program execution */ 
#define MS_SYNCHRONOUS	16	/* Writes are synced at once */ 
#define MS_REMOUNT	32	/* Alter flags of a mounted FS */ 
#define MS_MANDLOCK	64	/* Allow mandatory locks on an FS */ 
#define MS_DIRSYNC	128	/* Directory modifications are synchronous */ 
#define MS_NOATIME	1024	/* Do not update access times. */ 
#define MS_NODIRATIME	2048	/* Do not update directory access times */ 
#define MS_BIND		4096 
#define MS_MOVE		8192 
#define MS_REC		16384 
#define MS_VERBOSE	32768	/* War is peace. Verbosity is silence. 
				   MS_VERBOSE is deprecated. */ 
#define MS_SILENT	32768 
#define MS_POSIXACL	(1<<16)	/* VFS does not apply the umask */ 
#define MS_UNBINDABLE	(1<<17)	/* change to unbindable */ 
#define MS_PRIVATE	(1<<18)	/* change to private */ 
#define MS_SLAVE	(1<<19)	/* change to slave */ 
#define MS_SHARED	(1<<20)	/* change to shared */ 
#define MS_RELATIME	(1<<21)	/* Update atime relative to mtime/ctime. */ 
#define MS_KERNMOUNT	(1<<22) /* this is a kern_mount call */ 
#define MS_I_VERSION	(1<<23) /* Update inode I_version field */ 
#define MS_STRICTATIME	(1<<24) /* Always perform atime updates */ 
#define MS_LAZYTIME	(1<<25) /* Update the on-disk [acm]times lazily */ 
 
/* These sb flags are internal to the kernel */ 
#define MS_SUBMOUNT     (1<<26) 
#define MS_NOREMOTELOCK	(1<<27) 
#define MS_NOSEC	(1<<28) 
#define MS_BORN		(1<<29) 
#define MS_ACTIVE	(1<<30) 
#define MS_NOUSER	(1<<31) 
 
/* 
 * Superblock flags that can be altered by MS_REMOUNT 
 */ 
#define MS_RMT_MASK	(MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION|\ 
			 MS_LAZYTIME) 
 
/* 
 * Old magic mount flag and mask 
 */ 
#define MS_MGC_VAL 0xC0ED0000 
#define MS_MGC_MSK 0xffff0000 
 
/* 
 * open_tree() flags. 
 */ 
#define OPEN_TREE_CLONE		1		/* Clone the target tree and attach the clone */ 
#define OPEN_TREE_CLOEXEC	O_CLOEXEC	/* Close the file on execve() */ 
 
/* 
 * move_mount() flags. 
 */ 
#define MOVE_MOUNT_F_SYMLINKS		0x00000001 /* Follow symlinks on from path */ 
#define MOVE_MOUNT_F_AUTOMOUNTS		0x00000002 /* Follow automounts on from path */ 
#define MOVE_MOUNT_F_EMPTY_PATH		0x00000004 /* Empty from path permitted */ 
#define MOVE_MOUNT_T_SYMLINKS		0x00000010 /* Follow symlinks on to path */ 
#define MOVE_MOUNT_T_AUTOMOUNTS		0x00000020 /* Follow automounts on to path */ 
#define MOVE_MOUNT_T_EMPTY_PATH		0x00000040 /* Empty to path permitted */ 
#define MOVE_MOUNT__MASK		0x00000077 
 
/* 
 * fsopen() flags. 
 */ 
#define FSOPEN_CLOEXEC		0x00000001 
 
/* 
 * fspick() flags. 
 */ 
#define FSPICK_CLOEXEC		0x00000001 
#define FSPICK_SYMLINK_NOFOLLOW	0x00000002 
#define FSPICK_NO_AUTOMOUNT	0x00000004 
#define FSPICK_EMPTY_PATH	0x00000008 
 
/* 
 * The type of fsconfig() call made. 
 */ 
enum fsconfig_command { 
	FSCONFIG_SET_FLAG	= 0,	/* Set parameter, supplying no value */ 
	FSCONFIG_SET_STRING	= 1,	/* Set parameter, supplying a string value */ 
	FSCONFIG_SET_BINARY	= 2,	/* Set parameter, supplying a binary blob value */ 
	FSCONFIG_SET_PATH	= 3,	/* Set parameter, supplying an object by path */ 
	FSCONFIG_SET_PATH_EMPTY	= 4,	/* Set parameter, supplying an object by (empty) path */ 
	FSCONFIG_SET_FD		= 5,	/* Set parameter, supplying an object by fd */ 
	FSCONFIG_CMD_CREATE	= 6,	/* Invoke superblock creation */ 
	FSCONFIG_CMD_RECONFIGURE = 7,	/* Invoke superblock reconfiguration */ 
}; 
 
/* 
 * fsmount() flags. 
 */ 
#define FSMOUNT_CLOEXEC		0x00000001 
 
/* 
 * Mount attributes. 
 */ 
#define MOUNT_ATTR_RDONLY	0x00000001 /* Mount read-only */ 
#define MOUNT_ATTR_NOSUID	0x00000002 /* Ignore suid and sgid bits */ 
#define MOUNT_ATTR_NODEV	0x00000004 /* Disallow access to device special files */ 
#define MOUNT_ATTR_NOEXEC	0x00000008 /* Disallow program execution */ 
#define MOUNT_ATTR__ATIME	0x00000070 /* Setting on how atime should be updated */ 
#define MOUNT_ATTR_RELATIME	0x00000000 /* - Update atime relative to mtime/ctime. */ 
#define MOUNT_ATTR_NOATIME	0x00000010 /* - Do not update access times. */ 
#define MOUNT_ATTR_STRICTATIME	0x00000020 /* - Always perform atime updates */ 
#define MOUNT_ATTR_NODIRATIME	0x00000080 /* Do not update directory access times */ 
 
#endif /* _LINUX_MOUNT_H */