Removed per request.

-- Greg
This commit is contained in:
Gregory McLean 1998-11-19 20:29:20 +00:00
parent f809ca7c11
commit 4d8c3570b9
8 changed files with 0 additions and 1995 deletions

View File

@ -1,108 +0,0 @@
<!doctype chapter PUBLIC "-//Davenport//DTD DocBook V3.0//EN" []>
<chapter id="glib-definitions">
<docinfo>
<title>GLIB Definitions and types</title>
</docinfo>
<title>GLIB Definitions and types</title>
<sect1 id="definitions-introduction">
<title>Introduction</title>
<para>GLIB provides many abstract defintions to ease the cross platform
programming tasks. All of these types and definitions have system
specific values that glib, compiled on the native machine will be
adjusted to the system specific types.</para>
<para>By using the following types and defintions in your program, it will
function in the way you designed on more hardware and operating systems
combinations.</para>
<para>We also are provided with definitions for some commonly used macros.
Some of them are only provided if they haven't already been defined. It
is assumed that if they are already defined then the current definition
is correct.</para>
</sect1>
<sect1 id="limit-defines">
<title>Limits</title>
<para>GLIB provides standard definitions for the extremes of many of the
standard types. They are as follows.</para>
<itemizedlist>
<listitem>
<para><type>G_MINFLOAT</type></para>
<para>This is the minimum floating point number that the machine
that your application is running on can handle.</para>
</listitem>
<listitem>
<para><type>G_MAXFLOAT</type></para>
<para>This is the maximum floating point number that the machine
that your application is running on can handle.</para>
</listitem>
<listitem>
<para><type>G_MINDOUBLE</type></para>
<para>FIXME</para>
</listitem>
<listitem>
<para><type>G_MAXDOUBLE</type></para>
<para>FIXME</para>
</listitem>
<listitem>
<para><type>G_MINSHORT</type></para>
<para>FIXME</para>
</listitem>
<listitem>
<para><type>G_MAXSHORT</type></para>
<para>FIXME</para>
</listitem>
<listitem>
<para><type>G_MININT</type></para>
<para>FIXME</para>
</listitem>
<listitem>
<para><type>G_MAXINT</type></para>
<para>FIXME</para>
</listitem>
<listitem>
<para><type>G_MINLONG</type></para>
<para>FIXME</para>
</listitem>
<listitem>
<para><type>G_MAXLONG</type></para>
<para>FIXME</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="common-macros">
<title>Commonly used macros</title>
<para>This section details out the commonly used macros that the library
will provide. These definitions will only be provided if they haven't
been defined before.</para>
<itemizedlist>
<listitem>
<para><type>NULL</type></para>
<para>A nothing value.</para>
</listitem>
<listitem>
<para><type>FALSE</type></para>
<para>This macro is used to indicate a non truth.</para>
</listitem>
<listitem>
<para><type>TRUE</type></para>
<para>This macro represents a true value.</para>
</listitem>
<listitem>
<para><type>MAX</type></para>
<para>This macro will return the maximum of two variables.</para>
</listitem>
<listitem>
<para><type>MIN</type></para>
<para>This macro will return the minmum of two variables.</para>
</listitem>
<listitem>
<para><type>ABS</type></para>
<para>This macros will return the absolute value of a signed integer
</para>
</listitem>
<listitem>
<para><type>CLAMP</type></para>
<para>FIXME</para>
</listitem>
</itemizedlist>
</sect1>
</chapter>

View File

@ -1,196 +0,0 @@
<!doctype chapter PUBLIC "-//Davenport//DTD DocBook V3.0//EN" []>
<chapter id="gcache-functions">
<docinfo>
<title>Cache handling functions</title>
</docinfo>
<title>Cache handling functions</title>
<sect1 id="cache-introduction">
<title>Introduction</title>
<para> </para>
</sect1>
<sect1 id="cache-functions">
<title>Cache functions</title>
<para> </para>
<sect2 id="g-cache-new">
<title>g_cache_new</title>
<funcsynopsis>
<funcdef>GCache *<function>g_cache_new</function></funcdef>
<paramdef>GCacheNewFunc <parameter>value_new_func</parameter></paramdef>
<paramdef>GCacheDestroyFunc <parameter>value_destroy_func</parameter></paramdef>
<paramdef>GCacheDupFunc <parameter>key_dup_func</parameter></paramdef>
<paramdef>GCacheDestroyFunc <parameter>key_destroy_func</parameter></paramdef>
<paramdef>GHashFunc <parameter>hash_key_func</parameter></paramdef>
<paramdef>GHashFunc <parameter>hash_value_func</parameter></paramdef>
<paramdef>GCompareFunc <parameter>key_compare_func</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
</sect2>
<sect2 id="g-cache-destroy">
<title>g_cache_destroy</title>
<funcsynopsis>
<funcdef>void <function>g_cache_destroy</function></funcdef>
<paramdef>GCache *<parameter>cache</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GCache <parameter>cache</parameter></para>
<para> </para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-cache-insert">
<title>g_cache_insert</title>
<funcsynopsis>
<funcdef>gpointer <function>g_cache_insert</function></funcdef>
<paramdef>GCache *<parameter>cache</parameter></paramdef>
<paramdef>gpointer <parameter>key</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GCache *<parameter>cache</parameter></para>
<para> </para>
</listitem>
<listitem>
<para>gpointer <parameter>key</parameter></para>
<para> </para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-cache-remove">
<title>g_cache_remove</title>
<funcsynopsis>
<funcdef>void <function>g_cache_remove</function></funcdef>
<paramdef>GCache *<parameter>cache</parameter></paramdef>
<paramdef>gpointer <parameter>value</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GCache *<parameter>cache</parameter></para>
<para> </para>
</listitem>
<listitem>
<para>gpointer <parameter>value</parameter></para>
<para> </para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-cache-key-foreach">
<title>g_cache_key_foreach</title>
<funcsynopsis>
<funcdef>void <function>g_cache_key_foreach</function></funcdef>
<paramdef>GCache *<parameter>cache</parameter></paramdef>
<paramdef>GHFunc <parameter>func</parameter></paramdef>
<paramdef>gpointer <parameter>user_data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GCache *<parameter>cache</parameter></para>
<para> </para>
</listitem>
<listitem>
<para>GHFunc <parameter>func</parameter></para>
<para> </para>
</listitem>
<listitem>
<para>gpointer <parameter>user_data</parameter></para>
<para> </para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-cache-value-foreach">
<title>g_cache_value_foreach</title>
<funcsynopsis>
<funcdef>void <function>g_cache_value_foreach</function></funcdef>
<paramdef>GCache *<parameter>cache</parameter></paramdef>
<paramdef>GHFunc <parameter>func</parameter></paramdef>
<paramdef>gpointer <parameter>user_data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GCache *<parameter>cache</parameter></para>
<para> </para>
</listitem>
<listitem>
<para>GHFunc <parameter>func</parameter></para>
<para> </para>
</listitem>
<listitem>
<para>gpointer <parameter>user_data</parameter></para>
<para> </para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:("glib.sgml" "book" "sect1" "")
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->

View File

@ -1,262 +0,0 @@
<!doctype chapter PUBLIC "-//Davenport//DTD DocBook V3.0//EN" []>
<chapter id="hashtable-functions">
<docinfo>
<Title>Hash Table functions</title>
</docinfo>
<title>Hash Table functions</title>
<sect1 id="hashtable-introduction">
<title>Introduction</title>
<para> </para>
</sect1>
<sect1 id="hash-tables">
<title>Hash Table functions</title>
<para> </para>
<sect2 id="g-hash-table-new">
<title>g_hash_table_new</title>
<funcsynopsis>
<funcdef>GHashTable *<function>g_hash_table_new</function></funcdef>
<paramdef>GHashFunc *<parameter>hash_func</parameter></paramdef>
<paramdef>GCompareFunc <parameter>key_compare_func</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>Allocate a new <type>GHashTable</type> for use and return a
pointer to the new hash table. If the table could not be allocated
for some reason a <type>NULL</type> is returned.</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
GHashTable *hash_table;
hash_table = g_hash_table_new (g_str_hash, g_str_equal);
/* use the hash table */
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GHashFunc <parameter>hash_func</parameter></para>
<para>A function pointer for the hashing function for this hash table.
</para>
<para>GCompareFunc <parameter>key_compare_func</parameter></para>
<para>A function pointer for comparing keys, used by the hash function
specified in the first argument</para>
</sect3>
</sect2>
<sect2 id="g-hash-table-destroy">
<title>g_hash_table_destroy</title>
<funcsynopsis>
<funcdef>void <function>g_hash_table_destroy</function></funcdef>
<paramdef>GHashTable *<parameter>hash_table</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GHashTable *<parameter>hash_table</parameter></para>
<para> </para>
</sect3>
</sect2>
<sect2 id="g-hash-table-insert">
<title>g_hash_table_insert</title>
<funcsynopsis>
<funcdef>void <function>g_hash_table_insert</function></funcdef>
<paramdef>GHashTable *<parameter>hash_table</parameter></paramdef>
<paramdef>gpointer <parameter>key</parameter></paramdef>
<paramdef>gpointer <parameter>value</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GHashTable *<parameter>hash_table</parameter></para>
<para> </para>
</sect3>
</sect2>
<sect2 id="g-hash-table-remove">
<title>g_hash_table_remove</title>
<funcsynopsis>
<funcdef>void <function>g_hash_table_remove</function></funcdef>
<paramdef>GHashTable *<parameter>hash_table</parameter></paramdef>
<paramdef>gconstpointer <parameter>key</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GHashTable *<parameter>hash_table</parameter></para>
<para> </para>
</sect3>
</sect2>
<sect2 id="g-hash-table-lookup">
<title>g_hash_table_lookup</title>
<funcsynopsis>
<funcdef>gpointer <function>g_hash_table_lookup</function></funcdef>
<paramdef>gconstpointer <parameter>key</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GHashTable *<parameter>hash_table</parameter></para>
<para> </para>
</sect3>
</sect2>
<sect2 id="g-hash-table-lookup-extended">
<title>g_hash_table_lookup_extended</title>
<funcsynopsis>
<funcdef>gboolean <function>g_hash_table_lookup_extended</function></funcdef>
<paramdef>GHashTable *<parameter>hash_table</parameter></paramdef>
<paramdef>gconstpointer <parameter>lookup_key</parameter></paramdef>
<paramdef>gpointer *<parameter>orig_key</parameter></paramdef>
<paramdef>gpointer *<parameter>value</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GHashTable *<parameter>hash_table</parameter></para>
<para> </para>
</sect3>
</sect2>
<sect2 id="g-hash-table-freeze">
<title>g_hash_table_freeze</title>
<funcsynopsis>
<funcdef>void <function>g_hash_table_freeze</function></funcdef>
<paramdef>GHashTable *<parameter>hash_table</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GHashTable *<parameter>hash_table</parameter></para>
<para> </para>
</sect3>
</sect2>
<sect2 id="g-hash-table-thaw">
<title>g_hash_table_thaw</title>
<funcsynopsis>
<funcdef>void <function>g_hash_table_thaw</function></funcdef>
<paramdef>GHashTable *<parameter>hash_table</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GHashTable *<parameter>hash_table</parameter></para>
<para> </para>
</sect3>
</sect2>
<sect2 id="g-hash-table-foreach">
<title>g_hash_table_foreach</title>
<funcsynopsis>
<funcdef>void <function>g_hash_table_foreach</function></funcdef>
<paramdef>GHashTable *<parameter>hash_table</parameter></paramdef>
<paramdef>GHFunc <parameter>func</parameter></paramdef>
<paramdef>gpointer <parameter>user_data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GHashTable *<parameter>hash_table</parameter></para>
<para> </para>
</sect3>
</sect2>
<sect2 id="g-hash-table-foreach-remove">
<title>g_hash_table_foreach_remove</title>
<funcsynopsis>
<funcdef>gint <function>g_hash_table_foreach_remove</function></funcdef>
<paramdef>GHashTable *<parameter>hash_table</parameter></paramdef>
<paramdef>GHRFunc <parameter>func</parameter></paramdef>
<paramdef>gpointer <parameter>user_data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GHashTable *<parameter>hash_table</parameter></para>
<para> </para>
</sect3>
</sect2>
<sect2 id="g-hash-table-size">
<title>g_hash_table_size</title>
<funcsynopsis>
<funcdef>gint <function>g_hash_table_size</function></funcdef>
<paramdef>GHashTable *<parameter>hash_table</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>Get the size of the hash table passed in the
<parameter>hash_table</parameter>.</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GHashTable *<parameter>hash_table</parameter></para>
<para>A pointer to a <type>GHashTable</type> hash_table previously
allocated.</para>
</sect3>
</sect2>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:("glib.sgml" "book" "sect1" "")
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->

View File

