Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MINIUPNPC(3)		   Library Functions Manual		  MINIUPNPC(3)

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.  Al-
       ternatively, 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_GetConnection-
       TypeInfo(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 dis-
	      covery.

       upnpcommands.h
	      This  header file	contain	the UPnP IGD methods that are accessi-
	      ble 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, de-
	      vice  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 de-
	      fault 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 de-
	      scription	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)

NAME | SYNOPSIS | DESCRIPTION | HEADER FILES | API FUNCTIONS | SEE ALSO | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=miniupnpc&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help