4
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
<title>Allocators</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.74.2">
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7
7
<link rel="home" href="index.html" title="ORBit2 Reference Manual">
8
8
<link rel="up" href="general.html" title="API">
9
9
<link rel="prev" href="general.html" title="API">
10
10
<link rel="next" href="ORBit2-orbit2-small.html" title="orbit2-small">
11
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
<link rel="chapter" href="general.html" title="API">
37
37
<td valign="top" align="right"></td>
38
38
</tr></table></div>
39
<div class="refsynopsisdiv">
39
<div class="refsynopsisdiv" title="Synopsis">
40
40
<a name="ORBit2-orbit2-allocators.synopsis"></a><h2>Synopsis</h2>
41
<pre class="synopsis">
42
#define <a class="link" href="ORBit2-orbit2-allocators.html#CORBA-sequence-set-release" title="CORBA_sequence_set_release()">CORBA_sequence_set_release</a> (s,r)
41
<pre class="synopsis">#define <a class="link" href="ORBit2-orbit2-allocators.html#CORBA-sequence-set-release" title="CORBA_sequence_set_release()">CORBA_sequence_set_release</a> (s,r)
43
42
#define <a class="link" href="ORBit2-orbit2-allocators.html#CORBA-sequence-get-release" title="CORBA_sequence_get_release()">CORBA_sequence_get_release</a> (s)
44
void <a class="link" href="ORBit2-orbit2-allocators.html#CORBA-free" title="CORBA_free ()">CORBA_free</a> (<a
45
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
48
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
49
>gpointer</a> <a class="link" href="ORBit2-orbit2-allocators.html#ORBit-alloc-tcval" title="ORBit_alloc_tcval ()">ORBit_alloc_tcval</a> (CORBA_TypeCode tc,
51
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"
52
>guint</a> nelements);
54
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
55
>gpointer</a> <a class="link" href="ORBit2-orbit2-allocators.html#ORBit-realloc-tcval" title="ORBit_realloc_tcval ()">ORBit_realloc_tcval</a> (<a
56
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
60
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"
61
>guint</a> old_num_elements,
63
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"
64
>guint</a> num_elements);
43
<span class="returnvalue">void</span> <a class="link" href="ORBit2-orbit2-allocators.html#CORBA-free" title="CORBA_free ()">CORBA_free</a> (<span class="returnvalue">gpointer</span> mem);
44
<span class="returnvalue">gpointer</span> <a class="link" href="ORBit2-orbit2-allocators.html#ORBit-alloc-tcval" title="ORBit_alloc_tcval ()">ORBit_alloc_tcval</a> (<span class="returnvalue">CORBA_TypeCode</span> tc,
45
<span class="returnvalue">guint</span> nelements);
46
<span class="returnvalue">gpointer</span> <a class="link" href="ORBit2-orbit2-allocators.html#ORBit-realloc-tcval" title="ORBit_realloc_tcval ()">ORBit_realloc_tcval</a> (<span class="returnvalue">gpointer</span> old,
47
<span class="returnvalue">CORBA_TypeCode</span> tc,
48
<span class="returnvalue">guint</span> old_num_elements,
49
<span class="returnvalue">guint</span> num_elements);
67
<div class="refsect1" lang="en">
52
<div class="refsect1" title="Description">
68
53
<a name="ORBit2-orbit2-allocators.description"></a><h2>Description</h2>
72
<div class="refsect1" lang="en">
57
<div class="refsect1" title="Details">
73
58
<a name="ORBit2-orbit2-allocators.details"></a><h2>Details</h2>
74
<div class="refsect2" lang="en">
59
<div class="refsect2" title="CORBA_sequence_set_release()">
75
60
<a name="CORBA-sequence-set-release"></a><h3>CORBA_sequence_set_release()</h3>
76
61
<pre class="programlisting">#define CORBA_sequence_set_release(s,r) (s)->_release = r
79
64
<a class="link" href="ORBit2-orbit2-allocators.html#CORBA-sequence-set-release" title="CORBA_sequence_set_release()"><code class="function">CORBA_sequence_set_release()</code></a> can be used to set the state of the
80
release flag. If the flag is set to <a
81
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE--CAPS"
82
><code class="literal">TRUE</code></a>, the sequence effectively
65
release flag. If the flag is set to <code class="literal">TRUE</code>, the sequence effectively
83
66
"owns" the storage pointed to by <em class="structfield"><code>_buffer</code></em>; if
85
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE--CAPS"
86
><code class="literal">FALSE</code></a>, the programmer is responsible for the storage. If, for
67
<code class="literal">FALSE</code>, the programmer is responsible for the storage. If, for
87
68
example, a sequence is returned from an operation with its release
89
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE--CAPS"
90
><code class="literal">FALSE</code></a>, calling <a class="link" href="ORBit2-orbit2-allocators.html#CORBA-free" title="CORBA_free ()"><code class="function">CORBA_free()</code></a> on the returned sequence
69
flag set to <code class="literal">FALSE</code>, calling <a class="link" href="ORBit2-orbit2-allocators.html#CORBA-free" title="CORBA_free ()"><code class="function">CORBA_free()</code></a> on the returned sequence
91
70
pointer will not deallocate the memory pointed to by
92
71
<em class="structfield"><code>_buffer</code></em>.
128
105
Before calling <a class="link" href="ORBit2-orbit2-allocators.html#CORBA-free" title="CORBA_free ()"><code class="function">CORBA_free()</code></a> on the
129
106
<em class="structfield"><code>_buffer</code></em> member of a sequence directly,
130
107
the programmer should check the release flag using
131
<a class="link" href="ORBit2-orbit2-allocators.html#CORBA-sequence-get-release" title="CORBA_sequence_get_release()"><code class="function">CORBA_sequence_get_release()</code></a>. If it returns <a
132
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE--CAPS"
133
><code class="literal">FALSE</code></a>, the programmer
108
<a class="link" href="ORBit2-orbit2-allocators.html#CORBA-sequence-get-release" title="CORBA_sequence_get_release()"><code class="function">CORBA_sequence_get_release()</code></a>. If it returns <code class="literal">FALSE</code>, the programmer
134
109
should not invoke <a class="link" href="ORBit2-orbit2-allocators.html#CORBA-free" title="CORBA_free ()"><code class="function">CORBA_free()</code></a> on the
135
110
<em class="structfield"><code>_buffer</code></em> member; doing so produces
136
111
undefined behavior.
170
<div class="refsect2" lang="en">
143
<div class="refsect2" title="ORBit_alloc_tcval ()">
171
144
<a name="ORBit-alloc-tcval"></a><h3>ORBit_alloc_tcval ()</h3>
172
<pre class="programlisting"><a
173
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
174
>gpointer</a> ORBit_alloc_tcval (CORBA_TypeCode tc,
176
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"
177
>guint</a> nelements);</pre>
145
<pre class="programlisting"><span class="returnvalue">gpointer</span> ORBit_alloc_tcval (<span class="returnvalue">CORBA_TypeCode</span> tc,
146
<span class="returnvalue">guint</span> nelements);</pre>
179
148
Allocates a memory buffer that can hold <em class="parameter"><code>nelemems</code></em> elements of type <em class="parameter"><code>tc</code></em>.
203
<div class="refsect2" lang="en">
172
<div class="refsect2" title="ORBit_realloc_tcval ()">
204
173
<a name="ORBit-realloc-tcval"></a><h3>ORBit_realloc_tcval ()</h3>
205
<pre class="programlisting"><a
206
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
207
>gpointer</a> ORBit_realloc_tcval (<a
208
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
212
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"
213
>guint</a> old_num_elements,
215
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"
216
>guint</a> num_elements);</pre>
174
<pre class="programlisting"><span class="returnvalue">gpointer</span> ORBit_realloc_tcval (<span class="returnvalue">gpointer</span> old,
175
<span class="returnvalue">CORBA_TypeCode</span> tc,
176
<span class="returnvalue">guint</span> old_num_elements,
177
<span class="returnvalue">guint</span> num_elements);</pre>
218
179
Changes the size of a CORBA memory buffer.