1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GLib Reference Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7 <link rel="home" 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.13 (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="api-index-full.html" title="Index">
18 <link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
19 <link rel="index" href="api-index-2-2.html" title="Index of new symbols in 2.2">
20 <link rel="index" href="api-index-2-4.html" title="Index of new symbols in 2.4">
21 <link rel="index" href="api-index-2-6.html" title="Index of new symbols in 2.6">
22 <link rel="index" href="api-index-2-8.html" title="Index of new symbols in 2.8">
23 <link rel="index" href="api-index-2-10.html" title="Index of new symbols in 2.10">
24 <link rel="index" href="api-index-2-12.html" title="Index of new symbols in 2.12">
25 <link rel="index" href="api-index-2-14.html" title="Index of new symbols in 2.14">
26 <link rel="index" href="api-index-2-16.html" title="Index of new symbols in 2.16">
27 <link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
28 <link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
29 <link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
30 <link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
32 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
33 <div class="book" title="GLib Reference Manual">
34 <div class="titlepage">
36 <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>
37 <div><p class="releaseinfo">
40 The latest version of this documentation can be found on-line at
41 <a class="ulink" href="http://library.gnome.org/devel/glib/unstable/" target="_top">http://library.gnome.org/devel/glib/unstable/</a>.
47 <dt><span class="chapter"><a href="glib.html">GLib Overview</a></span></dt>
50 <span class="refentrytitle"><a href="glib-building.html">Compiling the GLib package</a></span><span class="refpurpose"> —
51 How to compile GLib itself
55 <span class="refentrytitle"><a href="glib-cross-compiling.html">Cross-compiling the GLib package</a></span><span class="refpurpose"> —
56 How to cross-compile GLib
60 <span class="refentrytitle"><a href="glib-compiling.html">Compiling GLib Applications</a></span><span class="refpurpose"> —
61 How to compile your GLib application
65 <span class="refentrytitle"><a href="glib-running.html">Running GLib Applications</a></span><span class="refpurpose"> —
66 How to run and debug your GLib application
70 <span class="refentrytitle"><a href="glib-changes.html">Changes to GLib</a></span><span class="refpurpose"> —
71 Incompatible changes made between successing versions of GLib
75 <span class="refentrytitle"><a href="glib-regex-syntax.html">Regular expression syntax</a></span><span class="refpurpose"> —
76 Syntax and semantics of the regular expressions supported by GRegex
80 <span class="refentrytitle"><a href="glib-resources.html">Mailing lists and bug reports</a></span><span class="refpurpose"> —
81 Getting help with GLib
85 <dt><span class="chapter"><a href="glib-fundamentals.html">GLib Fundamentals</a></span></dt>
88 <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>
91 <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>
94 <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>
97 <span class="refentrytitle"><a href="glib-Standard-Macros.html">Standard Macros</a></span><span class="refpurpose"> — commonly-used macros.</span>
100 <span class="refentrytitle"><a href="glib-Type-Conversion-Macros.html">Type Conversion Macros</a></span><span class="refpurpose"> — portably storing integers in pointer variables</span>
103 <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>
106 <span class="refentrytitle"><a href="glib-Numerical-Definitions.html">Numerical Definitions</a></span><span class="refpurpose"> — mathematical constants, and floating point decomposition</span>
109 <span class="refentrytitle"><a href="glib-Miscellaneous-Macros.html">Miscellaneous Macros</a></span><span class="refpurpose"> — specialized macros which are not used often</span>
112 <span class="refentrytitle"><a href="glib-Atomic-Operations.html">Atomic Operations</a></span><span class="refpurpose"> — basic atomic integer and pointer operations</span>
115 <dt><span class="chapter"><a href="glib-core.html">GLib Core Application Support</a></span></dt>
118 <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>
121 <span class="refentrytitle"><a href="glib-Threads.html">Threads</a></span><span class="refpurpose"> — thread abstraction; including threads, different
122 mutexes, conditions and thread private data</span>
125 <span class="refentrytitle"><a href="glib-Thread-Pools.html">Thread Pools</a></span><span class="refpurpose"> — pools of threads to execute work concurrently</span>
128 <span class="refentrytitle"><a href="glib-Asynchronous-Queues.html">Asynchronous Queues</a></span><span class="refpurpose"> — asynchronous communication between threads</span>
131 <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>
134 <span class="refentrytitle"><a href="glib-Memory-Allocation.html">Memory Allocation</a></span><span class="refpurpose"> — general memory-handling</span>
137 <span class="refentrytitle"><a href="glib-IO-Channels.html">IO Channels</a></span><span class="refpurpose"> — portable support for using files, pipes and
141 <span class="refentrytitle"><a href="glib-Error-Reporting.html">Error Reporting</a></span><span class="refpurpose"> — a system for reporting errors</span>
144 <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>
147 <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>
150 <dt><span class="chapter"><a href="glib-utilities.html">GLib Utilities</a></span></dt>
153 <span class="refentrytitle"><a href="glib-String-Utility-Functions.html">String Utility Functions</a></span><span class="refpurpose"> — various string-related functions</span>
156 <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">iconv()</code></span>
159 <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>
162 <span class="refentrytitle"><a href="glib-Base64-Encoding.html">Base64 Encoding</a></span><span class="refpurpose"> — encodes and decodes data in Base64 format</span>
165 <span class="refentrytitle"><a href="glib-Data-Checksums.html">Data Checksums</a></span><span class="refpurpose"> — Computes the checksum for data</span>
168 <span class="refentrytitle"><a href="glib-I18N.html">Internationalization</a></span><span class="refpurpose"> — gettext support macros</span>
171 <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>
174 <span class="refentrytitle"><a href="glib-Random-Numbers.html">Random Numbers</a></span><span class="refpurpose"> — pseudo-random number generator</span>
177 <span class="refentrytitle"><a href="glib-Hook-Functions.html">Hook Functions</a></span><span class="refpurpose"> — support for manipulating lists of hook functions</span>
180 <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>
183 <span class="refentrytitle"><a href="glib-Lexical-Scanner.html">Lexical Scanner</a></span><span class="refpurpose"> — a general purpose lexical scanner</span>
186 <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
187 of target strings</span>
190 <span class="refentrytitle"><a href="glib-Timers.html">Timers</a></span><span class="refpurpose"> — keep track of elapsed time</span>
193 <span class="refentrytitle"><a href="glib-Spawning-Processes.html">Spawning Processes</a></span><span class="refpurpose"> — process launching</span>
196 <span class="refentrytitle"><a href="glib-File-Utilities.html">File Utilities</a></span><span class="refpurpose"> — various file-related functions</span>
199 <span class="refentrytitle"><a href="glib-URI-Functions.html">URI Functions</a></span><span class="refpurpose"> — URI Functions</span>
202 <span class="refentrytitle"><a href="glib-Hostname-Utilities.html">Hostname Utilities</a></span><span class="refpurpose"> — Internet hostname utilities</span>
205 <span class="refentrytitle"><a href="glib-Shell-related-Utilities.html">Shell-related Utilities</a></span><span class="refpurpose"> — shell-like commandline handling</span>
208 <span class="refentrytitle"><a href="glib-Commandline-option-parser.html">Commandline option parser</a></span><span class="refpurpose"> — parses commandline options</span>
211 <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 '*'
212 (wildcard) and '?' (joker)</span>
215 <span class="refentrytitle"><a href="glib-Perl-compatible-regular-expressions.html">Perl-compatible regular expressions</a></span><span class="refpurpose"> — matches strings against regular expressions</span>
218 <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>
221 <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>
224 <span class="refentrytitle"><a href="glib-Bookmark-file-parser.html">Bookmark file parser</a></span><span class="refpurpose"> — parses files containing bookmarks</span>
227 <span class="refentrytitle"><a href="glib-Testing.html">Testing</a></span><span class="refpurpose"> — a test framework</span>
230 <span class="refentrytitle"><a href="glib-Windows-Compatibility-Functions.html">Windows Compatibility Functions</a></span><span class="refpurpose"> — UNIX emulation on Windows</span>
233 <dt><span class="chapter"><a href="glib-data-types.html">GLib Data Types</a></span></dt>
236 <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>
239 <span class="refentrytitle"><a href="glib-Memory-Chunks.html">Memory Chunks</a></span><span class="refpurpose"> — deprecated way to allocate groups of equal-sized
240 chunks of memory</span>
243 <span class="refentrytitle"><a href="glib-Doubly-Linked-Lists.html">Doubly-Linked Lists</a></span><span class="refpurpose"> — linked lists containing integer values or
244 pointers to data, with the ability to iterate
245 over the list in both directions</span>
248 <span class="refentrytitle"><a href="glib-Singly-Linked-Lists.html">Singly-Linked Lists</a></span><span class="refpurpose"> — linked lists containing integer values or
249 pointers to data, limited to iterating over the
250 list in one direction</span>
253 <span class="refentrytitle"><a href="glib-Double-ended-Queues.html">Double-ended Queues</a></span><span class="refpurpose"> — double-ended queue data structure</span>
256 <span class="refentrytitle"><a href="glib-Sequences.html">Sequences</a></span><span class="refpurpose"> — scalable lists</span>
259 <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>
262 <span class="refentrytitle"><a href="glib-Hash-Tables.html">Hash Tables</a></span><span class="refpurpose"> — associations between keys and values so that
263 given a key the value can be found quickly</span>
266 <span class="refentrytitle"><a href="glib-Strings.html">Strings</a></span><span class="refpurpose"> — text buffers which grow automatically as text is added</span>
269 <span class="refentrytitle"><a href="glib-String-Chunks.html">String Chunks</a></span><span class="refpurpose"> — efficient storage of groups of strings</span>
272 <span class="refentrytitle"><a href="glib-Arrays.html">Arrays</a></span><span class="refpurpose"> — arrays of arbitrary elements which grow
273 automatically as elements are added</span>
276 <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
277 grow automatically as new elements are added</span>
280 <span class="refentrytitle"><a href="glib-Byte-Arrays.html">Byte Arrays</a></span><span class="refpurpose"> — arrays of bytes, which grow automatically as
281 elements are added</span>
284 <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
285 for searching and traversing in order</span>
288 <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>
291 <span class="refentrytitle"><a href="glib-Quarks.html">Quarks</a></span><span class="refpurpose"> — a 2-way association between a string and a
292 unique integer identifier</span>
295 <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
296 string or GQuark identifier</span>
299 <span class="refentrytitle"><a href="glib-Datasets.html">Datasets</a></span><span class="refpurpose"> — associate groups of data elements with
300 particular memory locations</span>
303 <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
304 number of fields</span>
307 <span class="refentrytitle"><a href="glib-Caches.html">Caches</a></span><span class="refpurpose"> — caches allow sharing of complex data structures
308 to save resources</span>
311 <span class="refentrytitle"><a href="glib-Memory-Allocators.html">Memory Allocators</a></span><span class="refpurpose"> — deprecated way to allocate chunks of memory for
312 GList, GSList and GNode</span>
315 <span class="refentrytitle"><a href="glib-GVariantType.html">GVariantType</a></span><span class="refpurpose"> — introduction to the GVariant type system</span>
318 <span class="refentrytitle"><a href="glib-GVariant.html">GVariant</a></span><span class="refpurpose"> — strongly typed value datatype</span>
321 <span class="refentrytitle"><a href="gvariant-format-strings.html">GVariant Format Strings</a></span><span class="refpurpose"></span>
324 <dt><span class="chapter"><a href="tools.html">GLib Tools</a></span></dt>
327 <span class="refentrytitle"><a href="glib-gettextize.html">glib-gettextize</a></span><span class="refpurpose"> — gettext internationalization utility</span>
330 <span class="refentrytitle"><a href="gtester.html">gtester</a></span><span class="refpurpose"> — test running utility</span>
333 <span class="refentrytitle"><a href="gtester-report.html">gtester-report</a></span><span class="refpurpose"> — test report formatting utility</span>
336 <dt><span class="index"><a href="api-index-full.html">Index</a></span></dt>
337 <dt><span class="index"><a href="api-index-deprecated.html">Index of deprecated symbols</a></span></dt>
338 <dt><span class="index"><a href="api-index-2-2.html">Index of new symbols in 2.2</a></span></dt>
339 <dt><span class="index"><a href="api-index-2-4.html">Index of new symbols in 2.4</a></span></dt>
340 <dt><span class="index"><a href="api-index-2-6.html">Index of new symbols in 2.6</a></span></dt>
341 <dt><span class="index"><a href="api-index-2-8.html">Index of new symbols in 2.8</a></span></dt>
342 <dt><span class="index"><a href="api-index-2-10.html">Index of new symbols in 2.10</a></span></dt>
343 <dt><span class="index"><a href="api-index-2-12.html">Index of new symbols in 2.12</a></span></dt>
344 <dt><span class="index"><a href="api-index-2-14.html">Index of new symbols in 2.14</a></span></dt>
345 <dt><span class="index"><a href="api-index-2-16.html">Index of new symbols in 2.16</a></span></dt>
346 <dt><span class="index"><a href="api-index-2-18.html">Index of new symbols in 2.18</a></span></dt>
347 <dt><span class="index"><a href="api-index-2-20.html">Index of new symbols in 2.20</a></span></dt>
348 <dt><span class="index"><a href="api-index-2-22.html">Index of new symbols in 2.22</a></span></dt>
349 <dt><span class="index"><a href="api-index-2-24.html">Index of new symbols in 2.24</a></span></dt>
354 Generated by GTK-Doc V1.13</div>