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_LANDLOCK_H 8 #define _UAPI_LINUX_LANDLOCK_H 9 #include <linux/types.h> 10 struct landlock_ruleset_attr { 11 __u64 handled_access_fs; 12 __u64 handled_access_net; 13 }; 14 #define LANDLOCK_CREATE_RULESET_VERSION (1U << 0) 15 enum landlock_rule_type { 16 LANDLOCK_RULE_PATH_BENEATH = 1, 17 LANDLOCK_RULE_NET_PORT, 18 }; 19 struct landlock_path_beneath_attr { 20 __u64 allowed_access; 21 __s32 parent_fd; 22 } __attribute__((packed)); 23 struct landlock_net_port_attr { 24 __u64 allowed_access; 25 __u64 port; 26 }; 27 #define LANDLOCK_ACCESS_FS_EXECUTE (1ULL << 0) 28 #define LANDLOCK_ACCESS_FS_WRITE_FILE (1ULL << 1) 29 #define LANDLOCK_ACCESS_FS_READ_FILE (1ULL << 2) 30 #define LANDLOCK_ACCESS_FS_READ_DIR (1ULL << 3) 31 #define LANDLOCK_ACCESS_FS_REMOVE_DIR (1ULL << 4) 32 #define LANDLOCK_ACCESS_FS_REMOVE_FILE (1ULL << 5) 33 #define LANDLOCK_ACCESS_FS_MAKE_CHAR (1ULL << 6) 34 #define LANDLOCK_ACCESS_FS_MAKE_DIR (1ULL << 7) 35 #define LANDLOCK_ACCESS_FS_MAKE_REG (1ULL << 8) 36 #define LANDLOCK_ACCESS_FS_MAKE_SOCK (1ULL << 9) 37 #define LANDLOCK_ACCESS_FS_MAKE_FIFO (1ULL << 10) 38 #define LANDLOCK_ACCESS_FS_MAKE_BLOCK (1ULL << 11) 39 #define LANDLOCK_ACCESS_FS_MAKE_SYM (1ULL << 12) 40 #define LANDLOCK_ACCESS_FS_REFER (1ULL << 13) 41 #define LANDLOCK_ACCESS_FS_TRUNCATE (1ULL << 14) 42 #define LANDLOCK_ACCESS_FS_IOCTL_DEV (1ULL << 15) 43 #define LANDLOCK_ACCESS_NET_BIND_TCP (1ULL << 0) 44 #define LANDLOCK_ACCESS_NET_CONNECT_TCP (1ULL << 1) 45 #endif 46