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