]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/shared/coredump-util.h
cryptenroll: allow to use a public key on a token
[thirdparty/systemd.git] / src / shared / coredump-util.h
CommitLineData
db9ecf05 1/* SPDX-License-Identifier: LGPL-2.1-or-later */
b34612bd
ZJS
2#pragma once
3
4#include "macro.h"
5
6typedef enum CoredumpFilter {
7 COREDUMP_FILTER_PRIVATE_ANONYMOUS = 0,
8 COREDUMP_FILTER_SHARED_ANONYMOUS,
9 COREDUMP_FILTER_PRIVATE_FILE_BACKED,
10 COREDUMP_FILTER_SHARED_FILE_BACKED,
11 COREDUMP_FILTER_ELF_HEADERS,
12 COREDUMP_FILTER_PRIVATE_HUGE,
13 COREDUMP_FILTER_SHARED_HUGE,
14 COREDUMP_FILTER_PRIVATE_DAX,
15 COREDUMP_FILTER_SHARED_DAX,
16 _COREDUMP_FILTER_MAX,
2d93c20e 17 _COREDUMP_FILTER_INVALID = -EINVAL,
b34612bd
ZJS
18} CoredumpFilter;
19
20#define COREDUMP_FILTER_MASK_DEFAULT (1u << COREDUMP_FILTER_PRIVATE_ANONYMOUS | \
21 1u << COREDUMP_FILTER_SHARED_ANONYMOUS | \
22 1u << COREDUMP_FILTER_ELF_HEADERS | \
23 1u << COREDUMP_FILTER_PRIVATE_HUGE)
24
7f3bb8f2
LB
25/* The kernel doesn't like UINT64_MAX and returns ERANGE, use UINT32_MAX to support future new flags */
26#define COREDUMP_FILTER_MASK_ALL UINT32_MAX
27
b34612bd
ZJS
28const char* coredump_filter_to_string(CoredumpFilter i) _const_;
29CoredumpFilter coredump_filter_from_string(const char *s) _pure_;
30int coredump_filter_mask_from_string(const char *s, uint64_t *ret);
ad21e542 31
cb38fdbe
ZJS
32int parse_auxv(int log_level,
33 uint8_t elf_class,
34 const void *auxv,
35 size_t size_bytes,
36 int *at_secure,
37 uid_t *uid,
38 uid_t *euid,
39 gid_t *gid,
40 gid_t *egid);
41
ad21e542 42int set_coredump_filter(uint64_t value);
c8715007 43void disable_coredumps(void);