@ -1,77 +0,0 @@
<!doctype chapter PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
<!entity memory SYSTEM "gmem.sgml">
<!entity lists SYSTEM "glist.sgml">
<!entity hashtables SYSTEM "ghash.sgml">
<!entity caches SYSTEM "gcache.sgml">
<!entity trees SYSTEM "gtree.sgml">
<!entity timers SYSTEM "gtimer.sgml">
<!entity defintions SYSTEM "defintions.sgml">
]>
<book>
<bookinfo>
<title>GLIB Developers' Reference Guide</title>
<authorgroup>
<author>
<firstname>Gregory</firstname>
<surname>McLean</surname>
<affiliation>
<address><email>gregm@comstar.net</email></address>
</affiliation>
</author>
</authorgroup>
<copyright>
<year>1998</year>
<holder>Gregory A. McLean</holder>
</copyright>
<legalnotice>
<para>This documentation is <emphasis>free</emphasis>; this means that
everyone is free to use it and free to redistribute it on a free basis.
This documentation is not in the public domain; it is a copyrighted
work and there are restrictions on its distribution, but these
restrictions are designed to permit everything that a good cooperating
citizen would want to do. What is not allowed is to try and prevent
others from further sharing any version of this documentation that they
might get from you.</para>
<para>Specifically, we want to make sure that you have the right to
give away copies of this documentation, that you receive the source
or else can get it if you want it, that you can change the documentation
or use pieces of it in new free documentation, and that you know you
can legally do these things.</para>
<para>This documentation is being distributed in the hope that it will
be useful, but <emphasis>WITHOUT ANY WARRANTY</emphasis>; without the
even implied warranty of <emphasis>MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE</emphasis>.</para>
<para>For the exact details of copying this library and the related
documentation please see the <emphasis>COPYING</emphasis> file that
should have come with this library.</para>
</legalnotice>
</bookinfo>
<toc></toc>
<chapter id="introduction">
<title>Introduction</title>
<sect1 id="whatis">
<title>What is GLIB</title>
<para>GLIB is a collection of useful functions designed with portabilty
and ease of use in mind. Many of the functions provided by GLIB can
be duplicated or are wrappers to standard <trademark>UNIX</trademark>
functions and system calls. The are provided in this library mainly
for consistancy and the write once philophsy.</para>
</chapter>
<!-- Definitions provided by glib -->
&defintions;
<!-- Documentation for memory handling in glib -->
&memory;
<!-- Documentation for lists in glib -->
&lists;
<!-- Documentation for hash tables in glib -->
&hashtables;
<!-- Documentation for cache handing in glib -->
&caches;
<!-- Balanced binary trees -->
&trees;
<!-- Timer documentation -->
&timers;
<index></index>
</book>

View File

