chiark / gitweb /
sd-netlink: introduce api for new NL type NLA_FLAG
[elogind.git] / src / systemd / sd-daemon.h
index 1d636df3ea51a620c75569faf9a26a0b75cf3f9d..8fcb6968d9d391b16b6c346ad45518beef04e3e0 100644 (file)
@@ -146,16 +146,6 @@ int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port
 */
 int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length);
 
-/*
-  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.
-
-  See sd_is_mq(3) for more information.
-*/
-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
@@ -168,7 +158,7 @@ int sd_is_mq(int fd, const char *path);
                   value daemons should send is "READY=1".
 
      STATUS=...   Passes a single-line status string back to systemd
-                  that describes the daemon state. This is free-from
+                  that describes the daemon state. This is free-form
                   and can be used for various purposes: general state
                   feedback, fsck-like programs could pass completion
                   percentages and failing programs could pass a human
@@ -190,6 +180,12 @@ int sd_is_mq(int fd, const char *path);
                   timestamps to detect failed services. Also see
                   sd_watchdog_enabled() below.
 
+     FDSTORE=1    Store the file descriptors passed along with the
+                  message in the per-service file descriptor store,
+                  and pass them to the main process again on next
+                  invocation. This variable is only supported with
+                  sd_pid_notify_with_fds().
+
   Daemons can choose to send additional variables. However, it is
   recommended to prefix variable names not listed above with X_.
 
@@ -230,6 +226,25 @@ int sd_notify(int unset_environment, const char *state);
 */
 int sd_notifyf(int unset_environment, const char *format, ...) _sd_printf_(2,3);
 
+/*
+  Similar to sd_notify(), but send the message on behalf of another
+  process, if the appropriate permissions are available.
+*/
+int sd_pid_notify(pid_t pid, int unset_environment, const char *state);
+
+/*
+  Similar to sd_notifyf(), but send the message on behalf of another
+  process, if the appropriate permissions are available.
+*/
+int sd_pid_notifyf(pid_t pid, int unset_environment, const char *format, ...) _sd_printf_(3,4);
+
+/*
+  Similar to sd_pid_notify(), but also passes the specified fd array
+  to the service manager for storage. This is particularly useful for
+  FDSTORE=1 messages.
+*/
+int sd_pid_notify_with_fds(pid_t pid, int unset_environment, const char *state, const int *fds, unsigned n_fds);
+
 /*
   Returns > 0 if the system was booted with systemd. Returns < 0 on
   error. Returns 0 if the system was not booted with systemd. Note