summaryrefslogtreecommitdiff
path: root/docs/reference
diff options
context:
space:
mode:
authorMatthias Clasen <maclas@gmx.de>2003-06-17 23:08:37 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2003-06-17 23:08:37 +0000
commit54f796b1b6e161e92b975e25f06c3a5b7121179d (patch)
treee58f72ae6c72b70f43f4c2e9b0f11cac0333b650 /docs/reference
parent6411bedd0162b73c627ca83856d72db6972d99bd (diff)
downloadglib-54f796b1b6e161e92b975e25f06c3a5b7121179d.tar.gz
glib-54f796b1b6e161e92b975e25f06c3a5b7121179d.tar.bz2
glib-54f796b1b6e161e92b975e25f06c3a5b7121179d.zip
New macros to check for XML catalog contents and path, borrowed from
2003-06-17 Matthias Clasen <maclas@gmx.de> * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New macros to check for XML catalog contents and path, borrowed from gtk-doc. * configure.in: New option --enable-man to enable regeneration of man pages from Docbook, if the necessary tools are found. * gobject/Makefile.am: Add rule to regenerate man pages from Docbook. (man_MANS): Add glib-mkenums.1, glib-genmarshal.1 and gobject-query.1. (content_files): Add glib-mkenums.xml, glib-genmarshal.xml and gobject-query.xml. * gobject/glib-mkenums.xml: * gobject/glib-genmarshal.xml: * gobject/gobject-query.xml: New refentries. * gobject/glib-mkenums.1: * gobject/glib-genmarshal.1: * gobject/gobject-query.1: Man pages generated from the .xml sources. * gobject/gobject-docs.sgml: Include glib-mkenums.xml, glib-genmarshal.xml and gobject-query.xml. * glib/Makefile.am: Add rule to regenerate man pages from Docbook. (man_MANS): Add glib-gettextize.1. (content_files): Add glib-gettextize.xml. * glib/glib-gettextize.xml: New refentry. * glib/glib-gettextize.1: Man page generated from the .xml source. * glib/glib-docs.sgml: Include glib-gettextize.xml.
Diffstat (limited to 'docs/reference')
-rw-r--r--docs/reference/ChangeLog33
-rw-r--r--docs/reference/glib/Makefile.am12
-rw-r--r--docs/reference/glib/glib-docs.sgml10
-rw-r--r--docs/reference/glib/glib-gettextize.159
-rw-r--r--docs/reference/glib/glib-gettextize.xml78
-rw-r--r--docs/reference/gobject/Makefile.am19
-rw-r--r--docs/reference/gobject/glib-genmarshal.1253
-rw-r--r--docs/reference/gobject/glib-genmarshal.xml336
-rw-r--r--docs/reference/gobject/glib-mkenums.1168
-rw-r--r--docs/reference/gobject/glib-mkenums.xml271
-rw-r--r--docs/reference/gobject/gobject-docs.sgml11
-rw-r--r--docs/reference/gobject/gobject-query.180
-rw-r--r--docs/reference/gobject/gobject-query.xml111
13 files changed, 1438 insertions, 3 deletions
diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog
index 8c51866aa..3d2c3b15d 100644
--- a/docs/reference/ChangeLog
+++ b/docs/reference/ChangeLog
@@ -1,3 +1,36 @@
+2003-06-18 Matthias Clasen <maclas@gmx.de>
+
+ * gobject/Makefile.am: Add rule to regenerate man pages from
+ Docbook.
+ (man_MANS): Add glib-mkenums.1, glib-genmarshal.1 and gobject-query.1.
+ (content_files): Add glib-mkenums.xml, glib-genmarshal.xml and
+ gobject-query.xml.
+
+ * gobject/glib-mkenums.xml:
+ * gobject/glib-genmarshal.xml:
+ * gobject/gobject-query.xml: New refentries.
+
+ * gobject/glib-mkenums.1:
+ * gobject/glib-genmarshal.1:
+ * gobject/gobject-query.1: Man pages generated from the .xml
+ sources.
+
+ * gobject/gobject-docs.sgml: Include glib-mkenums.xml,
+ glib-genmarshal.xml and gobject-query.xml.
+
+2003-06-17 Matthias Clasen <maclas@gmx.de>
+
+ * glib/Makefile.am: Add rule to regenerate man pages from
+ Docbook.
+ (man_MANS): Add glib-gettextize.1.
+ (content_files): Add glib-gettextize.xml.
+
+ * glib/glib-gettextize.xml: New refentry.
+
+ * glib/glib-gettextize.1: Man page generated from the .xml source.
+
+ * glib/glib-docs.sgml: Include glib-gettextize.xml.
+
2003-06-17 Matthias Clasen <mc2@YAST_ASK>
* gobject/gobject-docs.sgml:
diff --git a/docs/reference/glib/Makefile.am b/docs/reference/glib/Makefile.am
index 5959840e4..4f0244f11 100644
--- a/docs/reference/glib/Makefile.am
+++ b/docs/reference/glib/Makefile.am
@@ -48,11 +48,21 @@ content_files = \
changes.sgml \
compiling.sgml \
resources.sgml \
- version.xml
+ version.xml \
+ glib-gettextize.xml
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
+man_MANS = glib-gettextize.1
+
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+
# include common portion ...
include $(top_srcdir)/gtk-doc.make
diff --git a/docs/reference/glib/glib-docs.sgml b/docs/reference/glib/glib-docs.sgml
index 4451349f0..2be3fa5ca 100644
--- a/docs/reference/glib/glib-docs.sgml
+++ b/docs/reference/glib/glib-docs.sgml
@@ -61,6 +61,8 @@
<!ENTITY glib-Resources SYSTEM "resources.sgml">
<!ENTITY glib-Changes SYSTEM "changes.sgml">
+<!ENTITY glib-gettextize SYSTEM "glib-gettextize.xml">
+
<!ENTITY version SYSTEM "version.xml">
]>
<book id="index">
@@ -155,7 +157,13 @@ OS/2 and BeOS. GLib is released under the GNU Library General Public License
&glib-Caches;
&glib-Memory-Allocators;
</chapter>
-
+
+ <chapter id="tools">
+ <title>GLib Tools</title>
+
+ &glib-gettextize;
+ </chapter>
+
<index/>
</book>
diff --git a/docs/reference/glib/glib-gettextize.1 b/docs/reference/glib/glib-gettextize.1
new file mode 100644
index 000000000..693f09ac2
--- /dev/null
+++ b/docs/reference/glib/glib-gettextize.1
@@ -0,0 +1,59 @@
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GLIB-GETTEXTIZE" 1 "" "" ""
+.SH NAME
+glib-gettextize \- gettext internationalization utility
+.SH "SYNOPSIS"
+
+.nf
+\fBglib-gettextize\fR [option...] [directory]
+.fi
+
+.SH "DESCRIPTION"
+
+.PP
+ \fBglib-gettextize\fR helps to prepare a source package for being internationalized through gettext\&. It is a variant of the \fBgettextize\fR that ships with gettext\&.
+
+.PP
+ \fBglib-gettextize\fR differs from \fBgettextize\fR in that it doesn't create an \fIintl/\fR subdirectory and doesn't modify \fIpo/ChangeLog\fR (note that newer versions of \fBgettextize\fR behave like this when called with the \fB--no-changelog\fR option)\&.
+
+.SS "Options"
+
+.TP
+\fB--help\fR
+print help and exit
+
+.TP
+\fB--version\fR
+print version information and exit
+
+.TP
+\fB-c\fR, \fB--copy\fR
+copy files instead of making symlinks
+
+.TP
+\fB-f\fR, \fB--force\fR
+force writing of new files even if old ones exist
+
+.SH "SEE ALSO"
+
+.PP
+ \fBgettextize\fR(1)
+
diff --git a/docs/reference/glib/glib-gettextize.xml b/docs/reference/glib/glib-gettextize.xml
new file mode 100644
index 000000000..54efe7a9c
--- /dev/null
+++ b/docs/reference/glib/glib-gettextize.xml
@@ -0,0 +1,78 @@
+<refentry id="glib-gettextize">
+
+<refmeta>
+<refentrytitle>glib-gettextize</refentrytitle>
+<manvolnum>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname>glib-gettextize</refname>
+<refpurpose>gettext internationalization utility</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>glib-gettextize</command>
+<arg choice="opt" rep="repeat">option</arg>
+<arg choice="opt">directory</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para>
+<command>glib-gettextize</command> helps to prepare a source package for being
+internationalized through <application>gettext</application>.
+It is a variant of the <command>gettextize</command> that ships with
+<application>gettext</application>.
+</para>
+
+<para>
+<command>glib-gettextize</command> differs
+from <command>gettextize</command> in that it doesn't create an
+<filename>intl/</filename> subdirectory and doesn't modify
+<filename>po/ChangeLog</filename> (note that newer versions of
+<command>gettextize</command> behave like this when called with the
+<option>--no-changelog</option> option).
+</para>
+<refsect2><title>Options</title>
+<variablelist>
+
+<varlistentry>
+<term><option>--help</option></term>
+<listitem><para>
+print help and exit
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--version</option></term>
+<listitem><para>
+print version information and exit
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-c</option>, <option>--copy</option></term>
+<listitem><para>
+copy files instead of making symlinks
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-f</option>, <option>--force</option></term>
+<listitem><para>
+force writing of new files even if old ones exist
+</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+
+<refsect1><title>See also</title>
+<para>
+<command>gettextize</command>(1)
+</para>
+</refsect1>
+</refentry>
+
+
diff --git a/docs/reference/gobject/Makefile.am b/docs/reference/gobject/Makefile.am
index b756b19e1..6f1d2a0f0 100644
--- a/docs/reference/gobject/Makefile.am
+++ b/docs/reference/gobject/Makefile.am
@@ -28,12 +28,29 @@ MKDB_OPTIONS=
HTML_IMAGES =
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
-content_files = version.xml
+content_files = version.xml \
+ glib-mkenums.xml \
+ glib-genmarshal.xml \
+ gobject-query.xml
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../glib/html
+man_MANS = glib-mkenums.1 glib-genmarshal.1 gobject-query.1
+
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
EXTRA_DIST += version.xml.in
+
+
+
+
+
diff --git a/docs/reference/gobject/glib-genmarshal.1 b/docs/reference/gobject/glib-genmarshal.1
new file mode 100644
index 000000000..026161238
--- /dev/null
+++ b/docs/reference/gobject/glib-genmarshal.1
@@ -0,0 +1,253 @@
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GLIB-GENMARSHAL" 1 "" "" ""
+.SH NAME
+glib-genmarshal \- C code marshaller generation utility for GLib closures
+.SH "SYNOPSIS"
+
+.nf
+\fBglib-genmarshal\fR [options...] [files...]
+.fi
+
+.SH "DESCRIPTION"
+
+.PP
+ \fBglib-genmarshal\fR is a small utility that generates C code marshallers for callback functions of the GClosure mechanism in the GObject sublibrary of GLib\&. The marshaller functions have a standard signature, they get passed in the invoking closure, an array of value structures holding the callback function parameters and a value structure for the return value of the callback\&. The marshaller is then responsible to call the respective C code function of the closure with all the parameters on the stack and to collect its return value\&.
+
+.SH "INVOKATION"
+
+.PP
+ \fBglib-genmarshal\fR takes a list of marshallers to generate as input\&. The marshaller list is either read from standard input or from files passed as additional arguments on the command line\&.
+
+.SS "Options"
+
+.TP
+\fB--header\fR
+Generate header file contents of the marshallers\&.
+
+.TP
+\fB--body\fR
+Generate C code file contents of the marshallers\&.
+
+.TP
+\fB--prefix=string\fR, \fB--prefix string\fR
+Specify marshaller prefix\&. The default prefix is `g_cclosure_marshal'\&.
+
+.TP
+\fB--skip-source\fR
+Skip source location remarks in generated comments\&.
+
+.TP
+\fB--nostdinc\fR
+Do not use the standard marshallers of the GObject library, and skip \fIgmarshal\&.h\fR include directive in generated header files\&.
+
+.TP
+\fB--g-fatal-warnings\fR
+Make warnings fatal, that is, exit immediately once a warning occurs\&.
+
+.TP
+\fB-h\fR, \fB--help\fR
+Print brief help and exit\&.
+
+.TP
+\fB-v\fR, \fB--version\fR
+Print version and exit\&.
+
+.SS "Marshaller list format"
+
+.PP
+The marshaller lists are processed line by line, a line can contain a comment in the form of
+
+.nf
+
+# this is a comment
+
+.fi
+ or a marshaller specification of the form
+
+.nf
+
+\fIRTYPE\fR:\fIPTYPE\fR
+\fIRTYPE\fR:\fIPTYPE\fR,\fIPTYPE\fR
+\fIRTYPE\fR:\fIPTYPE\fR,\fIPTYPE\fR,\fIPTYPE\fR
+
+.fi
+ (up to 16 \fIPTYPE\fRs may be present)\&.
+
+.PP
+The \fIRTYPE\fR part specifies the callback's return type and the \fIPTYPE\fRs right to the colon specify the callback's parameter list, except for the first and the last arguments which are always pointers\&.
+
+.SS "Parameter types"
+
+.PP
+Currently, the following types are supported:
+
+.TP
+\fIVOID\fR
+indicates no return type, or no extra parameters\&. If \fIVOID\fR is used as the parameter list, no additional parameters may be present\&.
+
+.TP
+\fIBOOLEAN\fR
+for boolean types (gboolean)
+
+.TP
+\fICHAR\fR
+for signed char types (gchar)
+
+.TP
+\fIUCHAR\fR
+for unsigned char types (guchar)
+
+.TP
+\fIINT\fR
+for signed integer types (gint)
+
+.TP
+\fIUINT\fR
+for unsigned integer types (guint)
+
+.TP
+\fILONG\fR
+for signed long integer types (glong)
+
+.TP
+\fIULONG\fR
+for unsigned long integer types (gulong)
+
+.TP
+\fIENUM\fR
+for enumeration types (gint)
+
+.TP
+\fIFLAGS\fR
+for flag enumeration types (guint)
+
+.TP
+\fIFLOAT\fR
+for single-precision float types (gfloat)
+
+.TP
+\fIDOUBLE\fR
+for double-precision float types (gdouble)
+
+.TP
+\fISTRING\fR
+for string types (gchar*)
+
+.TP
+\fIBOXED\fR
+for boxed (anonymous but reference counted) types (GBoxed*)
+
+.TP
+\fIPARAM\fR
+for GParamSpec or derived types (GParamSpec*)
+
+.TP
+\fIPOINTER\fR
+for anonymous pointer types (gpointer)
+
+.TP
+\fIOBJECT\fR
+for GObject or derived types (GObject*)
+
+.TP
+\fINONE\fR
+deprecated alias for \fIVOID\fR
+
+.TP
+\fIBOOL\fR
+deprecated alias for \fIBOOLEAN\fR
+
+
+.SH "EXAMPLE"
+
+.PP
+To generate marshallers for the following callback functions:
+
+.nf
+
+void foo (gpointer data1,
+ gpointer data2);
+void bar (gpointer data1,
+ gint param1,
+ gpointer data2);
+gfloat baz (gpointer data1,
+ gboolean param1,
+ guchar param2,
+ gpointer data2);
+
+.fi
+
+.PP
+The marshaller list has to look like this:
+
+.nf
+
+VOID:VOID
+VOID:INT
+FLOAT:BOOLEAN,UCHAR
+
+.fi
+
+.PP
+The generated marshallers have the arguments encoded in their function name\&. For this particular list, they are
+
+.nf
+
+g_cclosure_marshal_VOID__VOID(),
+g_cclosure_marshal_VOID__INT(),
+g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR()\&.
+
+.fi
+
+.PP
+They can be used directly for GClosures or be passed in as the GSignalCMarshaller c_marshaller; argument upon creation of signals:
+
+.nf
+
+GClosure *cc_foo, *cc_bar, *cc_baz;
+
+cc_foo = g_cclosure_new (NULL, foo, NULL);
+g_closure_set_marshal (cc_foo, g_cclosure_marshal_VOID__VOID);
+cc_bar = g_cclosure_new (NULL, bar, NULL);
+g_closure_set_marshal (cc_bar, g_cclosure_marshal_VOID__INT);
+cc_baz = g_cclosure_new (NULL, baz, NULL);
+g_closure_set_marshal (cc_baz, g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR);
+
+.fi
+
+.SH "SEE ALSO"
+
+.PP
+ \fBglib-mkenums\fR(1)
+
+.SH "BUGS"
+
+.PP
+None known yet\&.
+
+.SH "AUTHOR"
+
+.PP
+ \fBglib-genmarshal\fR has been written by Tim Janik <timj@gtk\&.org>\&.
+
+.PP
+This manual page was provided by Tim Janik <timj@gtk\&.org>\&.
+
diff --git a/docs/reference/gobject/glib-genmarshal.xml b/docs/reference/gobject/glib-genmarshal.xml
new file mode 100644
index 000000000..e2f5d49f7
--- /dev/null
+++ b/docs/reference/gobject/glib-genmarshal.xml
@@ -0,0 +1,336 @@
+<refentry id="glib-genmarshal">
+
+<refmeta>
+<refentrytitle>glib-genmarshal</refentrytitle>
+<manvolnum>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname>glib-genmarshal</refname>
+<refpurpose>C code marshaller generation utility for GLib closures</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>glib-genmarshal</command>
+<arg choice="opt" rep="repeat">options</arg>
+<arg choice="opt" rep="repeat">files</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para>
+<command>glib-genmarshal</command> is a small utility that generates C code
+marshallers for callback functions of the GClosure mechanism in the GObject
+sublibrary of GLib. The marshaller functions have a standard signature,
+they get passed in the invoking closure, an array of value structures holding
+the callback function parameters and a value structure for the return value
+of the callback. The marshaller is then responsible to call the respective C
+code function of the closure with all the parameters on the stack and to
+collect its return value.
+</para>
+</refsect1>
+
+<refsect1><title>Invokation</title>
+<para>
+<command>glib-genmarshal</command> takes a list of marshallers to generate as
+input. The marshaller list is either read from standard input or from files
+passed as additional arguments on the command line.
+</para>
+
+<refsect2><title>Options</title>
+<variablelist>
+
+<varlistentry>
+<term><option>--header</option></term>
+<listitem><para>
+Generate header file contents of the marshallers.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--body</option></term>
+<listitem><para>
+Generate C code file contents of the marshallers.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--prefix=string</option>, <option>--prefix string</option></term>
+<listitem><para>
+Specify marshaller prefix. The default prefix is <literal>`g_cclosure_marshal'</literal>.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--skip-source</option></term>
+<listitem><para>
+Skip source location remarks in generated comments.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--nostdinc</option></term>
+<listitem><para>
+Do not use the standard marshallers of the GObject library, and skip
+<filename>gmarshal.h</filename> include directive in generated header files.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--g-fatal-warnings</option></term>
+<listitem><para>
+Make warnings fatal, that is, exit immediately once a warning occurs.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-h</option>, <option>--help</option></term>
+<listitem><para>
+Print brief help and exit.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-v</option>, <option>--version</option></term>
+<listitem><para>
+Print version and exit.
+</para></listitem>
+</varlistentry>
+
+</variablelist>
+</refsect2>
+
+<refsect2><title>Marshaller list format</title>
+<para>
+The marshaller lists are processed line by line, a line can contain a
+comment in the form of
+<programlisting>
+# this is a comment
+</programlisting>
+or a marshaller specification of the form
+<programlisting>
+<replaceable>RTYPE</replaceable>:<replaceable>PTYPE</replaceable>
+<replaceable>RTYPE</replaceable>:<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>
+<replaceable>RTYPE</replaceable>:<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>
+</programlisting>
+(up to 16 <replaceable>PTYPE</replaceable>s may be present).
+</para>
+<para>
+The <replaceable>RTYPE</replaceable> part specifies the callback's return
+type and the <replaceable>PTYPE</replaceable>s right to the colon specify
+the callback's parameter list, except for the first and the last arguments
+which are always pointers.
+</para>
+</refsect2>
+<refsect2><title>Parameter types</title>
+<para>
+Currently, the following types are supported:
+<variablelist>
+<varlistentry>
+<term><replaceable>VOID</replaceable></term>
+<listitem><para>
+indicates no return type, or no extra parameters.
+If <replaceable>VOID</replaceable> is used as the parameter list, no
+additional parameters may be present.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>BOOLEAN</replaceable></term>
+<listitem><para>
+for boolean types (gboolean)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>CHAR</replaceable></term>
+<listitem><para>
+for signed char types (gchar)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>UCHAR</replaceable></term>
+<listitem><para>
+for unsigned char types (guchar)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>INT</replaceable></term>
+<listitem><para>
+for signed integer types (gint)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>UINT</replaceable></term>
+<listitem><para>
+for unsigned integer types (guint)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>LONG</replaceable></term>
+<listitem><para>
+for signed long integer types (glong)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>ULONG</replaceable></term>
+<listitem><para>
+for unsigned long integer types (gulong)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>ENUM</replaceable></term>
+<listitem><para>
+for enumeration types (gint)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>FLAGS</replaceable></term>
+<listitem><para>
+for flag enumeration types (guint)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>FLOAT</replaceable></term>
+<listitem><para>
+for single-precision float types (gfloat)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>DOUBLE</replaceable></term>
+<listitem><para>
+for double-precision float types (gdouble)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>STRING</replaceable></term>
+<listitem><para>
+for string types (gchar*)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>BOXED</replaceable></term>
+<listitem><para>
+for boxed (anonymous but reference counted) types (GBoxed*)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>PARAM</replaceable></term>
+<listitem><para>
+for GParamSpec or derived types (GParamSpec*)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>POINTER</replaceable></term>
+<listitem><para>
+for anonymous pointer types (gpointer)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>OBJECT</replaceable></term>
+<listitem><para>
+for GObject or derived types (GObject*)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>NONE</replaceable></term>
+<listitem><para>
+deprecated alias for <replaceable>VOID</replaceable>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>BOOL</replaceable></term>
+<listitem><para>
+deprecated alias for <replaceable>BOOLEAN</replaceable>
+</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+</refsect2>
+</refsect1>
+<refsect1><title>Example</title>
+<para>
+To generate marshallers for the following callback functions:
+</para>
+<programlisting>
+void foo (gpointer data1,
+ gpointer data2);
+void bar (gpointer data1,
+ gint param1,
+ gpointer data2);
+gfloat baz (gpointer data1,
+ gboolean param1,
+ guchar param2,
+ gpointer data2);
+</programlisting>
+<para>
+The marshaller list has to look like this:
+</para>
+<programlisting>
+VOID:VOID
+VOID:INT
+FLOAT:BOOLEAN,UCHAR
+</programlisting>
+<para>
+The generated marshallers have the arguments encoded in their function name.
+For this particular list, they are
+</para>
+<programlisting>
+g_cclosure_marshal_VOID__VOID(),
+g_cclosure_marshal_VOID__INT(),
+g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR().
+</programlisting>
+<para>
+They can be used directly for GClosures or be passed in as the
+GSignalCMarshaller c_marshaller; argument upon creation of signals:
+</para>
+<programlisting>
+GClosure *cc_foo, *cc_bar, *cc_baz;
+
+cc_foo = g_cclosure_new (NULL, foo, NULL);
+g_closure_set_marshal (cc_foo, g_cclosure_marshal_VOID__VOID);
+cc_bar = g_cclosure_new (NULL, bar, NULL);
+g_closure_set_marshal (cc_bar, g_cclosure_marshal_VOID__INT);
+cc_baz = g_cclosure_new (NULL, baz, NULL);
+g_closure_set_marshal (cc_baz, g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR);
+</programlisting>
+</refsect1>
+<refsect1><title>See also</title>
+<para>
+<command>glib-mkenums</command>(1)
+</para>
+</refsect1>
+<refsect1><title>Bugs</title>
+<para>
+None known yet.
+</para>
+</refsect1>
+<refsect1><title>Author</title>
+<para>
+<command>glib-genmarshal</command> has been written by Tim Janik
+<email>timj@gtk.org</email>.
+</para>
+<para>
+This manual page was provided by Tim Janik <email>timj@gtk.org</email>.
+</para>
+</refsect1>
+</refentry>
+
+
diff --git a/docs/reference/gobject/glib-mkenums.1 b/docs/reference/gobject/glib-mkenums.1
new file mode 100644
index 000000000..bff0a1411
--- /dev/null
+++ b/docs/reference/gobject/glib-mkenums.1
@@ -0,0 +1,168 @@
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GLIB-MKENUMS" 1 "" "" ""
+.SH NAME
+glib-mkenums \- C language enum description generation utility
+.SH "SYNOPSIS"
+
+.nf
+\fBglib-mkenums\fR [options...] [files...]
+.fi
+
+.SH "DESCRIPTION"
+
+.PP
+ \fBglib-mkenums\fR is a small perl-script utility that parses C code to extract enum definitions and produces enum descriptions based on text templates specified by the user\&. Most frequently this script is used to produce C code that contains enum values as strings so programs can provide value name strings for introspection\&.
+
+.SH "INVOKATION"
+
+.PP
+ \fBglib-mkenums\fR takes a list of valid C code files as input\&. The options specified control the text that is output, certain substitutions are performed on the text templates for keywords enclosed in @ characters\&.
+
+.SS "Options"
+
+.TP
+\fB--fhead\fR \fItext\fR
+Put out \fItext\fR prior to processing input files\&.
+
+.TP
+\fB--fprod\fR \fItext\fR
+Put out \fItext\fR everytime a new input file is being processed\&.
+
+.TP
+\fB--ftail\fR \fItext\fR
+Put out \fItext\fR after all input files have been processed\&.
+
+.TP
+\fB--eprod\fR \fItext\fR
+Put out \fItext\fR everytime an enum is encountered in the input files\&.
+
+.TP
+\fB--vhead\fR \fItext\fR
+Put out \fItext\fR before iterating over the set of values of an enum\&.
+
+.TP
+\fB--vprod\fR \fItext\fR
+Put out \fItext\fR for every value of an enum\&.
+
+.TP
+\fB--vtail\fR \fItext\fR
+Put out \fItext\fR after iterating over all values of an enum\&.
+
+.TP
+\fB--comments\fR \fItext\fR
+Template for auto-generated comments, the default (for C code generations) is "/* @comment@ */"\&.
+
+.TP
+\fB--template\fR \fIfile\fR
+Read templates from the given file\&. The templates are enclosed in specially-formatted C comments .nf /*** BEGIN section ***/ /*** END section ***/ .fi where section may be file-header, file-production, file-tail, enumeration-production, value-header, value-production, value-tail or comment\&.
+
+.TP
+\fB--help\fR
+Print brief help and exit\&.
+
+.TP
+\fB--version\fR
+Print version and exit\&.
+
+.SS "Production text substitutions"
+
+.PP
+Certain keywords enclosed in @ characters will be substituted in the emitted text\&. For the substitution examples of the keywords below, the following example enum definition is assumed:
+
+.nf
+
+typedef enum
+{
+ PREFIX_THE_XVALUE = 1 << 3,
+ PREFIX_ANOTHER_VALUE = 1 << 4
+} PrefixTheXEnum;
+
+.fi
+
+
+.TP
+@EnumName@
+The name of the enum currently being processed, enum names are assumed to be properly namespaced and to use mixed capitalization to separate words (e\&.g\&. PrefixTheXEnum)\&.
+
+.TP
+@enum_name@
+The enum name with words lowercase and word-separated by underscores (e\&.g\&. prefix_the_xenum)\&.
+
+.TP
+@ENUMNAME@
+The enum name with words uppercase and word-separated by underscores (e\&.g\&. PREFIX_THE_XENUM)\&.
+
+.TP
+@ENUMSHORT@
+The enum name with words uppercase and word-separated by underscores, prefix stripped (e\&.g\&. THE_XENUM)\&.
+
+.TP
+@VALUENAME@
+The enum value name currently being processed with words uppercase and word-separated by underscores, this is the assumed literal notation of enum values in the C sources (e\&.g\&. PREFIX_THE_XVALUE)\&.
+
+.TP
+@valuenick@
+A nick name for the enum value currently being processed, this is usually generated by stripping common prefix words of all the enum values of the current enum, the words are lowercase and underscores are substituted by a minus (e\&.g\&. the-xvalue)\&.
+
+.TP
+@type@
+This is substituted either by "enum" or "flags", depending on whether the enum value definitions contained bit-shift operators or not (e\&.g\&. flags)\&.
+
+.TP
+@Type@
+The same as @type@ with the first letter capitalized (e\&.g\&. Flags)\&.
+
+.TP
+@TYPE@
+The same as @type@ with all letters uppercased (e\&.g\&. FLAGS)\&.
+
+.TP
+@filename@
+The name of the input file currently being processed (e\&.g\&. foo\&.h)\&.
+
+
+.SS "Trigraph extensions"
+
+.PP
+Some C comments are treated specially in the parsed enum definitions, such comments start out with the trigraph sequence /*< and end with the trigraph sequence >*/\&. Per enum definition, the options "skip" and "flags" can be specified, to indicate this enum definition to be skipped, or for it to be treated as a flags definition, or to specify the common prefix to be stripped from all values to generate value nicknames, respectively\&. Per value definition, the options "skip" and "nick" are supported\&. The former causes the value to be skipped, and the latter can be used to specify the otherwise auto-generated nickname\&. Examples:
+
+.nf
+
+typedef enum /*< skip >*/
+{
+ PREFIX_FOO
+} PrefixThisEnumWillBeSkipped;
+typedef enum /*< flags,prefix=PREFIX >*/
+{
+ PREFIX_THE_ZEROTH_VALUE, /*< skip >*/
+ PREFIX_THE_FIRST_VALUE,
+ PREFIX_THE_SECOND_VALUE,
+ PREFIX_THE_THIRD_VALUE, /*< nick=the-last-value >*/
+} PrefixTheFlagsEnum;
+
+.fi
+
+
+.SH "SEE ALSO"
+
+.PP
+ \fBglib-genmarshal\fR(1)
+
diff --git a/docs/reference/gobject/glib-mkenums.xml b/docs/reference/gobject/glib-mkenums.xml
new file mode 100644
index 000000000..b8e4032fa
--- /dev/null
+++ b/docs/reference/gobject/glib-mkenums.xml
@@ -0,0 +1,271 @@
+<refentry id="glib-mkenums">
+
+<refmeta>
+<refentrytitle>glib-mkenums</refentrytitle>
+<manvolnum>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname>glib-mkenums</refname>
+<refpurpose>C language enum description generation utility</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>glib-mkenums</command>
+<arg choice="opt" rep="repeat">options</arg>
+<arg choice="opt" rep="repeat">files</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para>
+<command>glib-mkenums</command> is a small perl-script utility that parses C
+code to extract enum definitions and produces enum descriptions based on text
+templates specified by the user. Most frequently this script is used to
+produce C code that contains enum values as strings so programs can provide
+value name strings for introspection.
+</para>
+</refsect1>
+
+<refsect1><title>Invokation</title>
+<para>
+<command>glib-mkenums</command> takes a list of valid C code files as
+input. The options specified control the text that is output, certain
+substitutions are performed on the text templates for keywords enclosed
+in @ characters.
+</para>
+
+<refsect2><title>Options</title>
+<variablelist>
+
+<varlistentry>
+<term><option>--fhead</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> prior to processing input files.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--fprod</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> everytime a new input file
+is being processed.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--ftail</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> after all input files have been
+processed.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--eprod</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> everytime an enum is encountered
+in the input files.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--vhead</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> before iterating over the set of
+values of an enum.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--vprod</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> for every value of an enum.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--vtail</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> after iterating over all values
+of an enum.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--comments</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Template for auto-generated comments, the default (for C code generations) is
+<literal>"/* @comment@ */"</literal>.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--template</option> <replaceable>file</replaceable></term>
+<listitem><para>
+Read templates from the given file. The templates are enclosed in
+specially-formatted C comments
+<programlisting>
+/*** BEGIN section ***/
+/*** END section ***/
+</programlisting>
+where section may be <literal>file-header</literal>,
+<literal>file-production</literal>, <literal>file-tail</literal>,
+<literal>enumeration-production</literal>, <literal>value-header</literal>,
+<literal>value-production</literal>, <literal>value-tail</literal> or
+<literal>comment</literal>.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--help</option></term>
+<listitem><para>
+Print brief help and exit.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--version</option></term>
+<listitem><para>
+Print version and exit.
+</para></listitem>
+</varlistentry>
+
+</variablelist>
+</refsect2>
+
+<refsect2><title>Production text substitutions</title>
+<para>
+Certain keywords enclosed in @ characters will be substituted in the
+emitted text. For the substitution examples of the keywords below,
+the following example enum definition is assumed:
+<programlisting>
+typedef enum
+{
+ PREFIX_THE_XVALUE = 1 &lt;&lt; 3,
+ PREFIX_ANOTHER_VALUE = 1 &lt;&lt; 4
+} PrefixTheXEnum;
+</programlisting>
+<variablelist>
+<varlistentry>
+<term>@EnumName@</term>
+<listitem><para>
+The name of the enum currently being processed, enum names are assumed to be
+properly namespaced and to use mixed capitalization to separate
+words (e.g. PrefixTheXEnum).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@enum_name@</term>
+<listitem><para>
+The enum name with words lowercase and word-separated by underscores
+(e.g. prefix_the_xenum).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@ENUMNAME@</term>
+<listitem><para>
+The enum name with words uppercase and word-separated by underscores
+(e.g. PREFIX_THE_XENUM).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@ENUMSHORT@</term>
+<listitem><para>
+The enum name with words uppercase and word-separated by underscores,
+prefix stripped (e.g. THE_XENUM).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@VALUENAME@</term>
+<listitem><para>
+The enum value name currently being processed with words uppercase and
+word-separated by underscores,
+this is the assumed literal notation of enum values in the C sources
+(e.g. PREFIX_THE_XVALUE).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@valuenick@</term>
+<listitem><para>
+A nick name for the enum value currently being processed, this is usually
+generated by stripping common prefix words of all the enum values of the
+current enum, the words are lowercase and underscores are substituted by a
+minus (e.g. the-xvalue).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@type@</term>
+<listitem><para>
+This is substituted either by "enum" or "flags", depending on whether the
+enum value definitions contained bit-shift operators or not (e.g. flags).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@Type@</term>
+<listitem><para>
+The same as <literal>@type@</literal> with the first letter capitalized (e.g. Flags).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@TYPE@</term>
+<listitem><para>
+The same as <literal>@type@</literal> with all letters uppercased (e.g. FLAGS).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@filename@</term>
+<listitem><para>
+The name of the input file currently being processed (e.g. foo.h).
+</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+</refsect2>
+<refsect2><title>Trigraph extensions</title>
+<para>
+Some C comments are treated specially in the parsed enum definitions,
+such comments start out with the trigraph sequence <literal>/*&lt;</literal>
+and end with the trigraph sequence <literal>&gt;*/</literal>.
+Per enum definition, the options "skip" and "flags" can be specified, to
+indicate this enum definition to be skipped, or for it to be treated as
+a flags definition, or to specify the common prefix to be stripped from
+all values to generate value nicknames, respectively.
+Per value definition, the options "skip" and "nick" are supported.
+The former causes the value to be skipped, and the latter can be used to
+specify the otherwise auto-generated nickname.
+Examples:
+<programlisting>
+typedef enum /*&lt; skip &gt;*/
+{
+ PREFIX_FOO
+} PrefixThisEnumWillBeSkipped;
+typedef enum /*&lt; flags,prefix=PREFIX &gt;*/
+{
+ PREFIX_THE_ZEROTH_VALUE, /*&lt; skip &gt;*/
+ PREFIX_THE_FIRST_VALUE,
+ PREFIX_THE_SECOND_VALUE,
+ PREFIX_THE_THIRD_VALUE, /*&lt; nick=the-last-value &gt;*/
+} PrefixTheFlagsEnum;
+</programlisting>
+</para>
+</refsect2>
+</refsect1>
+<refsect1><title>See also</title>
+<para>
+<command>glib-genmarshal</command>(1)
+</para>
+</refsect1>
+</refentry>
+
+
diff --git a/docs/reference/gobject/gobject-docs.sgml b/docs/reference/gobject/gobject-docs.sgml
index bc14ff501..691d5d3e0 100644
--- a/docs/reference/gobject/gobject-docs.sgml
+++ b/docs/reference/gobject/gobject-docs.sgml
@@ -14,6 +14,9 @@
<!ENTITY gobject-Signals SYSTEM "xml/signals.xml">
<!ENTITY gobject-Closures SYSTEM "xml/gclosure.xml">
<!ENTITY gobject-Value-Arrays SYSTEM "xml/value_arrays.xml">
+<!ENTITY glib-mkenums SYSTEM "glib-mkenums.xml">
+<!ENTITY glib-genmarshal SYSTEM "glib-genmarshal.xml">
+<!ENTITY gobject-query SYSTEM "gobject-query.xml">
<!ENTITY version SYSTEM "version.xml">
]>
<book id="index">
@@ -84,6 +87,14 @@
&gobject-Value-Arrays;
</reference>
+ <reference>
+ <title>Tools Reference</title>
+
+ &glib-mkenums;
+ &glib-genmarshal;
+ &gobject-query;
+ </reference>
+
<index/>
diff --git a/docs/reference/gobject/gobject-query.1 b/docs/reference/gobject/gobject-query.1
new file mode 100644
index 000000000..b8ae5db94
--- /dev/null
+++ b/docs/reference/gobject/gobject-query.1
@@ -0,0 +1,80 @@
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GOBJECT-QUERY" 1 "" "" ""
+.SH NAME
+gobject-query \- display a tree of types
+.SH "SYNOPSIS"
+
+.nf
+\fBgobject-query\fR froots [options...]
+.fi
+
+.nf
+\fBgobject-query\fR tree [options...]
+.fi
+
+.SH "DESCRIPTION"
+
+.PP
+ \fBgobject-query\fR is a small utility that draws a tree of types\&.
+
+.SH "INVOKATION"
+
+.PP
+ \fBgobject-query\fR takes a mandatory argument that specifies whether it should iterate over the fundamental types or print a type tree\&.
+
+.SS "Options"
+
+.TP
+\fBfroots\fR
+iterate over fundamental roots
+
+.TP
+\fBtree\fR
+print type tree
+
+.TP
+\fB-r\fR \fItype\fR
+specify the root type
+
+.TP
+\fB-n\fR
+don't descend type tree
+
+.TP
+\fB-b\fR \fIstring\fR
+specify indent string
+
+.TP
+\fB-i\fR \fIstring\fR
+specify incremental indent string
+
+.TP
+\fB-s\fR \fInumber\fR
+specify line spacing
+
+.TP
+\fB-h\fR, \fB--help\fR
+Print brief help and exit\&.
+
+.TP
+\fB-v\fR, \fB--version\fR
+Print version and exit\&.
+
diff --git a/docs/reference/gobject/gobject-query.xml b/docs/reference/gobject/gobject-query.xml
new file mode 100644
index 000000000..a2fbf2731
--- /dev/null
+++ b/docs/reference/gobject/gobject-query.xml
@@ -0,0 +1,111 @@
+<refentry id="gobject-query">
+
+<refmeta>
+<refentrytitle>gobject-query</refentrytitle>
+<manvolnum>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname>gobject-query</refname>
+<refpurpose>display a tree of types</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>gobject-query</command>
+<arg choice="plain">froots</arg>
+<arg choice="opt" rep="repeat">options</arg>
+</cmdsynopsis>
+<cmdsynopsis>
+<command>gobject-query</command>
+<arg choice="plain">tree</arg>
+<arg choice="opt" rep="repeat">options</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para>
+<command>gobject-query</command> is a small utility that draws a tree of
+types.
+</para>
+</refsect1>
+
+<refsect1><title>Invokation</title>
+<para>
+<command>gobject-query</command> takes a mandatory argument that specifies
+whether it should iterate over the fundamental types or print a type tree.
+</para>
+
+<refsect2><title>Options</title>
+<variablelist>
+
+<varlistentry>
+<term><option>froots</option></term>
+<listitem><para>
+iterate over fundamental roots
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>tree</option></term>
+<listitem><para>
+print type tree
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-r</option> <replaceable>type</replaceable></term>
+<listitem><para>
+specify the root type
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-n</option></term>
+<listitem><para>
+don't descend type tree
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-b</option> <replaceable>string</replaceable></term>
+<listitem><para>
+specify indent string
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-i</option> <replaceable>string</replaceable></term>
+<listitem><para>
+specify incremental indent string
+</para></listitem>
+</varlistentry>
+
+
+<varlistentry>
+<term><option>-s</option> <replaceable>number</replaceable></term>
+<listitem><para>
+specify line spacing
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-h</option>, <option>--help</option></term>
+<listitem><para>
+Print brief help and exit.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-v</option>, <option>--version</option></term>
+<listitem><para>
+Print version and exit.
+</para></listitem>
+</varlistentry>
+
+</variablelist>
+</refsect2>
+</refsect1>
+</refentry>
+
+