]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/basic/rlimit-util.h
man/systemd.mount: tmpfs automatically gains After=swap.target dep
[thirdparty/systemd.git] / src / basic / rlimit-util.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3
4 #include <sys/resource.h>
5
6 #include "macro.h"
7 #include "missing_resource.h"
8
9 const char *rlimit_to_string(int i) _const_;
10 int rlimit_from_string(const char *s) _pure_;
11 int rlimit_from_string_harder(const char *s) _pure_;
12
13 int setrlimit_closest(int resource, const struct rlimit *rlim);
14 int setrlimit_closest_all(const struct rlimit * const *rlim, int *which_failed);
15
16 int rlimit_parse_one(int resource, const char *val, rlim_t *ret);
17 int rlimit_parse(int resource, const char *val, struct rlimit *ret);
18
19 int rlimit_format(const struct rlimit *rl, char **ret);
20
21 int rlimit_copy_all(struct rlimit* target[static _RLIMIT_MAX], struct rlimit* const source[static _RLIMIT_MAX]);
22 void rlimit_free_all(struct rlimit **rl);
23
24 #define RLIMIT_MAKE_CONST(lim) ((struct rlimit) { lim, lim })
25
26 int rlimit_nofile_bump(int limit);
27 int rlimit_nofile_safe(void);