Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > ffa962f43b504c2e215c06cb89a98d6e > files > 33

quvi-devel-0.2.16.1-1.fc14.x86_64.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"/>
<title>Utility functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.7.4 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div id="top">
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li id="searchli">
        <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>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Utility functions</div>  </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libquvi__util.html#gae1a232d86e9f1af527392abb08426322">quvi_supported</a> (<a class="el" href="group__libquvi__types.html#gabe8d4dbff4b3bf3fc89377c34d0e089b">quvi_t</a> quvi, char *url)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether the library could parse the URL.  <a href="#gae1a232d86e9f1af527392abb08426322"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libquvi__util.html#gad0e0f4dbda9ef58ff225ab9a5012841a">quvi_supported_ident</a> (<a class="el" href="group__libquvi__types.html#gabe8d4dbff4b3bf3fc89377c34d0e089b">quvi_t</a> quvi, char *url, <a class="el" href="group__libquvi__types.html#ga352b3140cf2e5d6a34e165267882bea0">quvi_ident_t</a> *ident)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether the library could parse the URL.  <a href="#gad0e0f4dbda9ef58ff225ab9a5012841a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libquvi__util.html#ga9cd8e672b2361bc86cca2cf1717808af">quvi_ident_getprop</a> (<a class="el" href="group__libquvi__types.html#ga352b3140cf2e5d6a34e165267882bea0">quvi_ident_t</a> handle, <a class="el" href="group__libquvi__types.html#ga5e2260035ec16d5fa4c9a8310f9aaf4f">QUVIidentProperty</a> property,...)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get property information from an ident handle.  <a href="#ga9cd8e672b2361bc86cca2cf1717808af"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libquvi__util.html#ga05411644d5519cb4d3e024f1278d8e50">quvi_supported_ident_close</a> (<a class="el" href="group__libquvi__types.html#ga352b3140cf2e5d6a34e165267882bea0">quvi_ident_t</a> *ident)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Close ident handle.  <a href="#ga05411644d5519cb4d3e024f1278d8e50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libquvi__util.html#ga90ae4659f76b427b0d882333c161ba71">quvi_next_supported_website</a> (<a class="el" href="group__libquvi__types.html#gabe8d4dbff4b3bf3fc89377c34d0e089b">quvi_t</a> quvi, char **domain, char **formats)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return next supported website.  <a href="#ga90ae4659f76b427b0d882333c161ba71"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libquvi__util.html#ga8fcb26792379185b74ce1871837e5de2">quvi_next_host</a> (char **domain, char **formats)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Next supported host.  <a href="#ga8fcb26792379185b74ce1871837e5de2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libquvi__util.html#gafa9ee07e9a132d0c2fd6d3af941a7c19">quvi_strerror</a> (<a class="el" href="group__libquvi__types.html#gabe8d4dbff4b3bf3fc89377c34d0e089b">quvi_t</a> quvi, <a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a> code)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string describing the error code.  <a href="#gafa9ee07e9a132d0c2fd6d3af941a7c19"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libquvi__util.html#ga21255c715c5cc7fb4b3ab66c7b481b20">quvi_version</a> (<a class="el" href="group__libquvi__types.html#ga27eb7bfae3a5ef4aa61323ed08bd1c54">QUVIversion</a> type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return libquvi version.  <a href="#ga21255c715c5cc7fb4b3ab66c7b481b20"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libquvi__util.html#gaa99f68a91a53ae4eddf12d2a7d0e2330">quvi_free</a> (void *ptr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Free allocated memory.  <a href="#gaa99f68a91a53ae4eddf12d2a7d0e2330"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libquvi__util.html#ga09cef49c5dab0085ae6e15e5716f6efa">quvi_query_formats</a> (<a class="el" href="group__libquvi__types.html#gabe8d4dbff4b3bf3fc89377c34d0e089b">quvi_t</a> session, char *url, char **formats)</td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gae1a232d86e9f1af527392abb08426322"></a><!-- doxytag: member="quvi.h::quvi_supported" ref="gae1a232d86e9f1af527392abb08426322" args="(quvi_t quvi, char *url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a> quvi_supported </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__libquvi__types.html#gabe8d4dbff4b3bf3fc89377c34d0e089b">quvi_t</a>&#160;</td>
          <td class="paramname"><em>quvi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>url</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check whether the library could parse the URL. </p>
