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