<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>glib-genmarshal</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GObject Reference Manual">
<link rel="up" href="rn02.html" title="Tools Reference">
<link rel="prev" href="glib-mkenums.html" title="glib-mkenums">
<link rel="next" href="gobject-query.html" title="gobject-query">
<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="glib-mkenums.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="rn02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GObject Reference Manual</th>
<td><a accesskey="n" href="gobject-query.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry" title="glib-genmarshal">
<a name="glib-genmarshal"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle">glib-genmarshal</span></h2>
<p>glib-genmarshal — C code marshaller generation utility for GLib closures</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">glib-genmarshal</code>  [options...] [files...]</p></div>
</div>
<div class="refsect1" title="Description">
<a name="id573826"></a><h2>Description</h2>
<p><span class="command"><strong>glib-genmarshal</strong></span> 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.
</p>
</div>
<div class="refsect1" title="Invocation">
<a name="id546330"></a><h2>Invocation</h2>
<p><span class="command"><strong>glib-genmarshal</strong></span> 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.
</p>
<div class="refsect2" title="Options">
<a name="id567111"></a><h3>Options</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><code class="option">--header</code></span></p></td>
<td><p>
Generate header file contents of the marshallers.
</p></td>
</tr>
<tr>
<td><p><span class="term"><code class="option">--body</code></span></p></td>
<td><p>
Generate C code file contents of the marshallers.
</p></td>
</tr>
<tr>
<td><p><span class="term"><code class="option">--prefix=string</code>, <code class="option">--prefix string</code></span></p></td>
<td><p>
Specify marshaller prefix. The default prefix is <code class="literal">`g_cclosure_marshal'</code>.
</p></td>
</tr>
<tr>
<td><p><span class="term"><code class="option">--skip-source</code></span></p></td>
<td><p>
Skip source location remarks in generated comments.
</p></td>
</tr>
<tr>
<td><p><span class="term"><code class="option">--nostdinc</code></span></p></td>
<td><p>
Do not use the standard marshallers of the GObject library, and skip 
<code class="filename">gmarshal.h</code> include directive in generated header files.
</p></td>
</tr>
<tr>
<td><p><span class="term"><code class="option">--g-fatal-warnings</code></span></p></td>
<td><p>
Make warnings fatal, that is, exit immediately once a warning occurs.
</p></td>
</tr>
<tr>
<td><p><span class="term"><code class="option">-h</code>, <code class="option">--help</code></span></p></td>
<td><p>
Print brief help and exit.
</p></td>
</tr>
<tr>
<td><p><span class="term"><code class="option">-v</code>, <code class="option">--version</code></span></p></td>
<td><p>
Print version and exit.
</p></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="Marshaller list format">
<a name="id593504"></a><h3>Marshaller list format</h3>
<p>
The marshaller lists are processed line by line, a line can contain a
comment in the form of
</p>
<pre class="programlisting">
# this is a comment
</pre>
<p>
or a marshaller specification of the form
</p>
<pre class="programlisting">
<em class="replaceable"><code>RTYPE</code></em>:<em class="replaceable"><code>PTYPE</code></em>
<em class="replaceable"><code>RTYPE</code></em>:<em class="replaceable"><code>PTYPE</code></em>,<em class="replaceable"><code>PTYPE</code></em>
<em class="replaceable"><code>RTYPE</code></em>:<em class="replaceable"><code>PTYPE</code></em>,<em class="replaceable"><code>PTYPE</code></em>,<em class="replaceable"><code>PTYPE</code></em>
</pre>
<p>
(up to 16 <em class="replaceable"><code>PTYPE</code></em>s may be present).
</p>
<p>
The <em class="replaceable"><code>RTYPE</code></em> part specifies the callback's return 
type and the <em class="replaceable"><code>PTYPE</code></em>s right to the colon specify 
the callback's parameter list, except for the first and the last arguments 
which are always pointers.
</p>
</div>
<hr>
<div class="refsect2" title="Parameter types">
<a name="id579954"></a><h3>Parameter types</h3>
<p>
Currently, the following types are supported:
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="replaceable"><code>VOID</code></em></span></p></td>
<td><p>
indicates no return type, or no extra parameters. 
If <em class="replaceable"><code>VOID</code></em> is used as the parameter list, no 
additional parameters may be present.
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>BOOLEAN</code></em></span></p></td>
<td><p>
for boolean types (gboolean)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>CHAR</code></em></span></p></td>
<td><p>
for signed char types (gchar)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>UCHAR</code></em></span></p></td>
<td><p>
for unsigned char types (guchar)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>INT</code></em></span></p></td>
<td><p>
for signed integer types (gint)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>UINT</code></em></span></p></td>
<td><p>
for unsigned integer types (guint)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>LONG</code></em></span></p></td>
<td><p>
for signed long integer types (glong)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>ULONG</code></em></span></p></td>
<td><p>
for unsigned long integer types (gulong)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>INT64</code></em></span></p></td>
<td><p>
for signed 64bit integer types (gint64)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>UINT64</code></em></span></p></td>
<td><p>
for unsigned 64bit integer types (guint64)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>ENUM</code></em></span></p></td>
<td><p>
for enumeration types (gint)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>FLAGS</code></em></span></p></td>
<td><p>
for flag enumeration types (guint)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>FLOAT</code></em></span></p></td>
<td><p>
for single-precision float types (gfloat)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>DOUBLE</code></em></span></p></td>
<td><p>
for double-precision float types (gdouble)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>STRING</code></em></span></p></td>
<td><p>
for string types (gchar*)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>BOXED</code></em></span></p></td>
<td><p>
for boxed (anonymous but reference counted) types (GBoxed*)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>PARAM</code></em></span></p></td>
<td><p>
for GParamSpec or derived types (GParamSpec*)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>POINTER</code></em></span></p></td>
<td><p>
for anonymous pointer types (gpointer)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>OBJECT</code></em></span></p></td>
<td><p>
for GObject or derived types (GObject*)
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>NONE</code></em></span></p></td>
<td><p>
deprecated alias for <em class="replaceable"><code>VOID</code></em>
</p></td>
</tr>
<tr>
<td><p><span class="term"><em class="replaceable"><code>BOOL</code></em></span></p></td>
<td><p>
deprecated alias for <em class="replaceable"><code>BOOLEAN</code></em>
</p></td>
</tr>
</tbody>
</table></div>
<p>
</p>
</div>
</div>
<div class="refsect1" title="Example">
<a name="id547101"></a><h2>Example</h2>
<p>
To generate marshallers for the following callback functions:
</p>
<pre class="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);
</pre>
<p>
The marshaller list has to look like this:
</p>
<pre class="programlisting">
VOID:VOID
VOID:INT
FLOAT:BOOLEAN,UCHAR
</pre>
<p>
The generated marshallers have the arguments encoded in their function name. 
For this particular list, they are
</p>
<pre class="programlisting">
g_cclosure_marshal_VOID__VOID(),
g_cclosure_marshal_VOID__INT(), 
g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR().
</pre>
<p>
They can be used directly for GClosures or be passed in as the 
GSignalCMarshaller c_marshaller; argument upon creation of signals:
</p>
<pre class="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);
</pre>
</div>
<div class="refsect1" title="See also">
<a name="id597480"></a><h2>See also</h2>
<p>
<span class="command"><strong>glib-mkenums</strong></span>(1)
</p>
</div>
<div class="refsect1" title="Bugs">
<a name="id565014"></a><h2>Bugs</h2>
<p>
None known yet.
</p>
</div>
<div class="refsect1" title="Author">
<a name="id545829"></a><h2>Author</h2>
<p><span class="command"><strong>glib-genmarshal</strong></span> has been written by Tim Janik 
<code class="email">&lt;<a class="email" href="mailto:timj@gtk.org">timj@gtk.org</a>&gt;</code>.
</p>
<p>
This manual page was provided by Tim Janik <code class="email">&lt;<a class="email" href="mailto:timj@gtk.org">timj@gtk.org</a>&gt;</code>.
</p>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.14</div>
</body>
</html>