<p>The library checks the URL with each website script to see whether it could parse the URL. This function is designed to work without an Internet connection.</p>
<p>Most URL shortening services require that the URL is resolved over an Internet connection. This means that most "shortened" URLs will fail with this function (QUVI_NOSUPPORT).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">quvi</td><td>Handle to session </td></tr>
    <tr><td class="paramname">url</td><td>Null-terminated string to an URL</td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd><ul>
<li>Fails (QUVI_NOSUPPORT) with most "shortened" URLs</li>
<li>Works with a limited number of URL shorteners, e.g. youtu.be and dai.ly, in which cases the LUA scripts can resolve to the destination URL without an Internet connection</li>
<li>Consider using <a class="el" href="group__libquvi__util.html#gad0e0f4dbda9ef58ff225ab9a5012841a" title="Check whether the library could parse the URL.">quvi_supported_ident()</a> instead</li>
</ul>
</dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>0.2.9</dd></dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd><ul>
<li>0.2.9 - 0.2.14: Limited to basic domain name comparison</li>
<li>0.2.15: Improved heuristics: Additional checks for different URL parts</li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__libquvi__util.html#gad0e0f4dbda9ef58ff225ab9a5012841a" title="Check whether the library could parse the URL.">quvi_supported_ident</a></dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Non-zero if an error occurred </dd></dl>

</div>
</div>
<a class="anchor" id="gad0e0f4dbda9ef58ff225ab9a5012841a"></a><!-- doxytag: member="quvi.h::quvi_supported_ident" ref="gad0e0f4dbda9ef58ff225ab9a5012841a" args="(quvi_t quvi, char *url, quvi_ident_t *ident)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a> quvi_supported_ident </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__libquvi__types.html#gabe8d4dbff4b3bf3fc89377c34d0e089b">quvi_t</a>&#160;</td>
          <td class="paramname"><em>quvi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__libquvi__types.html#ga352b3140cf2e5d6a34e165267882bea0">quvi_ident_t</a> *&#160;</td>
          <td class="paramname"><em>ident</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check whether the library could parse the URL. </p>
<p>Identical to <a class="el" href="group__libquvi__util.html#gae1a232d86e9f1af527392abb08426322" title="Check whether the library could parse the URL.">quvi_supported()</a> but returns the `ident' data from a matched website script.</p>
<p>The library checks the URL with each website script to see whether it could parse the URL. This function is designed to work without an Internet connection.</p>
<p>Most URL shortening services require that the URL is resolved over an Internet connection. This means that most "shortened" URLs will fail with this function (QUVI_NOSUPPORT).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">quvi</td><td>Handle to session </td></tr>
    <tr><td class="paramname">url</td><td>Null-terminated string to an URL </td></tr>
    <tr><td class="paramname">ident</td><td>Handle to ident data (set to NULL to emulate <a class="el" href="group__libquvi__util.html#gae1a232d86e9f1af527392abb08426322" title="Check whether the library could parse the URL.">quvi_supported()</a>)</td></tr>
  </table>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Close ident handle with <a class="el" href="group__libquvi__util.html#ga05411644d5519cb4d3e024f1278d8e50" title="Close ident handle.">quvi_supported_ident_close()</a> unless `ident' parameter is set to NULL (see above)</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__libquvi__util.html#ga9cd8e672b2361bc86cca2cf1717808af" title="Get property information from an ident handle.">quvi_ident_getprop</a> </dd>
<dd>
<a class="el" href="group__libquvi__util.html#ga05411644d5519cb4d3e024f1278d8e50" title="Close ident handle.">quvi_supported_ident_close</a> </dd>
<dd>
<a class="el" href="group__libquvi__util.html#gae1a232d86e9f1af527392abb08426322" title="Check whether the library could parse the URL.">quvi_supported</a></dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>0.2.16</dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Non-zero if an error occurred </dd></dl>

