diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/compat-libs/libsystemd-daemon.pc.in (renamed from src/libsystemd-daemon/libsystemd-daemon.pc.in) | 0 | ||||
-rw-r--r-- | src/compat-libs/libsystemd-daemon.sym (renamed from src/libsystemd-daemon/libsystemd-daemon.sym) | 0 | ||||
-rw-r--r-- | src/libsystemd-daemon/.gitignore | 1 | ||||
l--------- | src/libsystemd-daemon/Makefile | 1 | ||||
-rw-r--r-- | src/libsystemd/libsystemd.sym | 15 | ||||
-rw-r--r-- | src/libsystemd/sd-daemon/sd-daemon.c (renamed from src/libsystemd-daemon/sd-daemon.c) | 102 | ||||
-rw-r--r-- | src/systemd/sd-daemon.h | 42 | ||||
-rw-r--r-- | src/systemd/sd-readahead.h | 2 |
8 files changed, 47 insertions, 116 deletions
diff --git a/src/libsystemd-daemon/libsystemd-daemon.pc.in b/src/compat-libs/libsystemd-daemon.pc.in index 8bb3a74c87..8bb3a74c87 100644 --- a/src/libsystemd-daemon/libsystemd-daemon.pc.in +++ b/src/compat-libs/libsystemd-daemon.pc.in diff --git a/src/libsystemd-daemon/libsystemd-daemon.sym b/src/compat-libs/libsystemd-daemon.sym index aa9be51c6a..aa9be51c6a 100644 --- a/src/libsystemd-daemon/libsystemd-daemon.sym +++ b/src/compat-libs/libsystemd-daemon.sym diff --git a/src/libsystemd-daemon/.gitignore b/src/libsystemd-daemon/.gitignore deleted file mode 100644 index 5184131b28..0000000000 --- a/src/libsystemd-daemon/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/libsystemd-daemon.pc diff --git a/src/libsystemd-daemon/Makefile b/src/libsystemd-daemon/Makefile deleted file mode 120000 index d0b0e8e008..0000000000 --- a/src/libsystemd-daemon/Makefile +++ /dev/null @@ -1 +0,0 @@ -../Makefile
\ No newline at end of file diff --git a/src/libsystemd/libsystemd.sym b/src/libsystemd/libsystemd.sym index b4e4af1f2d..258c932fc3 100644 --- a/src/libsystemd/libsystemd.sym +++ b/src/libsystemd/libsystemd.sym @@ -10,6 +10,21 @@ LIBSYSTEMD_209 { global: + /* originally LIBSYSTEMD_DAEMON_31 */ + sd_booted; + sd_is_fifo; + sd_is_mq; + sd_is_socket; + sd_is_socket_inet; + sd_is_socket_unix; + sd_is_special; + sd_listen_fds; + sd_notify; + sd_notifyf; + + /* LIBSYSTEMD_DAEMON_209 */ + sd_watchdog_enabled; + /* originally LIBSYSTEMD_ID128_38 */ sd_id128_to_string; sd_id128_from_string; diff --git a/src/libsystemd-daemon/sd-daemon.c b/src/libsystemd/sd-daemon/sd-daemon.c index 1a713ef2e8..21fb346bf8 100644 --- a/src/libsystemd-daemon/sd-daemon.c +++ b/src/libsystemd/sd-daemon/sd-daemon.c @@ -1,32 +1,23 @@ /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ /*** + This file is part of systemd. + Copyright 2010 Lennart Poettering - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -***/ + systemd is free software; you can redistribute it and/or modify it + 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 + Lesser General Public License for more details. -#ifndef _GNU_SOURCE -# define _GNU_SOURCE -#endif + You should have received a copy of the GNU Lesser General Public License + along with systemd; If not, see <http://www.gnu.org/licenses/>. +***/ #include <sys/types.h> #include <sys/stat.h> @@ -42,31 +33,12 @@ #include <stdio.h> #include <stddef.h> #include <limits.h> - -#if defined(__linux__) && !defined(SD_DAEMON_DISABLE_MQ) -# include <mqueue.h> -#endif +#include <mqueue.h> #include "util.h" #include "sd-daemon.h" -#if (__GNUC__ >= 4) -# ifdef SD_EXPORT_SYMBOLS -/* Export symbols */ -# define _sd_export_ __attribute__ ((visibility("default"))) -# else -/* Don't export the symbols */ -# define _sd_export_ __attribute__ ((visibility("hidden"))) -# endif -#else -# define _sd_export_ -#endif - -_sd_export_ int sd_listen_fds(int unset_environment) { - -#if defined(DISABLE_SYSTEMD) || !defined(__linux__) - return 0; -#else +_public_ int sd_listen_fds(int unset_environment) { int r, fd; const char *e; char *p = NULL; @@ -143,10 +115,9 @@ finish: } return r; -#endif } -_sd_export_ int sd_is_fifo(int fd, const char *path) { +_public_ int sd_is_fifo(int fd, const char *path) { struct stat st_fd; if (fd < 0) @@ -177,7 +148,7 @@ _sd_export_ int sd_is_fifo(int fd, const char *path) { return 1; } -_sd_export_ int sd_is_special(int fd, const char *path) { +_public_ int sd_is_special(int fd, const char *path) { struct stat st_fd; if (fd < 0) @@ -264,7 +235,7 @@ union sockaddr_union { struct sockaddr_storage storage; }; -_sd_export_ int sd_is_socket(int fd, int family, int type, int listening) { +_public_ int sd_is_socket(int fd, int family, int type, int listening) { int r; if (family < 0) @@ -290,7 +261,7 @@ _sd_export_ int sd_is_socket(int fd, int family, int type, int listening) { return 1; } -_sd_export_ int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port) { +_public_ int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port) { union sockaddr_union sockaddr = {}; socklen_t l = sizeof(sockaddr); int r; @@ -333,7 +304,7 @@ _sd_export_ int sd_is_socket_inet(int fd, int family, int type, int listening, u return 1; } -_sd_export_ int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length) { +_public_ int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length) { union sockaddr_union sockaddr = {}; socklen_t l = sizeof(sockaddr); int r; @@ -374,10 +345,7 @@ _sd_export_ int sd_is_socket_unix(int fd, int type, int listening, const char *p return 1; } -_sd_export_ int sd_is_mq(int fd, const char *path) { -#if !defined(__linux__) || defined(SD_DAEMON_DISABLE_MQ) - return 0; -#else +_public_ int sd_is_mq(int fd, const char *path) { struct mq_attr attr; if (fd < 0) @@ -408,13 +376,9 @@ _sd_export_ int sd_is_mq(int fd, const char *path) { } return 1; -#endif } -_sd_export_ int sd_notify(int unset_environment, const char *state) { -#if defined(DISABLE_SYSTEMD) || !defined(__linux__) || !defined(SOCK_CLOEXEC) - return 0; -#else +_public_ int sd_notify(int unset_environment, const char *state) { int fd = -1, r; struct msghdr msghdr; struct iovec iovec; @@ -478,13 +442,9 @@ finish: close(fd); return r; -#endif } -_sd_export_ int sd_notifyf(int unset_environment, const char *format, ...) { -#if defined(DISABLE_SYSTEMD) || !defined(__linux__) - return 0; -#else +_public_ int sd_notifyf(int unset_environment, const char *format, ...) { va_list ap; char *p = NULL; int r; @@ -500,13 +460,9 @@ _sd_export_ int sd_notifyf(int unset_environment, const char *format, ...) { free(p); return r; -#endif } -_sd_export_ int sd_booted(void) { -#if defined(DISABLE_SYSTEMD) || !defined(__linux__) - return 0; -#else +_public_ int sd_booted(void) { struct stat st; /* We test whether the runtime unit file directory has been @@ -517,14 +473,9 @@ _sd_export_ int sd_booted(void) { return 0; return !!S_ISDIR(st.st_mode); -#endif } -_sd_export_ int sd_watchdog_enabled(int unset_environment, uint64_t *usec) { - -#if defined(DISABLE_SYSTEMD) || !defined(__linux__) - return 0; -#else +_public_ int sd_watchdog_enabled(int unset_environment, uint64_t *usec) { unsigned long long ll; unsigned long l; const char *e; @@ -583,5 +534,4 @@ finish: } return r; -#endif } diff --git a/src/systemd/sd-daemon.h b/src/systemd/sd-daemon.h index 43deb8cc7d..f95fb51c25 100644 --- a/src/systemd/sd-daemon.h +++ b/src/systemd/sd-daemon.h @@ -30,17 +30,11 @@ #include <sys/types.h> #include <inttypes.h> -#ifdef __cplusplus -extern "C" { -#endif +#include "_sd-common.h" -/* - Reference implementation of a few systemd related interfaces for - writing daemons. These interfaces are trivial to implement. To - simplify porting we provide this reference implementation. - Applications are welcome to reimplement the algorithms described - here if they do not want to include these two source files. +_SD_BEGIN_DECLARATIONS; +/* The following functionality is provided: - Support for logging with log levels on stderr @@ -48,33 +42,9 @@ extern "C" { - Daemon startup and status notification - Detection of systemd boots - You may compile this with -DDISABLE_SYSTEMD to disable systemd - support. This makes all those calls NOPs that are directly related to - systemd (i.e. only sd_is_xxx() will stay useful). - - Since this is drop-in code we don't want any of our symbols to be - exported in any case. Hence we declare hidden visibility for all of - them. - - You may find an up-to-date version of these source files online: - - http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h - http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c - - This should compile on non-Linux systems, too, but with the - exception of the sd_is_xxx() calls all functions will become NOPs. - See sd-daemon(3) for more information. */ -#ifndef _sd_printf_attr_ -# if __GNUC__ >= 4 -# define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b))) -# else -# define _sd_printf_attr_(a,b) -# endif -#endif - /* Log levels for usage on stderr: @@ -263,7 +233,7 @@ int sd_notify(int unset_environment, const char *state); See sd_notifyf(3) for more information. */ -int sd_notifyf(int unset_environment, const char *format, ...) _sd_printf_attr_(2,3); +int sd_notifyf(int unset_environment, const char *format, ...) _sd_printf_(2,3); /* Returns > 0 if the system was booted with systemd. Returns < 0 on @@ -294,8 +264,6 @@ int sd_booted(void); */ int sd_watchdog_enabled(int unset_environment, uint64_t *usec); -#ifdef __cplusplus -} -#endif +_SD_END_DECLARATIONS; #endif diff --git a/src/systemd/sd-readahead.h b/src/systemd/sd-readahead.h index 2dac104f7a..ed8300c9b3 100644 --- a/src/systemd/sd-readahead.h +++ b/src/systemd/sd-readahead.h @@ -34,7 +34,7 @@ extern "C" { /* Reference implementation of a few boot readahead related interfaces. These interfaces are trivial to implement. To simplify - porting we provide this reference implementation. Applications are + porting, we provide this reference implementation. Applications are welcome to reimplement the algorithms described here if they do not want to include these two source files. |