X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fsystemd%2Fsd-daemon.h;h=8fcb6968d9d391b16b6c346ad45518beef04e3e0;hp=1d636df3ea51a620c75569faf9a26a0b75cf3f9d;hb=d78f66f754716d82da11dd60c23e514d0603af6f;hpb=952d1536f4d7b64cfe938a569402434decffe4cd;ds=sidebyside diff --git a/src/systemd/sd-daemon.h b/src/systemd/sd-daemon.h index 1d636df3e..8fcb6968d 100644 --- a/src/systemd/sd-daemon.h +++ b/src/systemd/sd-daemon.h @@ -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