1 <html><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8"><title>sd-daemon
</title><meta name=
"generator" content=
"DocBook XSL Stylesheets V1.78.1"></head><body bgcolor=
"white" text=
"black" link=
"#0000FF" vlink=
"#840084" alink=
"#0000FF"><style>
11 background-color: #c60f0f;
15 h1:hover
> a.headerlink, h2:hover
> a.headerlink, h3:hover
> a.headerlink, dt:hover
> a.headerlink {
18 </style><a href=
"index.html">Index
</a>·
19 <a href=
"systemd.directives.html">Directives
</a>·
20 <a href=
"../python-systemd/index.html">Python
</a>·
21 <a href=
"../libudev/index.html">libudev
</a>·
22 <a href=
"../libudev/index.html">gudev
</a><span style=
"float:right">systemd
220</span><hr><div class=
"refentry"><a name=
"sd-daemon"></a><div class=
"titlepage"></div><div class=
"refnamediv"><h2>Name
</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — APIs for
23 new-style daemons
</p></div><div class=
"refsynopsisdiv"><h2>Synopsis
</h2><div class=
"funcsynopsis"><pre class=
"funcsynopsisinfo">#include
<systemd/sd-daemon.h
></pre></div><div class=
"cmdsynopsis"><p><code class=
"command">pkg-config --cflags --libs libsystemd
</code> </p></div></div><div class=
"refsect1"><a name=
"idm139948503956992"></a><h2 id=
"Description">Description
<a class=
"headerlink" title=
"Permalink to this headline" href=
"#Description">¶
</a></h2><p><code class=
"filename">sd-daemon.h
</code> provide APIs for new-style
24 daemons, as implemented by the
25 <a href=
"systemd.html"><span class=
"citerefentry"><span class=
"refentrytitle">systemd
</span>(
1)
</span></a>
26 init system.
</p><p>See
27 <a href=
"sd_listen_fds.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd_listen_fds
</span>(
3)
</span></a>,
28 <a href=
"sd_notify.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd_notify
</span>(
3)
</span></a>,
29 <a href=
"sd_booted.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd_booted
</span>(
3)
</span></a>,
30 <a href=
"sd_is_fifo.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd_is_fifo
</span>(
3)
</span></a>,
31 <a href=
"sd_watchdog_enabled.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd_watchdog_enabled
</span>(
3)
</span></a>
32 for more information about the functions implemented. In addition
33 to these functions, a couple of logging prefixes are defined as
34 macros:
</p><pre class=
"programlisting">#define SD_EMERG
"<0>" /* system is unusable */
35 #define SD_ALERT
"<1>" /* action must be taken immediately */
36 #define SD_CRIT
"<2>" /* critical conditions */
37 #define SD_ERR
"<3>" /* error conditions */
38 #define SD_WARNING
"<4>" /* warning conditions */
39 #define SD_NOTICE
"<5>" /* normal but significant condition */
40 #define SD_INFO
"<6>" /* informational */
41 #define SD_DEBUG
"<7>" /* debug-level messages */
</pre><p>These prefixes are intended to be used in conjunction with
42 stderr-based logging as implemented by systemd. If a systemd
43 service definition file is configured with
44 <code class=
"varname">StandardError=journal
</code>,
45 <code class=
"varname">StandardError=syslog
</code> or
46 <code class=
"varname">StandardError=kmsg
</code>, these prefixes can be used
47 to encode a log level in lines printed. This is similar to the
48 kernel
<code class=
"function">printk()
</code>-style logging. See
49 <a href=
"http://man7.org/linux/man-pages/man2/klogctl.2.html"><span class=
"citerefentry"><span class=
"refentrytitle">klogctl
</span>(
2)
</span></a>
50 for more information.
</p><p>The log levels are identical to
51 <a href=
"http://man7.org/linux/man-pages/man3/syslog.3.html"><span class=
"citerefentry"><span class=
"refentrytitle">syslog
</span>(
3)
</span></a>'s
52 log level system. To use these prefixes simply prefix every line
53 with one of these strings. A line that is not prefixed will be
54 logged at the default log level SD_INFO.
</p><div class=
"example"><a name=
"idm139948499328720"></a><p class=
"title"><b>Example
1. Hello World
</b></p><div class=
"example-contents"><p>A daemon may log with the log level NOTICE by issuing this
55 call:
</p><pre class=
"programlisting">fprintf(stderr, SD_NOTICE
"Hello World!\n");
</pre></div></div><br class=
"example-break"></div><div class=
"refsect1"><a name=
"idm139948497523952"></a><h2 id=
"Notes">Notes
<a class=
"headerlink" title=
"Permalink to this headline" href=
"#Notes">¶
</a></h2><p><a name=
"pkgconfig-text"></a>These APIs are implemented as a shared
56 library, which can be compiled and linked to with the
57 <code class=
"constant">libsystemd
</code> <a href=
"http://linux.die.net/man/1/pkg-config"><span class=
"citerefentry"><span class=
"refentrytitle">pkg-config
</span>(
1)
</span></a>
58 file.
</p></div><div class=
"refsect1"><a name=
"idm139948499326320"></a><h2 id=
"See Also">See Also
<a class=
"headerlink" title=
"Permalink to this headline" href=
"#See%20Also">¶
</a></h2><p>
59 <a href=
"systemd.html"><span class=
"citerefentry"><span class=
"refentrytitle">systemd
</span>(
1)
</span></a>,
60 <a href=
"sd_listen_fds.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd_listen_fds
</span>(
3)
</span></a>,
61 <a href=
"sd_notify.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd_notify
</span>(
3)
</span></a>,
62 <a href=
"sd_booted.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd_booted
</span>(
3)
</span></a>,
63 <a href=
"sd_is_fifo.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd_is_fifo
</span>(
3)
</span></a>,
64 <a href=
"sd_watchdog_enabled.html"><span class=
"citerefentry"><span class=
"refentrytitle">sd_watchdog_enabled
</span>(
3)
</span></a>,
65 <a href=
"daemon.html"><span class=
"citerefentry"><span class=
"refentrytitle">daemon
</span>(
7)
</span></a>,
66 <a href=
"systemd.service.html"><span class=
"citerefentry"><span class=
"refentrytitle">systemd.service
</span>(
5)
</span></a>,
67 <a href=
"systemd.socket.html"><span class=
"citerefentry"><span class=
"refentrytitle">systemd.socket
</span>(
5)
</span></a>,
68 <a href=
"http://man7.org/linux/man-pages/man3/fprintf.3.html"><span class=
"citerefentry"><span class=
"refentrytitle">fprintf
</span>(
3)
</span></a>,
69 <a href=
"http://linux.die.net/man/1/pkg-config"><span class=
"citerefentry"><span class=
"refentrytitle">pkg-config
</span>(
1)
</span></a>
70 </p></div></div></body></html>