</div>
</div>
<a class="anchor" id="ga9cd8e672b2361bc86cca2cf1717808af"></a><!-- doxytag: member="quvi.h::quvi_ident_getprop" ref="ga9cd8e672b2361bc86cca2cf1717808af" args="(quvi_ident_t handle, QUVIidentProperty property,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a> quvi_ident_getprop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__libquvi__types.html#ga352b3140cf2e5d6a34e165267882bea0">quvi_ident_t</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__libquvi__types.html#ga5e2260035ec16d5fa4c9a8310f9aaf4f">QUVIidentProperty</a>&#160;</td>
          <td class="paramname"><em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get property information from an ident handle. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>Handle to a website script returned ident data </td></tr>
    <tr><td class="paramname">property</td><td>Property ID </td></tr>
    <tr><td class="paramname">...</td><td>Parameter</td></tr>
  </table>
  </dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Do not attempt to free the memory returned by this function</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__libquvi__util.html#gad0e0f4dbda9ef58ff225ab9a5012841a" title="Check whether the library could parse the URL.">quvi_supported_ident</a> </dd>
<dd>
<a class="el" href="group__libquvi__util.html#ga05411644d5519cb4d3e024f1278d8e50" title="Close ident handle.">quvi_supported_ident_close</a></dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>0.2.16</dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Non-zero if an error occurred</dd></dl>
<p>Example: </p>
<div class="fragment"><pre class="fragment"> quvi_ident_t ident;
 <span class="keywordflow">if</span> (<a class="code" href="group__libquvi__util.html#gad0e0f4dbda9ef58ff225ab9a5012841a" title="Check whether the library could parse the URL.">quvi_supported_ident</a>(quvi, url, &amp;ident) == <a class="code" href="group__libquvi__types.html#gga9a17038aa41a6f1585b541a56a9d4744ad5c802d9e04e5b25f52392b73bed4f24">QUVI_OK</a>)
  {
    <span class="keywordtype">char</span> *formats;
    <a class="code" href="group__libquvi__util.html#ga9cd8e672b2361bc86cca2cf1717808af" title="Get property information from an ident handle.">quvi_ident_getprop</a>(ident, <a class="code" href="group__libquvi__types.html#gga5e2260035ec16d5fa4c9a8310f9aaf4fa54570632f62d6f909f1c2173b1ae1dca">QUVI_IDENT_PROPERTY_FORMATS</a>, &amp;formats);
    puts(formats);
    <a class="code" href="group__libquvi__util.html#ga05411644d5519cb4d3e024f1278d8e50" title="Close ident handle.">quvi_supported_ident_close</a>(&amp;ident);
  }
</pre></div> 
</div>
</div>
<a class="anchor" id="ga05411644d5519cb4d3e024f1278d8e50"></a><!-- doxytag: member="quvi.h::quvi_supported_ident_close" ref="ga05411644d5519cb4d3e024f1278d8e50" args="(quvi_ident_t *ident)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void quvi_supported_ident_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__libquvi__types.html#ga352b3140cf2e5d6a34e165267882bea0">quvi_ident_t</a> *&#160;</td>
          <td class="paramname"><em>ident</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Close ident handle. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__libquvi__util.html#gad0e0f4dbda9ef58ff225ab9a5012841a" title="Check whether the library could parse the URL.">quvi_supported_ident</a></dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>0.2.16 </dd></dl>

</div>
</div>
<a class="anchor" id="ga90ae4659f76b427b0d882333c161ba71"></a><!-- doxytag: member="quvi.h::quvi_next_supported_website" ref="ga90ae4659f76b427b0d882333c161ba71" args="(quvi_t quvi, char **domain, char **formats)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a> quvi_next_supported_website </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__libquvi__types.html#gabe8d4dbff4b3bf3fc89377c34d0e089b">quvi_t</a>&#160;</td>
          <td class="paramname"><em>quvi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>formats</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return next supported website. </p>
