WAND Network Research Group University of Waikato Crest Of Arms


Libwandevent is a software library written in C that provides an API for developing event-driven programs. Libwandevent is intended for the development of programs that may have a number of 'events' that can occur at any given point in the program's execution which need to be handled as soon as possible without blocking or waiting on other inactive events.

The idea behind the design of libwandevent is that the developer will register events and provide libwandevent with a function that is to be called should that event occur. All of the code for managing the events and determining whether an event has occurred is contained within libwandevent, leaving the developer free to concentrate on the events themselves rather than having to check for the occurence of the event.

Events can be registered on:

  • file descriptors -- either for reading or writing
  • timers -- either at a specific timestamp or N seconds from the time that the event is registered
  • signals

The latest version is 3.0.2 -- Released on 2015/09/07.

Libwandevent 3 changes a lot of the API (hopefully for the better) and is not backwards compatible with libwandevent 2. If you cannot or do not wish to modify your existing libwandevent program to use the new API, you can download the most recent libwandevent 2 release instead. However, the libwandevent 2 API should be considered deprecated.

All releases of libwandevent are licensed under the GPL v2.


We are very interested in hearing feedback on libwandevent. If you have any requests or comments, or wish to report a bug, please email contact@wand.net.nz.