X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Futil.h;h=76bc7b3572ee94d2f1a3356d1beacd10ab577a9c;hp=e0934e59d902504f718b1236b53629c89b8a35e1;hb=3d9a412243035beeaaf3465a62065444a5adf21c;hpb=71ecc858fa91a686a050bee51804d43865ce1acc diff --git a/src/shared/util.h b/src/shared/util.h index e0934e59d..76bc7b357 100644 --- a/src/shared/util.h +++ b/src/shared/util.h @@ -9,16 +9,16 @@ Copyright 2010 Lennart Poettering systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. systemd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with systemd; If not, see . ***/ @@ -34,6 +34,7 @@ #include #include #include +#include #include "macro.h" @@ -99,6 +100,8 @@ bool streq_ptr(const char *a, const char *b); #define new0(t, n) ((t*) calloc((n), sizeof(t))) +#define newdup(t, p, n) ((t*) memdup(p, sizeof(t)*(n)) + #define malloc0(n) (calloc((n), 1)) static inline const char* yes_no(bool b) { @@ -347,6 +350,7 @@ ssize_t loop_read(int fd, void *buf, size_t nbytes, bool do_poll); ssize_t loop_write(int fd, const void *buf, size_t nbytes, bool do_poll); int path_is_mount_point(const char *path, bool allow_symlink); +int path_is_read_only_fs(const char *path); bool is_device_path(const char *path); @@ -528,4 +532,9 @@ int is_kernel_thread(pid_t pid); int fd_inc_sndbuf(int fd, size_t n); int fd_inc_rcvbuf(int fd, size_t n); + +int fork_agent(pid_t *pid, const int except[], unsigned n_except, const char *path, ...); + +int setrlimit_closest(int resource, const struct rlimit *rlim); + #endif