<p>This function can be used to iterate the supported websites.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">quvi</td><td>Handle to a session </td></tr>
    <tr><td class="paramname">domain</td><td>Pointer to a null-terminated string (e.g. "youtube.com") </td></tr>
    <tr><td class="paramname">formats</td><td>Pointer to a null-terminated string (e.g. "default|best|hq|hd")</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>QUVI_OK or a non-zero value if an error occurred<ul>
<li>QUVI_LAST indicates end of the list of the websites</li>
<li>Any other returned non-zero value indicates an actual error and should be handled accordingly (e.g. relaying the return code to <em>quvi_strerror</em>)</li>
</ul>
</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd><ul>
<li>Both domain and formats string must be <a class="el" href="group__libquvi__util.html#gaa99f68a91a53ae4eddf12d2a7d0e2330" title="Free allocated memory.">quvi_free()</a>d after use</li>
<li>Return value QUVI_LAST is a non-zero value and indicates the end iteration</li>
<li>Consider handling errors</li>
</ul>
</dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>0.2.0</dd></dl>
<p>Example: </p>
<div class="fragment"><pre class="fragment"> <span class="keywordflow">while</span> (<a class="code" href="group__libquvi__util.html#ga90ae4659f76b427b0d882333c161ba71" title="Return next supported website.">quvi_next_supported_website</a>(quvi, &amp;domain, &amp;formats) == <a class="code" href="group__libquvi__types.html#gga9a17038aa41a6f1585b541a56a9d4744ad5c802d9e04e5b25f52392b73bed4f24">QUVI_OK</a>)
   {
     printf(<span class="stringliteral">&quot;%s\t%s\n&quot;</span>, domain, formats);
     <a class="code" href="group__libquvi__util.html#gaa99f68a91a53ae4eddf12d2a7d0e2330" title="Free allocated memory.">quvi_free</a>(domain);
     <a class="code" href="group__libquvi__util.html#gaa99f68a91a53ae4eddf12d2a7d0e2330" title="Free allocated memory.">quvi_free</a>(formats);
   }
