GUPnP is an object-oriented open source framework
for creating UPnP devices and control points,
written in C using GObject and libsoup. The GUPnP
API is intended to be easy to use, efficient, and
flexible. The GUPnP framework consists of two
libraries. GSSDP implements resource discovery and
announcement over SSDP, and GUPnP implements the
UPnP specification: resource announcement and
discovery, description, control, event
notification, and presentation (basic Web server
functionality through libsoup). GUPnP does not
include helpers for construction or control of
specific standardized resources (e.g.
MediaServer); this is left for higher level
libraries utilizing the GUPnP framework.