@ -1,900 +0,0 @@
<!doctype chapter PUBLIC "-//Davenport//DTD DocBook V3.0//EN" []>
<chapter id="list-functions">
<docinfo>
<title>List handling functions</title>
</docinfo>
<title>List handling functions</title>
<sect1 id="list-introduction">
<title>Introduction</title>
<para>When developing an application of any mangnitude there comes a time
when you will need to deal with lists of data within your application. To
this end GLIB provides some convient functions to handle both signly
linked lists, and doubly linked lists. Facilities also exist for custom
list handling if the basic lists don't suite your purpose.</para>
<para>This chapter will cover the all the functions provided in GLIB for
list management.</para>
</sect1>
<sect1 id="list-allocators">
<title>List Allocators</title>
<para> Describe the list allocation functions...</para>
<sect2 id="g-list-allocator-new">
<title>g_list_allocator_new</title>
<funcsynopsis>
<funcdef>GListAllocator *<function>g_list_allocator_new</function></funcdef>
<paramdef>GListAllocator *<parameter>allocator</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>Describe this function</para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME!
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GListAllocator *<parameter>allocator</parameter></para>
<para>A list allocator pointer</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-list-allocator-free">
<title>g_list_allocator_free</title>
<funcsynopsis>
<funcdef>void <function>g_list_allocator_free</function></funcdef>
<paramdef>GListAllocator *<parameter>allocator</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>Describe this thing.</para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME!
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GListAllocator *<parameter>allocator</parameter></para>
<para>The pointer to list allocator to free.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-slist-set-allocator">
<title>g_slist_set_allocator</title>
<funcsynopsis>
<funcdef>GListAllocator *<function>g_slist_set_allocator</function></funcdef>
<paramdef>GListAllocator *<parameter>allocator</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>This function will set the allocator for a singly linked list</para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GListAllocator *<parameter>allocator</parameter></para>
<para>The pointer to the list allocator to use for the signly
linked lists allocations.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-list-set-allocator">
<title>g_list_set_allocator</title>
<funcsynopsis>
<funcdef>GListAllocator *<function>g_list_set_allocator</function></funcdef>
<paramdef>GListAllocator *<parameter>allocator</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>This function will set the allocator for a doubly linked list</para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GListAllocator *<parameter>allocator</parameter></para>
<para>The pointer to the list allocator to use for the doubly
linked list allocations.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
<!-- SINGLY LINKED LISTS -->
<sect1 id="signly-linked-lists">
<title>Signly linked lists</title>
<para>Signly linked lists!</para>
<sect2 id="g-slist-alloc">
<title>g_slist_alloc</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_alloc</function></funcdef>
<paramdef>void<parameter>none</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>void <parameter>(null)</parameter></para>
<para>This function takes no arguments</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-slist-free">
<title>g_slist_free</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_free</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GSList *<parameter>list</parameter></para>
<para>A pointer to a <type>GSList</type> structure.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-slist-free-1">
<title>g_slist_free_1</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_free_1</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GSList *<parameter>list</parameter></para>
<para>A pointer to a <type>GSList</type> structure.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-slist-append">
<title>g_slist_append</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_append</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>Append the <parameter>data</parameter> to the list given
in the <parameter>list</parameter> argument. This function will
store the pointer to the data and return a new list pointer
with the new element attached to the end.</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
FIXME
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GSList *<parameter>list</parameter></para>
<para>The pointer to the list to append the
<parameter>data</parameter>item to. This can be <type>NULL</type>
in the case of a new list.</para>
</listitem>
<listitem>
<para>gpointer <parameter>data</parameter></para>
<para>A pointer to the data to store in this list element</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-slist-preppend">
<title>g_slist_preppend</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_preppend</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GSList *<parameter>list</parameter></para>
<para>A pointer to a <type>GSList</type> structure.</para>
</listitem>
<listitem>
<para>gpointer <parameter>data</parameter></para>
<para>A pointer to the data for this list element</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-slist-insert">
<title>g_slist_insert</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_insert</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
<paramdef>gint <parameter>position</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GSList *<parameter>list</parameter></para>
<para>A pointer to a <type>GSList</type> structure.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-slist-insert-sorted">
<title>g_slist_insert_sorted</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_insert_sorted</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
<paramdef>GCompareFunc <parameter>func</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-concat">
<title>g_slist_concat</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_concat</function></funcdef>
<paramdef>GSList *<parameter>list1</parameter></paramdef>
<paramdef>GSList *<parameter>list2</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-remove">
<title>g_slist_remove</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_remove</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-remove-link">
<title>g_slist_remove_link</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_remove_link</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>GSList *<parameter>llink</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-reverse">
<title>g_slist_reverse</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_reverse</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-nth">
<title>g_slist_nth</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_nth</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>guint <parameter>n</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-find">
<title>g_slist_find</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_find</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-find-custom">
<title>g_slist_find_custom</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_find_custom</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
<paramdef>GCompareFunc <parameter>func</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-position">
<title>g_slist_position</title>
<funcsynopsis>
<funcdef>gint <function>g_slist_position</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>GSList *<parameter>llink</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-index">
<title>g_slist_index</title>
<funcsynopsis>
<funcdef>gint <function>g_slist_index</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-last">
<title>g_slist_last</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_last</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-length">
<title>g_slist_length</title>
<funcsynopsis>
<funcdef>guint <function>g_slist_length</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-foreach">
<title>g_slist_foreach</title>
<funcsynopsis>
<funcdef>void <function>g_slist_foreach</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>GFunc <parameter>func</parameter></paramdef>
<paramdef>gpointer <parameter>user_data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-nth-data">
<title>g_slist_nth_data</title>
<funcsynopsis>
<funcdef>gpointer <function>g_slist_nth_data</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
<paramdef>guint <parameter>n</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-slist-next">
<title>g_slist_next</title>
<funcsynopsis>
<funcdef>GSList *<function>g_slist_next</function></funcdef>
<paramdef>GSList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
</sect1>
<!-- DOUBLY LINKED LISTS -->
<sect1 id="doubly-linked-lists">
<title>Doubly linked lists</title>
<para>Doubly linked lists!</para>
<sect2 id="g-list-alloc">
<title>g_list_alloc</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_alloc</function></funcdef>
<paramdef>void<parameter>none</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-free">
<title>g_list_free</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_free</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>This function will destroy and free the resources used by
the GList structure. It will not free the resources consumed by
the data pointers in the list that is up to the application to
free.</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
GList *list;
/* add elements and otherwise manipulate the list */
/* once finished with the list free all elements of the list */
/* Then free the list structure itself */
g_list_free (list);
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GList *<parameter>list</parameter></para>
<para>A pointer to the GList structure to free</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-list-free-1">
<title>g_list_free_1</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_free_1</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-append">
<title>g_list_append</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_append</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-preppend">
<title>g_list_preppend</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_preppend</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-insert">
<title>g_list_insert</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_insert</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
<paramdef>gint <parameter>position</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-insert-sorted">
<title>g_list_insert_sorted</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_insert_sorted</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
<paramdef>GCompareFunc <parameter>func</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-concat">
<title>g_list_concat</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_concat</function></funcdef>
<paramdef>GList *<parameter>list1</parameter></paramdef>
<paramdef>GList *<parameter>list2</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-remove">
<title>g_list_remove</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_remove</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-remove-link">
<title>g_list_remove_link</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_remove_link</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>GList *<parameter>llink</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-reverse">
<title>g_list_reverse</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_reverse</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-nth">
<title>g_list_nth</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_nth</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>guint <parameter>n</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-find">
<title>g_list_find</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_find</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-find-custom">
<title>g_list_find_custom</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_find_custom</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
<paramdef>GCompareFunc <parameter>func</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-position">
<title>g_list_position</title>
<funcsynopsis>
<funcdef>gint <function>g_list_position</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>GList *<parameter>llink</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-index">
<title>g_list_index</title>
<funcsynopsis>
<funcdef>gint <function>g_list_index</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>gpointer <parameter>data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-last">
<title>g_list_last</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_last</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-length">
<title>g_list_length</title>
<funcsynopsis>
<funcdef>guint <function>g_list_length</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-foreach">
<title>g_list_foreach</title>
<funcsynopsis>
<funcdef>void <function>g_list_foreach</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>GFunc <parameter>func</parameter></paramdef>
<paramdef>gpointer <parameter>user_data</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-nth-data">
<title>g_list_nth_data</title>
<funcsynopsis>
<funcdef>gpointer <function>g_list_nth_data</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
<paramdef>guint <parameter>n</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
<sect2 id="g-list-previous">
<title>g_list_previous</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_previous</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
<sect2 id="g-list-next">
<title>g_list_next</title>
<funcsynopsis>
<funcdef>GList *<function>g_list_next</function></funcdef>
<paramdef>GList *<parameter>list</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
FIXME
</programlisting>
</sect3>
</sect2>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:("glib.sgml" "book" "sect1" "")
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->

