GUPnP is a library for implementing both UPnP clients and services in C, using GObject and LibSoup. It allows for fully asynchronous use without using threads and so cleanly integrates naturally into main loop-based applications, and supports all of the UPnP features.

This documentation assumes some familiarity with the UPnP model and concepts. If the reader doesn't have any prior understanding of UPnP, then we can recommend UPnP Design By Example by Intel Press. For a very basic overview of UPnP, see , Service, and Control Point in the glossary.