1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5
<title>GLib Reference Manual</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
7
<link rel="start" href="index.html" title="GLib Reference Manual">
8
<link rel="next" href="glib.html" title="GLib Overview">
9
<meta name="generator" content="GTK-Doc V1.7 (XML mode)">
10
<link rel="stylesheet" href="style.css" type="text/css">
11
<link rel="chapter" href="glib.html" title="GLib Overview">
12
<link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals">
13
<link rel="chapter" href="glib-core.html" title="GLib Core Application Support">
14
<link rel="chapter" href="glib-utilities.html" title="GLib Utilities">
15
<link rel="chapter" href="glib-data-types.html" title="GLib Data Types">
16
<link rel="chapter" href="tools.html" title="GLib Tools">
17
<link rel="index" href="ix01.html" title="Index">
18
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
19
<link rel="index" href="ix03.html" title="Index of new symbols in 2.2">
20
<link rel="index" href="ix04.html" title="Index of new symbols in 2.4">
21
<link rel="index" href="ix05.html" title="Index of new symbols in 2.6">
22
<link rel="index" href="ix06.html" title="Index of new symbols in 2.8">
23
<link rel="index" href="ix07.html" title="Index of new symbols in 2.10">
24
<link rel="index" href="ix08.html" title="Index of new symbols in 2.12">
26
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en">
27
<div class="titlepage">
29
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GLib Reference Manual</p></th></tr></table></div>
30
<div><p class="releaseinfo">for GLib 2.12.12
36
<dt><span class="chapter"><a href="glib.html">GLib Overview</a></span></dt>
39
<span class="refentrytitle"><a href="glib-building.html">Compiling the GLib package</a></span><span class="refpurpose"> —
40
How to compile GLib itself
44
<span class="refentrytitle"><a href="glib-cross-compiling.html">Cross-compiling the GLib package</a></span><span class="refpurpose"> —
45
How to cross-compile GLib
49
<span class="refentrytitle"><a href="glib-compiling.html">Compiling GLib Applications</a></span><span class="refpurpose"> —
50
How to compile your GLib application
54
<span class="refentrytitle"><a href="glib-running.html">Running GLib Applications</a></span><span class="refpurpose"> —
55
How to run and debug your GLib application
59
<span class="refentrytitle"><a href="glib-changes.html">Changes to GLib</a></span><span class="refpurpose"> —
60
Incompatible changes made between successing versions of GLib
64
<span class="refentrytitle"><a href="glib-resources.html">Mailing lists and bug reports</a></span><span class="refpurpose"> —
65
Getting help with GLib
69
<dt><span class="chapter"><a href="glib-fundamentals.html">GLib Fundamentals</a></span></dt>
72
<span class="refentrytitle"><a href="glib-Version-Information.html">Version Information</a></span><span class="refpurpose"> — Variables and functions to check the GLib version</span>
75
<span class="refentrytitle"><a href="glib-Basic-Types.html">Basic Types</a></span><span class="refpurpose"> — standard GLib types, defined for ease-of-use and portability.</span>
78
<span class="refentrytitle"><a href="glib-Limits-of-Basic-Types.html">Limits of Basic Types</a></span><span class="refpurpose"> — portable method of determining the limits of the standard types.</span>
81
<span class="refentrytitle"><a href="glib-Standard-Macros.html">Standard Macros</a></span><span class="refpurpose"> — commonly-used macros.</span>
84
<span class="refentrytitle"><a href="glib-Type-Conversion-Macros.html">Type Conversion Macros</a></span><span class="refpurpose"> —
85
portably storing integers in pointer variables.</span>
88
<span class="refentrytitle"><a href="glib-Byte-Order-Macros.html">Byte Order Macros</a></span><span class="refpurpose"> — a portable way to convert between different byte orders.</span>
91
<span class="refentrytitle"><a href="glib-Numerical-Definitions.html">Numerical Definitions</a></span><span class="refpurpose"> — mathematical constants, and floating point decomposition.</span>
94
<span class="refentrytitle"><a href="glib-Miscellaneous-Macros.html">Miscellaneous Macros</a></span><span class="refpurpose"> — specialized macros which are not used often.</span>
97
<span class="refentrytitle"><a href="glib-Atomic-Operations.html">Atomic Operations</a></span><span class="refpurpose"> — basic atomic integer and pointer operations</span>
100
<dt><span class="chapter"><a href="glib-core.html">GLib Core Application Support</a></span></dt>
103
<span class="refentrytitle"><a href="glib-The-Main-Event-Loop.html">The Main Event Loop</a></span><span class="refpurpose"> — manages all available sources of events.</span>
106
<span class="refentrytitle"><a href="glib-Threads.html">
107
Threads</a></span><span class="refpurpose"> —
108
thread abstraction; including threads, different mutexes, conditions
109
and thread private data.</span>
112
<span class="refentrytitle"><a href="glib-Thread-Pools.html">Thread Pools</a></span><span class="refpurpose"> — pools of threads to execute work concurrently.</span>
115
<span class="refentrytitle"><a href="glib-Asynchronous-Queues.html">Asynchronous Queues</a></span><span class="refpurpose"> — asynchronous communication between threads.</span>
118
<span class="refentrytitle"><a href="glib-Dynamic-Loading-of-Modules.html">Dynamic Loading of Modules</a></span><span class="refpurpose"> — portable method for dynamically loading 'plug-ins'.</span>
121
<span class="refentrytitle"><a href="glib-Memory-Allocation.html">Memory Allocation</a></span><span class="refpurpose"> — general memory-handling.</span>
124
<span class="refentrytitle"><a href="glib-IO-Channels.html">IO Channels</a></span><span class="refpurpose"> — portable support for using files, pipes and sockets.</span>
127
<span class="refentrytitle"><a href="glib-Error-Reporting.html">Error Reporting</a></span><span class="refpurpose"> — a system for reporting errors.</span>
130
<span class="refentrytitle"><a href="glib-Warnings-and-Assertions.html">Message Output and Debugging Functions</a></span><span class="refpurpose"> — functions to output messages and help debug applications.</span>
133
<span class="refentrytitle"><a href="glib-Message-Logging.html">Message Logging</a></span><span class="refpurpose"> — versatile support for logging messages with different levels of importance.</span>
136
<dt><span class="chapter"><a href="glib-utilities.html">GLib Utilities</a></span></dt>
139
<span class="refentrytitle"><a href="glib-String-Utility-Functions.html">String Utility Functions</a></span><span class="refpurpose"> — various string-related functions.</span>
142
<span class="refentrytitle"><a href="glib-Character-Set-Conversion.html">Character Set Conversion</a></span><span class="refpurpose"> — convert strings between different character sets using <code class="function"><code class="function">iconv()</code></code>.</span>
145
<span class="refentrytitle"><a href="glib-Unicode-Manipulation.html">Unicode Manipulation</a></span><span class="refpurpose"> — functions operating on Unicode characters and UTF-8 strings.</span>
148
<span class="refentrytitle"><a href="glib-Base64-Encoding.html">Base64 Encoding</a></span><span class="refpurpose"> — encodes and decodes data in Base64 format</span>
151
<span class="refentrytitle"><a href="glib-I18N.html">Internationalization</a></span><span class="refpurpose"> — gettext support macros.</span>
154
<span class="refentrytitle"><a href="glib-Date-and-Time-Functions.html">Date and Time Functions</a></span><span class="refpurpose"> — calendrical calculations and miscellaneous time stuff.</span>
157
<span class="refentrytitle"><a href="glib-Random-Numbers.html">Random Numbers</a></span><span class="refpurpose"> — pseudo-random number generator.</span>
160
<span class="refentrytitle"><a href="glib-Hook-Functions.html">Hook Functions</a></span><span class="refpurpose"> — support for manipulating lists of hook functions.</span>
163
<span class="refentrytitle"><a href="glib-Miscellaneous-Utility-Functions.html">Miscellaneous Utility Functions</a></span><span class="refpurpose"> — a selection of portable utility functions.</span>
166
<span class="refentrytitle"><a href="glib-Lexical-Scanner.html">Lexical Scanner</a></span><span class="refpurpose"> — a general purpose lexical scanner.</span>
169
<span class="refentrytitle"><a href="glib-Automatic-String-Completion.html">Automatic String Completion</a></span><span class="refpurpose"> — support for automatic completion using a group of target strings.</span>
172
<span class="refentrytitle"><a href="glib-Timers.html">Timers</a></span><span class="refpurpose"> —
173
keep track of elapsed time.</span>
176
<span class="refentrytitle"><a href="glib-Spawning-Processes.html">Spawning Processes</a></span><span class="refpurpose"> — process launching with <code class="function"><code class="function">fork()</code></code>/<code class="function"><code class="function">exec()</code></code>.</span>
179
<span class="refentrytitle"><a href="glib-File-Utilities.html">File Utilities</a></span><span class="refpurpose"> — various file-related functions.</span>
182
<span class="refentrytitle"><a href="glib-Shell-related-Utilities.html">Shell-related Utilities</a></span><span class="refpurpose"> — shell-like commandline handling.</span>
185
<span class="refentrytitle"><a href="glib-Commandline-option-parser.html">Commandline option parser</a></span><span class="refpurpose"> — parses commandline options</span>
188
<span class="refentrytitle"><a href="glib-Glob-style-pattern-matching.html">Glob-style pattern matching</a></span><span class="refpurpose"> — matches strings against patterns containing '*' (wildcard) and '?' (joker).</span>
191
<span class="refentrytitle"><a href="glib-Simple-XML-Subset-Parser.html">Simple XML Subset Parser</a></span><span class="refpurpose"> — parses a subset of XML.</span>
194
<span class="refentrytitle"><a href="glib-Key-value-file-parser.html">Key-value file parser</a></span><span class="refpurpose"> — parses <code class="filename">.ini</code>-like config files</span>
197
<span class="refentrytitle"><a href="glib-Bookmark-file-parser.html">Bookmark file parser</a></span><span class="refpurpose"> — parses files containing bookmarks</span>
200
<span class="refentrytitle"><a href="glib-Windows-Compatibility-Functions.html">Windows Compatibility Functions</a></span><span class="refpurpose"> — UNIX emulation on Windows.</span>
203
<dt><span class="chapter"><a href="glib-data-types.html">GLib Data Types</a></span></dt>
206
<span class="refentrytitle"><a href="glib-Memory-Slices.html">Memory Slices</a></span><span class="refpurpose"> — efficient way to allocate groups of equal-sized chunks of memory.</span>
209
<span class="refentrytitle"><a href="glib-Memory-Chunks.html">Memory Chunks</a></span><span class="refpurpose"> — deprecated way to allocate groups of equal-sized chunks of memory.</span>
212
<span class="refentrytitle"><a href="glib-Doubly-Linked-Lists.html">Doubly-Linked Lists</a></span><span class="refpurpose"> — linked lists containing integer values or pointers to data, with the ability
213
to iterate over the list in both directions.</span>
216
<span class="refentrytitle"><a href="glib-Singly-Linked-Lists.html">Singly-Linked Lists</a></span><span class="refpurpose"> — linked lists containing integer values or pointers to data, limited to
217
iterating over the list in one direction.</span>
220
<span class="refentrytitle"><a href="glib-Double-ended-Queues.html">Double-ended Queues</a></span><span class="refpurpose"> — double-ended queue data structure.</span>
223
<span class="refentrytitle"><a href="glib-Trash-Stacks.html">Trash Stacks</a></span><span class="refpurpose"> — maintain a stack of unused allocated memory chunks.</span>
226
<span class="refentrytitle"><a href="glib-Hash-Tables.html">Hash Tables</a></span><span class="refpurpose"> — associations between keys and values so that given a key the value
227
can be found quickly.</span>
230
<span class="refentrytitle"><a href="glib-Strings.html">Strings</a></span><span class="refpurpose"> — text buffers which grow automatically as text is added.</span>
233
<span class="refentrytitle"><a href="glib-String-Chunks.html">String Chunks</a></span><span class="refpurpose"> — efficient storage of groups of strings.</span>
236
<span class="refentrytitle"><a href="glib-Arrays.html">Arrays</a></span><span class="refpurpose"> — arrays of arbitrary elements which grow automatically as elements are added.</span>
239
<span class="refentrytitle"><a href="glib-Pointer-Arrays.html">Pointer Arrays</a></span><span class="refpurpose"> — arrays of pointers to any type of data, which grow automatically as new
240
elements are added.</span>
243
<span class="refentrytitle"><a href="glib-Byte-Arrays.html">Byte Arrays</a></span><span class="refpurpose"> — arrays of bytes, which grow automatically as elements are added.</span>
246
<span class="refentrytitle"><a href="glib-Balanced-Binary-Trees.html">Balanced Binary Trees</a></span><span class="refpurpose"> — a sorted collection of key/value pairs optimized for searching
247
and traversing in order.</span>
250
<span class="refentrytitle"><a href="glib-N-ary-Trees.html">N-ary Trees</a></span><span class="refpurpose"> — trees of data with any number of branches.</span>
253
<span class="refentrytitle"><a href="glib-Quarks.html">Quarks</a></span><span class="refpurpose"> — a 2-way association between a string and a unique integer identifier.</span>
256
<span class="refentrytitle"><a href="glib-Keyed-Data-Lists.html">Keyed Data Lists</a></span><span class="refpurpose"> — lists of data elements which are accessible by a string or <a href="glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> identifier.</span>
259
<span class="refentrytitle"><a href="glib-Datasets.html">Datasets</a></span><span class="refpurpose"> — associate groups of data elements with particular memory locations.</span>
262
<span class="refentrytitle"><a href="glib-Relations-and-Tuples.html">Relations and Tuples</a></span><span class="refpurpose"> — tables of data which can be indexed on any number of fields.</span>
265
<span class="refentrytitle"><a href="glib-Caches.html">Caches</a></span><span class="refpurpose"> — caches allow sharing of complex data structures to save resources.</span>
268
<span class="refentrytitle"><a href="glib-Memory-Allocators.html">Memory Allocators</a></span><span class="refpurpose"> — deprecated way to allocate chunks of memory for <a href="glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a>, <a href="glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> and <a href="glib-N-ary-Trees.html#GNode"><span class="type">GNode</span></a>.</span>
271
<dt><span class="chapter"><a href="tools.html">GLib Tools</a></span></dt>
273
<span class="refentrytitle"><a href="glib-gettextize.html">glib-gettextize</a></span><span class="refpurpose"> — gettext internationalization utility</span>
275
<dt><span class="index"><a href="ix01.html">Index</a></span></dt>
276
<dt><span class="index"><a href="ix02.html">Index of deprecated symbols</a></span></dt>
277
<dt><span class="index"><a href="ix03.html">Index of new symbols in 2.2</a></span></dt>
278
<dt><span class="index"><a href="ix04.html">Index of new symbols in 2.4</a></span></dt>
279
<dt><span class="index"><a href="ix05.html">Index of new symbols in 2.6</a></span></dt>
280
<dt><span class="index"><a href="ix06.html">Index of new symbols in 2.8</a></span></dt>
281
<dt><span class="index"><a href="ix07.html">Index of new symbols in 2.10</a></span></dt>
282
<dt><span class="index"><a href="ix08.html">Index of new symbols in 2.12</a></span></dt>