1<?xml version="1.0" encoding="iso-8859-15"?> <!-- -*-html-helper-*- -->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4
5<head>
6<title>libdaemon @PACKAGE_VERSION@</title>
7<link rel="stylesheet" type="text/css" href="style.css" />
8</head>
9
10<body>
11<h1><a name="top">libdaemon @PACKAGE_VERSION@</a></h1>
12
13<p><i>Copyright 2003-2009 Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;</i></p>
14
15<ul class="toc">
16    <li><a href="#license">License</a></li>
17    <li><a href="#news">News</a></li>
18    <li><a href="#overview">Overview</a></li>
19    <li><a href="#status">Current Status</a></li>
20    <li><a href="#documentation">Documentation</a></li>
21    <li><a href="#requirements">Requirements</a></li>
22    <li><a href="#installation">Installation</a></li>
23    <li><a href="#acks">Acknowledgements</a></li>
24    <li><a href="#download">Download</a></li>
25</ul>
26
27<h2><a name="license">License</a></h2>
28
29<p>Permission is hereby granted, free of charge, to any person obtaining a copy of
30this software and associated documentation files (the "Software"), to deal in
31the Software without restriction, including without limitation the rights to
32use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
33of the Software, and to permit persons to whom the Software is furnished to do
34so, subject to the following conditions:</p>
35
36<p>The above copyright notice and this permission notice shall be included in all
37copies or substantial portions of the Software.</p>
38
39<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
40IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
41FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
42AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
43LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
44OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
45SOFTWARE.</p>
46
47<h2><a name="news">News</a></h2>
48
49<div class="news-date">Sun Aug 29 2012: </div>
50<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.14.tar.gz">Version 0.15</a> license change from LGPL to MIT</p>
51
52<div class="news-date">Sun Oct 18 2009: </div>
53<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.14.tar.gz">Version 0.14</a> released; changes include: add <tt>daemon_set_verbosity()</tt> call; numerous updates</p>
54
55<div class="news-date">Tue Jul 29 2008: </div>
56<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.13.tar.gz">Version 0.13</a> released; changes include: add <tt>daemon_reset_sigs()</tt> and <tt>daemon_unblock_sigs()</tt> calls for resetting signal handlers to sensible states; improve error handling.</p>
57
58<div class="news-date">Tue Jul 10 2007: </div>
59<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.12.tar.gz">Version 0.12</a> released; changes include: make <tt>daemon_close_all()</tt> actually work properly.</p>
60
61<div class="news-date">Fri Jun 22 2007: </div>
62<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.11.tar.gz">Version 0.11</a> released; changes include: automatically detect whether lynx is installed; properly set <tt>errno</tt> on every error condition; add new function <tt>daemon_close_all()</tt> to close all open file descriptors except a given set; add <tt>daemon_logv()</tt>, which is identical to <tt>daemon_log()</tt>, but takes a <tt>va_list</tt> argument; add <tt>daemon_execv()</tt> in similar style; other fixes</p>
63
64<div class="news-date">Thu Nov 24 2005: </div>
65<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.10.tar.gz">Version 0.10</a> released; changes include: make logging compatible with daemons running in a <tt>chroot()</tt> environment</p>
66
67<div class="news-date">Fri Nov 18 2005: </div>
68<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.9.tar.gz">Version 0.9</a> released; changes include: portability (FreeBSD, NetBSD, OpenBSD, Darwin, Solaris, Cygwin); some minor header file cleanups; fix access mode of PID files; other cleanups; license change from GPL to LGPL</p>
69
70<div class="news-date">Sat Jun 4 2005: </div>
71<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.8.tar.gz">Version 0.8</a> released; changes include: proper PID file locking</p>
72
73<div class="news-date">Sat Dec 18 2004: </div>
74<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.7.tar.gz">Version 0.7</a> released; changes include: minor cleanups; C++ compatibility; gcc 2.95 compatiblity</p>
75
76<div class="news-date">Wed Apr 7 2004: </div>
77<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.6.tar.gz">Version 0.6</a> released; changes include: backgrounding fixes, minor other stuff</p>
78
79<div class="news-date">Tue Feb 10 2004: </div>
80<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.5.tar.gz">Version 0.5</a> released; changes include: signal handling fix, forking fix</p>
81
82<div class="news-date">Sat Jan 10 2004: </div>
83<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.4.tar.gz">Version 0.4</a> released; changes include: new module <tt>dexec.c</tt>; added <tt>pkg-config</tt> support.</p>
84
85<div class="news-date">Mon Oct 20 2003: </div>
86<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.3.tar.gz">Version 0.3</a> released; changes include: documentation update, build fixes, RPM spec file added, added new function int <tt>daemon_pid_file_kill_wait()</tt>.</p>
87
88<div class="news-date">Thu July 10 2003: </div>
89<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.2.tar.gz">Version 0.2</a> released; changes include: ugly umask error fix, documentation update</p>
90
91<div class="news-date">Mon July 7 2003: </div>
92<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.1.tar.gz">Version 0.1</a> released</p>
93
94<h2><a name="overview">Overview</a></h2>
95
96<p><tt>libdaemon</tt> is a lightweight C library that eases the writing of UNIX
97daemons. It consists of the following parts:</p>
98
99<ul>
100  <li>A wrapper around <tt>fork()</tt> which does the correct
101  daemonization procedure of a process</li>
102
103  <li>A wrapper around <tt>syslog()</tt> for simpler and compatible
104  log output to Syslog or STDERR</li>
105
106  <li>An API for writing PID files</li>
107
108  <li>An API for serializing UNIX signals into a pipe for
109  usage with <tt>select()</tt> or <tt>poll()</tt></li>
110
111  <li>An API for running subprocesses with STDOUT and STDERR redirected to syslog.</li>
112</ul>
113
114<p>APIs like these are used in most daemon software
115available. It is not that simple to get it done right and code
116duplication is not a goal.</p>
117
118<p><tt>libdaemon</tt> is currently used by <a
119href="http://0pointer.de/lennart/projects/ifplugd/"><tt>ifplugd</tt></a>,
120<a
121href="http://freedesktop.org/Software/Avahi">Avahi</a>,
122<a
123href="http://0pointer.de/lennart/projects/ivam2/"><tt>ivam2</tt></a>,
124<a href="http://gentoo.ovibes.net/nautilus-share/mediawiki-1.4.4/index.php/Accueil">Nautilus-Share</a>
125and <a
126href="http://0pointer.de/lennart/projects/aeswepd/"><tt>aeswepd</tt></a>.</p>
127
128<h2><a name="status">Current Status</a></h2>
129
130<p>Version @PACKAGE_VERSION@ is feature complete.</p>
131
132<h2><a name="documentation">Documentation</a></h2>
133
134<p>An extensive API reference is <a
135href="reference/html/index.html">available</a></p>
136
137<h2><a name="requirements">Requirements</a></h2>
138
139<p><tt>libdaemon</tt> was developed and tested on Debian GNU/Linux
140"testing" from July 2003, it should work on most other Linux
141distributions (and some Unix versions) since it uses GNU Autoconf and
142GNU libtool for source code configuration and shared library
143management.</p>
144
145<p><tt>libdaemon</tt> is known to work on modern Linux systems, FreeBSD, NetBSD, OpenBSD, Darwin, Solaris and Windows/Cygwin.</p>
146
147<h2><a name="installation">Installation</a></h2>
148
149<p>As this package is made with the GNU autotools you should run
150<tt>./configure</tt> inside the distribution directory for configuring
151the source tree. After that you should run <tt>make</tt> for
152compilation and <tt>make install</tt> (as root) for installation of
153<tt>libdaemon</tt>.</p>
154
155<p>Please use <tt>gmake</tt> instead of traditional <tt>make</tt> for compilation on non-Linux systems.</p>
156
157<h2><a name="acks">Acknowledgements</a></h2>
158
159<p>Sebastien Estienne, for a lot of portability work.</p>
160
161<h2><a name="download">Download</a></h2>
162
163<p>The newest release is always available from <a href="@PACKAGE_URL@">@PACKAGE_URL@</a></p>
164
165<p>Get <tt>libdaemon</tt>'s development sources from the <a href="http://git.or.cz/">GIT</a> <a href="git://git.0pointer.de/libdaemon">repository</a> (<a href="http://git.0pointer.de/?p=libdaemon.git">gitweb</a>): </p>
166
167<pre>git clone git://git.0pointer.de/libdaemon</pre>
168
169<p>You may find an up to date Debian package of <tt>libdaemon</tt> on the <a href="http://packages.debian.org/libdaemon0">Debian package repository</a>.</p>
170
171<p>If you want to be notified whenever I release a new version of this software use the subscription feature of <a href="http://freshmeat.net/projects/libdaemon/">Freshmeat</a>.</p>
172
173<hr/>
174<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, October 2009</address>
175
176</body>
177</html>
178