Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 76d546f6c048029d7a68c93de06bb323 > files > 48

libannodex-devel-0.7.3-14.fc14.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"/>
<title>libannodex: anx_params.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>anx_params.h File Reference</h1>
<p>Manipulation of name=value parameters, with parsing of URI query strings and HTTP-style headers, and printing to these formats and XML meta and param tags.  
<a href="#_details">More...</a></p>

<p><a href="anx__params_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A set of parameters.  <a href="#a18cf084399d02f21bc17cc4e9970245b"></a><br/></td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__params_8h.html#ae9c7d1aba98a2718e251bde5d513c005">AnxParamStyle</a> { <a class="el" href="anx__params_8h.html#ae9c7d1aba98a2718e251bde5d513c005af84f21c8770dceb90c5938c8dd540e6b">ANX_PARAMS_QUERY</a> =  0, 
<a class="el" href="anx__params_8h.html#ae9c7d1aba98a2718e251bde5d513c005a3826b88b44bdf0a47e0886f0aee82a1a">ANX_PARAMS_HEADERS</a> =  1, 
<a class="el" href="anx__params_8h.html#ae9c7d1aba98a2718e251bde5d513c005aed0a461e008b7b1f09c2c92e7f26460e">ANX_PARAMS_METATAGS</a> =  1000, 
<a class="el" href="anx__params_8h.html#ae9c7d1aba98a2718e251bde5d513c005a044eb65d47269acfd95bc719d3b8feaf">ANX_PARAMS_PARAMTAGS</a> =  1001
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Formatting styles for parsing and printing AnxParams objects. </p>
 <a href="anx__params_8h.html#ae9c7d1aba98a2718e251bde5d513c005">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__params_8h.html#a58a590d184b0d5ca96e43718880b4e96">anx_params_new_parse</a> (char *input, <a class="el" href="anx__params_8h.html#ae9c7d1aba98a2718e251bde5d513c005">AnxParamStyle</a> style)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new AnxParms object by parsing text input of a given format.  <a href="#a58a590d184b0d5ca96e43718880b4e96"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__params_8h.html#a0a74c53e5e83ea8b2465bd4d5e81cb17">anx_params_snprint</a> (char *buf, size_t n, <a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *params, <a class="el" href="anx__params_8h.html#ae9c7d1aba98a2718e251bde5d513c005">AnxParamStyle</a> style)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print an AnxParms object with a given formatting style.  <a href="#a0a74c53e5e83ea8b2465bd4d5e81cb17"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__params_8h.html#a5e4bf75d8912dca432746fb9dc70e092">anx_params_get</a> (<a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *params, char *name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve a parameter from an AnxParams object.  <a href="#a5e4bf75d8912dca432746fb9dc70e092"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__params_8h.html#add671a633093723fc1680414d80db69d">anx_params_replace</a> (<a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *params, char *name, char *value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a parameter to an AnxParams object.  <a href="#add671a633093723fc1680414d80db69d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__params_8h.html#a8c4695104c24fd8ac2eee02e800a36fd">anx_params_append</a> (<a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *params, char *name, char *value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a parameter to an AnxParams object.  <a href="#a8c4695104c24fd8ac2eee02e800a36fd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__params_8h.html#a9ba1e830e1f65ade7bca0799e4c3de6f">anx_params_remove</a> (<a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *params, char *name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a parameter from an AnxParams object.  <a href="#a9ba1e830e1f65ade7bca0799e4c3de6f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__params_8h.html#afbfa538688c98b2367423c8604c31c55">anx_params_merge</a> (<a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *dest, <a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Merge two AnxParams objects.  <a href="#afbfa538688c98b2367423c8604c31c55"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__params_8h.html#a2aa4566d119e62ac6fbacd71ae9e4ca4">anx_params_clone</a> (<a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *params)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new AnxParams object by cloning an existing one.  <a href="#a2aa4566d119e62ac6fbacd71ae9e4ca4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="anx__params_8h.html#aa0ded7f9086b9e65d4cfe3ac842d29c7">anx_params_free</a> (<a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *params)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free an AnxParams object.  <a href="#aa0ded7f9086b9e65d4cfe3ac842d29c7"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Manipulation of name=value parameters, with parsing of URI query strings and HTTP-style headers, and printing to these formats and XML meta and param tags. </p>
