Sophie

Sophie

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

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: STACK interface</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>STACK interface</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga09635d976d3540471b9b009e63d67677"></a><!-- doxytag: member="stack::COL_CLASS_STACK" ref="ga09635d976d3540471b9b009e63d67677" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stack.html#ga09635d976d3540471b9b009e63d67677">COL_CLASS_STACK</a>&nbsp;&nbsp;&nbsp;30000</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for the stack object. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga47ade9e28cbc4450d94b928bedb2fa92"></a><!-- doxytag: member="stack::COL_NAME_STACK" ref="ga47ade9e28cbc4450d94b928bedb2fa92" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stack.html#ga47ade9e28cbc4450d94b928bedb2fa92">COL_NAME_STACK</a>&nbsp;&nbsp;&nbsp;&quot;stack&quot;</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All stacks use this name as the name of the collection. <br/></td></tr>
<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__stack.html#ga0963dfc2d69b08085e6b4daabb6b0b9b">col_create_stack</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> **stack)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create stack.  <a href="#ga0963dfc2d69b08085e6b4daabb6b0b9b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stack.html#ga04c21598bde78ae1578a963ae9a4cd34">col_destroy_stack</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy stack.  <a href="#ga04c21598bde78ae1578a963ae9a4cd34"></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__stack.html#ga9eb5f7c2fb9fbee8d4aa89b9db4ae9e9">col_push_str_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack, const char *property, const char *string, int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push string to the stack.  <a href="#ga9eb5f7c2fb9fbee8d4aa89b9db4ae9e9"></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__stack.html#gaeee8d22b5f3ab0d0b02360e44e3c3fd0">col_push_binary_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack, const char *property, void *binary_data, int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push binary value to the stack.  <a href="#gaeee8d22b5f3ab0d0b02360e44e3c3fd0"></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__stack.html#gadd4e63bc3fb713f111a4a99231263d82">col_push_int_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack, const char *property, int32_t number)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push integer value to the stack.  <a href="#gadd4e63bc3fb713f111a4a99231263d82"></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__stack.html#gac7beb1fb37e1d2b0bbb8a3d6f5c2ae49">col_push_unsigned_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack, const char *property, uint32_t number)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push unsigned value to the stack.  <a href="#gac7beb1fb37e1d2b0bbb8a3d6f5c2ae49"></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__stack.html#ga330b83af64a95fca63a6b9d19edcfe8f">col_push_long_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack, const char *property, int64_t number)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push long integer value to the stack.  <a href="#ga330b83af64a95fca63a6b9d19edcfe8f"></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__stack.html#ga3ec66cd2305e6b7c0ce2b2ddb3c121d9">col_push_ulong_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack, const char *property, uint64_t number)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push unsigned long value to the stack.  <a href="#ga3ec66cd2305e6b7c0ce2b2ddb3c121d9"></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__stack.html#ga7df433a8d3e301384b0d6118642b6e48">col_push_double_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack, const char *property, double number)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push floating point value to the stack.  <a href="#ga7df433a8d3e301384b0d6118642b6e48"></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__stack.html#ga02ab2e1dbc3dc1ec72d3e63c5caee7ed">col_push_bool_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack, const char *property, unsigned char logical)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push Boolean value to the stack.  <a href="#ga02ab2e1dbc3dc1ec72d3e63c5caee7ed"></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__stack.html#gaf0c1e52b7bfa5dc018d42c2a4098aa1f">col_push_any_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack, const char *property, int type, void *data, int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push value of any type to the stack.  <a href="#gaf0c1e52b7bfa5dc018d42c2a4098aa1f"></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__stack.html#ga8e8c3a1a8111365fe6c410718f4cf3db">col_push_item</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack, struct <a class="el" href="structcollection__item.html">collection_item</a> *item)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push item into the stack.  <a href="#ga8e8c3a1a8111365fe6c410718f4cf3db"></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__stack.html#ga636064c9bea75e8c27bc1d666906a2de">col_pop_item</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *stack, struct <a class="el" href="structcollection__item.html">collection_item</a> **item)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pop item from the stack.  <a href="#ga636064c9bea75e8c27bc1d666906a2de"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Stack interface is a wrapper on top of the <a class="el" href="group__collection.html">COLLECTION interface</a> interface. It implements a stack using a collection object. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga0963dfc2d69b08085e6b4daabb6b0b9b"></a><!-- doxytag: member="collection_stack.h::col_create_stack" ref="ga0963dfc2d69b08085e6b4daabb6b0b9b" args="(struct collection_item **stack)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_create_stack </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> **&nbsp;</td>
          <td class="paramname"> <em>stack</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create stack. </p>
<p>Function that creates a stack object.</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>stack</em>&nbsp;</td><td>Newly created stack object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Stack was created successfully. </dd>
<dd>
ENOMEM - No memory. </dd></dl>

</div>
</div>
<a class="anchor" id="ga04c21598bde78ae1578a963ae9a4cd34"></a><!-- doxytag: member="collection_stack.h::col_destroy_stack" ref="ga04c21598bde78ae1578a963ae9a4cd34" args="(struct collection_item *stack)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void col_destroy_stack </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destroy stack. </p>
<p>Function that destroys a stack object.</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>stack</em>&nbsp;</td><td>Stack object to destroy. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga636064c9bea75e8c27bc1d666906a2de"></a><!-- doxytag: member="collection_stack.h::col_pop_item" ref="ga636064c9bea75e8c27bc1d666906a2de" args="(struct collection_item *stack, struct collection_item **item)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_pop_item </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</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>item</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pop item from the stack. </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>stack</em>&nbsp;</td><td>Stack object. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>item</em>&nbsp;</td><td>Variable receives the value of the retrieved item. Will be set to NULL if there are no more items in the stack.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - No internal issues detected. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid argument. </dd></dl>

