chiark / gitweb /
nspawn: compress mount table a bit
[elogind.git] / src / sd-daemon.h
index dc18f42eaa3ac9c0085f8021a1891e4d3f6f0154..46dc7fd7e596a3f40c9d03d486e70ece67bab7b3 100644 (file)
@@ -1,4 +1,4 @@
-/*-*- Mode: C; c-basic-offset: 8 -*-*/
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
 
 #ifndef foosddaemonhfoo
 #define foosddaemonhfoo
@@ -49,7 +49,7 @@ extern "C" {
   - Detection of systemd boots
 
   You may compile this with -DDISABLE_SYSTEMD to disable systemd
-  support. This make all those calls NOPs that are directly related to
+  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
@@ -63,20 +63,22 @@ extern "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(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)
-#define _sd_hidden_
+#endif
 #endif
 
 /*
   Log levels for usage on stderr:
 
-          fprintf(stderr, SD_NOTICE "Hello World!");
+          fprintf(stderr, SD_NOTICE "Hello World!\n");
 
   This is similar to printk() usage in the kernel.
 */
@@ -104,8 +106,10 @@ extern "C" {
   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_;
+int sd_listen_fds(int unset_environment);
 
 /*
   Helper call for identifying a passed file descriptor. Returns 1 if
@@ -114,8 +118,22 @@ 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);
+
+/*
+  Helper call for identifying a passed file descriptor. Returns 1 if
+  the file descriptor is a special character device on the file
+  system stored under the specified path, 0 otherwise.
+  If path is NULL a path name check will not be done and the call
+  only verifies if the file descriptor refers to a special character.
+  Returns a negative errno style error code on failure.
+
+  See sd_is_special(3) for more information.
 */
-int sd_is_fifo(int fd, const char *path) _sd_hidden_;
+int sd_is_special(int fd, const char *path);
 
 /*
   Helper call for identifying a passed file descriptor. Returns 1 if
@@ -128,8 +146,10 @@ 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_;
+int sd_is_socket(int fd, int family, int type, int listening);
 
 /*
   Helper call for identifying a passed file descriptor. Returns 1 if
@@ -140,8 +160,10 @@ 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_;
+int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port);
 
 /*
   Helper call for identifying a passed file descriptor. Returns 1 if
@@ -154,18 +176,28 @@ int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port
   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_;
+int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length);
 
 /*
-  Informs systemd about changed daemon state. This takes a numeber of
-  newline seperated environment-style variable assignments in a
-  string. The following strings are known:
+  Helper call for identifying a passed file descriptor. Returns 1 if
+  the file descriptor is a POSIX Message Queue of the specified name,
+  0 otherwise. If path is NULL a message queue name check is not
+  done. Returns a negative errno style error code on failure.
+*/
+int sd_is_mq(int fd, const char *path);
+
+/*
+  Informs systemd about changed daemon state. This takes a number of
+  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
@@ -185,7 +217,8 @@ int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t
      MAINPID=...  The main pid of a daemon, in case systemd did not
                   fork off the process itself. Example: "MAINPID=4711"
 
-  Daemons can choose to send additional variables.
+  Daemons can choose to send additional variables. However, it is
+  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
@@ -197,8 +230,10 @@ int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t
      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_;
+int sd_notify(int unset_environment, const char *state);
 
 /*
   Similar to sd_notify() but takes a format string.
@@ -217,8 +252,10 @@ 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_;
+int sd_notifyf(int unset_environment, const char *format, ...) _sd_printf_attr_(2,3);
 
 /*
   Returns > 0 if the system was booted with systemd. Returns < 0 on
@@ -227,9 +264,11 @@ int sd_notifyf(int unset_environment, const char *format, ...) _sd_printf_attr_(
   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_;
+int sd_booted(void);
 
 #ifdef __cplusplus
 }