8
8
<link rel="up" href="ch01.html" title="Evolution-Data-Server Manual: Utilities (libedataserver)">
9
9
<link rel="prev" href="EListIterator.html" title="EListIterator">
10
10
<link rel="next" href="libedataserver-EOperationPool.html" title="EOperationPool">
11
<meta name="generator" content="GTK-Doc V1.17 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
14
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
38
38
<div class="refsynopsisdiv">
39
39
<a name="libedataserver-e-memory.synopsis"></a><h2>Synopsis</h2>
40
40
<pre class="synopsis"> <a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk">EMemChunk</a>;
41
<a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="returnvalue">EMemChunk</span></a> * <a class="link" href="libedataserver-e-memory.html#e-memchunk-new" title="e_memchunk_new ()">e_memchunk_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> atomcount</code></em>,
42
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> atomsize</code></em>);
43
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="libedataserver-e-memory.html#e-memchunk-alloc" title="e_memchunk_alloc ()">e_memchunk_alloc</a> (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>);
44
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="libedataserver-e-memory.html#e-memchunk-alloc0" title="e_memchunk_alloc0 ()">e_memchunk_alloc0</a> (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>);
41
<a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="returnvalue">EMemChunk</span></a> * <a class="link" href="libedataserver-e-memory.html#e-memchunk-new" title="e_memchunk_new ()">e_memchunk_new</a> (<em class="parameter"><code><span class="type">gint</span> atomcount</code></em>,
42
<em class="parameter"><code><span class="type">gint</span> atomsize</code></em>);
43
<span class="returnvalue">gpointer</span> <a class="link" href="libedataserver-e-memory.html#e-memchunk-alloc" title="e_memchunk_alloc ()">e_memchunk_alloc</a> (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>);
44
<span class="returnvalue">gpointer</span> <a class="link" href="libedataserver-e-memory.html#e-memchunk-alloc0" title="e_memchunk_alloc0 ()">e_memchunk_alloc0</a> (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>);
45
45
<span class="returnvalue">void</span> <a class="link" href="libedataserver-e-memory.html#e-memchunk-free" title="e_memchunk_free ()">e_memchunk_free</a> (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>,
46
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> mem</code></em>);
46
<em class="parameter"><code><span class="type">gpointer</span> mem</code></em>);
47
47
<span class="returnvalue">void</span> <a class="link" href="libedataserver-e-memory.html#e-memchunk-empty" title="e_memchunk_empty ()">e_memchunk_empty</a> (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>);
48
48
<span class="returnvalue">void</span> <a class="link" href="libedataserver-e-memory.html#e-memchunk-clean" title="e_memchunk_clean ()">e_memchunk_clean</a> (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>);
49
49
<span class="returnvalue">void</span> <a class="link" href="libedataserver-e-memory.html#e-memchunk-destroy" title="e_memchunk_destroy ()">e_memchunk_destroy</a> (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>);
52
52
<div class="refsect1">
53
53
<a name="libedataserver-e-memory.description"></a><h2>Description</h2>
57
55
<div class="refsect1">
58
56
<a name="libedataserver-e-memory.details"></a><h2>Details</h2>
59
57
<div class="refsect2">
60
58
<a name="EMemChunk"></a><h3>EMemChunk</h3>
61
59
<pre class="programlisting">typedef struct _EMemChunk EMemChunk;</pre>
66
62
<div class="refsect2">
67
63
<a name="e-memchunk-new"></a><h3>e_memchunk_new ()</h3>
68
<pre class="programlisting"><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="returnvalue">EMemChunk</span></a> * e_memchunk_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> atomcount</code></em>,
69
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> atomsize</code></em>);</pre>
64
<pre class="programlisting"><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="returnvalue">EMemChunk</span></a> * e_memchunk_new (<em class="parameter"><code><span class="type">gint</span> atomcount</code></em>,
65
<em class="parameter"><code><span class="type">gint</span> atomsize</code></em>);</pre>
71
67
Create a new <a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> header. Memchunks are an efficient way to
72
68
allocate and deallocate identical sized blocks of memory quickly, and
99
95
<div class="refsect2">
100
96
<a name="e-memchunk-alloc"></a><h3>e_memchunk_alloc ()</h3>
101
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> e_memchunk_alloc (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>);</pre>
97
<pre class="programlisting"><span class="returnvalue">gpointer</span> e_memchunk_alloc (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>);</pre>
103
99
Allocate a new atom size block of memory from an <a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a>.
104
100
Free the returned atom with <a class="link" href="libedataserver-e-memory.html#e-memchunk-free" title="e_memchunk_free ()"><code class="function">e_memchunk_free()</code></a>.
122
118
<div class="refsect2">
123
119
<a name="e-memchunk-alloc0"></a><h3>e_memchunk_alloc0 ()</h3>
124
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> e_memchunk_alloc0 (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>);</pre>
120
<pre class="programlisting"><span class="returnvalue">gpointer</span> e_memchunk_alloc0 (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>);</pre>
126
122
Allocate a new atom size block of memory from an <a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a>,
127
123
and fill the memory with zeros. Free the returned atom with
146
142
<div class="refsect2">
147
143
<a name="e-memchunk-free"></a><h3>e_memchunk_free ()</h3>
148
144
<pre class="programlisting"><span class="returnvalue">void</span> e_memchunk_free (<em class="parameter"><code><a class="link" href="libedataserver-e-memory.html#EMemChunk" title="EMemChunk"><span class="type">EMemChunk</span></a> *memchunk</code></em>,
149
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> mem</code></em>);</pre>
145
<em class="parameter"><code><span class="type">gpointer</span> mem</code></em>);</pre>
151
147
Free a single atom back to the free pool of atoms in the given