Imported Upstream version 1.47.1
[platform/upstream/gobject-introspection.git] / docs / reference / html / gi-common-types.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>common types</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7 <link rel="home" href="index.html" title="GObject Introspection Reference Manual">
8 <link rel="up" href="ch01.html" title="GIRepository">
9 <link rel="prev" href="gi-struct-hierarchy.html" title="Struct hierarchy">
10 <link rel="next" href="gi-GIBaseInfo.html" title="GIBaseInfo">
11 <meta name="generator" content="GTK-Doc V1.19 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gi-struct-hierarchy.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GObject Introspection Reference Manual</th>
21 <td><a accesskey="n" href="gi-GIBaseInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gi-common-types.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gi-common-types.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="gi-common-types"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="gi-common-types.top_of_page"></a>common types</span></h2>
34 <p>common types — TODO</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="gi-common-types.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">union               <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument">GIArgument</a>;
41                     <a class="link" href="gi-common-types.html#GIUnresolvedInfo" title="GIUnresolvedInfo">GIUnresolvedInfo</a>;
42 enum                <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag">GITypeTag</a>;
43 enum                <a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType">GIArrayType</a>;
44 #define             <a class="link" href="gi-common-types.html#GI-TYPE-TAG-N-TYPES:CAPS" title="GI_TYPE_TAG_N_TYPES">GI_TYPE_TAG_N_TYPES</a>
45 #define             <a class="link" href="gi-common-types.html#G-TYPE-TAG-IS-BASIC:CAPS" title="G_TYPE_TAG_IS_BASIC()">G_TYPE_TAG_IS_BASIC</a>                 (tag)
46 </pre>
47 </div>
48 <div class="refsect1">
49 <a name="gi-common-types.description"></a><h2>Description</h2>
50 <p>
51 TODO
52 </p>
53 </div>
54 <div class="refsect1">
55 <a name="gi-common-types.details"></a><h2>Details</h2>
56 <div class="refsect2">
57 <a name="GIArgument"></a><h3>union GIArgument</h3>
58 <pre class="programlisting">union _GIArgument
59 {
60   gboolean v_boolean;
61   gint8    v_int8;
62   guint8   v_uint8;
63   gint16   v_int16;
64   guint16  v_uint16;
65   gint32   v_int32;
66   guint32  v_uint32;
67   gint64   v_int64;
68   guint64  v_uint64;
69   gfloat   v_float;
70   gdouble  v_double;
71   gshort   v_short;
72   gushort  v_ushort;
73   gint     v_int;
74   guint    v_uint;
75   glong    v_long;
76   gulong   v_ulong;
77   gssize   v_ssize;
78   gsize    v_size;
79   gchar *  v_string;
80   gpointer v_pointer;
81 };
82 </pre>
83 <p>
84 Stores an argument of varying type
85 </p>
86 <div class="variablelist"><table border="0" class="variablelist">
87 <colgroup>
88 <col align="left" valign="top">
89 <col>
90 </colgroup>
91 <tbody>
92 <tr>
93 <td><p><span class="term"><span class="type">gboolean</span> <em class="structfield"><code><a name="GIArgument.v-boolean"></a>v_boolean</code></em>;</span></p></td>
94 <td>TODO</td>
95 </tr>
96 <tr>
97 <td><p><span class="term"><span class="type">gint8</span> <em class="structfield"><code><a name="GIArgument.v-int8"></a>v_int8</code></em>;</span></p></td>
98 <td>TODO</td>
99 </tr>
100 <tr>
101 <td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="GIArgument.v-uint8"></a>v_uint8</code></em>;</span></p></td>
102 <td>TODO</td>
103 </tr>
104 <tr>
105 <td><p><span class="term"><span class="type">gint16</span> <em class="structfield"><code><a name="GIArgument.v-int16"></a>v_int16</code></em>;</span></p></td>
106 <td>TODO</td>
107 </tr>
108 <tr>
109 <td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="GIArgument.v-uint16"></a>v_uint16</code></em>;</span></p></td>
110 <td>TODO</td>
111 </tr>
112 <tr>
113 <td><p><span class="term"><span class="type">gint32</span> <em class="structfield"><code><a name="GIArgument.v-int32"></a>v_int32</code></em>;</span></p></td>
114 <td>TODO</td>
115 </tr>
116 <tr>
117 <td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="GIArgument.v-uint32"></a>v_uint32</code></em>;</span></p></td>
118 <td>TODO</td>
119 </tr>
120 <tr>
121 <td><p><span class="term"><span class="type">gint64</span> <em class="structfield"><code><a name="GIArgument.v-int64"></a>v_int64</code></em>;</span></p></td>
122 <td>TODO</td>
123 </tr>
124 <tr>
125 <td><p><span class="term"><span class="type">guint64</span> <em class="structfield"><code><a name="GIArgument.v-uint64"></a>v_uint64</code></em>;</span></p></td>
126 <td>TODO</td>
127 </tr>
128 <tr>
129 <td><p><span class="term"><span class="type">gfloat</span> <em class="structfield"><code><a name="GIArgument.v-float"></a>v_float</code></em>;</span></p></td>
130 <td>TODO</td>
131 </tr>
132 <tr>
133 <td><p><span class="term"><span class="type">gdouble</span> <em class="structfield"><code><a name="GIArgument.v-double"></a>v_double</code></em>;</span></p></td>
134 <td>TODO</td>
135 </tr>
136 <tr>
137 <td><p><span class="term"><span class="type">gshort</span> <em class="structfield"><code><a name="GIArgument.v-short"></a>v_short</code></em>;</span></p></td>
138 <td>TODO</td>
139 </tr>
140 <tr>
141 <td><p><span class="term"><span class="type">gushort</span> <em class="structfield"><code><a name="GIArgument.v-ushort"></a>v_ushort</code></em>;</span></p></td>
142 <td>TODO</td>
143 </tr>
144 <tr>
145 <td><p><span class="term"><span class="type">gint</span> <em class="structfield"><code><a name="GIArgument.v-int"></a>v_int</code></em>;</span></p></td>
146 <td>TODO</td>
147 </tr>
148 <tr>
149 <td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="GIArgument.v-uint"></a>v_uint</code></em>;</span></p></td>
150 <td>TODO</td>
151 </tr>
152 <tr>
153 <td><p><span class="term"><span class="type">glong</span> <em class="structfield"><code><a name="GIArgument.v-long"></a>v_long</code></em>;</span></p></td>
154 <td>TODO</td>
155 </tr>
156 <tr>
157 <td><p><span class="term"><span class="type">gulong</span> <em class="structfield"><code><a name="GIArgument.v-ulong"></a>v_ulong</code></em>;</span></p></td>
158 <td>TODO</td>
159 </tr>
160 <tr>
161 <td><p><span class="term"><span class="type">gssize</span> <em class="structfield"><code><a name="GIArgument.v-ssize"></a>v_ssize</code></em>;</span></p></td>
162 <td>TODO</td>
163 </tr>
164 <tr>
165 <td><p><span class="term"><span class="type">gsize</span> <em class="structfield"><code><a name="GIArgument.v-size"></a>v_size</code></em>;</span></p></td>
166 <td>TODO</td>
167 </tr>
168 <tr>
169 <td><p><span class="term"><span class="type">gchar</span> *<em class="structfield"><code><a name="GIArgument.v-string"></a>v_string</code></em>;</span></p></td>
170 <td>TODO</td>
171 </tr>
172 <tr>
173 <td><p><span class="term"><span class="type">gpointer</span> <em class="structfield"><code><a name="GIArgument.v-pointer"></a>v_pointer</code></em>;</span></p></td>
174 <td>TODO</td>
175 </tr>
176 </tbody>
177 </table></div>
178 </div>
179 <hr>
180 <div class="refsect2">
181 <a name="GIUnresolvedInfo"></a><h3>GIUnresolvedInfo</h3>
182 <pre class="programlisting">typedef struct _GIUnresolvedInfo GIUnresolvedInfo;</pre>
183 <p>
184 Represents a unresolved type in a typelib.
185 </p>
186 </div>
187 <hr>
188 <div class="refsect2">
189 <a name="GITypeTag"></a><h3>enum GITypeTag</h3>
190 <pre class="programlisting">typedef enum {
191   /* Basic types */
192   GI_TYPE_TAG_VOID      =  0,
193   GI_TYPE_TAG_BOOLEAN   =  1,
194   GI_TYPE_TAG_INT8      =  2,
195   GI_TYPE_TAG_UINT8     =  3,
196   GI_TYPE_TAG_INT16     =  4,
197   GI_TYPE_TAG_UINT16    =  5,
198   GI_TYPE_TAG_INT32     =  6,
199   GI_TYPE_TAG_UINT32    =  7,
200   GI_TYPE_TAG_INT64     =  8,
201   GI_TYPE_TAG_UINT64    =  9,
202   GI_TYPE_TAG_FLOAT     = 10,
203   GI_TYPE_TAG_DOUBLE    = 11,
204   GI_TYPE_TAG_GTYPE     = 12,
205   GI_TYPE_TAG_UTF8      = 13,
206   GI_TYPE_TAG_FILENAME  = 14,
207   /* Non-basic types; compare with G_TYPE_TAG_IS_BASIC */
208   GI_TYPE_TAG_ARRAY     = 15,
209   GI_TYPE_TAG_INTERFACE = 16,
210   GI_TYPE_TAG_GLIST     = 17,
211   GI_TYPE_TAG_GSLIST    = 18,
212   GI_TYPE_TAG_GHASH     = 19,
213   GI_TYPE_TAG_ERROR     = 20,
214   /* Another basic type */
215   GI_TYPE_TAG_UNICHAR   = 21
216   /* Note - there is currently only room for 32 tags */
217 } GITypeTag;
218 </pre>
219 <p>
220 The type tag of a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.
221 </p>
222 <div class="variablelist"><table border="0" class="variablelist">
223 <colgroup>
224 <col align="left" valign="top">
225 <col>
226 </colgroup>
227 <tbody>
228 <tr>
229 <td><p><a name="GI-TYPE-TAG-VOID:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_VOID</code></span></p></td>
230 <td>void
231 </td>
232 </tr>
233 <tr>
234 <td><p><a name="GI-TYPE-TAG-BOOLEAN:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_BOOLEAN</code></span></p></td>
235 <td>boolean
236 </td>
237 </tr>
238 <tr>
239 <td><p><a name="GI-TYPE-TAG-INT8:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_INT8</code></span></p></td>
240 <td>8-bit signed integer
241 </td>
242 </tr>
243 <tr>
244 <td><p><a name="GI-TYPE-TAG-UINT8:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UINT8</code></span></p></td>
245 <td>8-bit unsigned integer
246 </td>
247 </tr>
248 <tr>
249 <td><p><a name="GI-TYPE-TAG-INT16:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_INT16</code></span></p></td>
250 <td>16-bit signed integer
251 </td>
252 </tr>
253 <tr>
254 <td><p><a name="GI-TYPE-TAG-UINT16:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UINT16</code></span></p></td>
255 <td>16-bit unsigned integer
256 </td>
257 </tr>
258 <tr>
259 <td><p><a name="GI-TYPE-TAG-INT32:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_INT32</code></span></p></td>
260 <td>32-bit signed integer
261 </td>
262 </tr>
263 <tr>
264 <td><p><a name="GI-TYPE-TAG-UINT32:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UINT32</code></span></p></td>
265 <td>32-bit unsigned integer
266 </td>
267 </tr>
268 <tr>
269 <td><p><a name="GI-TYPE-TAG-INT64:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_INT64</code></span></p></td>
270 <td>64-bit signed integer
271 </td>
272 </tr>
273 <tr>
274 <td><p><a name="GI-TYPE-TAG-UINT64:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UINT64</code></span></p></td>
275 <td>64-bit unsigned integer
276 </td>
277 </tr>
278 <tr>
279 <td><p><a name="GI-TYPE-TAG-FLOAT:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_FLOAT</code></span></p></td>
280 <td>float
281 </td>
282 </tr>
283 <tr>
284 <td><p><a name="GI-TYPE-TAG-DOUBLE:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_DOUBLE</code></span></p></td>
285 <td>double floating point
286 </td>
287 </tr>
288 <tr>
289 <td><p><a name="GI-TYPE-TAG-GTYPE:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_GTYPE</code></span></p></td>
290 <td>a <span class="type">GType</span>
291 </td>
292 </tr>
293 <tr>
294 <td><p><a name="GI-TYPE-TAG-UTF8:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UTF8</code></span></p></td>
295 <td>a UTF-8 encoded string
296 </td>
297 </tr>
298 <tr>
299 <td><p><a name="GI-TYPE-TAG-FILENAME:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_FILENAME</code></span></p></td>
300 <td>a filename, encoded in the same encoding
301   as the native filesystem is using.
302 </td>
303 </tr>
304 <tr>
305 <td><p><a name="GI-TYPE-TAG-ARRAY:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_ARRAY</code></span></p></td>
306 <td>an array
307 </td>
308 </tr>
309 <tr>
310 <td><p><a name="GI-TYPE-TAG-INTERFACE:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_INTERFACE</code></span></p></td>
311 <td>an extended interface object
312 </td>
313 </tr>
314 <tr>
315 <td><p><a name="GI-TYPE-TAG-GLIST:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_GLIST</code></span></p></td>
316 <td>a <span class="type">GList</span>
317 </td>
318 </tr>
319 <tr>
320 <td><p><a name="GI-TYPE-TAG-GSLIST:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_GSLIST</code></span></p></td>
321 <td>a <span class="type">GSList</span>
322 </td>
323 </tr>
324 <tr>
325 <td><p><a name="GI-TYPE-TAG-GHASH:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_GHASH</code></span></p></td>
326 <td>a <span class="type">GHashTable</span>
327 </td>
328 </tr>
329 <tr>
330 <td><p><a name="GI-TYPE-TAG-ERROR:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_ERROR</code></span></p></td>
331 <td>a <span class="type">GError</span>
332 </td>
333 </tr>
334 <tr>
335 <td><p><a name="GI-TYPE-TAG-UNICHAR:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UNICHAR</code></span></p></td>
336 <td>Unicode character
337 </td>
338 </tr>
339 </tbody>
340 </table></div>
341 </div>
342 <hr>
343 <div class="refsect2">
344 <a name="GIArrayType"></a><h3>enum GIArrayType</h3>
345 <pre class="programlisting">typedef enum {
346   GI_ARRAY_TYPE_C,
347   GI_ARRAY_TYPE_ARRAY,
348   GI_ARRAY_TYPE_PTR_ARRAY,
349   GI_ARRAY_TYPE_BYTE_ARRAY
350 } GIArrayType;
351 </pre>
352 <p>
353 The type of array in a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.
354 </p>
355 <div class="variablelist"><table border="0" class="variablelist">
356 <colgroup>
357 <col align="left" valign="top">
358 <col>
359 </colgroup>
360 <tbody>
361 <tr>
362 <td><p><a name="GI-ARRAY-TYPE-C:CAPS"></a><span class="term"><code class="literal">GI_ARRAY_TYPE_C</code></span></p></td>
363 <td>a C array, char[] for instance
364 </td>
365 </tr>
366 <tr>
367 <td><p><a name="GI-ARRAY-TYPE-ARRAY:CAPS"></a><span class="term"><code class="literal">GI_ARRAY_TYPE_ARRAY</code></span></p></td>
368 <td>a <em class="parameter"><code>GArray</code></em> array
369 </td>
370 </tr>
371 <tr>
372 <td><p><a name="GI-ARRAY-TYPE-PTR-ARRAY:CAPS"></a><span class="term"><code class="literal">GI_ARRAY_TYPE_PTR_ARRAY</code></span></p></td>
373 <td>a <span class="type">GPtrArray</span> array
374 </td>
375 </tr>
376 <tr>
377 <td><p><a name="GI-ARRAY-TYPE-BYTE-ARRAY:CAPS"></a><span class="term"><code class="literal">GI_ARRAY_TYPE_BYTE_ARRAY</code></span></p></td>
378 <td>a <span class="type">GByteArray</span> array
379 </td>
380 </tr>
381 </tbody>
382 </table></div>
383 </div>
384 <hr>
385 <div class="refsect2">
386 <a name="GI-TYPE-TAG-N-TYPES:CAPS"></a><h3>GI_TYPE_TAG_N_TYPES</h3>
387 <pre class="programlisting">#define GI_TYPE_TAG_N_TYPES (GI_TYPE_TAG_UNICHAR+1)
388 </pre>
389 <p>
390 TODO
391 </p>
392 </div>
393 <hr>
394 <div class="refsect2">
395 <a name="G-TYPE-TAG-IS-BASIC:CAPS"></a><h3>G_TYPE_TAG_IS_BASIC()</h3>
396 <pre class="programlisting">#define G_TYPE_TAG_IS_BASIC(tag) (tag &lt; GI_TYPE_TAG_ARRAY || tag == GI_TYPE_TAG_UNICHAR)
397 </pre>
398 <p>
399 Checks if <em class="parameter"><code>tag</code></em> is a basic type.
400 </p>
401 <div class="variablelist"><table border="0" class="variablelist">
402 <colgroup>
403 <col align="left" valign="top">
404 <col>
405 </colgroup>
406 <tbody><tr>
407 <td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
408 <td>a type tag</td>
409 </tr></tbody>
410 </table></div>
411 </div>
412 </div>
413 </div>
414 <div class="footer">
415 <hr>
416           Generated by GTK-Doc V1.19</div>
417 </body>
418 </html>