<ul>
<li>Field names are case-insensitive</li>
<li>Field names are unique within an AnxParams object. When parsing URI query strings or HTTP-style headers, if multiple entries for the same field name are found, the successive values are concatenated and separated by commas (as per RFC2616 sec 4.2) </li>
</ul>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a18cf084399d02f21bc17cc4e9970245b"></a><!-- doxytag: member="anx_params.h::AnxParams" ref="a18cf084399d02f21bc17cc4e9970245b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void <a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A set of parameters. </p>
<ul>
<li>NULL is equivalent to an empty parameter set</li>
<li>Create with <a class="el" href="anx__params_8h.html#a58a590d184b0d5ca96e43718880b4e96" title="Create a new AnxParms object by parsing text input of a given format.">anx_params_new_parse()</a> or <a class="el" href="anx__params_8h.html#a2aa4566d119e62ac6fbacd71ae9e4ca4" title="Create a new AnxParams object by cloning an existing one.">anx_params_clone()</a>, or by adding a parameter to the empty set (NULL)</li>
<li>The base value of an AnxParams object is updated by calls to <a class="el" href="anx__params_8h.html#add671a633093723fc1680414d80db69d" title="Add a parameter to an AnxParams object.">anx_params_replace()</a>, <a class="el" href="anx__params_8h.html#a8c4695104c24fd8ac2eee02e800a36fd" title="Add a parameter to an AnxParams object.">anx_params_append()</a>, <a class="el" href="anx__params_8h.html#a9ba1e830e1f65ade7bca0799e4c3de6f" title="Remove a parameter from an AnxParams object.">anx_params_remove()</a>, <a class="el" href="anx__params_8h.html#afbfa538688c98b2367423c8604c31c55" title="Merge two AnxParams objects.">anx_params_merge()</a> and <a class="el" href="anx__params_8h.html#a2aa4566d119e62ac6fbacd71ae9e4ca4" title="Create a new AnxParams object by cloning an existing one.">anx_params_clone()</a>. Hence the return value from these functions <b>must</b> be assigned back to the params object. </li>
</ul>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ae9c7d1aba98a2718e251bde5d513c005"></a><!-- doxytag: member="anx_params.h::AnxParamStyle" ref="ae9c7d1aba98a2718e251bde5d513c005" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="anx__params_8h.html#ae9c7d1aba98a2718e251bde5d513c005">AnxParamStyle</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Formatting styles for parsing and printing AnxParams objects. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ae9c7d1aba98a2718e251bde5d513c005af84f21c8770dceb90c5938c8dd540e6b"></a><!-- doxytag: member="ANX_PARAMS_QUERY" ref="ae9c7d1aba98a2718e251bde5d513c005af84f21c8770dceb90c5938c8dd540e6b" args="" -->ANX_PARAMS_QUERY</em>&nbsp;</td><td>
<p>URI query format, eg. </p>
<pre>fish=haddock&amp;color=green
      </pre> </td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae9c7d1aba98a2718e251bde5d513c005a3826b88b44bdf0a47e0886f0aee82a1a"></a><!-- doxytag: member="ANX_PARAMS_HEADERS" ref="ae9c7d1aba98a2718e251bde5d513c005a3826b88b44bdf0a47e0886f0aee82a1a" args="" -->ANX_PARAMS_HEADERS</em>&nbsp;</td><td>
<p>SMTP/HTTP/AnxData header format, eg. </p>
<pre>
      Fish: haddock\r\n
      Color: Green\r\n
      </pre> </td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae9c7d1aba98a2718e251bde5d513c005aed0a461e008b7b1f09c2c92e7f26460e"></a><!-- doxytag: member="ANX_PARAMS_METATAGS" ref="ae9c7d1aba98a2718e251bde5d513c005aed0a461e008b7b1f09c2c92e7f26460e" args="" -->ANX_PARAMS_METATAGS</em>&nbsp;</td><td>
<p>XHTML/CMML meta tag format, eg. </p>
<p>: </p>
<pre>
      &lt;meta name="fish" content="haddock"&gt;
      &lt;meta name="color" content="green"&gt;
      </pre> </td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae9c7d1aba98a2718e251bde5d513c005a044eb65d47269acfd95bc719d3b8feaf"></a><!-- doxytag: member="ANX_PARAMS_PARAMTAGS" ref="ae9c7d1aba98a2718e251bde5d513c005a044eb65d47269acfd95bc719d3b8feaf" args="" -->ANX_PARAMS_PARAMTAGS</em>&nbsp;</td><td>
<p>CMML param tag format, eg. </p>
<p>: </p>
<pre>
      <dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fish</em>&nbsp;</td><td>
      </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>color</em>&nbsp;</td><td>
      
</td></tr>
  </table>
  </dd>
</dl>
</td></tr>
  </table>
  </dd>
