Provided by: libminiupnpc-dev_2.2.6-1build2_amd64 bug

NAME

       miniupnpc - UPnP client library

SYNOPSIS

DESCRIPTION

       The  miniupnpc  library  implement  the UPnP protocol defined to dialog with Internet Gateway Devices. It
       also has the ability to use data gathered by minissdpd(1) about UPnP devices up on the network  in  order
       to skip the long UPnP device discovery process.

       At  first,  upnpDiscover(3)  has  to  be  used  to  discover  UPnP  IGD  present  on  the  network.  Then
       UPNP_GetValidIGD(3) to select the right one.   Alternatively,  UPNP_GetIGDFromUrl(3)  could  be  used  to
       bypass  discovery process if the root description url of the device to use is known.  Then all the UPNP_*
       functions can be used, such as UPNP_GetConnectionTypeInfo(3), UPNP_AddPortMapping(3), etc...

HEADER FILES

       miniupnpc.h
              That's the main header file for the miniupnpc library API.  It  contains  all  the  functions  and
              structures related to device discovery.

       upnpcommands.h
              This  header  file contain the UPnP IGD methods that are accessible through the miniupnpc API. The
              name of the C functions are matching the UPnP methods  names.  ie:  GetGenericPortMappingEntry  is
              UPNP_GetGenericPortMappingEntry.

API FUNCTIONS

       struct UPNPDev * upnpDiscover(int delay, const char * multicastif, const char * minissdpdsock, int
       localport, int ipv6, int * error);
              execute  the discovery process.  delay (in millisecond) is the maximum time for waiting any device
              response.  If available, device list will be obtained from MiniSSDPd.  Default path for  minissdpd
              socket  will  be  used  if minissdpdsock argument is NULL.  If multicastif is not NULL, it will be
              used instead of the default multicast interface for sending SSDP discover packets.   If  localport
              is  set  to  UPNP_LOCAL_PORT_SAME(1)  SSDP packets will be sent from the source port 1900 (same as
              destination port), if set to UPNP_LOCAL_PORT_ANY(0) system assign a source port, any  other  value
              will  be  attempted  as  the  source port.  If ipv6 is not 0, IPv6 is used instead of IPv4 for the
              discovery process.

       void freeUPNPDevlist(struct UPNPDev * devlist);
              free the list returned by upnpDiscover().

       int UPNP_GetValidIGD(struct UPNPDev * devlist, struct UPNPUrls * urls, struct IGDdatas * data, char *
       lanaddr, int lanaddrlen);
              browse the list of device returned by upnpDiscover(), find a live UPnP internet gateway device and
              fill structures passed as arguments with data used for UPNP methods invocation.

       int UPNP_GetIGDFromUrl(const char * rootdescurl, struct UPNPUrls * urls, struct IGDdatas * data, char *
       lanaddr, int lanaddrlen);
              permit one to bypass the upnpDiscover() call if the xml root description URL of the  UPnP  IGD  is
              known.  Fill structures passed as arguments with data used for UPNP methods invocation.

       void GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *, const char *);

       void FreeUPNPUrls(struct UPNPUrls *);

SEE ALSO

       minissdpd(1)

BUGS

                                                                                                    MINIUPNPC(3)