GLib Reference Manual

for GLib 2.12.3

Table of Contents

GLib Overview
  Compiling the GLib package - How to compile GLib itself
  Cross-compiling the GLib package - How to cross-compile GLib
  Compiling GLib Applications - How to compile your GLib application
  Running GLib Applications - How to run and debug your GLib application
  Changes to GLib - Incompatible changes made between successing versions of GLib
  Mailing lists and bug reports - Getting help with GLib
GLib Fundamentals
  Version Information - Variables and functions to check the GLib version
  Basic Types - standard GLib types, defined for ease-of-use and portability.
  Limits of Basic Types - portable method of determining the limits of the standard types.
  Standard Macros - commonly-used macros.
  Type Conversion Macros - portably storing integers in pointer variables.
  Byte Order Macros - a portable way to convert between different byte orders.
  Numerical Definitions - mathematical constants, and floating point decomposition.
  Miscellaneous Macros - specialized macros which are not used often.
  Atomic Operations - basic atomic integer and pointer operations
GLib Core Application Support
  The Main Event Loop - manages all available sources of events.
  Threads - thread abstraction; including threads, different mutexes, conditions and thread private data.
  Thread Pools - pools of threads to execute work concurrently.
  Asynchronous Queues - asynchronous communication between threads.
  Dynamic Loading of Modules - portable method for dynamically loading 'plug-ins'.
  Memory Allocation - general memory-handling.
  IO Channels - portable support for using files, pipes and sockets.
  Error Reporting - a system for reporting errors.
  Message Output and Debugging Functions - functions to output messages and help debug applications.
  Message Logging - versatile support for logging messages with different levels of importance.
GLib Utilities
  String Utility Functions - various string-related functions.
  Character Set Conversion - convert strings between different character sets using iconv().
  Unicode Manipulation - functions operating on Unicode characters and UTF-8 strings.
  Base64 Encoding - encodes and decodes data in Base64 format
  Internationalization - gettext support macros.
  Date and Time Functions - calendrical calculations and miscellaneous time stuff.
  Random Numbers - pseudo-random number generator.
  Hook Functions - support for manipulating lists of hook functions.
  Miscellaneous Utility Functions - a selection of portable utility functions.
  Lexical Scanner - a general purpose lexical scanner.
  Automatic String Completion - support for automatic completion using a group of target strings.
  Timers - keep track of elapsed time.
  Spawning Processes - process launching with fork()/exec().
  File Utilities - various file-related functions.
  Shell-related Utilities - shell-like commandline handling.
  Commandline option parser - parses commandline options
  Glob-style pattern matching - matches strings against patterns containing '*' (wildcard) and '?' (joker).
  Simple XML Subset Parser - parses a subset of XML.
  Key-value file parser - parses .ini-like config files
  Bookmark file parser - parses files containing bookmarks
  Windows Compatibility Functions - UNIX emulation on Windows.
GLib Data Types
  Memory Slices - efficient way to allocate groups of equal-sized chunks of memory.
  Memory Chunks - deprecated way to allocate groups of equal-sized chunks of memory.
  Doubly-Linked Lists - linked lists containing integer values or pointers to data, with the ability to iterate over the list in both directions.
  Singly-Linked Lists - linked lists containing integer values or pointers to data, limited to iterating over the list in one direction.
  Double-ended Queues - double-ended queue data structure.
  Trash Stacks - maintain a stack of unused allocated memory chunks.
  Hash Tables - associations between keys and values so that given a key the value can be found quickly.
  Strings - text buffers which grow automatically as text is added.
  String Chunks - efficient storage of groups of strings.
  Arrays - arrays of arbitrary elements which grow automatically as elements are added.
  Pointer Arrays - arrays of pointers to any type of data, which grow automatically as new elements are added.
  Byte Arrays - arrays of bytes, which grow automatically as elements are added.
  Balanced Binary Trees - a sorted collection of key/value pairs optimized for searching and traversing in order.
  N-ary Trees - trees of data with any number of branches.
  Quarks - a 2-way association between a string and a unique integer identifier.
  Keyed Data Lists - lists of data elements which are accessible by a string or GQuark identifier.
  Datasets - associate groups of data elements with particular memory locations.
  Relations and Tuples - tables of data which can be indexed on any number of fields.
  Caches - caches allow sharing of complex data structures to save resources.
  Memory Allocators - deprecated way to allocate chunks of memory for GList, GSList and GNode.
GLib Tools
  glib-gettextize - gettext internationalization utility
Index
Index of deprecated symbols
Index of new symbols in 2.2
Index of new symbols in 2.4
Index of new symbols in 2.6
Index of new symbols in 2.8
Index of new symbols in 2.10
Index of new symbols in 2.12