Elliott Hughes | 180edef | 2023-11-02 00:08:05 +0000 | [diff] [blame] | 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 | */ |
Christopher Ferris | fcc3b4f | 2021-07-01 01:30:21 +0000 | [diff] [blame] | 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; |
Christopher Ferris | 0f79521 | 2024-01-17 14:17:28 -0800 | [diff] [blame] | 12 | __u64 handled_access_net; |
Christopher Ferris | fcc3b4f | 2021-07-01 01:30:21 +0000 | [diff] [blame] | 13 | }; |
| 14 | #define LANDLOCK_CREATE_RULESET_VERSION (1U << 0) |
| 15 | enum landlock_rule_type { |
| 16 | LANDLOCK_RULE_PATH_BENEATH = 1, |
Christopher Ferris | 0f79521 | 2024-01-17 14:17:28 -0800 | [diff] [blame] | 17 | LANDLOCK_RULE_NET_PORT, |
Christopher Ferris | fcc3b4f | 2021-07-01 01:30:21 +0000 | [diff] [blame] | 18 | }; |
| 19 | struct landlock_path_beneath_attr { |
| 20 | __u64 allowed_access; |
| 21 | __s32 parent_fd; |
| 22 | } __attribute__((packed)); |
Christopher Ferris | 0f79521 | 2024-01-17 14:17:28 -0800 | [diff] [blame] | 23 | struct landlock_net_port_attr { |
| 24 | __u64 allowed_access; |
| 25 | __u64 port; |
| 26 | }; |
Christopher Ferris | fcc3b4f | 2021-07-01 01:30:21 +0000 | [diff] [blame] | 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) |
Christopher Ferris | 80ae69d | 2022-08-02 16:32:21 -0700 | [diff] [blame] | 40 | #define LANDLOCK_ACCESS_FS_REFER (1ULL << 13) |
Christopher Ferris | 8b7fdc9 | 2023-02-21 13:36:32 -0800 | [diff] [blame] | 41 | #define LANDLOCK_ACCESS_FS_TRUNCATE (1ULL << 14) |
Christopher Ferris | 0f79521 | 2024-01-17 14:17:28 -0800 | [diff] [blame] | 42 | #define LANDLOCK_ACCESS_NET_BIND_TCP (1ULL << 0) |
| 43 | #define LANDLOCK_ACCESS_NET_CONNECT_TCP (1ULL << 1) |
Christopher Ferris | fcc3b4f | 2021-07-01 01:30:21 +0000 | [diff] [blame] | 44 | #endif |