<meta name="description" content="Pod documentation for libev" />
<meta name="inputfile" content="<standard input>" />
<meta name="outputfile" content="<standard output>" />
- <meta name="created" content="Tue Nov 27 21:29:04 2007" />
+ <meta name="created" content="Tue Nov 27 21:26:46 2007" />
<meta name="generator" content="Pod::Xhtml 1.57" />
<link rel="stylesheet" href="http://res.tst.eu/pod.css"/></head>
<body>
</ul><hr />
<!-- INDEX END -->
-<h1 id="NAME">NAME</h1>
+<h1 id="NAME">NAME</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="NAME_CONTENT">
<p>libev - a high performance full-featured event loop written in C</p>
</div>
-<h1 id="SYNOPSIS">SYNOPSIS</h1>
+<h1 id="SYNOPSIS">SYNOPSIS</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="SYNOPSIS_CONTENT">
<pre> #include <ev.h>
</pre>
</div>
-<h1 id="EXAMPLE_PROGRAM">EXAMPLE PROGRAM</h1>
+<h1 id="EXAMPLE_PROGRAM">EXAMPLE PROGRAM</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="EXAMPLE_PROGRAM_CONTENT">
<pre> #include <ev.h>
</pre>
</div>
-<h1 id="DESCRIPTION">DESCRIPTION</h1>
+<h1 id="DESCRIPTION">DESCRIPTION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="DESCRIPTION_CONTENT">
<p>Libev is an event loop: you register interest in certain events (such as a
file descriptor being readable or a timeout occuring), and it will manage
watcher.</p>
</div>
-<h1 id="FEATURES">FEATURES</h1>
+<h1 id="FEATURES">FEATURES</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="FEATURES_CONTENT">
<p>Libev supports <code>select</code>, <code>poll</code>, the linux-specific <code>epoll</code>, the
bsd-specific <code>kqueue</code> and the solaris-specific event port mechanisms
for example).</p>
</div>
-<h1 id="CONVENTIONS">CONVENTIONS</h1>
+<h1 id="CONVENTIONS">CONVENTIONS</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="CONVENTIONS_CONTENT">
<p>Libev is very configurable. In this manual the default configuration will
be described, which supports multiple event loops. For more info about
(which is always of type <code>struct ev_loop *</code>) will not have this argument.</p>
</div>
-<h1 id="TIME_REPRESENTATION">TIME REPRESENTATION</h1>
+<h1 id="TIME_REPRESENTATION">TIME REPRESENTATION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="TIME_REPRESENTATION_CONTENT">
<p>Libev represents time as a single floating point number, representing the
(fractional) number of seconds since the (POSIX) epoch (somewhere near
it, you should treat it as such.</p>
</div>
-<h1 id="GLOBAL_FUNCTIONS">GLOBAL FUNCTIONS</h1>
+<h1 id="GLOBAL_FUNCTIONS">GLOBAL FUNCTIONS</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="GLOBAL_FUNCTIONS_CONTENT">
<p>These functions can be called anytime, even before initialising the
library in any way.</p>
</dl>
</div>
-<h1 id="FUNCTIONS_CONTROLLING_THE_EVENT_LOOP">FUNCTIONS CONTROLLING THE EVENT LOOP</h1>
+<h1 id="FUNCTIONS_CONTROLLING_THE_EVENT_LOOP">FUNCTIONS CONTROLLING THE EVENT LOOP</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="FUNCTIONS_CONTROLLING_THE_EVENT_LOOP-2">
<p>An event loop is described by a <code>struct ev_loop *</code>. The library knows two
types of such loops, the <i>default</i> loop, which supports signals and child
</div>
-<h1 id="ANATOMY_OF_A_WATCHER">ANATOMY OF A WATCHER</h1>
+<h1 id="ANATOMY_OF_A_WATCHER">ANATOMY OF A WATCHER</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="ANATOMY_OF_A_WATCHER_CONTENT">
<p>A watcher is a structure that you create and register to record your
interest in some event. For instance, if you want to wait for STDIN to
</div>
-<h1 id="WATCHER_TYPES">WATCHER TYPES</h1>
+<h1 id="WATCHER_TYPES">WATCHER TYPES</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="WATCHER_TYPES_CONTENT">
<p>This section describes each watcher in detail, but will not repeat
information given in the last section. Any initialisation/set macros,
</div>
-<h1 id="OTHER_FUNCTIONS">OTHER FUNCTIONS</h1>
+<h1 id="OTHER_FUNCTIONS">OTHER FUNCTIONS</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="OTHER_FUNCTIONS_CONTENT">
<p>There are some other functions of possible interest. Described. Here. Now.</p>
<dl>
</div>
-<h1 id="LIBEVENT_EMULATION">LIBEVENT EMULATION</h1>
+<h1 id="LIBEVENT_EMULATION">LIBEVENT EMULATION</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="LIBEVENT_EMULATION_CONTENT">
<p>Libev offers a compatibility emulation layer for libevent. It cannot
emulate the internals of libevent, so here are some usage hints:</p>
</dl>
</div>
-<h1 id="C_SUPPORT">C++ SUPPORT</h1>
+<h1 id="C_SUPPORT">C++ SUPPORT</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="C_SUPPORT_CONTENT">
<p>Libev comes with some simplistic wrapper classes for C++ that mainly allow
you to use some convinience methods to start/stop watchers and also change
</pre>
</div>
-<h1 id="MACRO_MAGIC">MACRO MAGIC</h1>
+<h1 id="MACRO_MAGIC">MACRO MAGIC</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="MACRO_MAGIC_CONTENT">
<p>Libev can be compiled with a variety of options, the most fundemantal is
<code>EV_MULTIPLICITY</code>. This option determines wether (most) functions and
</pre>
</div>
-<h1 id="EMBEDDING">EMBEDDING</h1>
+<h1 id="EMBEDDING">EMBEDDING</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="EMBEDDING_CONTENT">
<p>Libev can (and often is) directly embedded into host
applications. Examples of applications that embed it include the Deliantra
</pre>
</div>
-<h1 id="COMPLEXITIES">COMPLEXITIES</h1>
+<h1 id="COMPLEXITIES">COMPLEXITIES</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="COMPLEXITIES_CONTENT">
<p>In this section the complexities of (many of) the algorithms used inside
libev will be explained. For complexity discussions about backends see the
</div>
-<h1 id="AUTHOR">AUTHOR</h1>
+<h1 id="AUTHOR">AUTHOR</h1><p><a href="#TOP" class="toplink">Top</a></p>
<div id="AUTHOR_CONTENT">
<p>Marc Lehmann <libev@schmorp.de>.</p>