along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="sd-daemon">
+<refentry id="sd-daemon"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>sd-daemon</title>
<refmeta>
<refentrytitle>sd-daemon</refentrytitle>
- <manvolnum>7</manvolnum>
+ <manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>sd-daemon</refname>
- <refpurpose>Reference implementation of APIs for
+ <refname>SD_EMERG</refname>
+ <refname>SD_ALERT</refname>
+ <refname>SD_CRIT</refname>
+ <refname>SD_ERR</refname>
+ <refname>SD_WARNING</refname>
+ <refname>SD_NOTICE</refname>
+ <refname>SD_INFO</refname>
+ <refname>SD_DEBUG</refname>
+ <refpurpose>APIs for
new-style daemons</refpurpose>
</refnamediv>
</funcsynopsis>
<cmdsynopsis>
- <command>pkg-config --cflags --libs libsystemd-daemon</command>
+ <command>pkg-config --cflags --libs libsystemd</command>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para><filename>sd-daemon.c</filename> and
- <filename>sd-daemon.h</filename> provide a reference
- implementation of various APIs for new-style daemons,
- as implemented by the
+ <para><filename>sd-daemon.h</filename> provide APIs
+ for new-style daemons, as implemented by the
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
init system.</para>
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_booted</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd_is_fifo</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>sd_is_fifo</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_watchdog_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>
for more information about the functions
- implemented. In addition to these functions a couple
+ implemented. In addition to these functions, a couple
of logging prefixes are defined as macros:</para>
<programlisting>#define SD_EMERG "<0>" /* system is unusable */
#define SD_DEBUG "<7>" /* debug-level messages */</programlisting>
<para>These prefixes are intended to be used in
- conjunction with STDERR-based logging as implemented
+ conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is
- configured with <varname>StandardError=syslog</varname>
- or <varname>StandardError=kmsg</varname> these
- prefixes can be used to encode a log level in lines
+ configured with
+ <varname>StandardError=journal</varname>,
+ <varname>StandardError=syslog</varname> or
+ <varname>StandardError=kmsg</varname>, these prefixes
+ can be used to encode a log level in lines
printed. This is similar to the kernel
<function>printk()</function>-style logging. See
<citerefentry><refentrytitle>klogctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
for more information.</para>
<para>The log levels are identical to
- <citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>'s
+ <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>'s
log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is
not prefixed will be logged at the default log level
</example>
</refsect1>
- <refsect1>
- <title>Notes</title>
-
- <para>These interfaces are provided by the reference
- implementation of APIs for new-style daemons and
- distributed with the systemd package. The algorithms
- they implement are simple, and can easily be
- reimplemented in daemons if it is important to support
- this interface without using the reference
- implementation. See the respective function man pages
- for details.</para>
-
- <para>In addition, for details about the algorithms
- check the liberally licensed reference implementation
- sources:
- <ulink url="http://cgit.freedesktop.org/systemd/systemd/plain/src/sd-daemon.c"/>
- resp. <ulink url="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h"/></para>
-
- <para>These APIs are implemented in the reference
- implementation's <filename>sd-daemon.c</filename> and
- <filename>sd-daemon.h</filename> files. These
- interfaces are available as shared library, which can
- be compiled and linked to with the
- <literal>libsystemd-daemon</literal>
- <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- file. Alternatively, applications consuming these APIs
- may copy the implementation into their source tree,
- either verbatim or in excerpts.</para>
-
- <para>The functions directly related to new-style
- daemons become NOPs when -DDISABLE_SYSTEMD is set
- during compilation and the reference implementation is
- used as drop-in files. In addition, if
- <filename>sd-daemon.c</filename> is compiled on
- non-Linux systems they become NOPs.</para>
- </refsect1>
+ <xi:include href="libsystemd-pkgconfig.xml" />
<refsect1>
<title>See Also</title>
<citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_booted</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_is_fifo</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_watchdog_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>fprintf</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd-readahead</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ <citerefentry project='man-pages'><refentrytitle>fprintf</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>