blob: 75d303773d7030530df59e1e578474e1490b40ad [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
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 Ferrisfcc3b4f2021-07-01 01:30:21 +00007#ifndef _UAPI_LINUX_LANDLOCK_H
8#define _UAPI_LINUX_LANDLOCK_H
9#include <linux/types.h>
10struct landlock_ruleset_attr {
11 __u64 handled_access_fs;
Christopher Ferris0f795212024-01-17 14:17:28 -080012 __u64 handled_access_net;
Christopher Ferrisfcc3b4f2021-07-01 01:30:21 +000013};
14#define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
15enum landlock_rule_type {
16 LANDLOCK_RULE_PATH_BENEATH = 1,
Christopher Ferris0f795212024-01-17 14:17:28 -080017 LANDLOCK_RULE_NET_PORT,
Christopher Ferrisfcc3b4f2021-07-01 01:30:21 +000018};
19struct landlock_path_beneath_attr {
20 __u64 allowed_access;
21 __s32 parent_fd;
22} __attribute__((packed));
Christopher Ferris0f795212024-01-17 14:17:28 -080023struct landlock_net_port_attr {
24 __u64 allowed_access;
25 __u64 port;
26};
Christopher Ferrisfcc3b4f2021-07-01 01:30:21 +000027#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 Ferris80ae69d2022-08-02 16:32:21 -070040#define LANDLOCK_ACCESS_FS_REFER (1ULL << 13)
Christopher Ferris8b7fdc92023-02-21 13:36:32 -080041#define LANDLOCK_ACCESS_FS_TRUNCATE (1ULL << 14)
Christopher Ferris0f795212024-01-17 14:17:28 -080042#define LANDLOCK_ACCESS_NET_BIND_TCP (1ULL << 0)
43#define LANDLOCK_ACCESS_NET_CONNECT_TCP (1ULL << 1)
Christopher Ferrisfcc3b4f2021-07-01 01:30:21 +000044#endif