]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/core/bpf-restrict-fs.h
core: split out cgroup specific state fields from Unit → CGroupRuntime
[thirdparty/systemd.git] / src / core / bpf-restrict-fs.h
CommitLineData
184b4f78
ILG
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2#pragma once
3
4#include "hashmap.h"
5
e59ccd03
ILG
6typedef enum FilesystemParseFlags {
7 FILESYSTEM_PARSE_INVERT = 1 << 0,
8 FILESYSTEM_PARSE_ALLOW_LIST = 1 << 1,
9 FILESYSTEM_PARSE_LOG = 1 << 2,
10} FilesystemParseFlags;
11
184b4f78
ILG
12typedef struct Unit Unit;
13typedef struct Manager Manager;
14
15typedef struct restrict_fs_bpf restrict_fs_bpf;
16
352ec23c
LP
17bool bpf_restrict_fs_supported(bool initialize);
18int bpf_restrict_fs_setup(Manager *m);
19int bpf_restrict_fs_update(const Set *filesystems, uint64_t cgroup_id, int outer_map_fd, bool allow_list);
9cc54544 20int bpf_restrict_fs_cleanup(Unit *u);
352ec23c
LP
21int bpf_restrict_fs_map_fd(Unit *u);
22void bpf_restrict_fs_destroy(struct restrict_fs_bpf *prog);
23int bpf_restrict_fs_parse_filesystem(const char *name, Set **filesystems, FilesystemParseFlags flags, const char *unit, const char *filename, unsigned line);