View File

@ -1,181 +0,0 @@
<!doctype chapter PUBLIC "-//Davenport//DTD DocBook V3.0//EN" []>
<chapter id="memory-functions">
<docinfo>
<title>Memory handling functions</title>
</docinfo>
<title>Memory Handling functions</title>
<sect1 id="memory-introduction">
<title>Introduction</title>
<para> </para>
</sect1>
<sect1 id="standard-handlers">
<title>Standard memory handlers</title>
<para>This section describes the normal flat memory handling functions
provided by GLIB.</para>
<sect2 id="g-malloc">
<title>g_malloc</title>
<funcsynopsis>
<funcdef>gpointer <function>g_malloc</function</funcdef>
<paramdef>gulong <parameter>size</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>Allocate a piece of memory and return the pointer to the
newly allocated memory. This function does not clear the memory.
</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>gulong <parameter>size</parameter></para>
<para>The size of the requested piece of memory</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-malloc0">
<title>g_malloc0</title>
<funcsynopsis>
<funcdef>gpointer <function>g_malloc0</function></funcdef>
<paramdef>gulong <parameter>size</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>Allocate a piece of memory and, clear it, returning a
pointer to the freshly allocated piece. <type>NULL</type> is
returned on failure.</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>gulong <parameter>size</parameter></para>
<para>The size of the requested piece of memory.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-realloc">
<title>g_realloc</title>
<funcsynopsis>
<funcdef>gpointer <function>g_realloc</function></funcdef>
<paramdef>gpointer <parameter>mem</parameter></paramdef>
<paramdef>gulong <parameter>size</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>Change the size of a previously allocated piece of memory.
</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>gpointer <parameter>mem</parameter></para>
<para>A pointer to the allocated memory</para>
</listitem>
<listitem>
<para>gulong <parameter>size</parameter></para>
<para>The amount to change the allocation by.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
<sect1 id="array-handlers">
<title>Array memory handlers</title>
<para>This section will describe the array memory handling functions
provided by GLIB</para>
</sect1>
<sect1 id="chunk-handlers">
<title>Chunk memory handlers</title>
<para>Memory chunks are used to allocate pieces of memory which are always
the same size. Lists are a good example of such a data type. The memory
chunk allocates and frees blocks of memory as needed. Just be sure to
call <function>g_mem_chunk_free</function> and not
<function>g_free</function> on data allocated in a mem chunk. Calling
<function>g_free</function> will most likely cause a segmentation fault
somewhere that will be dificult to track down.
</para>
<para>The GLIB library allocates and tracks memory chunks with the opaque
data type <type>GMemChunk</type>.</para>
<para>Currently there are two types of memory chunks you can allocate and
manage with the functions documented in here.</para>
<itemizedlist>
<listitem>
<para><type>G_ALLOC_ONLY</type></para>
<para>The memory chunks of this type only allocate memory. The free
operations are interpreted as a <emphasis>no-op</emphasis> Also
memory chunks of thus type save four bytes per atom. They are
also useful for lists which use the MemChunk to allocate memory
but are also part of the MemChunk implementation.</para>
</listitem>
<listitem>
<para><type>G_ALLOC_AND_FREE</type></para>
<para>Memory chunks of this type can allocate and free memory.</para>
</listitem>
</itemizedlist>
<para>This section of the reference manual will detail out the functions
provided by GLIB for memory chunk handling.</para>
<sect2 id="g-blow-chunks">
<title>g_blow_chunks</title>
<funcsynopsis>
<funcdef>void <function>g_blow_chunks</function></funcdef>
<paramdef>void <parameter>(null)</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>The <function>g_blow_chunks</function> simply compresses all
the chunks of memory. This operation consists of freeing every
memory area that should be freed, but which we haven't gotten
around to doing yet. And, no, <function>g_blow_chunks</function>
doesn't following the naming scheme, but it is a much better name
then <emphasis>g_mem_chunk_clean_all</emphasis> or something
similar.</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>void <parameter>(null)</parameter></para>
<para>This function takes and returns no values or aruments.
</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:("glib.sgml" "book" "sect1" "")
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->

