Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > eefe6d59b3f3d9cdb0347a7230842c6c > files > 13

uriparser-0.7.9-1.fc18.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>uriparser: Uri.h File Reference</title>
<link href="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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">uriparser
   &#160;<span id="projectnumber">0.7.9</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_24c5c890457908cb185130461432a4ab.html">uriparser</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Uri.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUriTextRangeStructA.html">UriTextRangeStructA</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUriPathSegmentStructA.html">UriPathSegmentStructA</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUriHostDataStructA.html">UriHostDataStructA</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUriUriStructA.html">UriUriStructA</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUriParserStateStructA.html">UriParserStateStructA</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUriQueryListStructA.html">UriQueryListStructA</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a9935a3bf53b423da6d6b904858318650"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUriTextRangeStructA.html">UriTextRangeStructA</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a9935a3bf53b423da6d6b904858318650">UriTextRangeA</a></td></tr>
<tr class="memdesc:a9935a3bf53b423da6d6b904858318650"><td class="mdescLeft">&#160;</td><td class="mdescRight"> <a href="#a9935a3bf53b423da6d6b904858318650">More...</a><br/></td></tr>
<tr class="separator:a9935a3bf53b423da6d6b904858318650"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf287c1ee8da6f2d635e2049bcf72f61"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="structUriPathSegmentStructA.html">UriPathSegmentStructA</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#adf287c1ee8da6f2d635e2049bcf72f61">UriPathSegmentA</a></td></tr>
<tr class="memdesc:adf287c1ee8da6f2d635e2049bcf72f61"><td class="mdescLeft">&#160;</td><td class="mdescRight"> <a href="#adf287c1ee8da6f2d635e2049bcf72f61">More...</a><br/></td></tr>
<tr class="separator:adf287c1ee8da6f2d635e2049bcf72f61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94d90c775fbcd848d7a83fa05ebd660e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUriHostDataStructA.html">UriHostDataStructA</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a94d90c775fbcd848d7a83fa05ebd660e">UriHostDataA</a></td></tr>
<tr class="memdesc:a94d90c775fbcd848d7a83fa05ebd660e"><td class="mdescLeft">&#160;</td><td class="mdescRight"> <a href="#a94d90c775fbcd848d7a83fa05ebd660e">More...</a><br/></td></tr>
<tr class="separator:a94d90c775fbcd848d7a83fa05ebd660e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a924841de923bfc02670dfee96cd25e62"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUriUriStructA.html">UriUriStructA</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a></td></tr>
<tr class="memdesc:a924841de923bfc02670dfee96cd25e62"><td class="mdescLeft">&#160;</td><td class="mdescRight"> <a href="#a924841de923bfc02670dfee96cd25e62">More...</a><br/></td></tr>
<tr class="separator:a924841de923bfc02670dfee96cd25e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeca8bf10221333215c74cfba8cb9f07e"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="structUriParserStateStructA.html">UriParserStateStructA</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#aeca8bf10221333215c74cfba8cb9f07e">UriParserStateA</a></td></tr>
<tr class="memdesc:aeca8bf10221333215c74cfba8cb9f07e"><td class="mdescLeft">&#160;</td><td class="mdescRight"> <a href="#aeca8bf10221333215c74cfba8cb9f07e">More...</a><br/></td></tr>
<tr class="separator:aeca8bf10221333215c74cfba8cb9f07e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1335bc95ae284b1e0918d5b27e783389"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUriQueryListStructA.html">UriQueryListStructA</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a></td></tr>
<tr class="memdesc:a1335bc95ae284b1e0918d5b27e783389"><td class="mdescLeft">&#160;</td><td class="mdescRight"> <a href="#a1335bc95ae284b1e0918d5b27e783389">More...</a><br/></td></tr>
<tr class="separator:a1335bc95ae284b1e0918d5b27e783389"><td class="memSeparator" colspan="2">&#160;</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:abbca234320ee65d6fb7aec729b843277"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#abbca234320ee65d6fb7aec729b843277">uriParseUriExA</a> (<a class="el" href="Uri_8h.html#aeca8bf10221333215c74cfba8cb9f07e">UriParserStateA</a> *state, const char *first, const char *afterLast)</td></tr>
<tr class="separator:abbca234320ee65d6fb7aec729b843277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab16a86cc9956c40da5a97007c0fd4802"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#ab16a86cc9956c40da5a97007c0fd4802">uriParseUriA</a> (<a class="el" href="Uri_8h.html#aeca8bf10221333215c74cfba8cb9f07e">UriParserStateA</a> *state, const char *text)</td></tr>
<tr class="separator:ab16a86cc9956c40da5a97007c0fd4802"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5f2edbe34fcde379ccca4fe3fadcd48"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#aa5f2edbe34fcde379ccca4fe3fadcd48">uriFreeUriMembersA</a> (<a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *uri)</td></tr>
<tr class="separator:aa5f2edbe34fcde379ccca4fe3fadcd48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9abcd27c7cb19d637ca74e722aad68a1"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a9abcd27c7cb19d637ca74e722aad68a1">uriEscapeExA</a> (const char *inFirst, const char *inAfterLast, char *out, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> spaceToPlus, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> normalizeBreaks)</td></tr>
<tr class="separator:a9abcd27c7cb19d637ca74e722aad68a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d501e7c2a6abe76b729ea72e123dea8"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a0d501e7c2a6abe76b729ea72e123dea8">uriEscapeA</a> (const char *in, char *out, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> spaceToPlus, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> normalizeBreaks)</td></tr>
<tr class="separator:a0d501e7c2a6abe76b729ea72e123dea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab11acf439a838875d1d263964bfbbd12"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#ab11acf439a838875d1d263964bfbbd12">uriUnescapeInPlaceExA</a> (char *inout, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> plusToSpace, <a class="el" href="UriBase_8h.html#a223a6e1bb23228775573726aa73d018e">UriBreakConversion</a> breakConversion)</td></tr>
<tr class="separator:ab11acf439a838875d1d263964bfbbd12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae80c5d0494b94b61bf0f6cb349b18a36"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#ae80c5d0494b94b61bf0f6cb349b18a36">uriUnescapeInPlaceA</a> (char *inout)</td></tr>
<tr class="separator:ae80c5d0494b94b61bf0f6cb349b18a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bcf2a1fa28bb86443f2b61561e692a7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a4bcf2a1fa28bb86443f2b61561e692a7">uriAddBaseUriA</a> (<a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *absoluteDest, const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *relativeSource, const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *absoluteBase)</td></tr>
<tr class="separator:a4bcf2a1fa28bb86443f2b61561e692a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a14ec47aeeadd9ff7a5e381a10234a0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a4a14ec47aeeadd9ff7a5e381a10234a0">uriRemoveBaseUriA</a> (<a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *dest, const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *absoluteSource, const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *absoluteBase, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> domainRootMode)</td></tr>
<tr class="separator:a4a14ec47aeeadd9ff7a5e381a10234a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6840bd1ddfbf073e215a8137df0350e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a6840bd1ddfbf073e215a8137df0350e4">uriEqualsUriA</a> (const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *a, const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *b)</td></tr>
<tr class="separator:a6840bd1ddfbf073e215a8137df0350e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae57c60e8166c44163af6d0434329fe73"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#ae57c60e8166c44163af6d0434329fe73">uriToStringCharsRequiredA</a> (const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *uri, int *charsRequired)</td></tr>
<tr class="separator:ae57c60e8166c44163af6d0434329fe73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a9539cfdd85866a1ef6916c631f8bc2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a4a9539cfdd85866a1ef6916c631f8bc2">uriToStringA</a> (char *dest, const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *uri, int maxChars, int *charsWritten)</td></tr>
<tr class="separator:a4a9539cfdd85866a1ef6916c631f8bc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8de8c90c3655e547cddcd50c663587fb"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a8de8c90c3655e547cddcd50c663587fb">uriNormalizeSyntaxMaskRequiredA</a> (const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *uri)</td></tr>
<tr class="separator:a8de8c90c3655e547cddcd50c663587fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfcb66bec6bb0066fb086174692d5710"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#abfcb66bec6bb0066fb086174692d5710">uriNormalizeSyntaxExA</a> (<a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *uri, unsigned int mask)</td></tr>
<tr class="separator:abfcb66bec6bb0066fb086174692d5710"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50176d4c0c0fb7d40e0e4990d0c7d7bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a50176d4c0c0fb7d40e0e4990d0c7d7bf">uriNormalizeSyntaxA</a> (<a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *uri)</td></tr>
<tr class="separator:a50176d4c0c0fb7d40e0e4990d0c7d7bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab394fe8e5e9b6863e4dfd2ae6b464960"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#ab394fe8e5e9b6863e4dfd2ae6b464960">uriUnixFilenameToUriStringA</a> (const char *filename, char *uriString)</td></tr>
<tr class="separator:ab394fe8e5e9b6863e4dfd2ae6b464960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a071c1c4867b49b122dc4fcb1d3021a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a4a071c1c4867b49b122dc4fcb1d3021a">uriWindowsFilenameToUriStringA</a> (const char *filename, char *uriString)</td></tr>
<tr class="separator:a4a071c1c4867b49b122dc4fcb1d3021a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26920c57a9ad92041bc797c29b7bdb92"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a26920c57a9ad92041bc797c29b7bdb92">uriUriStringToUnixFilenameA</a> (const char *uriString, char *filename)</td></tr>
<tr class="separator:a26920c57a9ad92041bc797c29b7bdb92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9cd18296649e2443495e26f661e1313"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#ab9cd18296649e2443495e26f661e1313">uriUriStringToWindowsFilenameA</a> (const char *uriString, char *filename)</td></tr>
<tr class="separator:ab9cd18296649e2443495e26f661e1313"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fd4395b984b9d9519ee2d2aba186613"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a7fd4395b984b9d9519ee2d2aba186613">uriComposeQueryCharsRequiredA</a> (const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *queryList, int *charsRequired)</td></tr>
<tr class="separator:a7fd4395b984b9d9519ee2d2aba186613"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a055ad1ab4778d0a49f7b83c45a7757fc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a055ad1ab4778d0a49f7b83c45a7757fc">uriComposeQueryCharsRequiredExA</a> (const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *queryList, int *charsRequired, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> spaceToPlus, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> normalizeBreaks)</td></tr>
<tr class="separator:a055ad1ab4778d0a49f7b83c45a7757fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d79be075b94fd3292844feb107e0b75"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a5d79be075b94fd3292844feb107e0b75">uriComposeQueryA</a> (char *dest, const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *queryList, int maxChars, int *charsWritten)</td></tr>
<tr class="separator:a5d79be075b94fd3292844feb107e0b75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a444166408d1230bd9ac04dbedd7bd542"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a444166408d1230bd9ac04dbedd7bd542">uriComposeQueryExA</a> (char *dest, const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *queryList, int maxChars, int *charsWritten, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> spaceToPlus, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> normalizeBreaks)</td></tr>
<tr class="separator:a444166408d1230bd9ac04dbedd7bd542"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6d0418cd68496c060b6aa10ef578eb9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#ae6d0418cd68496c060b6aa10ef578eb9">uriComposeQueryMallocA</a> (char **dest, const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *queryList)</td></tr>
<tr class="separator:ae6d0418cd68496c060b6aa10ef578eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7ed8a0fe507d2a74c376d39c0933aa8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#ab7ed8a0fe507d2a74c376d39c0933aa8">uriComposeQueryMallocExA</a> (char **dest, const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *queryList, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> spaceToPlus, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> normalizeBreaks)</td></tr>
<tr class="separator:ab7ed8a0fe507d2a74c376d39c0933aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a395240e558a980019bf02cc7518ee524"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a395240e558a980019bf02cc7518ee524">uriDissectQueryMallocA</a> (<a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> **dest, int *itemCount, const char *first, const char *afterLast)</td></tr>
<tr class="separator:a395240e558a980019bf02cc7518ee524"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2f39326e3e43d915d21ca571a1f4f87"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#af2f39326e3e43d915d21ca571a1f4f87">uriDissectQueryMallocExA</a> (<a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> **dest, int *itemCount, const char *first, const char *afterLast, <a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> plusToSpace, <a class="el" href="UriBase_8h.html#a223a6e1bb23228775573726aa73d018e">UriBreakConversion</a> breakConversion)</td></tr>
<tr class="separator:af2f39326e3e43d915d21ca571a1f4f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a692a7f1c4e37180050257025473b2f7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Uri_8h.html#a692a7f1c4e37180050257025473b2f7a">uriFreeQueryListA</a> (<a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *queryList)</td></tr>
<tr class="separator:a692a7f1c4e37180050257025473b2f7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Holds the RFC 3986 URI parser interface. NOTE: This header includes itself twice. </p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a94d90c775fbcd848d7a83fa05ebd660e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUriHostDataStructA.html">UriHostDataStructA</a>  <a class="el" href="Uri_8h.html#a94d90c775fbcd848d7a83fa05ebd660e">UriHostDataA</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p></p>
<p>Holds structured host information. This is either a IPv4, IPv6, plain text for IPvFuture or all zero for a registered name.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0</dd></dl>
<p>Holds structured host information. This is either a IPv4, IPv6, plain text for IPvFuture or all zero for a registered name.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0 </dd></dl>

