This hierarchy contains all the source code from
"C Interfaces and Implementations: Techniques for Creating Reusable
Software (Addison-Wesley Professional Computing Series, 1997,
ISBN 0-201-49841-3).
For installation instructions, see install.html.
For a summary of the distribution's revision history, see history.html.
David R. Hanson
http://www.research.microsoft.com/~drh/
FreeBSD note: in /usr/local
lib/libcii.a -> lib/cii/1/libcii.a
include/cii -> lib/cii/1/include
example binaries are in lib/cii/1/examples
copyright, history, etc share/doc/cii
source of CII share/doc/cii/src
source of examples share/doc/cii/examples
There is no documentation other than the book and its web site.
OSSP mm - Shared Memory Allocation Library
Copyright (c) 1999-2005 Ralf S. Engelschall <rse@engelschall.com>
Copyright (c) 1999-2005 The OSSP Project <http://www.ossp.org/>
OSSP mm is a 2-layer abstraction library which simplifies
the usage of shared memory between forked (and this way strongly
related) processes under Unix platforms. On the first layer it
hides all platform dependent implementation details (allocation
and locking) when dealing with shared memory segments and on the
second layer it provides a high-level malloc(3)-style API for a
convenient and well known way to work with data-structures inside
those shared memory segments.
ImPress is the WYSIWYG Publishing and Presentation for UNIX.
It can also be used within a WWW browser (e.g. Netscape) that is
capable of running the Tcl Plugin. The Tcl Plugin can be obtained from
the web site at: http://dev.scriptics.com/
ImPress can be significantly enhanced through use of several modified utilities:
o Pstoedit - Allows you to translate EPS files to Tk for ImPress use.
o Font3D - Translates TrueType font strings to vectorized Tk.
o Type1inst - Aids in maintaining Ghostscript Fontmaps and X11 fonts.dir files.
The rlytest utility tests a host to determine whether it will relay
third-party email. It will try to relay an email message to yourself
through that host. A host that allows third-party relay is subject to
attack by Internet vandals, and frequently is hijacked by spammers to
relay massive amounts of junk email. A host that allows third-party
relay should IMMEDIATELY be secured, disconnected, or shunned as a
menace to the Internet.
See http://www.unicom.com/sw/rlytest for more information.
rlytest was written by Chip Rosenthal.
Stone is a TCP/IP packet repeater in the application layer. It
repeats TCP and UDP packets from inside to outside of a firewall, or
from outside to inside.
Stone has following features:
1. Simple.
Stone's source code is only 3000 lines long (written in C
language), so you can minimize the risk of security
holes.
2. Stone supports SSL.
Using OpenSSL (http://www.openssl.org/), stone can
encrypt/decrypt packets.
3. Stone is a http proxy.
Stone can also be a tiny http proxy.
4. POP -> APOP conversion.
With stone and a mailer that does not support APOP, you can
access to an APOP server.
pxytest is a command line utility to test a host for open proxies
that are vulnerable to spammer abuse. It is written in perl.
Unsecured proxies currently are the most significant conduit of
junk email. This is a particularly vexing problem, because open
proxies, unlike open mail relays, hide the origin of the spam,
making it impossible to trace. This utility tests a host to
see if it is vulnerable to such abuse.
See http://www.unicom.com/sw/pxytest for more information.
pxytest was written by Chip Rosenthal.
"Swapd" is a daemon that watches free memory and manages swap files. If free
memory drops too low, additional swap files are created. Additionally, if there
is too much free memory, swap files are deactivated and disk space may be
reclaimed.
"Linux swapd" (http://sourceforge.net/projects/swapd/) didn't work very well,
but the idea was good. I started making a version that would work and
would also be somewhat portable. It currently compiles on Linux and FreeBSD,
but requires `libstatgrab' (http://www.i-scream.org/libstatgrab/) to work on
platforms that don't have /proc/meminfo (i.e., platforms that aren't Linux).
This is the GNU diction and style, free implementations of old standard
Unix commands. For some reason, many modern systems lack them. Diction
prints wordy and commonly misused phrases. Style analyses surface
characteristics of a document, e.g. sentence length and various
readability measures.
Both commands support English and German documents.
GNU style and diction are written by Michael Haardt
http://www.moria.de/~michael/
This is CFS, Matt Blaze's Cryptographic File System. It provides
transparent encryption and decryption of selected directory trees.
It is implemented as a user-level NFS server and thus does not
require any kernel modifications.
For an overview of how to use it, read "${PREFIX}/share/doc/cfs/notes.ms"
and the manual pages. There is a paper describing CFS at:
http://www.crypto.com/papers/cfs.pdf
[ excerpt from developer's www site with modifications ]
vStrip is a VOB de-multiplexing tool, splitter and some other
functions that work on VOB/IFO files.
vStrip is a small command-line utility for stripping (=removing)
unwanted streams (=data packets) out of VOBs (Video Objects) without
having to reweave the VOB, or extracting the data contained inside
a single stream.
It also parses IFO-files so it (hopefully) doesn't get confused by
multi-angle VOBs.