xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/mount.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_MOUNT_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_MOUNT_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #define MS_RDONLY 1
11*8d67ca89SAndroid Build Coastguard Worker #define MS_NOSUID 2
12*8d67ca89SAndroid Build Coastguard Worker #define MS_NODEV 4
13*8d67ca89SAndroid Build Coastguard Worker #define MS_NOEXEC 8
14*8d67ca89SAndroid Build Coastguard Worker #define MS_SYNCHRONOUS 16
15*8d67ca89SAndroid Build Coastguard Worker #define MS_REMOUNT 32
16*8d67ca89SAndroid Build Coastguard Worker #define MS_MANDLOCK 64
17*8d67ca89SAndroid Build Coastguard Worker #define MS_DIRSYNC 128
18*8d67ca89SAndroid Build Coastguard Worker #define MS_NOSYMFOLLOW 256
19*8d67ca89SAndroid Build Coastguard Worker #define MS_NOATIME 1024
20*8d67ca89SAndroid Build Coastguard Worker #define MS_NODIRATIME 2048
21*8d67ca89SAndroid Build Coastguard Worker #define MS_BIND 4096
22*8d67ca89SAndroid Build Coastguard Worker #define MS_MOVE 8192
23*8d67ca89SAndroid Build Coastguard Worker #define MS_REC 16384
24*8d67ca89SAndroid Build Coastguard Worker #define MS_VERBOSE 32768
25*8d67ca89SAndroid Build Coastguard Worker #define MS_SILENT 32768
26*8d67ca89SAndroid Build Coastguard Worker #define MS_POSIXACL (1 << 16)
27*8d67ca89SAndroid Build Coastguard Worker #define MS_UNBINDABLE (1 << 17)
28*8d67ca89SAndroid Build Coastguard Worker #define MS_PRIVATE (1 << 18)
29*8d67ca89SAndroid Build Coastguard Worker #define MS_SLAVE (1 << 19)
30*8d67ca89SAndroid Build Coastguard Worker #define MS_SHARED (1 << 20)
31*8d67ca89SAndroid Build Coastguard Worker #define MS_RELATIME (1 << 21)
32*8d67ca89SAndroid Build Coastguard Worker #define MS_KERNMOUNT (1 << 22)
33*8d67ca89SAndroid Build Coastguard Worker #define MS_I_VERSION (1 << 23)
34*8d67ca89SAndroid Build Coastguard Worker #define MS_STRICTATIME (1 << 24)
35*8d67ca89SAndroid Build Coastguard Worker #define MS_LAZYTIME (1 << 25)
36*8d67ca89SAndroid Build Coastguard Worker #define MS_SUBMOUNT (1 << 26)
37*8d67ca89SAndroid Build Coastguard Worker #define MS_NOREMOTELOCK (1 << 27)
38*8d67ca89SAndroid Build Coastguard Worker #define MS_NOSEC (1 << 28)
39*8d67ca89SAndroid Build Coastguard Worker #define MS_BORN (1 << 29)
40*8d67ca89SAndroid Build Coastguard Worker #define MS_ACTIVE (1 << 30)
41*8d67ca89SAndroid Build Coastguard Worker #define MS_NOUSER (1 << 31)
42*8d67ca89SAndroid Build Coastguard Worker #define MS_RMT_MASK (MS_RDONLY | MS_SYNCHRONOUS | MS_MANDLOCK | MS_I_VERSION | MS_LAZYTIME)
43*8d67ca89SAndroid Build Coastguard Worker #define MS_MGC_VAL 0xC0ED0000
44*8d67ca89SAndroid Build Coastguard Worker #define MS_MGC_MSK 0xffff0000
45*8d67ca89SAndroid Build Coastguard Worker #define OPEN_TREE_CLONE 1
46*8d67ca89SAndroid Build Coastguard Worker #define OPEN_TREE_CLOEXEC O_CLOEXEC
47*8d67ca89SAndroid Build Coastguard Worker #define MOVE_MOUNT_F_SYMLINKS 0x00000001
48*8d67ca89SAndroid Build Coastguard Worker #define MOVE_MOUNT_F_AUTOMOUNTS 0x00000002
49*8d67ca89SAndroid Build Coastguard Worker #define MOVE_MOUNT_F_EMPTY_PATH 0x00000004
50*8d67ca89SAndroid Build Coastguard Worker #define MOVE_MOUNT_T_SYMLINKS 0x00000010
51*8d67ca89SAndroid Build Coastguard Worker #define MOVE_MOUNT_T_AUTOMOUNTS 0x00000020
52*8d67ca89SAndroid Build Coastguard Worker #define MOVE_MOUNT_T_EMPTY_PATH 0x00000040
53*8d67ca89SAndroid Build Coastguard Worker #define MOVE_MOUNT_SET_GROUP 0x00000100
54*8d67ca89SAndroid Build Coastguard Worker #define MOVE_MOUNT_BENEATH 0x00000200
55*8d67ca89SAndroid Build Coastguard Worker #define MOVE_MOUNT__MASK 0x00000377
56*8d67ca89SAndroid Build Coastguard Worker #define FSOPEN_CLOEXEC 0x00000001
57*8d67ca89SAndroid Build Coastguard Worker #define FSPICK_CLOEXEC 0x00000001
58*8d67ca89SAndroid Build Coastguard Worker #define FSPICK_SYMLINK_NOFOLLOW 0x00000002
59*8d67ca89SAndroid Build Coastguard Worker #define FSPICK_NO_AUTOMOUNT 0x00000004
60*8d67ca89SAndroid Build Coastguard Worker #define FSPICK_EMPTY_PATH 0x00000008
61*8d67ca89SAndroid Build Coastguard Worker enum fsconfig_command {
62*8d67ca89SAndroid Build Coastguard Worker   FSCONFIG_SET_FLAG = 0,
63*8d67ca89SAndroid Build Coastguard Worker   FSCONFIG_SET_STRING = 1,
64*8d67ca89SAndroid Build Coastguard Worker   FSCONFIG_SET_BINARY = 2,
65*8d67ca89SAndroid Build Coastguard Worker   FSCONFIG_SET_PATH = 3,
66*8d67ca89SAndroid Build Coastguard Worker   FSCONFIG_SET_PATH_EMPTY = 4,
67*8d67ca89SAndroid Build Coastguard Worker   FSCONFIG_SET_FD = 5,
68*8d67ca89SAndroid Build Coastguard Worker   FSCONFIG_CMD_CREATE = 6,
69*8d67ca89SAndroid Build Coastguard Worker   FSCONFIG_CMD_RECONFIGURE = 7,
70*8d67ca89SAndroid Build Coastguard Worker   FSCONFIG_CMD_CREATE_EXCL = 8,
71*8d67ca89SAndroid Build Coastguard Worker };
72*8d67ca89SAndroid Build Coastguard Worker #define FSMOUNT_CLOEXEC 0x00000001
73*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR_RDONLY 0x00000001
74*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR_NOSUID 0x00000002
75*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR_NODEV 0x00000004
76*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR_NOEXEC 0x00000008
77*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR__ATIME 0x00000070
78*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR_RELATIME 0x00000000
79*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR_NOATIME 0x00000010
80*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR_STRICTATIME 0x00000020
81*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR_NODIRATIME 0x00000080
82*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR_IDMAP 0x00100000
83*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR_NOSYMFOLLOW 0x00200000
84*8d67ca89SAndroid Build Coastguard Worker struct mount_attr {
85*8d67ca89SAndroid Build Coastguard Worker   __u64 attr_set;
86*8d67ca89SAndroid Build Coastguard Worker   __u64 attr_clr;
87*8d67ca89SAndroid Build Coastguard Worker   __u64 propagation;
88*8d67ca89SAndroid Build Coastguard Worker   __u64 userns_fd;
89*8d67ca89SAndroid Build Coastguard Worker };
90*8d67ca89SAndroid Build Coastguard Worker #define MOUNT_ATTR_SIZE_VER0 32
91*8d67ca89SAndroid Build Coastguard Worker struct statmount {
92*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
93*8d67ca89SAndroid Build Coastguard Worker   __u32 mnt_opts;
94*8d67ca89SAndroid Build Coastguard Worker   __u64 mask;
95*8d67ca89SAndroid Build Coastguard Worker   __u32 sb_dev_major;
96*8d67ca89SAndroid Build Coastguard Worker   __u32 sb_dev_minor;
97*8d67ca89SAndroid Build Coastguard Worker   __u64 sb_magic;
98*8d67ca89SAndroid Build Coastguard Worker   __u32 sb_flags;
99*8d67ca89SAndroid Build Coastguard Worker   __u32 fs_type;
100*8d67ca89SAndroid Build Coastguard Worker   __u64 mnt_id;
101*8d67ca89SAndroid Build Coastguard Worker   __u64 mnt_parent_id;
102*8d67ca89SAndroid Build Coastguard Worker   __u32 mnt_id_old;
103*8d67ca89SAndroid Build Coastguard Worker   __u32 mnt_parent_id_old;
104*8d67ca89SAndroid Build Coastguard Worker   __u64 mnt_attr;
105*8d67ca89SAndroid Build Coastguard Worker   __u64 mnt_propagation;
106*8d67ca89SAndroid Build Coastguard Worker   __u64 mnt_peer_group;
107*8d67ca89SAndroid Build Coastguard Worker   __u64 mnt_master;
108*8d67ca89SAndroid Build Coastguard Worker   __u64 propagate_from;
109*8d67ca89SAndroid Build Coastguard Worker   __u32 mnt_root;
110*8d67ca89SAndroid Build Coastguard Worker   __u32 mnt_point;
111*8d67ca89SAndroid Build Coastguard Worker   __u64 mnt_ns_id;
112*8d67ca89SAndroid Build Coastguard Worker   __u64 __spare2[49];
113*8d67ca89SAndroid Build Coastguard Worker   char str[];
114*8d67ca89SAndroid Build Coastguard Worker };
115*8d67ca89SAndroid Build Coastguard Worker struct mnt_id_req {
116*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
117*8d67ca89SAndroid Build Coastguard Worker   __u32 spare;
118*8d67ca89SAndroid Build Coastguard Worker   __u64 mnt_id;
119*8d67ca89SAndroid Build Coastguard Worker   __u64 param;
120*8d67ca89SAndroid Build Coastguard Worker   __u64 mnt_ns_id;
121*8d67ca89SAndroid Build Coastguard Worker };
122*8d67ca89SAndroid Build Coastguard Worker #define MNT_ID_REQ_SIZE_VER0 24
123*8d67ca89SAndroid Build Coastguard Worker #define MNT_ID_REQ_SIZE_VER1 32
124*8d67ca89SAndroid Build Coastguard Worker #define STATMOUNT_SB_BASIC 0x00000001U
125*8d67ca89SAndroid Build Coastguard Worker #define STATMOUNT_MNT_BASIC 0x00000002U
126*8d67ca89SAndroid Build Coastguard Worker #define STATMOUNT_PROPAGATE_FROM 0x00000004U
127*8d67ca89SAndroid Build Coastguard Worker #define STATMOUNT_MNT_ROOT 0x00000008U
128*8d67ca89SAndroid Build Coastguard Worker #define STATMOUNT_MNT_POINT 0x00000010U
129*8d67ca89SAndroid Build Coastguard Worker #define STATMOUNT_FS_TYPE 0x00000020U
130*8d67ca89SAndroid Build Coastguard Worker #define STATMOUNT_MNT_NS_ID 0x00000040U
131*8d67ca89SAndroid Build Coastguard Worker #define STATMOUNT_MNT_OPTS 0x00000080U
132*8d67ca89SAndroid Build Coastguard Worker #define LSMT_ROOT 0xffffffffffffffff
133*8d67ca89SAndroid Build Coastguard Worker #define LISTMOUNT_REVERSE (1 << 0)
134*8d67ca89SAndroid Build Coastguard Worker #endif
135