</pre></div> 
</div>
</div>
<a class="anchor" id="ga8fcb26792379185b74ce1871837e5de2"></a><!-- doxytag: member="quvi.h::quvi_next_host" ref="ga8fcb26792379185b74ce1871837e5de2" args="(char **domain, char **formats)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a> quvi_next_host </td>
          <td>(</td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>formats</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Next supported host. </p>
<p>Iterate the list of the supported hosts.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">domain</td><td>Pointer to a null-terminated string </td></tr>
    <tr><td class="paramname">formats</td><td>Pointer to a null-terminated string</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>QUVI_LAST (always)</dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd>Since 0.2.0, use <a class="el" href="group__libquvi__util.html#ga90ae4659f76b427b0d882333c161ba71" title="Return next supported website.">quvi_next_supported_website()</a> instead </dd></dl>

</div>
</div>
<a class="anchor" id="gafa9ee07e9a132d0c2fd6d3af941a7c19"></a><!-- doxytag: member="quvi.h::quvi_strerror" ref="gafa9ee07e9a132d0c2fd6d3af941a7c19" args="(quvi_t quvi, QUVIcode code)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* quvi_strerror </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__libquvi__types.html#gabe8d4dbff4b3bf3fc89377c34d0e089b">quvi_t</a>&#160;</td>
          <td class="paramname"><em>quvi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a>&#160;</td>
          <td class="paramname"><em>code</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a string describing the error code. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">quvi</td><td>Handle to a libquvi session </td></tr>
    <tr><td class="paramname">code</td><td>Error code</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Null-terminated string</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Do not attempt to free the memory returned by this function</dd></dl>
<p>Example: </p>
<div class="fragment"><pre class="fragment"> quvi_t quvi;
 <a class="code" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a> rc = <a class="code" href="group__libquvi__init.html#gab05fb31e4bd01cb0a0d544089388c77e" title="Start a new libquvi session.">quvi_init</a>(&amp;quvi);
 <span class="keywordflow">if</span> (rc != <a class="code" href="group__libquvi__types.html#gga9a17038aa41a6f1585b541a56a9d4744ad5c802d9e04e5b25f52392b73bed4f24">QUVI_OK</a>)
   {
     fprintf(stderr, <span class="stringliteral">&quot;error: %s\n&quot;</span>, <a class="code" href="group__libquvi__util.html#gafa9ee07e9a132d0c2fd6d3af941a7c19" title="Return a string describing the error code.">quvi_strerror</a>(quvi,rc));
     exit (rc);
   }
 <a class="code" href="group__libquvi__release.html#ga25854269807bc004cf4718053803265e" title="End a libquvi session.">quvi_close</a>(&amp;quvi);
</pre></div> 
</div>
</div>
<a class="anchor" id="ga21255c715c5cc7fb4b3ab66c7b481b20"></a><!-- doxytag: member="quvi.h::quvi_version" ref="ga21255c715c5cc7fb4b3ab66c7b481b20" args="(QUVIversion type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* quvi_version </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__libquvi__types.html#ga27eb7bfae3a5ef4aa61323ed08bd1c54">QUVIversion</a>&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return libquvi version. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>Version type</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Null-terminated string</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Do not attempt to free the memory returned by this function</dd></dl>
<p>Example: </p>
<div class="fragment"><pre class="fragment"> puts( <a class="code" href="group__libquvi__util.html#ga21255c715c5cc7fb4b3ab66c7b481b20" title="Return libquvi version.">quvi_version</a>(<a class="code" href="group__libquvi__types.html#gga27eb7bfae3a5ef4aa61323ed08bd1c54a8a62a232de30701365fe7495138a1883">QUVI_VERSION_LONG</a>) );
</pre></div> 
</div>
</div>
<a class="anchor" id="gaa99f68a91a53ae4eddf12d2a7d0e2330"></a><!-- doxytag: member="quvi.h::quvi_free" ref="gaa99f68a91a53ae4eddf12d2a7d0e2330" args="(void *ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void quvi_free </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ptr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free allocated memory. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>Pointer to data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga09cef49c5dab0085ae6e15e5716f6efa"></a><!-- doxytag: member="quvi.h::quvi_query_formats" ref="ga09cef49c5dab0085ae6e15e5716f6efa" args="(quvi_t session, char *url, char **formats)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__libquvi__types.html#ga9a17038aa41a6f1585b541a56a9d4744">QUVIcode</a> quvi_query_formats </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__libquvi__types.html#gabe8d4dbff4b3bf3fc89377c34d0e089b">quvi_t</a>&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>formats</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Queries available formats to the URL. The query is done over an Internet connection. It resolves any shortened URLs unless QUVIOPT_NORESOLVE is set explicitly with quvi_setopt. This function checks also if an URL is supported, similarly to that quvi_supported.</p>
<p>Unlike quvi_supported, quvi_supported_ident and quvi_next_supported_website which all return a static format ID list as specified in the webscript’s `ident’ function, quvi_query_formats constructs the list of format IDs dynamically for each URL.</p>
<p>Please note that this function returns only ‘default’ to those URLs that have their corresponding webscripts handle only one (1) format. e.g. No internet connection is required in such case and a static string (‘default’) is returned to the caller instead.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">session</td><td>Session handle </td></tr>
    <tr><td class="paramname">url</td><td>URL (null-terminated string) </td></tr>
    <tr><td class="paramname">formats</td><td>Null-terminated string (receives)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A non-zero value if an error occurred</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>"formats" string must be <a class="el" href="group__libquvi__util.html#gaa99f68a91a53ae4eddf12d2a7d0e2330" title="Free allocated memory.">quvi_free()</a>d after use</dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>0.2.16.1, backported from 0.2.17 </dd></dl>

</div>
</div>
</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>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Defines</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>

<hr class="footer"/><address class="footer"><small>Generated on Thu Aug 18 2011 by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>