Airframe Application Utility Library



Airframe is an application utility library designed to ease the creation of command-line applications written in C that process data from a variety of input sources to a variety of output sources. It builds atop the fundamental data structures and utilities in glib ( 2.0, adding additional higher-level functionality.

All of the Airframe modules provide their own command-line processing atop the GOption facility; in this way, all Airframe applications have similar command-line user interfaces.

Airframe was originally developed for NAF (, and is the mechanism by which the NAF tools have a common interface. It evolved from the libair common library used by the AirCERT project ( It is released as a separate library in the hopes that other applications developers may find it useful.


Airframe consists of three modules and a set of general utility functions. The daeconfig module (defined in daeconfig.h) handles user-controlled daemonization. The logconfig module (defined in logconfig.h) handles user-controlled log message routing. The mio module (defined in mio.h and mio_config.h) handles user-controlled file, network, and packet capture I/O and record-oriented dispatch. Additional utilities we've found useful in building applications for handling network event data are defined in airutil.h.


Airframe is distributed from

Download Airframe 0.6.2 from


Airframe uses a reasonably standard autotools-based build system. The customary build procedure (./configure && make && make install) should work in most environments.

Packet capture sources (required for YAF and NAF 0.5+) require libpcap; airframe's ./configure script should find libpcap automatically. If not, you may need to supply the path to pcap's headers and libraries in CFLAGS and LDFLAGS on the ./configure command line, respectively.

MIO UDP and TCP sources and sinks support IPv6 on dual-stack machines out of the box; this support is only enabled if the configure script can find the getaddrinfo(3) function.


Airframe is copyright 2006 Carnegie Mellon University, and is released under the GNU Lesser General Public License. See the COPYING file in the distribution for details.

Airframe was developed at the CERT Network Situational Awareness Group by Brian Trammell <> for use in the NAF tools.

© 2005-2006 Carnegie Mellon University
Generated Thu Jun 15 10:08:41 2006 for Airframe 0.6.2 by Doxygen 1.4.5.