\hypertarget{miniupnpc_8h}{
\section{libminiupnpc/miniupnpc.h File Reference}
\label{d2/dc6/miniupnpc_8h}\index{libminiupnpc/miniupnpc.h@{libminiupnpc/miniupnpc.h}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structUPNParg}{UPNParg}
\item 
struct \hyperlink{structUPNPDev}{UPNPDev}
\item 
struct \hyperlink{structUPNPUrls}{UPNPUrls}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
char $\ast$ \hyperlink{miniupnpc_8h_a19a98db579186fba9acd5ef6a482ffb3}{simpleUPnPcommand} (int, const char $\ast$, const char $\ast$, const char $\ast$, struct \hyperlink{structUPNParg}{UPNParg} $\ast$, int $\ast$)
\item 
LIBSPEC struct \hyperlink{structUPNPDev}{UPNPDev} $\ast$ \hyperlink{miniupnpc_8h_a8d4e43e1a371d1c83ab5f4ebb7cd47fb}{upnpDiscover} (int delay, const char $\ast$multicastif, const char $\ast$minissdpdsock, int sameport, int ipv6, int $\ast$error)
\item 
LIBSPEC void \hyperlink{miniupnpc_8h_a8d32b719386ae11b74a3617d3dad7575}{freeUPNPDevlist} (struct \hyperlink{structUPNPDev}{UPNPDev} $\ast$devlist)
\item 
LIBSPEC void \hyperlink{miniupnpc_8h_a4820a9c2f9d6d565ae95dde9eb953261}{parserootdesc} (const char $\ast$, int, struct \hyperlink{structIGDdatas}{IGDdatas} $\ast$)
\item 
LIBSPEC int \hyperlink{miniupnpc_8h_aced1c4968648b8b8eb8812ce194e5cab}{UPNP\_\-GetValidIGD} (struct \hyperlink{structUPNPDev}{UPNPDev} $\ast$devlist, struct \hyperlink{structUPNPUrls}{UPNPUrls} $\ast$urls, struct \hyperlink{structIGDdatas}{IGDdatas} $\ast$data, char $\ast$lanaddr, int lanaddrlen)
\item 
LIBSPEC int \hyperlink{miniupnpc_8h_a2984f392895ef07cfa4a17b65af1d5ad}{UPNP\_\-GetIGDFromUrl} (const char $\ast$rootdescurl, struct \hyperlink{structUPNPUrls}{UPNPUrls} $\ast$urls, struct \hyperlink{structIGDdatas}{IGDdatas} $\ast$data, char $\ast$lanaddr, int lanaddrlen)
\item 
LIBSPEC void \hyperlink{miniupnpc_8h_a9278a65ddaa720da3aad6b1e52e5f683}{GetUPNPUrls} (struct \hyperlink{structUPNPUrls}{UPNPUrls} $\ast$, struct \hyperlink{structIGDdatas}{IGDdatas} $\ast$, const char $\ast$)
\item 
LIBSPEC void \hyperlink{miniupnpc_8h_ade5be8925bdfc2565ea4bde182ab2fec}{FreeUPNPUrls} (struct \hyperlink{structUPNPUrls}{UPNPUrls} $\ast$)
\item 
LIBSPEC int \hyperlink{miniupnpc_8h_a2d6d11c6baf149db48b17920ab04ccc0}{UPNPIGD\_\-IsConnected} (struct \hyperlink{structUPNPUrls}{UPNPUrls} $\ast$, struct \hyperlink{structIGDdatas}{IGDdatas} $\ast$)
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{miniupnpc_8h_a8d32b719386ae11b74a3617d3dad7575}{
\index{miniupnpc.h@{miniupnpc.h}!freeUPNPDevlist@{freeUPNPDevlist}}
\index{freeUPNPDevlist@{freeUPNPDevlist}!miniupnpc.h@{miniupnpc.h}}
\subsubsection[{freeUPNPDevlist}]{\setlength{\rightskip}{0pt plus 5cm}LIBSPEC void freeUPNPDevlist (
\begin{DoxyParamCaption}
\item[{struct {\bf UPNPDev} $\ast$}]{devlist}
\end{DoxyParamCaption}
)}}
\label{d2/dc6/miniupnpc_8h_a8d32b719386ae11b74a3617d3dad7575}
\hypertarget{miniupnpc_8h_ade5be8925bdfc2565ea4bde182ab2fec}{
\index{miniupnpc.h@{miniupnpc.h}!FreeUPNPUrls@{FreeUPNPUrls}}
\index{FreeUPNPUrls@{FreeUPNPUrls}!miniupnpc.h@{miniupnpc.h}}
\subsubsection[{FreeUPNPUrls}]{\setlength{\rightskip}{0pt plus 5cm}LIBSPEC void FreeUPNPUrls (
\begin{DoxyParamCaption}
\item[{struct {\bf UPNPUrls} $\ast$}]{}
\end{DoxyParamCaption}
)}}
\label{d2/dc6/miniupnpc_8h_ade5be8925bdfc2565ea4bde182ab2fec}
\hypertarget{miniupnpc_8h_a9278a65ddaa720da3aad6b1e52e5f683}{
\index{miniupnpc.h@{miniupnpc.h}!GetUPNPUrls@{GetUPNPUrls}}
\index{GetUPNPUrls@{GetUPNPUrls}!miniupnpc.h@{miniupnpc.h}}
\subsubsection[{GetUPNPUrls}]{\setlength{\rightskip}{0pt plus 5cm}LIBSPEC void GetUPNPUrls (
\begin{DoxyParamCaption}
\item[{struct {\bf UPNPUrls} $\ast$}]{, }
\item[{struct {\bf IGDdatas} $\ast$}]{, }
\item[{const char $\ast$}]{}
\end{DoxyParamCaption}
)}}
\label{d2/dc6/miniupnpc_8h_a9278a65ddaa720da3aad6b1e52e5f683}
\hypertarget{miniupnpc_8h_a4820a9c2f9d6d565ae95dde9eb953261}{
\index{miniupnpc.h@{miniupnpc.h}!parserootdesc@{parserootdesc}}
\index{parserootdesc@{parserootdesc}!miniupnpc.h@{miniupnpc.h}}
\subsubsection[{parserootdesc}]{\setlength{\rightskip}{0pt plus 5cm}LIBSPEC void parserootdesc (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{, }
\item[{int}]{, }
\item[{struct {\bf IGDdatas} $\ast$}]{}
\end{DoxyParamCaption}
)}}
\label{d2/dc6/miniupnpc_8h_a4820a9c2f9d6d565ae95dde9eb953261}
\hypertarget{miniupnpc_8h_a19a98db579186fba9acd5ef6a482ffb3}{
\index{miniupnpc.h@{miniupnpc.h}!simpleUPnPcommand@{simpleUPnPcommand}}
\index{simpleUPnPcommand@{simpleUPnPcommand}!miniupnpc.h@{miniupnpc.h}}
\subsubsection[{simpleUPnPcommand}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ simpleUPnPcommand (
\begin{DoxyParamCaption}
\item[{int}]{, }
\item[{const char $\ast$}]{, }
\item[{const char $\ast$}]{, }
\item[{const char $\ast$}]{, }
\item[{struct {\bf UPNParg} $\ast$}]{, }
\item[{int $\ast$}]{}
\end{DoxyParamCaption}
)}}
\label{d2/dc6/miniupnpc_8h_a19a98db579186fba9acd5ef6a482ffb3}
\hypertarget{miniupnpc_8h_a2984f392895ef07cfa4a17b65af1d5ad}{
\index{miniupnpc.h@{miniupnpc.h}!UPNP\_\-GetIGDFromUrl@{UPNP\_\-GetIGDFromUrl}}
\index{UPNP\_\-GetIGDFromUrl@{UPNP\_\-GetIGDFromUrl}!miniupnpc.h@{miniupnpc.h}}
\subsubsection[{UPNP\_\-GetIGDFromUrl}]{\setlength{\rightskip}{0pt plus 5cm}LIBSPEC int UPNP\_\-GetIGDFromUrl (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{rootdescurl, }
\item[{struct {\bf UPNPUrls} $\ast$}]{urls, }
\item[{struct {\bf IGDdatas} $\ast$}]{data, }
\item[{char $\ast$}]{lanaddr, }
\item[{int}]{lanaddrlen}
\end{DoxyParamCaption}
)}}
\label{d2/dc6/miniupnpc_8h_a2984f392895ef07cfa4a17b65af1d5ad}
\hypertarget{miniupnpc_8h_aced1c4968648b8b8eb8812ce194e5cab}{
\index{miniupnpc.h@{miniupnpc.h}!UPNP\_\-GetValidIGD@{UPNP\_\-GetValidIGD}}
\index{UPNP\_\-GetValidIGD@{UPNP\_\-GetValidIGD}!miniupnpc.h@{miniupnpc.h}}
\subsubsection[{UPNP\_\-GetValidIGD}]{\setlength{\rightskip}{0pt plus 5cm}LIBSPEC int UPNP\_\-GetValidIGD (
\begin{DoxyParamCaption}
\item[{struct {\bf UPNPDev} $\ast$}]{devlist, }
\item[{struct {\bf UPNPUrls} $\ast$}]{urls, }
\item[{struct {\bf IGDdatas} $\ast$}]{data, }
\item[{char $\ast$}]{lanaddr, }
\item[{int}]{lanaddrlen}
\end{DoxyParamCaption}
)}}
\label{d2/dc6/miniupnpc_8h_aced1c4968648b8b8eb8812ce194e5cab}
\hypertarget{miniupnpc_8h_a8d4e43e1a371d1c83ab5f4ebb7cd47fb}{
\index{miniupnpc.h@{miniupnpc.h}!upnpDiscover@{upnpDiscover}}
\index{upnpDiscover@{upnpDiscover}!miniupnpc.h@{miniupnpc.h}}
\subsubsection[{upnpDiscover}]{\setlength{\rightskip}{0pt plus 5cm}LIBSPEC struct {\bf UPNPDev}$\ast$ upnpDiscover (
\begin{DoxyParamCaption}
\item[{int}]{delay, }
\item[{const char $\ast$}]{multicastif, }
\item[{const char $\ast$}]{minissdpdsock, }
\item[{int}]{sameport, }
\item[{int}]{ipv6, }
\item[{int $\ast$}]{error}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}read\mbox{]}}}}
\label{d2/dc6/miniupnpc_8h_a8d4e43e1a371d1c83ab5f4ebb7cd47fb}
\hypertarget{miniupnpc_8h_a2d6d11c6baf149db48b17920ab04ccc0}{
\index{miniupnpc.h@{miniupnpc.h}!UPNPIGD\_\-IsConnected@{UPNPIGD\_\-IsConnected}}
\index{UPNPIGD\_\-IsConnected@{UPNPIGD\_\-IsConnected}!miniupnpc.h@{miniupnpc.h}}
\subsubsection[{UPNPIGD\_\-IsConnected}]{\setlength{\rightskip}{0pt plus 5cm}LIBSPEC int UPNPIGD\_\-IsConnected (
\begin{DoxyParamCaption}
\item[{struct {\bf UPNPUrls} $\ast$}]{, }
\item[{struct {\bf IGDdatas} $\ast$}]{}
\end{DoxyParamCaption}
)}}
\label{d2/dc6/miniupnpc_8h_a2d6d11c6baf149db48b17920ab04ccc0}
