Return to miniupnpc.3 CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / miniupnpd / miniupnpc / man3 |
1.1 ! misho 1: .TH MINIUPNPC 3 ! 2: .SH NAME ! 3: miniupnpc \- UPnP client library ! 4: .SH SYNOPSIS ! 5: .SH DESCRIPTION ! 6: The miniupnpc library implement the UPnP protocol defined ! 7: to dialog with Internet Gateway Devices. It also has ! 8: the ability to use data gathered by minissdpd(1) about ! 9: UPnP devices up on the network in order to skip the ! 10: long UPnP device discovery process. ! 11: .PP ! 12: At first, upnpDiscover(3) has to be used to discover UPnP IGD present ! 13: on the network. Then UPNP_GetValidIGD(3) to select the right one. ! 14: Alternatively, UPNP_GetIGDFromUrl(3) could be used to bypass discovery ! 15: process if the root description url of the device to use is known. ! 16: Then all the UPNP_* functions can be used, such as ! 17: UPNP_GetConnectionTypeInfo(3), UPNP_AddPortMapping(3), etc... ! 18: .SH "HEADER FILES" ! 19: .IP miniupnpc.h ! 20: That's the main header file for the miniupnpc library API. ! 21: It contains all the functions and structures related to device discovery. ! 22: .IP upnpcommands.h ! 23: This header file contain the UPnP IGD methods that are accessible ! 24: through the miniupnpc API. The name of the C functions are matching ! 25: the UPnP methods names. ie: GetGenericPortMappingEntry is ! 26: UPNP_GetGenericPortMappingEntry. ! 27: .SH "API FUNCTIONS" ! 28: .IP "struct UPNPDev * upnpDiscover(int delay, const char * multicastif, const char * minissdpdsock, int localport, int ipv6, int * error);" ! 29: execute the discovery process. ! 30: delay (in millisecond) is the maximum time for waiting any device response. ! 31: If available, device list will be obtained from MiniSSDPd. ! 32: Default path for minissdpd socket will be used if minissdpdsock argument is NULL. ! 33: If multicastif is not NULL, it will be used instead of the default multicast interface for sending SSDP discover packets. ! 34: If localport is set to UPNP_LOCAL_PORT_SAME(1) SSDP packets will be sent ! 35: from the source port 1900 (same as destination port), if set to ! 36: UPNP_LOCAL_PORT_ANY(0) system assign a source port, any other value will ! 37: be attempted as the source port. ! 38: If ipv6 is not 0, IPv6 is used instead of IPv4 for the discovery process. ! 39: .IP "void freeUPNPDevlist(struct UPNPDev * devlist);" ! 40: free the list returned by upnpDiscover(). ! 41: .IP "int UPNP_GetValidIGD(struct UPNPDev * devlist, struct UPNPUrls * urls, struct IGDdatas * data, char * lanaddr, int lanaddrlen);" ! 42: browse the list of device returned by upnpDiscover(), find ! 43: a live UPnP internet gateway device and fill structures passed as arguments ! 44: with data used for UPNP methods invocation. ! 45: .IP "int UPNP_GetIGDFromUrl(const char * rootdescurl, struct UPNPUrls * urls, struct IGDdatas * data, char * lanaddr, int lanaddrlen);" ! 46: permit one to bypass the upnpDiscover() call if the xml root description ! 47: URL of the UPnP IGD is known. ! 48: Fill structures passed as arguments ! 49: with data used for UPNP methods invocation. ! 50: .IP "void GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *, const char *);" ! 51: .IP "void FreeUPNPUrls(struct UPNPUrls *);" ! 52: ! 53: .SH "SEE ALSO" ! 54: minissdpd(1) ! 55: .SH BUGS