</div>
</div>
<a class="anchor" id="gaf0c1e52b7bfa5dc018d42c2a4098aa1f"></a><!-- doxytag: member="collection_stack.h::col_push_any_property" ref="gaf0c1e52b7bfa5dc018d42c2a4098aa1f" args="(struct collection_item *stack, const char *property, int type, void *data, int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_push_any_property </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push value of any type to the stack. </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>stack</em>&nbsp;</td><td>Stack object. </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>Type to use. </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>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was pushed 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></dl>

</div>
</div>
<a class="anchor" id="gaeee8d22b5f3ab0d0b02360e44e3c3fd0"></a><!-- doxytag: member="collection_stack.h::col_push_binary_property" ref="gaeee8d22b5f3ab0d0b02360e44e3c3fd0" args="(struct collection_item *stack, const char *property, void *binary_data, int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_push_binary_property </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push binary value to the stack. </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>stack</em>&nbsp;</td><td>Stack object. </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 binary data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was pushed successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid argument. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd></dl>

</div>
</div>
<a class="anchor" id="ga02ab2e1dbc3dc1ec72d3e63c5caee7ed"></a><!-- doxytag: member="collection_stack.h::col_push_bool_property" ref="ga02ab2e1dbc3dc1ec72d3e63c5caee7ed" args="(struct collection_item *stack, const char *property, unsigned char logical)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_push_bool_property </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push Boolean value to the stack. </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>stack</em>&nbsp;</td><td>Stack object. </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>Value to add.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was pushed successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid argument. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd></dl>

</div>
</div>
<a class="anchor" id="ga7df433a8d3e301384b0d6118642b6e48"></a><!-- doxytag: member="collection_stack.h::col_push_double_property" ref="ga7df433a8d3e301384b0d6118642b6e48" args="(struct collection_item *stack, const char *property, double number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_push_double_property </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push floating point value to the stack. </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>stack</em>&nbsp;</td><td>Stack object. </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>Value to add.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was pushed successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid argument. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd></dl>

</div>
</div>
<a class="anchor" id="gadd4e63bc3fb713f111a4a99231263d82"></a><!-- doxytag: member="collection_stack.h::col_push_int_property" ref="gadd4e63bc3fb713f111a4a99231263d82" args="(struct collection_item *stack, const char *property, int32_t number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_push_int_property </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push integer value to the stack. </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>stack</em>&nbsp;</td><td>Stack object. </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>Value to add.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was pushed successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid argument. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8e8c3a1a8111365fe6c410718f4cf3db"></a><!-- doxytag: member="collection_stack.h::col_push_item" ref="ga8e8c3a1a8111365fe6c410718f4cf3db" args="(struct collection_item *stack, struct collection_item *item)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_push_item </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</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>item</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push item into the stack. </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>stack</em>&nbsp;</td><td>Stack object. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>item</em>&nbsp;</td><td>Item to push.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Item was pushed successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid argument. </dd></dl>

</div>
</div>
<a class="anchor" id="ga330b83af64a95fca63a6b9d19edcfe8f"></a><!-- doxytag: member="collection_stack.h::col_push_long_property" ref="ga330b83af64a95fca63a6b9d19edcfe8f" args="(struct collection_item *stack, const char *property, int64_t number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_push_long_property </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push long integer value to the stack. </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>stack</em>&nbsp;</td><td>Stack object. </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>Value to add.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was pushed successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid argument. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9eb5f7c2fb9fbee8d4aa89b9db4ae9e9"></a><!-- doxytag: member="collection_stack.h::col_push_str_property" ref="ga9eb5f7c2fb9fbee8d4aa89b9db4ae9e9" args="(struct collection_item *stack, const char *property, const char *string, int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_push_str_property </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</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">const 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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push string to the stack. </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>stack</em>&nbsp;</td><td>Stack object. </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>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was pushed 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></dl>

</div>
</div>
<a class="anchor" id="ga3ec66cd2305e6b7c0ce2b2ddb3c121d9"></a><!-- doxytag: member="collection_stack.h::col_push_ulong_property" ref="ga3ec66cd2305e6b7c0ce2b2ddb3c121d9" args="(struct collection_item *stack, const char *property, uint64_t number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_push_ulong_property </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push unsigned long value to the stack. </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>stack</em>&nbsp;</td><td>Stack object. </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>Value to add.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was pushed successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid argument. </dd>
<dd>
EMSGSIZE - Property name is too long. </dd></dl>

</div>
</div>
<a class="anchor" id="gac7beb1fb37e1d2b0bbb8a3d6f5c2ae49"></a><!-- doxytag: member="collection_stack.h::col_push_unsigned_property" ref="gac7beb1fb37e1d2b0bbb8a3d6f5c2ae49" args="(struct collection_item *stack, const char *property, uint32_t number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int col_push_unsigned_property </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> *&nbsp;</td>
          <td class="paramname"> <em>stack</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push unsigned value to the stack. </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>stack</em>&nbsp;</td><td>Stack object. </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>Value to add.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was pushed successfully. </dd>
<dd>
ENOMEM - No memory. </dd>
<dd>
EINVAL - Invalid argument. </dd>
<dd>
EMSGSIZE - Property name is too long. </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>