tor/src/ext/README
Nick Mathewson b555388dac Add a copy of OpenBSD's sys/queue.h as tor_queue.h
There are as many divergent implementations of sys/queue.h as there
are operating systems shipping it, it would seem.  They have some code
in common, but have drifted apart, and have added other stuff named
differently.  So I'm taking a relatively sane one, and hoping for the
best.

I'm taking OpenBSD's in particular because of the lack of external
dependencies, the presence of a CIRCLEQ (we could use one of those in
places), and the liberal licensing terms.

I'm naming the file tor_queue.h, since historically we've run into
trouble having headers with the same names as system headers (log.h,
for example.)
2012-10-12 17:18:14 -04:00

40 lines
1.1 KiB
Plaintext

OpenBSD_malloc_Linux.c:
The OpenBSD malloc implementation, ported to Linux. Used only when
--enable-openbsd-malloc is passed to the configure script.
strlcat.c
strlcpy.c
Implementations of strlcat and strlcpy, the more sane replacements
for strcat and strcpy. These are nonstandard, and some libc
implementations refuse to add them for religious reasons.
eventdns.[ch]
A fork of Libevent's DNS implementation, used by Tor when Libevent
2.0 or later is not available. Once Libevent 2.0 is required, we
should throw this away; it has diverged from evdns.[ch], and is
no longer easily mergeable.
ht.h
An implementation of a hash table in the style of Niels Provos's
tree.h. Shared with Libevent.
tinytest.[ch]
tinydest_demos.c
tinytest_macros.h
A unit testing framework. https://github.com/nmathewson/tinytest
tor_queue.h
A copy of sys/queue.h from OpenBSD. We keep our own copy rather
than using sys/queue.h, since some platforms don't have a
sys/queue.h, and the ones that do have diverged in incompatible
ways. (CIRCLEQ or no CIRCLEQ? SIMPLQ or STAILQ?)