<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="cache-control" content="no-cache"> <title>Genivia - gsoapWinInet.cpp File Reference</title> <link href="genivia_tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="genivia_content.css" rel="stylesheet" type="text/css"> </head> <body> <div id="top"> <div id="titlearea"> <table height="72px" width="100%" cellspacing="0" cellpadding="0"> <tbody> <tr> <td width="10%"> </td> <td width="175px"><a href="http://www.genivia.com"><img alt="Genivia" src="GeniviaLogo2_trans_noslogan.png"/></a></td> <td class="tab_home"><a href="http://www.genivia.com">Home</a></td> <td class="tab_home"><a href="http://www.genivia.com/docs.html">Documentation</a></td> <td> <div style="float: right; font-size: 18px; font-weight: bold;">gsoapWinInet.cpp File Reference</div> <br> <div style="float: right; font-size: 10px;">updated Wed Jun 15 2016</div> </td> <td width="10%"> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.8.10 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_1ca6747e93421ff67eb015e8be573911.html">mod_gsoap</a></li><li class="navelem"><a class="el" href="dir_392d8d33f19051d53927ef968bb8a714.html">gsoap_win</a></li><li class="navelem"><a class="el" href="dir_2c87a6d747df8280509a6a18f746cef3.html">wininet</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">gsoapWinInet.cpp File Reference</div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><code>#include "<a class="el" href="gsoap_win_inet_8h.html">gsoapWinInet.h</a>"</code><br /> </div><div class="textblock"><div class="dynheader"> Include dependency graph for gsoapWinInet.cpp:</div> <div class="dyncontent"> <div class="center"><img src="gsoap_win_inet_8cpp__incl.png" border="0" usemap="#gsoap_win_inet_8cpp" alt=""/></div> <map name="gsoap_win_inet_8cpp" id="gsoap_win_inet_8cpp"> <area shape="rect" id="node3" href="gsoap_win_inet_8h.html" title="gsoapWinInet.h" alt="" coords="43,83,156,111"/> </map> </div> </div><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structwininet__data.html">wininet_data</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a7ea0f65b665f55d10f1965ea75271a40"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a7ea0f65b665f55d10f1965ea75271a40">_ASSERTE</a>(b)</td></tr> <tr class="separator:a7ea0f65b665f55d10f1965ea75271a40"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9ad12b1656f2cbc54d8ac9bcf7d721cb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a9ad12b1656f2cbc54d8ac9bcf7d721cb">UNUSED_ARG</a>(x)    (x)</td></tr> <tr class="separator:a9ad12b1656f2cbc54d8ac9bcf7d721cb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7cfcbd81e5b20957454c3df96470f9ca"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a7cfcbd81e5b20957454c3df96470f9ca">INVALID_BUFFER_LENGTH</a>   ((DWORD)-1)</td></tr> <tr class="separator:a7cfcbd81e5b20957454c3df96470f9ca"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4c236141eac5111947a5b5d7786ead2f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a4c236141eac5111947a5b5d7786ead2f">wininet_free_error_message</a>(x)</td></tr> <tr class="separator:a4c236141eac5111947a5b5d7786ead2f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a65960b8db10dc9315bdf7d70792a9848"><td class="memItemLeft" align="right" valign="top">static BOOL </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a65960b8db10dc9315bdf7d70792a9848">wininet_init</a> (struct soap *soap, struct <a class="el" href="structwininet__data.html">wininet_data</a> *a_pData, DWORD a_dwRequestFlags)</td></tr> <tr class="separator:a65960b8db10dc9315bdf7d70792a9848"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a69ea86ec0b223254006555e76a84a9f4"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a69ea86ec0b223254006555e76a84a9f4">wininet_copy</a> (struct soap *soap, struct soap_plugin *a_pDst, struct soap_plugin *a_pSrc)</td></tr> <tr class="separator:a69ea86ec0b223254006555e76a84a9f4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a81ad5c5e43623c3c28b0b3ffd7d13b57"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a81ad5c5e43623c3c28b0b3ffd7d13b57">wininet_delete</a> (struct soap *soap, struct soap_plugin *a_pPluginData)</td></tr> <tr class="separator:a81ad5c5e43623c3c28b0b3ffd7d13b57"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5dac0736a81a02422a81434b75d301a3"><td class="memItemLeft" align="right" valign="top">static SOAP_SOCKET </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a5dac0736a81a02422a81434b75d301a3">wininet_connect</a> (struct soap *soap, const char *a_pszEndpoint, const char *a_pszHost, int a_nPort)</td></tr> <tr class="separator:a5dac0736a81a02422a81434b75d301a3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a82cde5b4b5d87489d01abaab813d5550"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a82cde5b4b5d87489d01abaab813d5550">wininet_post_header</a> (struct soap *soap, const char *a_pszKey, const char *a_pszValue)</td></tr> <tr class="separator:a82cde5b4b5d87489d01abaab813d5550"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a546c42571972ad477ecda0f3eb1bca5a"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a546c42571972ad477ecda0f3eb1bca5a">wininet_fsend</a> (struct soap *soap, const char *a_pBuffer, size_t a_uiBufferLen)</td></tr> <tr class="separator:a546c42571972ad477ecda0f3eb1bca5a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a089ca156921310b1e0a55d074f765175"><td class="memItemLeft" align="right" valign="top">static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a089ca156921310b1e0a55d074f765175">wininet_frecv</a> (struct soap *soap, char *a_pBuffer, size_t a_uiBufferLen)</td></tr> <tr class="separator:a089ca156921310b1e0a55d074f765175"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afa6e33506c33f90fb3ba906105002706"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#afa6e33506c33f90fb3ba906105002706">wininet_disconnect</a> (struct soap *soap)</td></tr> <tr class="separator:afa6e33506c33f90fb3ba906105002706"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3f4bc1a795a709f39c8f2c93a1b135ce"><td class="memItemLeft" align="right" valign="top">void CALLBACK </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a3f4bc1a795a709f39c8f2c93a1b135ce">wininet_callback</a> (HINTERNET hInternet, DWORD_PTR dwContext, DWORD dwInternetStatus, LPVOID lpvStatusInformation, DWORD dwStatusInformationLength)</td></tr> <tr class="separator:a3f4bc1a795a709f39c8f2c93a1b135ce"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5051779c6e7c404a3ef6c5148fe62cfb"><td class="memItemLeft" align="right" valign="top">static BOOL </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a5051779c6e7c404a3ef6c5148fe62cfb">wininet_have_connection</a> (struct soap *soap, struct <a class="el" href="structwininet__data.html">wininet_data</a> *a_pData)</td></tr> <tr class="separator:a5051779c6e7c404a3ef6c5148fe62cfb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a004d736db6ec9a27e65780910727f45a"><td class="memItemLeft" align="right" valign="top">static DWORD </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a004d736db6ec9a27e65780910727f45a">wininet_set_timeout</a> (struct soap *soap, struct <a class="el" href="structwininet__data.html">wininet_data</a> *a_pData, const char *a_pszTimeout, DWORD a_dwOption, int a_nTimeout)</td></tr> <tr class="separator:a004d736db6ec9a27e65780910727f45a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3c7b92e13e793d85a899fdba1c0c43d0"><td class="memItemLeft" align="right" valign="top">static BOOL </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a3c7b92e13e793d85a899fdba1c0c43d0">wininet_resolve_send_error</a> (HINTERNET a_hHttpRequest, DWORD a_dwErrorCode)</td></tr> <tr class="separator:a3c7b92e13e793d85a899fdba1c0c43d0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac6bca696008832fa8d798bc40766c122"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#ac6bca696008832fa8d798bc40766c122">wininet_plugin</a> (struct soap *soap, struct soap_plugin *a_pPluginData, void *a_dwRequestFlags)</td></tr> <tr class="separator:ac6bca696008832fa8d798bc40766c122"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abbab56511e35552c5ba73e86db75bfa4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#abbab56511e35552c5ba73e86db75bfa4">wininet_set_rse_callback</a> (struct soap *soap, <a class="el" href="gsoap_win_inet_8h.html#ab68f9fb788e6057e225f8984c7345911">wininet_rse_callback</a> a_pRsecallback)</td></tr> <tr class="separator:abbab56511e35552c5ba73e86db75bfa4"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:a12aa8bce1471081f4ea872361d5381c4"><td class="memItemLeft" align="right" valign="top">static const char </td><td class="memItemRight" valign="bottom"><a class="el" href="gsoap_win_inet_8cpp.html#a12aa8bce1471081f4ea872361d5381c4">wininet_id</a> [] = "wininet-2.1"</td></tr> <tr class="separator:a12aa8bce1471081f4ea872361d5381c4"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="a7ea0f65b665f55d10f1965ea75271a40"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define _ASSERTE</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">b</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a7cfcbd81e5b20957454c3df96470f9ca"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define INVALID_BUFFER_LENGTH   ((DWORD)-1)</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a9ad12b1656f2cbc54d8ac9bcf7d721cb"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define UNUSED_ARG</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   (x)</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a4c236141eac5111947a5b5d7786ead2f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define wininet_free_error_message</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="a3f4bc1a795a709f39c8f2c93a1b135ce"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CALLBACK wininet_callback </td> <td>(</td> <td class="paramtype">HINTERNET </td> <td class="paramname"><em>hInternet</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DWORD_PTR </td> <td class="paramname"><em>dwContext</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DWORD </td> <td class="paramname"><em>dwInternetStatus</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">LPVOID </td> <td class="paramname"><em>lpvStatusInformation</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DWORD </td> <td class="paramname"><em>dwStatusInformationLength</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>this is mostly for debug tracing </p> </div> </div> <a class="anchor" id="a5dac0736a81a02422a81434b75d301a3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static SOAP_SOCKET wininet_connect </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>a_pszEndpoint</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>a_pszHost</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>a_nPort</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Called from a client proxy to open a connection to a Web Service located at endpoint. Input parameters host and port are micro-parsed from endpoint. Should return a valid file descriptor, or SOAP_INVALID_SOCKET and soap->error set to an error code. Built-in gSOAP function: tcp_connect </p> </div> </div> <a class="anchor" id="a69ea86ec0b223254006555e76a84a9f4"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static int wininet_copy </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct soap_plugin * </td> <td class="paramname"><em>a_pDst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct soap_plugin * </td> <td class="paramname"><em>a_pSrc</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>copy the private data structure's parameters </p> </div> </div> <a class="anchor" id="a81ad5c5e43623c3c28b0b3ffd7d13b57"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static void wininet_delete </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct soap_plugin * </td> <td class="paramname"><em>a_pPluginData</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>deallocate of our private structure </p> </div> </div> <a class="anchor" id="afa6e33506c33f90fb3ba906105002706"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static int wininet_disconnect </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Called by client proxy multiple times, to close a socket connection before a new socket connection is established and at the end of communications when the SOAP_IO_KEEPALIVE flag is not set and soap.keep_alive = 0 (indicating that the other party supports keep alive). Should return SOAP_OK, or a gSOAP error code. Built-in gSOAP function: tcp_disconnect </p> </div> </div> <a class="anchor" id="a089ca156921310b1e0a55d074f765175"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static size_t wininet_frecv </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>a_pBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>a_uiBufferLen</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Called for all receive operations to fill buffer s of maximum length n. Should return the number of bytes read or 0 in case of an error, e.g. EOF. Built-in gSOAP function: frecv </p> </div> </div> <a class="anchor" id="a546c42571972ad477ecda0f3eb1bca5a"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static int wininet_fsend </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>a_pBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>a_uiBufferLen</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Called for all send operations to emit contents of s of length n. Should return SOAP_OK, or a gSOAP error code. Built-in gSOAP function: fsend</p> <p>Notes: I do a heap of buffering here because we need the entire message available in a single buffer in order to iterate through the sending loop. I had hoped that the SOAP_IO_STORE flag would have worked to do the same, however this still breaks the messages up into blocks. Although there were a number of ways this could've been implemented, this works and supports all of the possible SOAP_IO flags, even though the entire message is still buffered the same as if SOAP_IO_STORE was used. </p> </div> </div> <a class="anchor" id="a5051779c6e7c404a3ef6c5148fe62cfb"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static BOOL wininet_have_connection </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structwininet__data.html">wininet_data</a> * </td> <td class="paramname"><em>a_pData</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>check to ensure that our connection hasn't been disconnected and disconnect remaining handles if necessary. </p> </div> </div> <a class="anchor" id="a65960b8db10dc9315bdf7d70792a9848"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static BOOL wininet_init </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structwininet__data.html">wininet_data</a> * </td> <td class="paramname"><em>a_pData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DWORD </td> <td class="paramname"><em>a_dwRequestFlags</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>initialize private data </p> </div> </div> <a class="anchor" id="ac6bca696008832fa8d798bc40766c122"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int wininet_plugin </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct soap_plugin * </td> <td class="paramname"><em>a_pPluginData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>a_dwRequestFlags</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>plugin registration </p> </div> </div> <a class="anchor" id="a82cde5b4b5d87489d01abaab813d5550"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static int wininet_post_header </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>a_pszKey</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>a_pszValue</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Called by http_post and http_response (through the callbacks). Emits HTTP key: val header entries. Should return SOAP_OK, or a gSOAP error code. Built-in gSOAP function: http_post_header. </p> </div> </div> <a class="anchor" id="a3c7b92e13e793d85a899fdba1c0c43d0"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static BOOL wininet_resolve_send_error </td> <td>(</td> <td class="paramtype">HINTERNET </td> <td class="paramname"><em>a_hHttpRequest</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DWORD </td> <td class="paramname"><em>a_dwErrorCode</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="abbab56511e35552c5ba73e86db75bfa4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void wininet_set_rse_callback </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="gsoap_win_inet_8h.html#ab68f9fb788e6057e225f8984c7345911">wininet_rse_callback</a> </td> <td class="paramname"><em>a_pRsecallback</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a004d736db6ec9a27e65780910727f45a"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static DWORD wininet_set_timeout </td> <td>(</td> <td class="paramtype">struct soap * </td> <td class="paramname"><em>soap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structwininet__data.html">wininet_data</a> * </td> <td class="paramname"><em>a_pData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>a_pszTimeout</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DWORD </td> <td class="paramname"><em>a_dwOption</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>a_nTimeout</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <h2 class="groupheader">Variable Documentation</h2> <a class="anchor" id="a12aa8bce1471081f4ea872361d5381c4"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const char wininet_id[] = "wininet-2.1"</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>plugin id </p> </div> </div> </div><!-- contents --> <hr class="footer"> <address class="footer"> Copyright (C) 2016, Robert van Engelen, Genivia Inc., All Rights Reserved. </address> <address class="footer"><small> Converted on Wed Jun 15 2016 12:51:06 by <a target="_blank" href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.10</small></address> <br> <div style="height: 246px; background: #DBDBDB;"> </body> </html>