serveez  0.3.1
About: Serveez is a server framework. It provides routines and help for implementing IP based servers (currently TCP, UDP and ICMP). Alpha version.
  Fossies Dox: serveez-0.3.1.tar.lz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

serveez Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies serveez-0.3.1.tar.lz contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).
README for GNU Serveez

See end for copying conditions.


GNU Serveez is a server framework.  It provides routines and help
for implementing IP-based servers (currently TCP, UDP and ICMP).
It supports named pipes for all connection-oriented protocols.

We think it is worth the effort because many people need server
functionality within their applications.  However, many people
experience problems with select(2) or poll(2) loops, and with
non-blocking operations.

GNU Serveez demonstrates various aspects of advanced network
programming in a portable manner.  It is known to compile and
run on GNU/Linux systems, as well as on other 32-bit and 64-bit
flavours of Unix and on Microsoft Windows (9x/ME/NT/2000/XP).

You can use it for implementing your own servers or for
understanding how certain network services and operations work.

The package includes a number of servers that work already: an
HTTP server, an IRC server, a Gnutella spider and some others.
One of the highlights is that you can run all protocols on the
same port.  The application itself is single threaded but it uses
helper processes for concurrent name resolution and ident lookups.


Serveez needs GNU Guile (
This current version is known to work with Guile 1.4 and later.

It also needs a reasonably conformant C99 compiler.  For more information,
please refer to the section "Building and installing" in the manual.

Requirements are different for maintainer mode (building from git
repository) and building from source distribution. Maintainer mode
needs more, but if you do that, just read the error messages and
install what's missing.

Building/Installation from source distribtion

See INSTALL for general instructions on configuring and building Serveez.
See the manual (doc/ chapter "Using Serveez", for details on
the various options you can pass to the configure script, apart from the
usual options for customizing the installation directories (.e.g, --prefix).

If you have problems building the package out of the box, this may be due
to GNU libtool's inability to handle dynamic linking for your platform.
In that case, try reconfiguring with `--disable-shared'.

If Serveez is configured to install libserveez and its header files,
then installation populates the following directories (creating them
first, if necessary) with various files:

 $(bindir)     -- executables: serveez, serveez-config
 $(mandir)     -- manpages: serveez(1), serveez-config(1)
 $(includedir) -- libserveez.h
                  libserveez/*.h (includes subdirs and headers)
 $(libdir)     -- libserveez shared object + libtool support file(s)
 $(infodir)    --
 $(pkgdatadir) -- scheme (*.scm) files implementing guile servers

Otherwise, only a subset is installed: $(bindir)/serveez,
$(mandir)/serveez.1, ($infodir)/, $(pkgdatadir)/*.scm.

Before installing, consider doing "make check" and reporting any errors
or strangeness you might encounter to bug-serveez (at gnu dot org).

Build from git repository

You can always get the latest Serveez source from our public repository.
Please use an official release if you want to work with Serveez.  The
source from the repository might not even compile.

    $ git clone ssh://

Run `sh' (see comments for prerequisite tools) to bootstrap.
Then run `./configure --enable-maint-mode'.

Copyright (C) 2011-2014, 2020, 2021 Thien-Thi Nguyen
Copyright (C) 2000, 2001, 2002, 2003 Stefan Jahn <>
Copyright (C) 2000,2021 Raimund Jacob-Bloedorn <>
Copyright (C) 1999 Martin Grabmueller <>

Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.