2010-06-23 02:31:54 +04:00
<?xml version='1.0'?> <!-- * - nxml - * -->
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
2015-06-18 20:47:44 +03:00
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
2010-06-23 02:31:54 +04:00
<!--
2017-11-18 19:22:32 +03:00
SPDX-License-Identifier: LGPL-2.1+
2010-06-23 02:31:54 +04:00
This file is part of systemd.
Copyright 2010 Lennart Poettering
-->
2014-02-21 07:39:26 +04:00
<refentry id= "sd-daemon"
2015-02-04 05:14:13 +03:00
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo >
<title > sd-daemon</title>
<productname > systemd</productname>
<authorgroup >
<author >
<contrib > Developer</contrib>
<firstname > Lennart</firstname>
<surname > Poettering</surname>
<email > lennart@poettering.net</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta >
<refentrytitle > sd-daemon</refentrytitle>
<manvolnum > 3</manvolnum>
</refmeta>
<refnamediv >
<refname > sd-daemon</refname>
<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>
<refsynopsisdiv >
<funcsynopsis >
<funcsynopsisinfo > #include < systemd/sd-daemon.h> </funcsynopsisinfo>
</funcsynopsis>
<cmdsynopsis >
<command > pkg-config --cflags --libs libsystemd</command>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 >
<title > Description</title>
2015-11-20 01:38:54 +03:00
<para > <filename > sd-daemon.h</filename> provides APIs for new-style
2015-02-04 05:14:13 +03:00
daemons, as implemented by the
<citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry>
2015-11-20 01:38:54 +03:00
service manager.</para>
2015-02-04 05:14:13 +03:00
<para > See
<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_watchdog_enabled</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry>
for more information about the functions implemented. In addition
to these functions, a couple of logging prefixes are defined as
macros:</para>
<programlisting > #define SD_EMERG "< 0> " /* system is unusable */
2010-06-23 02:31:54 +04:00
#define SD_ALERT "< 1> " /* action must be taken immediately */
#define SD_CRIT "< 2> " /* critical conditions */
#define SD_ERR "< 3> " /* error conditions */
#define SD_WARNING "< 4> " /* warning conditions */
#define SD_NOTICE "< 5> " /* normal but significant condition */
#define SD_INFO "< 6> " /* informational */
#define SD_DEBUG "< 7> " /* debug-level messages */</programlisting>
2015-02-04 05:14:13 +03:00
<para > These prefixes are intended to be used in conjunction with
stderr-based logging as implemented by systemd. If a systemd
service definition file is 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 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 SD_INFO.</para>
<example >
<title > Hello World</title>
<para > A daemon may log with the log level NOTICE by issuing this
call:</para>
<programlisting > fprintf(stderr, SD_NOTICE "Hello World!\n");</programlisting>
</example>
</refsect1>
<xi:include href= "libsystemd-pkgconfig.xml" />
<refsect1 >
<title > See Also</title>
<para >
<citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> ,
<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_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 project= 'man-pages' > <refentrytitle > fprintf</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry> ,
<citerefentry project= 'die-net' > <refentrytitle > pkg-config</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry>
</para>
</refsect1>
2010-06-23 02:31:54 +04:00
</refentry>