</div>
</div>
<a class="anchor" id="aeca8bf10221333215c74cfba8cb9f07e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUriParserStateStructA.html">UriParserStateStructA</a>  <a class="el" href="Uri_8h.html#aeca8bf10221333215c74cfba8cb9f07e">UriParserStateA</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p></p>
<p>Represents a state of the URI parser. Missing components can be NULL to reflect a components absence.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#aa5f2edbe34fcde379ccca4fe3fadcd48">uriFreeUriMembersA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0</dd></dl>
<p>Represents a state of the URI parser. Missing components can be NULL to reflect a components absence.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#aa5f2edbe34fcde379ccca4fe3fadcd48">uriFreeUriMembersA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0 </dd></dl>

</div>
</div>
<a class="anchor" id="adf287c1ee8da6f2d635e2049bcf72f61"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUriPathSegmentStructA.html">UriPathSegmentStructA</a>  <a class="el" href="Uri_8h.html#adf287c1ee8da6f2d635e2049bcf72f61">UriPathSegmentA</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p></p>
<p>Represents a path segment within a URI path. More precisely it is a node in a linked list of path segments.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0</dd></dl>
<p>Represents a path segment within a URI path. More precisely it is a node in a linked list of path segments.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a1335bc95ae284b1e0918d5b27e783389"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUriQueryListStructA.html">UriQueryListStructA</a>  <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p></p>
<p>Represents a query element. More precisely it is a node in a linked list of query elements.</p>
<dl class="section since"><dt>Since</dt><dd>0.7.0</dd></dl>
<p>Represents a query element. More precisely it is a node in a linked list of query elements.</p>
<dl class="section since"><dt>Since</dt><dd>0.7.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a9935a3bf53b423da6d6b904858318650"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUriTextRangeStructA.html">UriTextRangeStructA</a>  <a class="el" href="Uri_8h.html#a9935a3bf53b423da6d6b904858318650">UriTextRangeA</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p></p>
<p>Specifies a range of characters within a string. The range includes all characters from <code>first</code> to one before <code>afterLast</code>. So if both are non-NULL the difference is the length of the text range.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#adf287c1ee8da6f2d635e2049bcf72f61">UriPathSegmentA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a94d90c775fbcd848d7a83fa05ebd660e">UriHostDataA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0</dd></dl>
<p>Specifies a range of characters within a string. The range includes all characters from <code>first</code> to one before <code>afterLast</code>. So if both are non-NULL the difference is the length of the text range.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#adf287c1ee8da6f2d635e2049bcf72f61">UriPathSegmentA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a94d90c775fbcd848d7a83fa05ebd660e">UriHostDataA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a924841de923bfc02670dfee96cd25e62"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUriUriStructA.html">UriUriStructA</a>  <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p></p>
<p>Represents an RFC 3986 URI. Missing components can be {NULL, NULL} ranges.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#ab16a86cc9956c40da5a97007c0fd4802">uriParseUriA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#aa5f2edbe34fcde379ccca4fe3fadcd48">uriFreeUriMembersA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#aeca8bf10221333215c74cfba8cb9f07e">UriParserStateA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0</dd></dl>
<p>Represents an RFC 3986 URI. Missing components can be {NULL, NULL} ranges.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#ab16a86cc9956c40da5a97007c0fd4802">uriParseUriA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#aa5f2edbe34fcde379ccca4fe3fadcd48">uriFreeUriMembersA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#aeca8bf10221333215c74cfba8cb9f07e">UriParserStateA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0 </dd></dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a4bcf2a1fa28bb86443f2b61561e692a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriAddBaseUriA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>absoluteDest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>relativeSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>absoluteBase</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Performs reference resolution as described in <a href="http://tools.ietf.org/html/rfc3986#section-5.2.2">section 5.2.2 of RFC 3986</a>. NOTE: On success you have to call uriFreeUriMembersA on <code>absoluteDest</code> manually later.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">absoluteDest</td><td><b>OUT</b>: Result URI </td></tr>
    <tr><td class="paramname">relativeSource</td><td><b>IN</b>: Reference to resolve </td></tr>
    <tr><td class="paramname">absoluteBase</td><td><b>IN</b>: Base URI to apply </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a4a14ec47aeeadd9ff7a5e381a10234a0">uriRemoveBaseUriA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a5d79be075b94fd3292844feb107e0b75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriComposeQueryA </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *&#160;</td>
          <td class="paramname"><em>queryList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxChars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>charsWritten</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Converts a query list structure back to a query string. The composed string does not start with '?', on the way ' ' is converted to '+' and line breaks are normalized to "%0D%0A".</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td><b>OUT</b>: Output destination </td></tr>
    <tr><td class="paramname">queryList</td><td><b>IN</b>: Query list to convert </td></tr>
    <tr><td class="paramname">maxChars</td><td><b>IN</b>: Maximum number of characters to copy <b>including</b> terminator </td></tr>
    <tr><td class="paramname">charsWritten</td><td><b>OUT</b>: Number of characters written, can be lower than maxChars even if the query list is too long! </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a444166408d1230bd9ac04dbedd7bd542">uriComposeQueryExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#ae6d0418cd68496c060b6aa10ef578eb9">uriComposeQueryMallocA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a7fd4395b984b9d9519ee2d2aba186613">uriComposeQueryCharsRequiredA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a395240e558a980019bf02cc7518ee524">uriDissectQueryMallocA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.7.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a7fd4395b984b9d9519ee2d2aba186613"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriComposeQueryCharsRequiredA </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *&#160;</td>
          <td class="paramname"><em>queryList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>charsRequired</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Calculates the number of characters needed to store the string representation of the given query list excluding the terminator. It is assumed that line breaks are will be normalized to "%0D%0A".</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">queryList</td><td><b>IN</b>: Query list to measure </td></tr>
    <tr><td class="paramname">charsRequired</td><td><b>OUT</b>: Length of the string representation in characters <b>excluding</b> terminator </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a055ad1ab4778d0a49f7b83c45a7757fc">uriComposeQueryCharsRequiredExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a5d79be075b94fd3292844feb107e0b75">uriComposeQueryA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.7.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a055ad1ab4778d0a49f7b83c45a7757fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriComposeQueryCharsRequiredExA </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *&#160;</td>
          <td class="paramname"><em>queryList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>charsRequired</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>spaceToPlus</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>normalizeBreaks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Calculates the number of characters needed to store the string representation of the given query list excluding the terminator.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">queryList</td><td><b>IN</b>: Query list to measure </td></tr>
    <tr><td class="paramname">charsRequired</td><td><b>OUT</b>: Length of the string representation in characters <b>excluding</b> terminator </td></tr>
    <tr><td class="paramname">spaceToPlus</td><td><b>IN</b>: Wether to convert ' ' to '+' or not </td></tr>
    <tr><td class="paramname">normalizeBreaks</td><td><b>IN</b>: Wether to convert CR and LF to CR-LF or not. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a7fd4395b984b9d9519ee2d2aba186613">uriComposeQueryCharsRequiredA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a444166408d1230bd9ac04dbedd7bd542">uriComposeQueryExA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.7.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a444166408d1230bd9ac04dbedd7bd542"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriComposeQueryExA </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *&#160;</td>
          <td class="paramname"><em>queryList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxChars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>charsWritten</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>spaceToPlus</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>normalizeBreaks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Converts a query list structure back to a query string. The composed string does not start with '?'.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td><b>OUT</b>: Output destination </td></tr>
    <tr><td class="paramname">queryList</td><td><b>IN</b>: Query list to convert </td></tr>
    <tr><td class="paramname">maxChars</td><td><b>IN</b>: Maximum number of characters to copy <b>including</b> terminator </td></tr>
    <tr><td class="paramname">charsWritten</td><td><b>OUT</b>: Number of characters written, can be lower than maxChars even if the query list is too long! </td></tr>
    <tr><td class="paramname">spaceToPlus</td><td><b>IN</b>: Wether to convert ' ' to '+' or not </td></tr>
    <tr><td class="paramname">normalizeBreaks</td><td><b>IN</b>: Wether to convert CR and LF to CR-LF or not. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a5d79be075b94fd3292844feb107e0b75">uriComposeQueryA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#ab7ed8a0fe507d2a74c376d39c0933aa8">uriComposeQueryMallocExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a055ad1ab4778d0a49f7b83c45a7757fc">uriComposeQueryCharsRequiredExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#af2f39326e3e43d915d21ca571a1f4f87">uriDissectQueryMallocExA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.7.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ae6d0418cd68496c060b6aa10ef578eb9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriComposeQueryMallocA </td>
          <td>(</td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *&#160;</td>
          <td class="paramname"><em>queryList</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Converts a query list structure back to a query string. Memory for this string is allocated internally. The composed string does not start with '?', on the way ' ' is converted to '+' and line breaks are normalized to "%0D%0A".</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td><b>OUT</b>: Output destination </td></tr>
    <tr><td class="paramname">queryList</td><td><b>IN</b>: Query list to convert </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#ab7ed8a0fe507d2a74c376d39c0933aa8">uriComposeQueryMallocExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a5d79be075b94fd3292844feb107e0b75">uriComposeQueryA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a395240e558a980019bf02cc7518ee524">uriDissectQueryMallocA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.7.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ab7ed8a0fe507d2a74c376d39c0933aa8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriComposeQueryMallocExA </td>
          <td>(</td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *&#160;</td>
          <td class="paramname"><em>queryList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>spaceToPlus</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>normalizeBreaks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Converts a query list structure back to a query string. Memory for this string is allocated internally. The composed string does not start with '?'.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td><b>OUT</b>: Output destination </td></tr>
    <tr><td class="paramname">queryList</td><td><b>IN</b>: Query list to convert </td></tr>
    <tr><td class="paramname">spaceToPlus</td><td><b>IN</b>: Wether to convert ' ' to '+' or not </td></tr>
    <tr><td class="paramname">normalizeBreaks</td><td><b>IN</b>: Wether to convert CR and LF to CR-LF or not. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#ae6d0418cd68496c060b6aa10ef578eb9">uriComposeQueryMallocA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a444166408d1230bd9ac04dbedd7bd542">uriComposeQueryExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#af2f39326e3e43d915d21ca571a1f4f87">uriDissectQueryMallocExA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.7.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a395240e558a980019bf02cc7518ee524"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriDissectQueryMallocA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> **&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>itemCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>afterLast</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructs a query list from the raw query string of a given URI. On the way '+' is converted back to ' ', line breaks are not modified.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td><b>OUT</b>: Output destination </td></tr>
    <tr><td class="paramname">itemCount</td><td><b>OUT</b>: Number of items found, can be NULL </td></tr>
    <tr><td class="paramname">first</td><td><b>IN</b>: Pointer to first character <b>after</b> '?' </td></tr>
    <tr><td class="paramname">afterLast</td><td><b>IN</b>: Pointer to character after the last one still in </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#af2f39326e3e43d915d21ca571a1f4f87">uriDissectQueryMallocExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a5d79be075b94fd3292844feb107e0b75">uriComposeQueryA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a692a7f1c4e37180050257025473b2f7a">uriFreeQueryListA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.7.0 </dd></dl>

</div>
</div>
<a class="anchor" id="af2f39326e3e43d915d21ca571a1f4f87"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriDissectQueryMallocExA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> **&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>itemCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>afterLast</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>plusToSpace</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#a223a6e1bb23228775573726aa73d018e">UriBreakConversion</a>&#160;</td>
          <td class="paramname"><em>breakConversion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructs a query list from the raw query string of a given URI.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td><b>OUT</b>: Output destination </td></tr>
    <tr><td class="paramname">itemCount</td><td><b>OUT</b>: Number of items found, can be NULL </td></tr>
    <tr><td class="paramname">first</td><td><b>IN</b>: Pointer to first character <b>after</b> '?' </td></tr>
    <tr><td class="paramname">afterLast</td><td><b>IN</b>: Pointer to character after the last one still in </td></tr>
    <tr><td class="paramname">plusToSpace</td><td><b>IN</b>: Whether to convert '+' to ' ' or not </td></tr>
    <tr><td class="paramname">breakConversion</td><td><b>IN</b>: Line break conversion mode </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a395240e558a980019bf02cc7518ee524">uriDissectQueryMallocA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a444166408d1230bd9ac04dbedd7bd542">uriComposeQueryExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a692a7f1c4e37180050257025473b2f7a">uriFreeQueryListA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.7.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a6840bd1ddfbf073e215a8137df0350e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a> uriEqualsUriA </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Checks two URIs for equivalence. Comparison is done the naive way, without prior normalization. NOTE: Two <code>NULL</code> URIs are equal as well.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td><b>IN</b>: First URI </td></tr>
    <tr><td class="paramname">b</td><td><b>IN</b>: Second URI </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>URI_TRUE</code> when equal, <code>URI_FAlSE</code> else</dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a0d501e7c2a6abe76b729ea72e123dea8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* uriEscapeA </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>spaceToPlus</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>normalizeBreaks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Percent-encodes all unreserved characters from the input string and writes the encoded version to the output string. Be sure to allocate <b>3 times</b> the space of the input buffer for the output buffer for <code>normalizeBreaks == URI_FALSE</code> and <b>6 times</b> the space for <code>normalizeBreaks == URI_TRUE</code> (since e.g. "\x0d" becomes "%0D%0A" in that case)</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td><b>IN</b>: Text source </td></tr>
    <tr><td class="paramname">out</td><td><b>OUT</b>: Encoded text destination </td></tr>
    <tr><td class="paramname">spaceToPlus</td><td><b>IN</b>: Wether to convert ' ' to '+' or not </td></tr>
    <tr><td class="paramname">normalizeBreaks</td><td><b>IN</b>: Wether to convert CR and LF to CR-LF or not. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Position of terminator in output string</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a9abcd27c7cb19d637ca74e722aad68a1">uriEscapeExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#ae80c5d0494b94b61bf0f6cb349b18a36">uriUnescapeInPlaceA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a9abcd27c7cb19d637ca74e722aad68a1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* uriEscapeExA </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>inFirst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>inAfterLast</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>spaceToPlus</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>normalizeBreaks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Percent-encodes all unreserved characters from the input string and writes the encoded version to the output string. Be sure to allocate <b>3 times</b> the space of the input buffer for the output buffer for <code>normalizeBreaks == URI_FALSE</code> and <b>6 times</b> the space for <code>normalizeBreaks == URI_TRUE</code> (since e.g. "\x0d" becomes "%0D%0A" in that case)</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">inFirst</td><td><b>IN</b>: Pointer to first character of the input text </td></tr>
    <tr><td class="paramname">inAfterLast</td><td><b>IN</b>: Pointer after the last character of the input text </td></tr>
    <tr><td class="paramname">out</td><td><b>OUT</b>: Encoded text destination </td></tr>
    <tr><td class="paramname">spaceToPlus</td><td><b>IN</b>: Wether to convert ' ' to '+' or not </td></tr>
    <tr><td class="paramname">normalizeBreaks</td><td><b>IN</b>: Wether to convert CR and LF to CR-LF or not. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Position of terminator in output string</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a0d501e7c2a6abe76b729ea72e123dea8">uriEscapeA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#ab11acf439a838875d1d263964bfbbd12">uriUnescapeInPlaceExA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.2 </dd></dl>

</div>
</div>
<a class="anchor" id="a692a7f1c4e37180050257025473b2f7a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void uriFreeQueryListA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Uri_8h.html#a1335bc95ae284b1e0918d5b27e783389">UriQueryListA</a> *&#160;</td>
          <td class="paramname"><em>queryList</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Frees all memory associated with the given query list. The structure itself is freed as well.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">queryList</td><td><b>INOUT</b>: Query list to free</td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>0.7.0 </dd></dl>

</div>
</div>
<a class="anchor" id="aa5f2edbe34fcde379ccca4fe3fadcd48"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void uriFreeUriMembersA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>uri</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Frees all memory associated with the members of the URI structure. Note that the structure itself is not freed, only its members.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">uri</td><td><b>INOUT</b>: URI structure whose members should be freed</td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a50176d4c0c0fb7d40e0e4990d0c7d7bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriNormalizeSyntaxA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>uri</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Normalizes all components of a URI.</p>
<p>NOTE: If necessary the URI becomes owner of all memory behind the text pointed to. Text is duplicated in that case.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">uri</td><td><b>INOUT</b>: URI to normalize </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#abfcb66bec6bb0066fb086174692d5710">uriNormalizeSyntaxExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a8de8c90c3655e547cddcd50c663587fb">uriNormalizeSyntaxMaskRequiredA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.0 </dd></dl>

</div>
</div>
<a class="anchor" id="abfcb66bec6bb0066fb086174692d5710"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriNormalizeSyntaxExA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>uri</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Normalizes a URI using a normalization mask. The normalization mask decides what components are normalized.</p>
<p>NOTE: If necessary the URI becomes owner of all memory behind the text pointed to. Text is duplicated in that case.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">uri</td><td><b>INOUT</b>: URI to normalize </td></tr>
    <tr><td class="paramname">mask</td><td><b>IN</b>: Normalization mask </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a50176d4c0c0fb7d40e0e4990d0c7d7bf">uriNormalizeSyntaxA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a8de8c90c3655e547cddcd50c663587fb">uriNormalizeSyntaxMaskRequiredA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a8de8c90c3655e547cddcd50c663587fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int uriNormalizeSyntaxMaskRequiredA </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>uri</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determines the components of a URI that are not normalized.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">uri</td><td><b>IN</b>: URI to check </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Normalization job mask</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a50176d4c0c0fb7d40e0e4990d0c7d7bf">uriNormalizeSyntaxA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ab16a86cc9956c40da5a97007c0fd4802"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriParseUriA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Uri_8h.html#aeca8bf10221333215c74cfba8cb9f07e">UriParserStateA</a> *&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>text</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses a RFC 3986 URI.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">state</td><td><b>INOUT</b>: Parser state with set output URI, must not be NULL </td></tr>
    <tr><td class="paramname">text</td><td><b>IN</b>: Text to parse, must not be NULL </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, error code otherwise</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#abbca234320ee65d6fb7aec729b843277">uriParseUriExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a4a9539cfdd85866a1ef6916c631f8bc2">uriToStringA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0 </dd></dl>

</div>
</div>
<a class="anchor" id="abbca234320ee65d6fb7aec729b843277"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriParseUriExA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Uri_8h.html#aeca8bf10221333215c74cfba8cb9f07e">UriParserStateA</a> *&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>afterLast</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parses a RFC 3986 URI.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">state</td><td><b>INOUT</b>: Parser state with set output URI, must not be NULL </td></tr>
    <tr><td class="paramname">first</td><td><b>IN</b>: Pointer to the first character to parse, must not be NULL </td></tr>
    <tr><td class="paramname">afterLast</td><td><b>IN</b>: Pointer to the character after the last to parse, must not be NULL </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, error code otherwise</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#ab16a86cc9956c40da5a97007c0fd4802">uriParseUriA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a4a9539cfdd85866a1ef6916c631f8bc2">uriToStringA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a4a14ec47aeeadd9ff7a5e381a10234a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriRemoveBaseUriA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>absoluteSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>absoluteBase</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>domainRootMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Tries to make a relative URI (a reference) from an absolute URI and a given base URI. This can only work if the absolute URI shares scheme and authority with the base URI. If it does not the result will still be an absolute URI (with scheme part if necessary). NOTE: On success you have to call uriFreeUriMembersA on <code>dest</code> manually later.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td><b>OUT</b>: Result URI </td></tr>
    <tr><td class="paramname">absoluteSource</td><td><b>IN</b>: Absolute URI to make relative </td></tr>
    <tr><td class="paramname">absoluteBase</td><td><b>IN</b>: Base URI </td></tr>
    <tr><td class="paramname">domainRootMode</td><td><b>IN</b>: Create URI with path relative to domain root </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a4bcf2a1fa28bb86443f2b61561e692a7">uriAddBaseUriA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.2 </dd></dl>

</div>
</div>
<a class="anchor" id="a4a9539cfdd85866a1ef6916c631f8bc2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriToStringA </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>uri</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxChars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>charsWritten</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Converts a URI structure back to text as described in <a href="http://tools.ietf.org/html/rfc3986#section-5.3">section 5.3 of RFC 3986</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td><b>OUT</b>: Output destination </td></tr>
    <tr><td class="paramname">uri</td><td><b>IN</b>: URI to convert </td></tr>
    <tr><td class="paramname">maxChars</td><td><b>IN</b>: Maximum number of characters to copy <b>including</b> terminator </td></tr>
    <tr><td class="paramname">charsWritten</td><td><b>OUT</b>: Number of characters written, can be lower than maxChars even if the URI is too long! </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#ae57c60e8166c44163af6d0434329fe73">uriToStringCharsRequiredA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ae57c60e8166c44163af6d0434329fe73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriToStringCharsRequiredA </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="Uri_8h.html#a924841de923bfc02670dfee96cd25e62">UriUriA</a> *&#160;</td>
          <td class="paramname"><em>uri</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>charsRequired</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Calculates the number of characters needed to store the string representation of the given URI excluding the terminator.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">uri</td><td><b>IN</b>: URI to measure </td></tr>
    <tr><td class="paramname">charsRequired</td><td><b>OUT</b>: Length of the string representation in characters <b>excluding</b> terminator </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a4a9539cfdd85866a1ef6916c631f8bc2">uriToStringA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ae80c5d0494b94b61bf0f6cb349b18a36"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* uriUnescapeInPlaceA </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>inout</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Unescapes percent-encoded groups in a given string. E.g. "%20" will become " ". Unescaping is done in place. The return value will be point to the new position of the terminating zero. Use this value to get the new length of the string. NULL is only returned if <code>inout</code> is NULL.</p>
<p>NOTE: '+' is not decoded to ' ' and line breaks are not converted. Use the more advanced UnescapeInPlaceEx for that features instead.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">inout</td><td><b>INOUT</b>: Text to unescape/decode </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to new position of the terminating zero</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#ab11acf439a838875d1d263964bfbbd12">uriUnescapeInPlaceExA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a0d501e7c2a6abe76b729ea72e123dea8">uriEscapeA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.3.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ab11acf439a838875d1d263964bfbbd12"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* uriUnescapeInPlaceExA </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>inout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#ab2e3d0e349df122b6e7da6d18c552655">UriBool</a>&#160;</td>
          <td class="paramname"><em>plusToSpace</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="UriBase_8h.html#a223a6e1bb23228775573726aa73d018e">UriBreakConversion</a>&#160;</td>
          <td class="paramname"><em>breakConversion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Unescapes percent-encoded groups in a given string. E.g. "%20" will become " ". Unescaping is done in place. The return value will be point to the new position of the terminating zero. Use this value to get the new length of the string. NULL is only returned if <code>inout</code> is NULL.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">inout</td><td><b>INOUT</b>: Text to unescape/decode </td></tr>
    <tr><td class="paramname">plusToSpace</td><td><b>IN</b>: Whether to convert '+' to ' ' or not </td></tr>
    <tr><td class="paramname">breakConversion</td><td><b>IN</b>: Line break conversion mode </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to new position of the terminating zero</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#ae80c5d0494b94b61bf0f6cb349b18a36">uriUnescapeInPlaceA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a9abcd27c7cb19d637ca74e722aad68a1">uriEscapeExA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ab394fe8e5e9b6863e4dfd2ae6b464960"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriUnixFilenameToUriStringA </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>uriString</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Converts a Unix filename to a URI string. The destination buffer must be large enough to hold 7 + 3 * len(filename) + 1 characters in case of an absolute filename or 3 * len(filename) + 1 in case of a relative filename.</p>
<p>EXAMPLE Input: "/bin/bash" Output: "file:///bin/bash"</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td><b>IN</b>: Unix filename to convert </td></tr>
    <tr><td class="paramname">uriString</td><td><b>OUT</b>: Destination to write URI string to </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a26920c57a9ad92041bc797c29b7bdb92">uriUriStringToUnixFilenameA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a4a071c1c4867b49b122dc4fcb1d3021a">uriWindowsFilenameToUriStringA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.2 </dd></dl>

</div>
</div>
<a class="anchor" id="a26920c57a9ad92041bc797c29b7bdb92"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriUriStringToUnixFilenameA </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>uriString</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Extracts a Unix filename from a URI string. The destination buffer must be large enough to hold len(uriString) + 1 - 7 characters in case of an absolute URI or len(uriString) + 1 in case of a relative URI.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">uriString</td><td><b>IN</b>: URI string to convert </td></tr>
    <tr><td class="paramname">filename</td><td><b>OUT</b>: Destination to write filename to </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#ab394fe8e5e9b6863e4dfd2ae6b464960">uriUnixFilenameToUriStringA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#ab9cd18296649e2443495e26f661e1313">uriUriStringToWindowsFilenameA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.2 </dd></dl>

</div>
</div>
<a class="anchor" id="ab9cd18296649e2443495e26f661e1313"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriUriStringToWindowsFilenameA </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>uriString</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Extracts a Windows filename from a URI string. The destination buffer must be large enough to hold len(uriString) + 1 - 8 characters in case of an absolute URI or len(uriString) + 1 in case of a relative URI.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">uriString</td><td><b>IN</b>: URI string to convert </td></tr>
    <tr><td class="paramname">filename</td><td><b>OUT</b>: Destination to write filename to </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#a4a071c1c4867b49b122dc4fcb1d3021a">uriWindowsFilenameToUriStringA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#a26920c57a9ad92041bc797c29b7bdb92">uriUriStringToUnixFilenameA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.2 </dd></dl>

</div>
</div>
<a class="anchor" id="a4a071c1c4867b49b122dc4fcb1d3021a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uriWindowsFilenameToUriStringA </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>uriString</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Converts a Windows filename to a URI string. The destination buffer must be large enough to hold 8 + 3 * len(filename) + 1 characters in case of an absolute filename or 3 * len(filename) + 1 in case of a relative filename.</p>
<p>EXAMPLE Input: "E:\\Documents and Settings" Output: "file:///E:/Documents%20and%20Settings"</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td><b>IN</b>: Windows filename to convert </td></tr>
    <tr><td class="paramname">uriString</td><td><b>OUT</b>: Destination to write URI string to </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code or 0 on success</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="Uri_8h.html#ab9cd18296649e2443495e26f661e1313">uriUriStringToWindowsFilenameA</a> </dd>
<dd>
<a class="el" href="Uri_8h.html#ab394fe8e5e9b6863e4dfd2ae6b464960">uriUnixFilenameToUriStringA</a> </dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5.2 </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3.1
</small></address>
</body>
</html>