# GLib Reference Manual

## GLib Overview

GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. It works on many UNIX-like platforms, Windows, OS/2 and BeOS. GLib is released under the GNU Library General Public License (GNU LGPL).

GLib depends on the following:

`iconv()`

  In order to implement conversions between character sets, GLib requires an implementation of the standard `iconv()` routine. Most modern systems will have a suitable implementation, however many older systems lack an `iconv()` implementation. On such systems, you must install the libiconv library.

a thread implementation

  The thread support in GLib can be based upon several native thread implementations, e.g. POSIX threads, DCE threads or Solaris threads.

&glib-Building; &glib-Compiling; &glib-Running; &glib-Changes-2-0; &glib-Resources;

## GLib Fundamentals

&glib-Basic-Types; &glib-Limits-of-Basic-Types; &glib-Standard-Macros; &glib-Type-Conversion-Macros; &glib-Byte-Order-Macros; &glib-Numerical-Definitions; &glib-Miscellaneous-Macros;

## GLib Core Application Support

&glib-The-Main-Event-Loop; &glib-Threads; &glib-Thread-Pools; &glib-Async-Queues; &glib-Dynamic-Loading-of-Modules; &glib-Memory-Allocation; &glib-IO-Channels; &glib-Error-Reporting; &glib-Warnings-and-Assertions; &glib-Message-Logging;

## GLib Utilities

&glib-String-Utility-Functions; &glib-Character-Set-Conversion; &glib-Unicode-Manipulation; &glib-Date-and-Time-Functions; &glib-Random-Numbers; &glib-Hook-Functions; &glib-Miscellaneous-Utility-Functions; &glib-Lexical-Scanner; &glib-Automatic-String-Completion; &glib-Timers; &glib-Spawn; &glib-Fileutils; &glib-Shell; &glib-Pattern-Matching; &glib-Markup; &glib-Windows-Compatability-Functions;

## GLib Data Types

&glib-Memory-Chunks; &glib-Doubly-Linked-Lists; &glib-Singly-Linked-Lists; &glib-Double-ended-Queues; &glib-Trash-Stacks; &glib-Hash-Tables; &glib-Strings; &glib-String-Chunks; &glib-Arrays; &glib-Pointer-Arrays; &glib-Byte-Arrays; &glib-Balanced-Binary-Trees; &glib-N-ary-Trees; &glib-Quarks; &glib-Keyed-Data-Lists; &glib-Datasets; &glib-Relations-and-Tuples; &glib-Caches; &glib-Memory-Allocators;