-/*-*- Mode: C; c-basic-offset: 8 -*-*/
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
#ifndef foosddaemonhfoo
#define foosddaemonhfoo
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(7) for more information.
*/
+#ifndef _sd_printf_attr_
#if __GNUC__ >= 4
#define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b)))
-#define _sd_hidden_ __attribute__ ((visibility("hidden")))
#else
#define _sd_printf_attr_(a,b)
+#endif
+#endif
+
+#ifndef _sd_hidden_
+#if (__GNUC__ >= 4) && !defined(SD_EXPORT_SYMBOLS)
+#define _sd_hidden_ __attribute__ ((visibility("hidden")))
+#else
#define _sd_hidden_
#endif
+#endif
/*
Log levels for usage on stderr:
sure they are not passed on to child processes. If FD_CLOEXEC shall
not be set, the caller needs to unset it after this call for all file
descriptors that are used.
+
+ See sd_listen_fds(3) for more information.
*/
int sd_listen_fds(int unset_environment) _sd_hidden_;
not be done and the call only verifies if the file descriptor
refers to a FIFO. Returns a negative errno style error code on
failure.
+
+ See sd_is_fifo(3) for more information.
*/
int sd_is_fifo(int fd, const char *path) _sd_hidden_;
been called) If listening is == 0 it is verified that the socket is
not in listening mode. If listening is < 0 no listening mode check
is done. Returns a negative errno style error code on failure.
+
+ See sd_is_socket(3) for more information.
*/
int sd_is_socket(int fd, int family, int type, int listening) _sd_hidden_;
done. If port is 0 a socket port check will not be done. The
listening flag is used the same way as in sd_is_socket(). Returns a
negative errno style error code on failure.
+
+ See sd_is_socket_inet(3) for more information.
*/
int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port) _sd_hidden_;
socket path in path (including the initial 0 byte). The listening
flag is used the same way as in sd_is_socket(). Returns a negative
errno style error code on failure.
+
+ See sd_is_socket_unix(3) for more information.
*/
int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length) _sd_hidden_;
/*
Informs systemd about changed daemon state. This takes a number of
- newline seperated environment-style variable assignments in a
+ newline separated environment-style variable assignments in a
string. The following variables are known:
READY=1 Tells systemd that daemon startup is finished (only
relevant for services of Type=notify). The passed
argument is a boolean "1" or "0". Since there is
- little value in signalling non-readiness the only
+ little value in signaling non-readiness the only
value daemons should send is "READY=1".
STATUS=... Passes a single-line status string back to systemd
fork off the process itself. Example: "MAINPID=4711"
Daemons can choose to send additional variables. However, it is
- recommened to prefix variable names not listed above with X_.
+ recommended to prefix variable names not listed above with X_.
Returns a negative errno-style error code on failure. Returns > 0
if systemd could be notified, 0 if it couldn't possibly because
sd_notify(0, "READY=1");
See sd_notifyf() for more complete examples.
+
+ See sd_notify(3) for more information.
*/
int sd_notify(int unset_environment, const char *state) _sd_hidden_;
"ERRNO=%i",
strerror(errno),
errno);
+
+ See sd_notifyf(3) for more information.
*/
int sd_notifyf(int unset_environment, const char *format, ...) _sd_printf_attr_(2,3) _sd_hidden_;
fine. You should NOT protect them with a call to this function. Also
note that this function checks whether the system, not the user
session is controlled by systemd. However the functions above work
- for both session and system services.
+ for both user and system services.
+
+ See sd_booted(3) for more information.
*/
int sd_booted(void) _sd_hidden_;