diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-0 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-12 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 8 | ||||
-rw-r--r-- | docs/defintions.sgml | 108 | ||||
-rw-r--r-- | docs/gcache.sgml | 196 | ||||
-rw-r--r-- | docs/ghash.sgml | 262 | ||||
-rw-r--r-- | docs/glib.sgml | 77 | ||||
-rw-r--r-- | docs/glist.sgml | 900 | ||||
-rw-r--r-- | docs/gmem.sgml | 181 | ||||
-rw-r--r-- | docs/gtimer.sgml | 214 | ||||
-rw-r--r-- | docs/gtree.sgml | 57 |
16 files changed, 2059 insertions, 0 deletions
@@ -1,3 +1,11 @@ +Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net> + + * docs/*.sgml : Batch of new documentation that should be easier + to maintain and extend. Plus generate whatever sort of doc file + you would like. I didn't change the Makefile stuff as I'm not sure + what default doc type people want. Oh and this is all DocBook format. + Enjoy! + Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org> * configure.in: use __extension__ for long long on gcc >= 2.8 and diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index bfa281c27..8622b707f 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,11 @@ +Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net> + + * docs/*.sgml : Batch of new documentation that should be easier + to maintain and extend. Plus generate whatever sort of doc file + you would like. I didn't change the Makefile stuff as I'm not sure + what default doc type people want. Oh and this is all DocBook format. + Enjoy! + Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org> * configure.in: use __extension__ for long long on gcc >= 2.8 and diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index bfa281c27..8622b707f 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net> + + * docs/*.sgml : Batch of new documentation that should be easier + to maintain and extend. Plus generate whatever sort of doc file + you would like. I didn't change the Makefile stuff as I'm not sure + what default doc type people want. Oh and this is all DocBook format. + Enjoy! + Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org> * configure.in: use __extension__ for long long on gcc >= 2.8 and diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index bfa281c27..8622b707f 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,11 @@ +Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net> + + * docs/*.sgml : Batch of new documentation that should be easier + to maintain and extend. Plus generate whatever sort of doc file + you would like. I didn't change the Makefile stuff as I'm not sure + what default doc type people want. Oh and this is all DocBook format. + Enjoy! + Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org> * configure.in: use __extension__ for long long on gcc >= 2.8 and diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index bfa281c27..8622b707f 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,11 @@ +Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net> + + * docs/*.sgml : Batch of new documentation that should be easier + to maintain and extend. Plus generate whatever sort of doc file + you would like. I didn't change the Makefile stuff as I'm not sure + what default doc type people want. Oh and this is all DocBook format. + Enjoy! + Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org> * configure.in: use __extension__ for long long on gcc >= 2.8 and diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index bfa281c27..8622b707f 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net> + + * docs/*.sgml : Batch of new documentation that should be easier + to maintain and extend. Plus generate whatever sort of doc file + you would like. I didn't change the Makefile stuff as I'm not sure + what default doc type people want. Oh and this is all DocBook format. + Enjoy! + Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org> * configure.in: use __extension__ for long long on gcc >= 2.8 and diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index bfa281c27..8622b707f 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net> + + * docs/*.sgml : Batch of new documentation that should be easier + to maintain and extend. Plus generate whatever sort of doc file + you would like. I didn't change the Makefile stuff as I'm not sure + what default doc type people want. Oh and this is all DocBook format. + Enjoy! + Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org> * configure.in: use __extension__ for long long on gcc >= 2.8 and diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index bfa281c27..8622b707f 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net> + + * docs/*.sgml : Batch of new documentation that should be easier + to maintain and extend. Plus generate whatever sort of doc file + you would like. I didn't change the Makefile stuff as I'm not sure + what default doc type people want. Oh and this is all DocBook format. + Enjoy! + Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org> * configure.in: use __extension__ for long long on gcc >= 2.8 and diff --git a/docs/defintions.sgml b/docs/defintions.sgml new file mode 100644 index 000000000..6dce08123 --- /dev/null +++ b/docs/defintions.sgml @@ -0,0 +1,108 @@ +<!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> + diff --git a/docs/gcache.sgml b/docs/gcache.sgml new file mode 100644 index 000000000..251419ddc --- /dev/null +++ b/docs/gcache.sgml @@ -0,0 +1,196 @@ +<!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: +-->
\ No newline at end of file diff --git a/docs/ghash.sgml b/docs/ghash.sgml new file mode 100644 index 000000000..63f064520 --- /dev/null +++ b/docs/ghash.sgml @@ -0,0 +1,262 @@ +<!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: +--> diff --git a/docs/glib.sgml b/docs/glib.sgml new file mode 100644 index 000000000..8a7468580 --- /dev/null +++ b/docs/glib.sgml @@ -0,0 +1,77 @@ +<!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> + diff --git a/docs/glist.sgml b/docs/glist.sgml new file mode 100644 index 000000000..f0887b8fb --- /dev/null +++ b/docs/glist.sgml @@ -0,0 +1,900 @@ +<!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: + --> diff --git a/docs/gmem.sgml b/docs/gmem.sgml new file mode 100644 index 000000000..d78ea4439 --- /dev/null +++ b/docs/gmem.sgml @@ -0,0 +1,181 @@ +<!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: +--> + + + + + diff --git a/docs/gtimer.sgml b/docs/gtimer.sgml new file mode 100644 index 000000000..027588b56 --- /dev/null +++ b/docs/gtimer.sgml @@ -0,0 +1,214 @@ +<!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, \µseconds); + + 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: +--> diff --git a/docs/gtree.sgml b/docs/gtree.sgml new file mode 100644 index 000000000..a04cf8527 --- /dev/null +++ b/docs/gtree.sgml @@ -0,0 +1,57 @@ +<!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: +-->
\ No newline at end of file |