The UPnP protocol is supported by most home adsl/cable routers and Microsoft Windows 2K/XP. The aim of the MiniUPnP project is to bring a free software solution to support the "Internet Gateway Device" part of the protocol. The MediaServer/MediaRenderer UPnP protocol is also becoming very popular.
Miniupnpc aims at the simplest library possible, with the smallest footprint and no dependencies to other libraries such as XML parsers or HTTP implementations. All the code is pure ANSI C. Compiled on a x86 PC, the miniupnp client library have less than 15KB code size. For instance, the upnpc sample program is around 20KB. The miniupnp daemon is much smaller than any other IGD daemon and is ideal for using on low memory device for this reason.
This package is an example client for the library.