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, char * wanaddr,
       int wanaddrlen);
	      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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=miniupnpc&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help