</dl>
</pre></td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a8c4695104c24fd8ac2eee02e800a36fd"></a><!-- doxytag: member="anx_params.h::anx_params_append" ref="a8c4695104c24fd8ac2eee02e800a36fd" args="(AnxParams *params, char *name, char *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a>* anx_params_append </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a parameter to an AnxParams object. </p>
<p>If a parameter with the given <em>name</em> already exists in <em>params</em>, the new <em>value</em> is appended to the old one, separated by a comma. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>An AnxParams object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The parameter name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>The new parameter value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The updated AnxParams object </dd></dl>

</div>
</div>
<a class="anchor" id="a2aa4566d119e62ac6fbacd71ae9e4ca4"></a><!-- doxytag: member="anx_params.h::anx_params_clone" ref="a2aa4566d119e62ac6fbacd71ae9e4ca4" args="(AnxParams *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a>* anx_params_clone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new AnxParams object by cloning an existing one. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>An existing AnxParams object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A new AnxParams object with copied parameters. All names and values in  are duplicated in the returned object. </dd></dl>

</div>
</div>
<a class="anchor" id="aa0ded7f9086b9e65d4cfe3ac842d29c7"></a><!-- doxytag: member="anx_params.h::anx_params_free" ref="aa0ded7f9086b9e65d4cfe3ac842d29c7" args="(AnxParams *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a>* anx_params_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free an AnxParams object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>An AnxParams object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on success </dd></dl>

</div>
</div>
<a class="anchor" id="a5e4bf75d8912dca432746fb9dc70e092"></a><!-- doxytag: member="anx_params.h::anx_params_get" ref="a5e4bf75d8912dca432746fb9dc70e092" args="(AnxParams *params, char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* anx_params_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve a parameter from an AnxParams object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>An AnxParams object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The parameter name </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The parameter value </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>NULL</em>&nbsp;</td><td>No such parameter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afbfa538688c98b2367423c8604c31c55"></a><!-- doxytag: member="anx_params.h::anx_params_merge" ref="afbfa538688c98b2367423c8604c31c55" args="(AnxParams *dest, AnxParams *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a>* anx_params_merge </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Merge two AnxParams objects. </p>
<p>Copies of all parameters in <em>src</em> are appended (as for <a class="el" href="anx__params_8h.html#a8c4695104c24fd8ac2eee02e800a36fd" title="Add a parameter to an AnxParams object.">anx_params_append()</a>) to <em>dest</em>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The AnxParams object into which new values are appended </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>An AnxParams object with the new values. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>An updated reference to <em>dest</em>. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd><em>src</em> is not modified by <a class="el" href="anx__params_8h.html#afbfa538688c98b2367423c8604c31c55" title="Merge two AnxParams objects.">anx_params_merge()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="a58a590d184b0d5ca96e43718880b4e96"></a><!-- doxytag: member="anx_params.h::anx_params_new_parse" ref="a58a590d184b0d5ca96e43718880b4e96" args="(char *input, AnxParamStyle style)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a>* anx_params_new_parse </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="anx__params_8h.html#ae9c7d1aba98a2718e251bde5d513c005">AnxParamStyle</a>&nbsp;</td>
          <td class="paramname"> <em>style</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new AnxParms object by parsing text input of a given format. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>input</em>&nbsp;</td><td>The text to parse </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>style</em>&nbsp;</td><td>The formatting style of the text. Only ANX_PARAMS_QUERY and ANX_PARAMS_HEADERS are supported. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A new AnxParams object </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>NULL</em>&nbsp;</td><td>no parameters found in input, or unsupported style </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9ba1e830e1f65ade7bca0799e4c3de6f"></a><!-- doxytag: member="anx_params.h::anx_params_remove" ref="a9ba1e830e1f65ade7bca0799e4c3de6f" args="(AnxParams *params, char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a>* anx_params_remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove a parameter from an AnxParams object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>An AnxParams object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The parameter name </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The updated AnxParams object </dd></dl>

</div>
</div>
<a class="anchor" id="add671a633093723fc1680414d80db69d"></a><!-- doxytag: member="anx_params.h::anx_params_replace" ref="add671a633093723fc1680414d80db69d" args="(AnxParams *params, char *name, char *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a>* anx_params_replace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a parameter to an AnxParams object. </p>
<p>If a parameter with the given <em>name</em> already exists in <em>params</em>, the new <em>value</em> replaces the old one. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>An AnxParams object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The parameter name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>The new parameter value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The updated AnxParams object </dd></dl>

</div>
</div>
<a class="anchor" id="a0a74c53e5e83ea8b2465bd4d5e81cb17"></a><!-- doxytag: member="anx_params.h::anx_params_snprint" ref="a0a74c53e5e83ea8b2465bd4d5e81cb17" args="(char *buf, size_t n, AnxParams *params, AnxParamStyle style)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int anx_params_snprint </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="anx__params_8h.html#a18cf084399d02f21bc17cc4e9970245b">AnxParams</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="anx__params_8h.html#ae9c7d1aba98a2718e251bde5d513c005">AnxParamStyle</a>&nbsp;</td>
          <td class="paramname"> <em>style</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Print an AnxParms object with a given formatting style. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The output buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>The maximum number of bytes to write </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>The AnxParams object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>style</em>&nbsp;</td><td>The formatting style of the generated text. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of characters printed, not including the trailing '\0'</dd></dl>
<p><b>Truncation</b>:</p>
<ul>
<li>On systems conforming to ISO C99, anx_snprint_params() returns the number of characters (not including the trailing '\0') that would have been written to the output string if enough space had been available.</li>
<li>On non-C99 systems, anx_snprint_params() returns -1 on truncation. </li>
</ul>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address>
</body>
</html>