📄 miniupnpc.h
字号:
/* $Id: miniupnpc.h,v 1.15 2007/10/16 15:07:32 nanard Exp $ *//* Project: miniupnp * http://miniupnp.free.fr/ * Author: Thomas Bernard * Copyright (c) 2005-2006 Thomas Bernard * This software is subjects to the conditions detailed * in the LICENCE file provided within this distribution */#ifndef __MINIUPNPC_H__#define __MINIUPNPC_H__#include "declspec.h"#include "igd_desc_parse.h"#ifdef __cplusplusextern "C" {#endifstruct UPNParg { const char * elt; const char * val; };int simpleUPnPcommand(int, const char *, const char *, const char *, struct UPNParg *, char *, int *);struct UPNPDev { struct UPNPDev * pNext; char * descURL; char * st; char buffer[2];};/* discover UPnP devices on the network */LIBSPEC struct UPNPDev * upnpDiscover(int delay, const char * multicastif);/* free returned list from above function */LIBSPEC void freeUPNPDevlist(struct UPNPDev * devlist);LIBSPEC void parserootdesc(const char *, int, struct IGDdatas *);/* structure used to get fast access to urls * controlURL: controlURL of the WANIPConnection * ipcondescURL: url of the description of the WANIPConnection * controlURL_CIF: controlURL of the WANCOmmonInterfaceConfig */struct UPNPUrls { char * controlURL; char * ipcondescURL; char * controlURL_CIF;};/* UPNP_GetValidIGD() : * return values : * 0 = NO IGD found * 1 = A valid connected IGD has been found * 2 = A valid IGD has been found but it reported as * not connected * 3 = an UPnP device has been found but was not recognized as an IGD * * In any non zero return case, the urls and data structures * passed as parameters are set. Donc forget to call FreeUPNPUrls(urls) to * free allocated memory. */LIBSPEC intUPNP_GetValidIGD(struct UPNPDev * devlist, struct UPNPUrls * urls, struct IGDdatas * data, char * lanaddr, int lanaddrlen);/* UPNP_GetIGDFromUrl() * Used when skipping the discovery process. * return value : * 0 - Not ok * 1 - OK */LIBSPEC intUPNP_GetIGDFromUrl(const char * rootdescurl, struct UPNPUrls * urls, struct IGDdatas * data, char * lanaddr, int lanaddrlen);LIBSPEC void GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *, const char *);LIBSPEC void FreeUPNPUrls(struct UPNPUrls *);/* Reads data from the specified socket. * Returns the number of bytes read if successful, zero if no bytes were * read or if we timed out. Returns negative if there was an error. */int ReceiveData(int socket, char * data, int length, int timeout);#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -