Sophie

Sophie

distrib > CentOS > 6 > i386 > media > updates > by-pkgid > 5d98b2995a46d456a9243853c7259619 > files > 19

libcollection-devel-0.5.0-28.el6_0.2.i686.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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>libcollection: Add properties with reference</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.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</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><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.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)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Add properties with reference<br/>
<small>
[<a class="el" href="group__addproperty.html">Add property functions</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__addprop__withref.html#ga7b8351788ba45c1fbd5f2834f133fe15">col_add_str_property_with_ref</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *subcollection, const char *property, char *string, int length, struct <a class="el" href="structcollection__item.html">collection_item</a> **ret_ref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a string property to a collection.  <a href="#ga7b8351788ba45c1fbd5f2834f133fe15"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__addprop__withref.html#ga51b116d0167a1f4c878bbe163a24d311">col_add_binary_property_with_ref</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *subcollection, const char *property, void *binary_data, int length, struct <a class="el" href="structcollection__item.html">collection_item</a> **ret_ref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a binary property to a collection.  <a href="#ga51b116d0167a1f4c878bbe163a24d311"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__addprop__withref.html#gaee035df74386b7231f7b1509974fa3cf">col_add_int_property_with_ref</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *subcollection, const char *property, int32_t number, struct <a class="el" href="structcollection__item.html">collection_item</a> **ret_ref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an integer property to a collection.  <a href="#gaee035df74386b7231f7b1509974fa3cf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__addprop__withref.html#gac8c78d47d602fe47f37cfdfcb7df5843">col_add_unsigned_property_with_ref</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *subcollection, const char *property, uint32_t number, struct <a class="el" href="structcollection__item.html">collection_item</a> **ret_ref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an unsigned integer property to a collection.  <a href="#gac8c78d47d602fe47f37cfdfcb7df5843"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__addprop__withref.html#ga8c851adf78f1843da4a1c5213d501284">col_add_long_property_with_ref</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *subcollection, const char *property, int64_t number, struct <a class="el" href="structcollection__item.html">collection_item</a> **ret_ref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an long property to a collection.  <a href="#ga8c851adf78f1843da4a1c5213d501284"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__addprop__withref.html#ga42531801e1efb5c7bba14ab1d46ecdc5">col_add_ulong_property_with_ref</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *subcollection, const char *property, uint64_t number, struct <a class="el" href="structcollection__item.html">collection_item</a> **ret_ref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an unsigned long property to a collection.  <a href="#ga42531801e1efb5c7bba14ab1d46ecdc5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__addprop__withref.html#ga3a09bb26212adde22f85414992bb1096">col_add_double_property_with_ref</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *subcollection, const char *property, double number, struct <a class="el" href="structcollection__item.html">collection_item</a> **ret_ref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a property of type double to a collection.  <a href="#ga3a09bb26212adde22f85414992bb1096"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__addprop__withref.html#ga469ff0a6626e81885273db2774c688cc">col_add_bool_property_with_ref</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *subcollection, const char *property, unsigned char logical, struct <a class="el" href="structcollection__item.html">collection_item</a> **ret_ref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a Boolean property to a collection.  <a href="#ga469ff0a6626e81885273db2774c688cc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__addprop__withref.html#gad7b1df67af1bc36771aa8fced61b4eec">col_add_any_property_with_ref</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *subcollection, const char *property, int type, void *data, int length, struct <a class="el" href="structcollection__item.html">collection_item</a> **ret_ref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a property of a specified type to a collection.  <a href="#gad7b1df67af1bc36771aa8fced61b4eec"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Family of functions that add properties to a collection and return reference to an item that holds a newly created property.</p>
<p>All the functions in this section append a property of the specified type to the collection object.</p>
<p>Parameters for the functions and return values are the same as for the <a class="el" href="group__addproperty.html">col_add_xxx_property</a> functions. The only difference is that these functions have one additional argument:</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>ret_ref</em>&nbsp;</td><td>Reference to the newly added item that holds the property. </td></tr>
  </table>
  </dd>
</dl>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gad7b1df67af1bc36771aa8fced61b4eec"></a><!-- doxytag: member="collection.h::col_add_any_property_with_ref" ref="gad7b1df67af1bc36771aa8fced61b4eec" args="(struct collection_item *ci, const char *subcollection, const char *property, int type, void *data, int length, struct collection_item **ret_ref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_add_any_property_with_ref </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>ci</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>subcollection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> **&nbsp;</td>
          <td class="paramname"> <em>ret_ref</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 property of a specified type to a collection. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ci</em>&nbsp;</td><td>Root collection object. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>subcollection</em>&nbsp;</td><td>Name of the inner collection to add property to. If NULL the property is added to the root collection. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>property</em>&nbsp;</td><td>Name of the property.<br/>
 Name should consist of the ASCII characters with codes non less than space. Exclamation mark character is a special character and can't be used in name of collection or property.<br/>
 Maximum allowed length is defined at compile time. The default value is 64k. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>type</em>&nbsp;</td><td>See type definitions <a class="el" href="group__coltypes.html">here</a>. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>data</em>&nbsp;</td><td>Data to add. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>length</em>&nbsp;</td><td>Length of the data. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>ret_ref</em>&nbsp;</td><td>Reference to the newly added item that holds the property.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was added successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid characters in the property name. Value argument is invalid in some way. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd>
<dd>
ENOENT - Sub collection is not found. </dd></dl>

</div>
</div>
<a class="anchor" id="ga51b116d0167a1f4c878bbe163a24d311"></a><!-- doxytag: member="collection.h::col_add_binary_property_with_ref" ref="ga51b116d0167a1f4c878bbe163a24d311" args="(struct collection_item *ci, const char *subcollection, const char *property, void *binary_data, int length, struct collection_item **ret_ref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_add_binary_property_with_ref </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>ci</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>subcollection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>binary_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> **&nbsp;</td>
          <td class="paramname"> <em>ret_ref</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 binary property to a collection. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ci</em>&nbsp;</td><td>Root collection object. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>subcollection</em>&nbsp;</td><td>Name of the inner collection to add property to. If NULL the property is added to the root collection. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>property</em>&nbsp;</td><td>Name of the property.<br/>
 Name should consist of the ASCII characters with codes non less than space. Exclamation mark character is a special character and can't be used in name of collection or property.<br/>
 Maximum allowed length is defined at compile time. The default value is 64k. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>binary_data</em>&nbsp;</td><td>Data to add. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>length</em>&nbsp;</td><td>Length of the data. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>ret_ref</em>&nbsp;</td><td>Reference to the newly added item that holds the property.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was added successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid characters in the property name. Value argument is invalid in some way. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd>
<dd>
ENOENT - Sub collection is not found. </dd></dl>

</div>
</div>
<a class="anchor" id="ga469ff0a6626e81885273db2774c688cc"></a><!-- doxytag: member="collection.h::col_add_bool_property_with_ref" ref="ga469ff0a6626e81885273db2774c688cc" args="(struct collection_item *ci, const char *subcollection, const char *property, unsigned char logical, struct collection_item **ret_ref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_add_bool_property_with_ref </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>ci</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>subcollection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>logical</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> **&nbsp;</td>
          <td class="paramname"> <em>ret_ref</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 Boolean property to a collection. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ci</em>&nbsp;</td><td>Root collection object. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>subcollection</em>&nbsp;</td><td>Name of the inner collection to add property to. If NULL the property is added to the root collection. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>property</em>&nbsp;</td><td>Name of the property.<br/>
 Name should consist of the ASCII characters with codes non less than space. Exclamation mark character is a special character and can't be used in name of collection or property.<br/>
 Maximum allowed length is defined at compile time. The default value is 64k. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>logical</em>&nbsp;</td><td>Boolean value. 0 - false, nonzero - true. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>ret_ref</em>&nbsp;</td><td>Reference to the newly added item that holds the property.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was added successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid characters in the property name. Value argument is invalid in some way. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd>
<dd>
ENOENT - Sub collection is not found. </dd></dl>

</div>
</div>
<a class="anchor" id="ga3a09bb26212adde22f85414992bb1096"></a><!-- doxytag: member="collection.h::col_add_double_property_with_ref" ref="ga3a09bb26212adde22f85414992bb1096" args="(struct collection_item *ci, const char *subcollection, const char *property, double number, struct collection_item **ret_ref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_add_double_property_with_ref </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>ci</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>subcollection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> **&nbsp;</td>
          <td class="paramname"> <em>ret_ref</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 property of type double to a collection. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ci</em>&nbsp;</td><td>Root collection object. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>subcollection</em>&nbsp;</td><td>Name of the inner collection to add property to. If NULL the property is added to the root collection. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>property</em>&nbsp;</td><td>Name of the property.<br/>
 Name should consist of the ASCII characters with codes non less than space. Exclamation mark character is a special character and can't be used in name of collection or property.<br/>
 Maximum allowed length is defined at compile time. The default value is 64k. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>number</em>&nbsp;</td><td>Floating point value. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>ret_ref</em>&nbsp;</td><td>Reference to the newly added item that holds the property.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was added successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid characters in the property name. Value argument is invalid in some way. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd>
<dd>
ENOENT - Sub collection is not found. </dd></dl>

</div>
</div>
<a class="anchor" id="gaee035df74386b7231f7b1509974fa3cf"></a><!-- doxytag: member="collection.h::col_add_int_property_with_ref" ref="gaee035df74386b7231f7b1509974fa3cf" args="(struct collection_item *ci, const char *subcollection, const char *property, int32_t number, struct collection_item **ret_ref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_add_int_property_with_ref </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>ci</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>subcollection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> **&nbsp;</td>
          <td class="paramname"> <em>ret_ref</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 an integer property to a collection. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ci</em>&nbsp;</td><td>Root collection object. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>subcollection</em>&nbsp;</td><td>Name of the inner collection to add property to. If NULL the property is added to the root collection. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>property</em>&nbsp;</td><td>Name of the property.<br/>
 Name should consist of the ASCII characters with codes non less than space. Exclamation mark character is a special character and can't be used in name of collection or property.<br/>
 Maximum allowed length is defined at compile time. The default value is 64k. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>number</em>&nbsp;</td><td>Integer value to add. Value is signed. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>ret_ref</em>&nbsp;</td><td>Reference to the newly added item that holds the property.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was added successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid characters in the property name. Value argument is invalid in some way. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd>
<dd>
ENOENT - Sub collection is not found. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8c851adf78f1843da4a1c5213d501284"></a><!-- doxytag: member="collection.h::col_add_long_property_with_ref" ref="ga8c851adf78f1843da4a1c5213d501284" args="(struct collection_item *ci, const char *subcollection, const char *property, int64_t number, struct collection_item **ret_ref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_add_long_property_with_ref </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>ci</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>subcollection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int64_t&nbsp;</td>
          <td class="paramname"> <em>number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> **&nbsp;</td>
          <td class="paramname"> <em>ret_ref</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 an long property to a collection. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ci</em>&nbsp;</td><td>Root collection object. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>subcollection</em>&nbsp;</td><td>Name of the inner collection to add property to. If NULL the property is added to the root collection. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>property</em>&nbsp;</td><td>Name of the property.<br/>
 Name should consist of the ASCII characters with codes non less than space. Exclamation mark character is a special character and can't be used in name of collection or property.<br/>
 Maximum allowed length is defined at compile time. The default value is 64k. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>number</em>&nbsp;</td><td>Long integer value to add. Value is signed. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>ret_ref</em>&nbsp;</td><td>Reference to the newly added item that holds the property.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was added successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid characters in the property name. Value argument is invalid in some way. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd>
<dd>
ENOENT - Sub collection is not found. </dd></dl>

</div>
</div>
<a class="anchor" id="ga7b8351788ba45c1fbd5f2834f133fe15"></a><!-- doxytag: member="collection.h::col_add_str_property_with_ref" ref="ga7b8351788ba45c1fbd5f2834f133fe15" args="(struct collection_item *ci, const char *subcollection, const char *property, char *string, int length, struct collection_item **ret_ref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_add_str_property_with_ref </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>ci</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>subcollection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>string</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> **&nbsp;</td>
          <td class="paramname"> <em>ret_ref</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 string property to a collection. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ci</em>&nbsp;</td><td>Root collection object. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>subcollection</em>&nbsp;</td><td>Name of the inner collection to add property to. If NULL the property is added to the root collection. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>property</em>&nbsp;</td><td>Name of the property.<br/>
 Name should consist of the ASCII characters with codes non less than space. Exclamation mark character is a special character and can't be used in name of collection or property.<br/>
 Maximum allowed length is defined at compile time. The default value is 64k. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>string</em>&nbsp;</td><td>Null terminated string to add. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>length</em>&nbsp;</td><td>Length of the string. Should include the length of the terminating 0. If the length is shorter than the full string the string will be truncated. If the length is longer than the actual string there might be garbage at end of the actual string. Library will always properly NULL terminate the string at the given position dictated by length but in no way will inspect the validity of the passed in data. This is left to the calling application. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>ret_ref</em>&nbsp;</td><td>Reference to the newly added item that holds the property.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was added successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid characters in the property name. Value argument is invalid in some way. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd>
<dd>
ENOENT - Sub collection is not found. </dd></dl>

</div>
</div>
<a class="anchor" id="ga42531801e1efb5c7bba14ab1d46ecdc5"></a><!-- doxytag: member="collection.h::col_add_ulong_property_with_ref" ref="ga42531801e1efb5c7bba14ab1d46ecdc5" args="(struct collection_item *ci, const char *subcollection, const char *property, uint64_t number, struct collection_item **ret_ref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_add_ulong_property_with_ref </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>ci</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>subcollection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> **&nbsp;</td>
          <td class="paramname"> <em>ret_ref</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 an unsigned long property to a collection. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ci</em>&nbsp;</td><td>Root collection object. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>subcollection</em>&nbsp;</td><td>Name of the inner collection to add property to. If NULL the property is added to the root collection. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>property</em>&nbsp;</td><td>Name of the property.<br/>
 Name should consist of the ASCII characters with codes non less than space. Exclamation mark character is a special character and can't be used in name of collection or property.<br/>
 Maximum allowed length is defined at compile time. The default value is 64k. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>number</em>&nbsp;</td><td>Unsigned long integer value to add. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>ret_ref</em>&nbsp;</td><td>Reference to the newly added item that holds the property.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was added successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid characters in the property name. Value argument is invalid in some way. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd>
<dd>
ENOENT - Sub collection is not found. </dd></dl>

</div>
</div>
<a class="anchor" id="gac8c78d47d602fe47f37cfdfcb7df5843"></a><!-- doxytag: member="collection.h::col_add_unsigned_property_with_ref" ref="gac8c78d47d602fe47f37cfdfcb7df5843" args="(struct collection_item *ci, const char *subcollection, const char *property, uint32_t number, struct collection_item **ret_ref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_add_unsigned_property_with_ref </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>ci</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>subcollection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> **&nbsp;</td>
          <td class="paramname"> <em>ret_ref</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 an unsigned integer property to a collection. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ci</em>&nbsp;</td><td>Root collection object. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>subcollection</em>&nbsp;</td><td>Name of the inner collection to add property to. If NULL the property is added to the root collection. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>property</em>&nbsp;</td><td>Name of the property.<br/>
 Name should consist of the ASCII characters with codes non less than space. Exclamation mark character is a special character and can't be used in name of collection or property.<br/>
 Maximum allowed length is defined at compile time. The default value is 64k. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>number</em>&nbsp;</td><td>Unsigned integer value to add. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>ret_ref</em>&nbsp;</td><td>Reference to the newly added item that holds the property.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was added successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid characters in the property name. Value argument is invalid in some way. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd>
<dd>
ENOENT - Sub collection is not found. </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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a></div>

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

<hr size="1"/><address style="text-align: right;"><small>Generated on 25 Jun 2011 for libcollection by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>