2008-06-01 Michal Pryc - <
[email protected]>
* base-specs/ggz-client-libs.spec: Added patch
ggz-client-libs-04-manpages.diff
* patches/ggz-client-libs-04-manpages.diff: Fixed manpages for not
listening modules, which are not installed (kde client apps etc.)
* SUNWgnome-games.spec: Added three manpages, which were not made by
the community: libggz.3, libggzmod.3, libggzcore.3
* manpages/Makefile: Added SUNWgnome-games manpages
* manpages/man3/libggz.3: new manpage
* manpages/man3/libggzmod.3: new manpage
* manpages/man3/libggzcore.3: new manpage
--- a/ChangeLog Sun Jun 01 08:23:28 2008 +0000
+++ b/ChangeLog Sun Jun 01 18:06:43 2008 +0000
@@ -1,3 +1,15 @@
+2008-06-01 Michal Pryc - <[email protected]>
+ * base-specs/ggz-client-libs.spec: Added patch
+ ggz-client-libs-04-manpages.diff
+ * patches/ggz-client-libs-04-manpages.diff: Fixed manpages for not
+ listening modules, which are not installed (kde client apps etc.)
+ * SUNWgnome-games.spec: Added three manpages, which were not made by
+ the community: libggz.3, libggzmod.3, libggzcore.3
+ * manpages/Makefile: Added SUNWgnome-games manpages
+ * manpages/man3/libggz.3: new manpage
+ * manpages/man3/libggzmod.3: new manpage
+ * manpages/man3/libggzcore.3: new manpage
+
2008-06-01 Erwann Chenede - <[email protected]>
* patches/libgnome-01-sun-default-background.diff
--- a/SUNWgnome-games.spec Sun Jun 01 08:23:28 2008 +0000
+++ b/SUNWgnome-games.spec Sun Jun 01 18:06:43 2008 +0000
@@ -19,6 +19,7 @@
Name: SUNWgnome-games
Summary: GNOME games
Version: %{default_pkg_version}
+Source: %{name}-manpages-0.1.tar.gz
SUNW_BaseDir: %{_basedir}
SUNW_Copyright: %{name}.copyright
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -71,6 +72,8 @@
%libggz.prep -d %name-%version
%ggz_client_libs.prep -d %name-%version
%gnome_games.prep -d %name-%version
+cd %{_builddir}/%name-%version
+gzcat %SOURCE0 | tar xf -
%build
%define libggz_build_dir %{_builddir}/%name-%version/libggz-%{libggz.version}
@@ -100,6 +103,7 @@
%install
rm -rf $RPM_BUILD_ROOT
+rm -rf $RPM_BUILD_ROOT%{_mandir}
%libggz.install -d %name-%version
%ggz_client_libs.install -d %name-%version
%gnome_games.install -d %name-%version
@@ -116,6 +120,9 @@
rm $RPM_BUILD_ROOT%{_libdir}/*.a
rm $RPM_BUILD_ROOT%{_libdir}/*.la
+cd %{_builddir}/%name-%version/sun-manpages
+make install DESTDIR=$RPM_BUILD_ROOT
+
%if %build_l10n
%else
# REMOVE l10n FILES*files-list*
@@ -257,6 +264,8 @@
%{_mandir}/man3/*
%changelog
+* Sun Jun 1 2008 - [email protected]
+- Added additional manual pages: libggz, libggzmod, libggzcore
* Tue May 13 2008 - [email protected]
- Comment out %{_sysconfdir}/ggz.modules in %files as it's not being installed
this week.
--- a/base-specs/ggz-client-libs.spec Sun Jun 01 08:23:28 2008 +0000
+++ b/base-specs/ggz-client-libs.spec Sun Jun 01 18:06:43 2008 +0000
@@ -23,6 +23,8 @@
# svn://svn.ggzgamingzone.org/svn/trunk/ggz-client-libs/po
# owner:fujiwara date:2008-02-27 type:bug state:upstream
Patch3: ggz-client-libs-03-po.diff
+# owner:migi date:2008-06-01
+Patch4: ggz-client-libs-04-manpages.diff
URL: http://www.ggzgamingzone.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Docdir: %{_defaultdocdir}/%{name}
@@ -41,6 +43,7 @@
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
%build
%ifos linux
@@ -78,6 +81,8 @@
%changelog
+* Sun Jun 01 2008 - [email protected]
+- Added patch ggz-client-libs-04-manpages.diff
* Wed Feb 27 2008 - [email protected]
- Add ggz-client-libs-03-po.diff to add it.po
* Mon Feb 25 2008 - [email protected]
--- a/manpages/Makefile Sun Jun 01 08:23:28 2008 +0000
+++ b/manpages/Makefile Sun Jun 01 18:06:43 2008 +0000
@@ -140,6 +140,7 @@
SUNWxdg-user-dirs \
SUNWxdg-user-dirs-gtk \
SUNWvirt-manager \
+ SUNWgnome-games \
SUNWgamin
all: TARBALLS
@@ -746,6 +747,12 @@
man1/virt-manager.1
SUNWvirt-manager.PAGES: $(SUNWvirt-manager_PAGES)
+SUNWgnome-games_PAGES = \
+ man3/libggz.3 \
+ man3/libggzcore.3 \
+ man3/libggzmod.3
+SUNWgnome-games.PAGES: $(SUNWgnome-games_PAGES)
+
SUNWxdg-user-dirs_PAGES = \
man1/xdg-user-dir.1 \
man1/xdg-user-dirs-update.1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/manpages/man3/libggz.3 Sun Jun 01 18:06:43 2008 +0000
@@ -0,0 +1,192 @@
+<!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [
+<!--ArborText, Inc., 1988-1999, v.4002-->
+<!ENTITY cmd "libggz">
+<!ENTITY % commonents SYSTEM "smancommon.ent">
+%commonents;
+<!ENTITY % booktitles SYSTEM "booktitles.ent">
+%booktitles;
+<!ENTITY suncopy "Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.">
+]>
+<?Pub UDT _bookmark _target>
+<?Pub Inc>
+<refentry id="libggz-3">
+<!-- %Z%%M% %I% %E% SMI; -->
+<refmeta>
+ <refentrytitle>libggz</refentrytitle><manvolnum>3</manvolnum>
+ <refmiscinfo class="date">29 May 2008</refmiscinfo>
+ <refmiscinfo class="sectdesc">&man3;</refmiscinfo>
+ <refmiscinfo class="software">&release;</refmiscinfo>
+ <refmiscinfo class="arch">generic</refmiscinfo>
+ <refmiscinfo class="copyright">&suncopy;</refmiscinfo>
+</refmeta>
+
+<indexterm><primary>libggz</primary></indexterm>
+<indexterm><primary>The GGZ Gaming Zone base library</primary></indexterm>
+
+<refnamediv id="libggz-3-name">
+ <refname>libggz</refname>
+ <refpurpose>
+The GGZ Gaming Zone base library
+ </refpurpose>
+</refnamediv>
+
+<refsect1 id="libggz-3-desc">
+ <title>&desc-tt;</title>
+ <para>
+&cmd; is used by GGZ Gaming Zone server, the ggzcore library and other
+components. This library handles networking, configuration files, structure
+management functions and wrappers around glibc functions.
+ </para>
+ <para>
+The <filename>libggz</filename> library contains different groups of functions:
+ </para>
+<refsect2 id="libggz-3-exde-optb-func">
+<title>FUNCTION GROUPS</title>
+ <para>
+<variablelist termlength="long">
+<varlistentry><term><literal>Memory handling</literal></term><listitem>
+<para>
+These functions provide an alternative to the normal C library functions for
+dynamically allocating memory. They keep track of memory allocated by storing
+the name of the function and file in which they were called similar to glibc but
+are more convenient to use. For instance, ggz_strdup(NULL) returns NULL instead
+of crashing, and ggz_malloc() includes a reference counter to be used for
+debugging in combination with ggz_free(). With enabled MEMORY debugging the
+function ggz_memory_check() may be called to make sure all allocated memory has
+been freed.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>Configuration file management</literal></term><listitem>
+This group of functions is used for XML configuration file routines to store
+and retrieve values. For example, the ggz_conf_parse() function can be used to
+open a config file. To create such file automatically the GGZ_CONF_CREATE must
+be specified. If exactly the same configuration pathname is being opened more
+than one time, the original handle is being returned and only one copy is
+retained within memory.
+
+Configuration values are stored using a system of sections and keys. A key must
+be unique within a section and cannot be both an integer and a string within the
+same key. Section and key names may contain any characters except an equal sign.
+Although keys may not have leading or trailing whitespace, section names may
+have them. It is suggested that any whitespace (other than possibly internal
+spaces) be avoided when specifying section and key names.
+
+For writing the values to the physical file, the ggz_conf_commit() function must
+be called, otherwise all values are in the memory only, which makes writing
+multiple values in rapid succession more efficient, as the entire file must be
+regenerated in order to be written to the flat-file format of the configuration
+file.
+
+The string and list reading functions return dynamically allocated memory to
+the caller. The user is responsible for calling ggz_free() on this memory when
+they no longer need the returned values.
+
+All memory used internally by the configuration functions will be released when
+ggz_conf_cleanup() is called. Note that this does not commit any changes made
+to the configuration files, so the ggz_conf_commit() have to be called to do
+such commit. The ggz_conf_cleanup() is expected to call this at program
+termination, but it may be called at any time earlier than termination and new
+files may be subsequently opened.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>Debug functions</literal></term><listitem>
+The functions allow switching on and off debug messages for a certain tag.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>Network functions</literal></term><listitem>
+Those functions, historically known as the easysock library, permits the
+creation of server or client sockets, compatible with IPv6, as well as reading
+and writing basic datatypes such as integers or strings.
+</listitem>
+</varlistentry>
+</varlistentry>
+<varlistentry><term><literal>Security functions</literal></term><listitem>
+This group of functions are for both cryptographic hash creation and comparison
+using the gcrypt library, and for TLS encryption for network channels using
+OpenSSL.
+</listitem>
+</varlistentry>
+ </para>
+</refsect2>
+</para>
+</refsect1>
+
+<refsect1 id="libggz-3-file">
+ <title>&file-tt;</title>
+ <para>The following files are used by this library:</para>
+ <variablelist termlength="wide">
+ <varlistentry>
+ <term><filename>/usr/lib/&cmd;.so</filename> </term>
+ <listitem>
+ <para>The base GGZ Gaming Zone shared library</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1 id="libggz-3-attr">
+ <title>&attr-tt;</title>
+ <para>See <olink targetdocent="REFMAN5" localinfo="attributes-5"><citerefentry>
+<refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+</olink> for descriptions of the following attributes:
+ </para>
+ <informaltable frame="all">
+ <tgroup cols="2" colsep="1" rowsep="1">
+ <colspec colname="COLSPEC0" colwidth="1*">
+ <colspec colname="COLSPEC1" colwidth="1*">
+ <thead>
+ <row>
+ <entry align="center" valign="middle">ATTRIBUTE TYPE</entry>
+ <entry align="center" valign="middle">ATTRIBUTE VALUE</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><para>Availability</para></entry>
+ <entry><para>SUNWgnome-games</para></entry>
+ </row>
+ <row>
+ <entry colname="COLSPEC0"><para>Interface stability</para></entry>
+ <entry colname="COLSPEC1"><para>Volatile</para></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+</refsect1>
+
+<refsect1 id="libggz-3-also"><title>&also-tt;</title>
+ <!--Reference to another man page-->
+ <!--Reference to a Help manual-->
+ <!--Reference to a book.-->
+<para>
+<citerefentry><refentrytitle>ggz_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzcore_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzmod_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggzcore</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggzmod</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz.modules</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>gnome-interfaces</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz-config</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+</para>
+<variablelist termlength="wholeline">
+<varlistentry>
+<term><filename>GGZ Gaming Zone:</filename></term>
+<listitem><para>
+<programlisting>
+<literal>http://www.ggzgamingzone.org/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/libggz/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzcore/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzmod/</literal>
+</programlisting></para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refsect1>
+
+<refsect1 id="libggz-3-note"><title>¬e-tt;</title>
+ <para>Written by Michal Pryc, Sun Microsystems Inc., 2008.</para>
+</refsect1>
+</refentry>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/manpages/man3/libggzcore.3 Sun Jun 01 18:06:43 2008 +0000
@@ -0,0 +1,145 @@
+<!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [
+<!--ArborText, Inc., 1988-1999, v.4002-->
+<!ENTITY cmd "libggzcore">
+<!ENTITY % commonents SYSTEM "smancommon.ent">
+%commonents;
+<!ENTITY % booktitles SYSTEM "booktitles.ent">
+%booktitles;
+<!ENTITY suncopy "Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.">
+]>
+<?Pub UDT _bookmark _target>
+<?Pub Inc>
+<refentry id="libggzcore-3">
+<!-- %Z%%M% %I% %E% SMI; -->
+<refmeta>
+ <refentrytitle>libggzcore</refentrytitle><manvolnum>3</manvolnum>
+ <refmiscinfo class="date">29 May 2008</refmiscinfo>
+ <refmiscinfo class="sectdesc">&man3;</refmiscinfo>
+ <refmiscinfo class="software">&release;</refmiscinfo>
+ <refmiscinfo class="arch">generic</refmiscinfo>
+ <refmiscinfo class="copyright">&suncopy;</refmiscinfo>
+</refmeta>
+
+<indexterm><primary>libggzcore</primary></indexterm>
+<indexterm><primary>The GGZ Gaming Zone core client library</primary></indexterm>
+
+<refnamediv id="libggzcore-3-name">
+ <refname>libggzcore</refname>
+ <refpurpose>
+The GGZ Gaming Zone core client library
+</refpurpose>
+</refnamediv>
+<refsect1 id="libggzcore-3-desc">
+ <title>&desc-tt;</title>
+ <para>
+This library is used by client programs to connect to the GGZ
+Gaming Zone server, handle game rooms, control user participation in the games,
+control chat and player properties.
+ </para>
+ <para>
+The <filename>ggzcore</filename> library handles the connection of a client
+application to the GGZ Gaming Zone server. It starts with offering a global
+configuration object for storing connection profiles for each server. The
+server list can be maintained by hand or updated via the GGZ metaserver. After
+this it goes on to callback registration for the connection, negotiation and
+authentication methods, which might include guest logins, first time player or
+registered player on the GGZ server.
+ </para>
+ <para>
+After a login it handles the global server object, the current room object and,
+when playing a game, the active game object. Additional objects include the
+table the game is associated with, players, game types and game modules which
+represent client-side game executables.
+ </para>
+ <para>
+Alternatively, a game can integrate ggzcore directly instead of being launched
+by a ggzcore-using GGZ core client, which is known as embedded ggzcore.
+ </para>
+ <para>
+Other tasks handled by the library are querying the local game registry with
+all properties per game; retrieving the server message of the day (MOTD) or
+player statistics; handling public, private and per-table chat as well as
+administrative messages; and managing the game launch and join events for
+players and spectators.
+ </para>
+</refsect1>
+
+<refsect1 id="libggzcore-3-file">
+ <title>&file-tt;</title>
+ <para>The following files are used by this library:</para>
+ <variablelist termlength="wide">
+ <varlistentry>
+ <term><filename>/usr/lib/&cmd;.so</filename> </term>
+ <listitem>
+ <para>The GGZ Gaming Zone core client shared library</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1 id="libggzcore-3-attr">
+ <title>&attr-tt;</title>
+ <para>See <olink targetdocent="REFMAN5" localinfo="attributes-5"><citerefentry>
+<refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+</olink> for descriptions of the following attributes:
+ </para>
+ <informaltable frame="all">
+ <tgroup cols="2" colsep="1" rowsep="1">
+ <colspec colname="COLSPEC0" colwidth="1*">
+ <colspec colname="COLSPEC1" colwidth="1*">
+ <thead>
+ <row>
+ <entry align="center" valign="middle">ATTRIBUTE TYPE</entry>
+ <entry align="center" valign="middle">ATTRIBUTE VALUE</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><para>Availability</para></entry>
+ <entry><para>SUNWgnome-games</para></entry>
+ </row>
+ <row>
+ <entry colname="COLSPEC0"><para>Interface stability</para></entry>
+ <entry colname="COLSPEC1"><para>Volatile</para></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+</refsect1>
+
+<refsect1 id="libggzcore-3-also"><title>&also-tt;</title>
+ <!--Reference to another man page-->
+ <!--Reference to a Help manual-->
+ <!--Reference to a book.-->
+<para>
+<citerefentry><refentrytitle>ggz_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzcore_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzmod_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggz</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggzmod</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz.modules</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>gnome-interfaces</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz-config</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+</para>
+<variablelist termlength="wholeline">
+<varlistentry>
+<term><filename>GGZ Gaming Zone:</filename></term>
+<listitem><para>
+<programlisting>
+<literal>http://www.ggzgamingzone.org/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/libggz/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzcore/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzmod/</literal>
+</programlisting></para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refsect1>
+
+<refsect1 id="libggzcore-3-note"><title>¬e-tt;</title>
+ <para>Written by Michal Pryc, Sun Microsystems Inc., 2008.</para>
+</refsect1>
+</refentry>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/manpages/man3/libggzmod.3 Sun Jun 01 18:06:43 2008 +0000
@@ -0,0 +1,231 @@
+<!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [
+<!--ArborText, Inc., 1988-1999, v.4002-->
+<!ENTITY cmd "libggzmod">
+<!ENTITY % commonents SYSTEM "smancommon.ent">
+%commonents;
+<!ENTITY % booktitles SYSTEM "booktitles.ent">
+%booktitles;
+<!ENTITY suncopy "Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.">
+]>
+<?Pub UDT _bookmark _target>
+<?Pub Inc>
+<refentry id="libggzmod-3">
+<!-- %Z%%M% %I% %E% SMI; -->
+<refmeta>
+ <refentrytitle>libggzmod</refentrytitle><manvolnum>3</manvolnum>
+ <refmiscinfo class="date">29 May 2008</refmiscinfo>
+ <refmiscinfo class="sectdesc">&man3;</refmiscinfo>
+ <refmiscinfo class="software">&release;</refmiscinfo>
+ <refmiscinfo class="arch">generic</refmiscinfo>
+ <refmiscinfo class="copyright">&suncopy;</refmiscinfo>
+</refmeta>
+
+<indexterm><primary>libggzmod</primary></indexterm>
+<indexterm><primary>The GGZ Gaming Zone game frontend library</primary></indexterm>
+
+<refnamediv id="libggzmod-3-name">
+ <refname>libggzmod</refname>
+ <refpurpose>
+The GGZ Gaming Zone game frontend library.
+</refpurpose>
+</refnamediv>
+
+<refsect1 id="libggzmod-3-desc">
+ <title>&desc-tt;</title>
+ <para>
+This library allows games to communicate with the GGZ Gaming Zone
+core client, which allows establishing the connection to the GGZ Gaming Zone
+server and its associated game server.
+ </para>
+ <para>
+The <filename>libggzmod</filename> allows game authors to use GGZ Gaming Zone in
+their game clients. This library provides a state engine and an event
+dispatcher. The states are associated with the game tables. Each table has a
+current state which is tracked by GGZMod and the GGZMOD_EVENT_STATE is
+propagated to the game server, each time game state changes.
+ </para>
+
+<refsect3 id="libggzmod-3-exde-optb-stat">
+<title>STATES</title>
+ <para>
+<variablelist termlength="medium">
+<varlistentry><term><literal>GGZMOD_STATE_CREATED</literal></term><listitem>
+<para>
+The game is in this state when it is executed for the first time. This state
+should never be changed back once the state is set.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_STATE_CONNECTED</literal></term><listitem>
+Once the GGZ client and the game are connected, the game changes state to this
+automatically. This state should never be changed back once the game leaves
+this state.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_STATE_WAITING</literal></term><listitem>
+After the game client and game server are connected, the client enters this
+state. The game client may now call ggzmod_set_state to change states
+between GGZMOD_STATE_WAITING, GGZMOD_STATE_PLAYING, and GGZMOD_STATE_DONE.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_STATE_PLAYING</literal></term><listitem>
+This state tells that the game is actively being played, while the
+GGZMOD_STATE_WAITING state in the game is considered waiting for players.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_STATE_DONE</literal></term><listitem>
+This state indicates the table is considered dead and will exit shortly
+thereafter.
+</listitem>
+</varlistentry>
+</variablelist>
+ </para>
+</refsect3>
+
+<refsect3 id="libggzmod-3-exde-optb-even">
+<title>EVENTS</title>
+ <para>
+For each of the events available in GGZModEvent, the table may register a
+handler to handle that event.
+Events include:
+<variablelist termlength="long">
+<varlistentry><term><literal>GGZMOD_EVENT_STATE</literal></term><listitem>
+Inform about a new game status. The old state (a GGZModState*) is passed as the
+event's data.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_SERVER</literal></term><listitem>
+This event occurs when a new connection to the game server has been made,
+either by the core client or by the game client itself. In this case the fd is
+passed as the event's data.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_PLAYER</literal></term><listitem>
+This event occurs when the player's seat status changes. For example, if a
+player or bot joins, leaves seat, or starts/stops spectating. The passed event
+data is a int[2] pair consisting of the old {is_spectator, seat_num}.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_SEAT</literal></term><listitem>
+Informs about seat changes. The old seat (a GGZSeat*) is passed as the event
+data. The seat information will be updated before this event is invoked.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_SPECTATOR_SEAT</literal></term><listitem>
+This event occurs when a spectator seat change happens. The old spectator (a
+GGZSpectator*) is passed as the event data. The spectator information will be
+updated before this event is invoked.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_CHAT</literal></term><listitem>
+This is an event for receiving a chat. The chat may have originated in another
+game client or from the GGZ client. The chat information (a GGZChat*) is passed
+as the event's data.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_STATS</literal></term><listitem>
+This is an event informing that player's statistics have been updated.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_INFO</literal></term><listitem>
+This event fires when information about one or more other players has been
+requested and has been received. The event's data is in a GGZPlayerInfo*
+structure or NULL if information about all players was requested.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_ERROR</literal></term><listitem>
+This event informs about GGZMod errors. An error message (a char*) is passed as
+the event's data. The GGZMod may attempt to recover from the error, but it is
+not guaranteed that the GGZ connection will continue to work after an error has
+happened.
+</listitem>
+</varlistentry>
+</variablelist>
+ </para>
+</refsect3>
+</refsect1>
+
+<refsect1 id="libggzmod-3-file">
+ <title>&file-tt;</title>
+ <para>The following files are used by this library:</para>
+ <variablelist termlength="wide">
+ <varlistentry>
+ <term><filename>/usr/lib/&cmd;.so</filename> </term>
+ <listitem>
+ <para>The GGZ Gaming Zone game frontend shared library</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>/etc/ggz.modules</filename> </term>
+ <listitem>
+ <para>Game module registry for game clients</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1 id="libggzmod-3-attr">
+ <title>&attr-tt;</title>
+ <para>See <olink targetdocent="REFMAN5" localinfo="attributes-5"><citerefentry>
+<refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+</olink> for descriptions of the following attributes:
+ </para>
+ <informaltable frame="all">
+ <tgroup cols="2" colsep="1" rowsep="1">
+ <colspec colname="COLSPEC0" colwidth="1*">
+ <colspec colname="COLSPEC1" colwidth="1*">
+ <thead>
+ <row>
+ <entry align="center" valign="middle">ATTRIBUTE TYPE</entry>
+ <entry align="center" valign="middle">ATTRIBUTE VALUE</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><para>Availability</para></entry>
+ <entry><para>SUNWgnome-games</para></entry>
+ </row>
+ <row>
+ <entry colname="COLSPEC0"><para>Interface stability</para></entry>
+ <entry colname="COLSPEC1"><para>Volatile</para></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+</refsect1>
+
+<refsect1 id="libggzmod-3-also"><title>&also-tt;</title>
+ <!--Reference to another man page-->
+ <!--Reference to a Help manual-->
+ <!--Reference to a book.-->
+<para>
+<citerefentry><refentrytitle>ggz_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzcore_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzmod_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggz</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggzcore</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz.modules</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>gnome-interfaces</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz-config</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+</para>
+<variablelist termlength="wholeline">
+<varlistentry>
+<term><filename>GGZ Gaming Zone:</filename></term>
+<listitem><para>
+<programlisting>
+<literal>http://www.ggzgamingzone.org/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/libggz/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzcore/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzmod/</literal>
+</programlisting></para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refsect1>
+
+<refsect1 id="libggzmod-3-note"><title>¬e-tt;</title>
+ <para>Written by Michal Pryc, Sun Microsystems Inc., 2008.</para>
+</refsect1>
+</refentry>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ggz-client-libs-04-manpages.diff Sun Jun 01 18:06:43 2008 +0000
@@ -0,0 +1,165 @@
+--- ggz-client-libs-0.0.14.1.orig/man/ggz.modules.5.in 2008-06-01 12:59:52.991337471 +0100
++++ ggz-client-libs-0.0.14.1/man/ggz.modules.5.in 2008-06-01 12:56:52.662907224 +0100
+@@ -96,10 +96,15 @@
+ .SH "FILES"
+ .LP
+ \fI@ggzconfdir@/ggz.modules\fP
+-.SH "AUTHORS"
+-.LP
+-The GGZ Development Team
+-<ggz\[email protected]>
+ .SH "SEE ALSO"
+ .LP
+-ggz-config(6), ggz(7)
++ggz_h(3), ggzcore_h(3), ggzmod_h(3), libggz(3), libggzcore(3), libggzmod(3),
++attributes(5), ggz.modules(5), gnome-interfaces(5), ggz(6), ggz-config(6),
++ggz(7)
++.LP
++GGZ Gaming Zone:
++ http://www.ggzgamingzone.org/
++.SH "AUTHORS"
++.LP
++ The GGZ Development Team <ggz\[email protected]>
++ Last edited by Michal Pryc, Sun Microsystems Inc., 2008.
+--- ggz-client-libs-0.0.14.1.orig/man/ggz-config.6.in 2008-06-01 12:59:52.992076447 +0100
++++ ggz-client-libs-0.0.14.1/man/ggz-config.6.in 2008-06-01 12:56:52.664395310 +0100
+@@ -114,10 +114,15 @@
+ that could arise with an invalid \fIggz.modules\fP file.
+ .LP
+ Probably others, too numerous to mention.
+-.SH "AUTHORS"
+-.LP
+-The GGZ Development Team
+-<ggz\[email protected]>
+ .SH "SEE ALSO"
+ .LP
+-ggz.modules(5), ggz(7)
++ggz_h(3), ggzcore_h(3), ggzmod_h(3), libggz(3), libggzcore(3), libggzmod(3),
++attributes(5), ggz.modules(5), gnome-interfaces(5), ggz(6), ggz-config(6),
++ggz(7)
++.LP
++GGZ Gaming Zone:
++ http://www.ggzgamingzone.org/
++.SH "AUTHORS"
++.LP
++ The GGZ Development Team <ggz\[email protected]>
++ Last edited by Michal Pryc, Sun Microsystems Inc., 2008.
+--- ggz-client-libs-0.0.14.1.orig/man/ggz.6 2008-06-01 12:59:52.992537184 +0100
++++ ggz-client-libs-0.0.14.1/man/ggz.6 2008-06-01 12:56:52.662591328 +0100
+@@ -14,21 +14,20 @@
+ core client without worrying which ones are installed. The tool is useful
+ for launching GGZ core clients from other software, but it will certainly
+ also be used by experienced users who just want to connect to GGZ quickly.
+-.LP
+-Currently, the KDE client \fBkggz\fR, the Gtk+ client \fBggz-gtk\fR and
+-the Java client \fBggz-java\fR are supported for graphical environments.
+-In text-console mode, \fBggz-txt\fR can serve as a fallback.
+ .SH "OPTIONS"
+ .LP
+ Since the available program options varies between the core clients,
+ only the common \fIURL\fR parameter is supported. This is a connection
+ identifier of the form ggz://user@host:port and will in most cases
+ be abbreviated to user@host.
+-.LP
+-.SH "AUTHORS"
+-.LP
+-The GGZ Development Team
+-<ggz\[email protected]>
+ .SH "SEE ALSO"
+ .LP
+-kggz(6), ggz-gtk(6), ggz-java(6), ggz-txt(6), ggz(7)
++ggz_h(3), ggzcore_h(3), ggzmod_h(3), libggz(3), libggzcore(3), libggzmod(3),
++attributes(5), ggz.modules(5), gnome-interfaces(5), ggz-config(6), ggz(7)
++.LP
++GGZ Gaming Zone:
++ http://www.ggzgamingzone.org/
++.SH "AUTHORS"
++.LP
++ The GGZ Development Team <ggz\[email protected]>
++ Last edited by Michal Pryc, Sun Microsystems Inc., 2008.
+--- ggz-client-libs-0.0.14.1.orig/man/ggz.7 2008-06-01 12:59:52.991476324 +0100
++++ ggz-client-libs-0.0.14.1/man/ggz.7 2008-06-01 12:56:52.664549590 +0100
+@@ -7,8 +7,6 @@
+ The GGZ Gaming Zone is a standards-conforming online gaming infrastructure
+ which provides many applications and games to people who like to play
+ on the internet or in local networks.
+-GGZ, how the (recursive) acronym is called, is available for many computer
+-systems. This document focuses on the installations on Linux, BSD and Unix.
+ .SH "APPLICATIONS"
+ .LP
+ There isn't a single executable named ggz, instead a multitude of programs
+@@ -16,51 +14,27 @@
+ are used by developers and administrators.
+ Users will most likely want to connect to a GGZ server on the internet,
+ such as \fIggz://live.ggzgamingzone.org\fR, to play games against other people.
+-\fICore clients\fR are used to perform this task. Functional clients exist
+-in the form of \fBkggz\fR for the K Desktop Environment (KDE), \fBggz-gnome\fR
+-and \fBggz-gtk\fR for GNOME or XFCE users, and \fBggz-txt\fR for people who
+-prefer command-line applications. Of course, the clients are not bound to a
+-specific desktop, but the choices above will likely be influenced by the level
+-of integration.
+-A client under development is the SDL-based \fBvíbora\fR.
+-.LP
+-Special clients exist in the form of \fBggzap\fR, a quick-launcher for the
+-KDE panel, and \fBggz-wrapper\fR which is used for launching GGZ games from
+-instant messenger applications.
++\fICore clients\fR are used to perform this task.
+ .SH "GAMES"
+ .LP
+ Games are usually launched by the GGZ server, with corresponding game clients
+ running on the user's desktop. Plenty of games are available for GGZ, most
+ of them coming from the GGZ project itself but several independent game projects
+ do now provide GGZ support.
+-Game clients are implemented using multiple toolkits, some of which stem from
+-certain desktop environments. However, all games work equally well under all
+-desktops, it's just a matter of personal choice which of them are to be
+-installed - having all of them is just fine.
+ .LP
+ While some GGZ game clients are suited for online gaming only, others also run
+ locally like normal games happen to do. Those will be found in the desktop's
+ application menu.
+ .SH "FILES"
+-.LP
+-The following layout can vary from site to site, depending on the completeness
+-of a GGZ installation and the operating system distribution in use.
+-It adheres to the File Hierarchy Standard (FHS) as much as possible.
+ .TP
+ /usr/bin
+ GGZ applications, tools, and the games which provide single player mode.
+ .TP
+-/usr/lib/ggz(d)
+-GGZ game clients and servers.
++/usr/lib(d)
++GGZ game client and server libraries.
+ .TP
+ /usr/share/ggz(d)
+ Data files for game clients and servers.
+-.TP
+-/etc/ggz.modules
+-Game module registry for game clients.
+-.TP
+-/etc/ggzd
+-Configuration for the GGZ server, including rooms and game types.
+ .SH "CONFORMING TO"
+ .LP
+ \fIGGZ Design Document and Protocol Reference\fR, available at
+@@ -78,10 +52,14 @@
+ .LP
+ File Hierarchy Standard for unix-derived operating systems, at
+ \fIhttp://www.pathname.com/fhs/\fR
+-.SH "AUTHORS"
+-.LP
+-The GGZ Development Team
+-<ggz\[email protected]>
+ .SH "SEE ALSO"
++.LP
++ggz_h(3), ggzcore_h(3), ggzmod_h(3), libggz(3), libggzcore(3), libggzmod(3),
++attributes(5), ggz.modules(5), gnome-interfaces(5), ggz(6), ggz-config(6)
++.LP
++GGZ Gaming Zone:
++ http://www.ggzgamingzone.org/
++.SH "AUTHORS"
+ .LP
+-kggz(6), ggz-gtk(6), ggz-txt(6), ggz-java(6)
++ The GGZ Development Team <ggz\[email protected]>
++ Last edited by Michal Pryc, Sun Microsystems Inc., 2008.