View File

@ -1,214 +0,0 @@
<!doctype chapter PUBLIC "-//Davenport//DTD DocBook V3.0//EN" []>
<chapter id="timer-functions">
<docinfo>
<title>Timer functions</title>
</docinfo>
<title>Timer functions</title>
<sect1 id="timer-introduction">
<title>Introduction</title>
<para> </para>
</sect1>
<sect1 id="timers">
<title>Timer functions</title>
<para>This section describes the timer functions that are provided by
GLIB.</para>
<sect2 id="g-timer-new">
<title>g_timer_new</title>
<funcsynopsis>
<funcdef>GTimer *<function>g_timer_new</function></funcdef>
<paramdef>void <parameter>(null) </parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>Allocate a new timer and return the pointer to the newly
allocated timer structure. If enough resources are not available
for a new timer structure <type>NULL</type> will be returned.
This function will also start the timer once it has been allocated.
</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
GTimer *timer;
timer = g_timer_new ();
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>void <parameter>(null)</parameter></para>
<para>This function takes no arguments</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="g-timer-destroy">
<title>g_timer_destroy</title>
<funcsynopsis>
<funcdef>void <function>g_timer_destroy</function></funcdef>
<paramdef>GTimer *<parameter>timer</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>This will destroy and free up the resources used by the
timer previously created with g_timer_new(). You should call this
function when your done with the timer in question.</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
GTimer *timer;
timer = g_timer_new ();
/* do something useful with the timer */
g_timer_destroy (timer);
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GTimer *<parameter>timer</parameter></para>
<para>The pointer to the <type>GTimer</type> structre you wish to
destroy.</para>
</sect3>
</sect2>
<sect2 id="g-timer-start">
<title>g_timer_start</title>
<funcsynopsis>
<funcdef>void <function>g_timer_start</function></funcdef>
<paramdef>GTimer *<parameter>timer</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>This will re-start the previously allocated timer running.
</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
GTimer *timer;
timer = g_timer_new ();
g_timer_stop (timer);
/* do stuff we don't want to time */
g_timer_start (timer);
/* do the stuff we want timed */
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GTimer *<parameter>timer</parameter></para>
<para>The timer to start that has been previously allocted with
g_timer_new ();
</para>
</sect3>
</sect2>
<sect2 id="g-timer-stop">
<title>g_timer_stop</title>
<funcsynopsis>
<funcdef>void <function>g_timer_stop</function></funcdef>
<paramdef> GTimer *<parameter>timer</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>This will stop a running timer.</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
GTimer *timer;
/* allocate and start new timer */
timer = g_timer_new ();
/* do anything you want timed with this timer */
g_timer_stop (timer); /* And stop the timer at the end */
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GTimer *<parameter>timer</parameter></para>
<para>A pointer to the previously allocated timer structre to
stop.</para>
</sect3>
</sect2>
<sect2 id="g-timer-reset">
<title>g_timer_reset</title>
<funcsynopsis>
<funcdef>void <function>g_timer_reset</function></funcdef>
<paramdef>GTimer *<parameter>timer</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>Reset a previously allocated timer to prepare to time
another sequence of events.</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
GTimer *timer;
/* allocate a timer */
timer = g_timer_new ();
/* timed function loop or what have you */
g_timer_stop (timer);
g_timer_reset (timer);
g_timer_start (timer);
/* loop here with a clean timer */
g_timer_destroy (timer); /* done with the timer */
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<para>GTimer *<parameter>timer</parameter></para>
<para>A pointer to a previously allocated timer structure.</para>
</sect3>
</sect2>
<sect2 id="g-timer-elapsed">
<title>g_timer_elapsed</title>
<funcsynopsis>
<funcdef>gdouble <function>g_timer_elapsed</function></funcdef>
<paramdef>GTimer *<parameter>timer</parameter></paramdef>
<paramdef>gulong *<parameter>microseconds</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para>Get the elapsed time between all g_timer_start() and the
g_timer_stop() function calls. The return value of this function
is in seconds and the <parameter>microseconds</parameter> argument
will contain the microseconds value. If you are not intrested in
the microseconds value just pass a <type>NULL</type> as the
second parameter.</para>
</sect3>
<sect3><title>Usage</title>
<programlisting role="C">
GTimer *timer
gdouble seconds;
gulong microseconds;
timer = g_timer_new ();
/* do something that you want timed. */
g_timer_stop (timer);
seconds = g_timer_elapsed (timer, \&microseconds);
g_print ("Elapsed time was %f seconds and %f microseconds\n",
seconds, microseconds);
g_timer_destroy (timer);
</programlisting>
</sect3>
</sect2>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:("glib.sgml" "book" "sect1" "")
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->

View File

@ -1,57 +0,0 @@
<!doctype chapter PUBLIC "-//Davenport//DTD DocBook V3.0//EN" []>
<chapter id="gtree-functions">
<docinfo>
<title>Balanced binary trees</title>
</docinfo>
<title>Balanced binary trees</title>
<sect1 id="tree-introduction">
<title>Introduction</title>
<para> </para>
</sect1>
<sect1 id="tree-functions">
<title>Binary tree functions</title>
<para> </para>
<sect2 id="g-tree-new">
<title>g_tree_new</title>
<funcsynopsis>
<funcdef>GTree *<function>g_tree_new</function></funcdef>
<paramdef>GCompareFunc <parameter>key_compare_func</parameter></paramdef>
</funcsynopsis>
<sect3><title>Description</title>
<para> </para>
</sect3>
<sect3><title>Usage</title>
<programlisting>
</programlisting>
</sect3>
<sect3><title>Parameters</title>
<itemizedlist>
<listitem>
<para>GCompareFunc <parameter>key_compare_func</parameter></para>
<para> </para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
<sect1 id="node-functions">
<title>Node functions</title>
<para> </para>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:("glib.sgml" "book" "sect1" "")
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->