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