GLib Reference Manual

for GLib 2.6.6

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.
  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
  Windows Compatibility Functions - UNIX emulation on Windows.
GLib Data Types
  Memory Chunks - efficient 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 - allocates 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

| GLib Overview >>