File: //usr/local/ssl/share/gtk-doc/html/gsf/gsf-utils.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>utils</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="index.html" title="GSF Reference Manual">
<link rel="up" href="misc.html" title="Miscellaneous">
<link rel="prev" href="misc.html" title="Miscellaneous">
<link rel="next" href="ix01.html" title="Index">
<meta name="generator" content="GTK-Doc V1.6 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="part" href="intro.html" title="Part I. GSF: Introduction">
<link rel="part" href="history.html" title="Part II. GSF: History">
<link rel="part" href="dependencies.html" title="Part III. GSF: Dependencies">
<link rel="part" href="gsf-users.html" title="Part IV. Projects using GSF">
<link rel="part" href="api.html" title="Part V. API Reference">
<link rel="chapter" href="io.html" title="Basic Input/Output">
<link rel="chapter" href="sources.html" title="Stream Sources">
<link rel="chapter" href="parsers.html" title="Stream Parsers">
<link rel="chapter" href="misc.html" title="Miscellaneous">
<link rel="index" href="ix01.html" title="Index">
</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="misc.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="misc.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">GSF Reference Manual</th>
<td><a accesskey="n" href="ix01.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#top_of_page" class="shortcut">Top</a>
 | 
<a href="#desc" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="gsf-utils"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="top_of_page"></a>utils</span></h2>
<p>utils — </p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
void <a href="gsf-utils.html#gsf-init">gsf_init</a> (void);
void <a href="gsf-utils.html#gsf-shutdown">gsf_shutdown</a> (void);
void <a href="gsf-utils.html#gsf-init-dynamic">gsf_init_dynamic</a> (GTypeModule *module);
void <a href="gsf-utils.html#gsf-shutdown-dynamic">gsf_shutdown_dynamic</a> (GTypeModule *module);
extern int <a href="gsf-utils.html#libgsf-major-version">libgsf_major_version</a>;
extern int <a href="gsf-utils.html#libgsf-minor-version">libgsf_minor_version</a>;
extern int <a href="gsf-utils.html#libgsf-micro-version">libgsf_micro_version</a>;
#define <a href="gsf-utils.html#GSF-CLASS:CAPS">GSF_CLASS</a> (name, prefix, class_init, instance_init, parent)
#define <a href="gsf-utils.html#GSF-CLASS-FULL:CAPS">GSF_CLASS_FULL</a> (name, prefix, base_init, base_finalize, \
class_init, class_finalize, instance_init, parent_type, \
abstract, interface_decl)
#define <a href="gsf-utils.html#GSF-CLASS-ABSTRACT:CAPS">GSF_CLASS_ABSTRACT</a> (name, prefix, class_init, instance_init, parent)
#define <a href="gsf-utils.html#GSF-INTERFACE:CAPS">GSF_INTERFACE</a> (init_func, iface_type)
#define <a href="gsf-utils.html#GSF-INTERFACE-FULL:CAPS">GSF_INTERFACE_FULL</a> (type, init_func, iface_type)
#define <a href="gsf-utils.html#GSF-DYNAMIC-CLASS:CAPS">GSF_DYNAMIC_CLASS</a> (name, prefix, class_init, instance_init, parent)
#define <a href="gsf-utils.html#GSF-DYNAMIC-CLASS-FULL:CAPS">GSF_DYNAMIC_CLASS_FULL</a> (name, prefix, base_init, base_finalize, \
class_init, class_finalize, instance_init, parent_type, \
abstract, interface_decl)
#define <a href="gsf-utils.html#GSF-DYNAMIC-CLASS-ABSTRACT:CAPS">GSF_DYNAMIC_CLASS_ABSTRACT</a> (name, prefix, class_init, instance_init, parent)
#define <a href="gsf-utils.html#GSF-DYNAMIC-INTERFACE:CAPS">GSF_DYNAMIC_INTERFACE</a> (init_func, iface_type, module)
#define <a href="gsf-utils.html#GSF-DYNAMIC-INTERFACE-FULL:CAPS">GSF_DYNAMIC_INTERFACE_FULL</a> (type, init_func, iface_type, module)
#define <a href="gsf-utils.html#GSF-PARAM-STATIC:CAPS">GSF_PARAM_STATIC</a>
#define <a href="gsf-utils.html#GSF-ERROR:CAPS">GSF_ERROR</a>
enum <a href="gsf-utils.html#GsfError">GsfError</a>;
GQuark <a href="gsf-utils.html#gsf-error-quark">gsf_error_quark</a> (void);
void <a href="gsf-utils.html#gsf-mem-dump">gsf_mem_dump</a> (guint8 const *ptr,
size_t len);
void <a href="gsf-utils.html#gsf-input-dump">gsf_input_dump</a> (<a href="gsf-Input-from-unstructured-files.html#GsfInput">GsfInput</a> *input,
gboolean dump_as_hex);
#define <a href="gsf-utils.html#GSF-OFF-T-FORMAT:CAPS">GSF_OFF_T_FORMAT</a>
typedef <a href="gsf-utils.html#gsf-off-t">gsf_off_t</a>;
char* <a href="gsf-utils.html#gsf-filename-to-utf8">gsf_filename_to_utf8</a> (char const *filename,
gboolean quoted);
void <a href="gsf-utils.html#gsf-iconv-close">gsf_iconv_close</a> (GIConv handle);
charconst * <a href="gsf-utils.html#gsf-extension-pointer">gsf_extension_pointer</a> (char const *path);
guint8* <a href="gsf-utils.html#gsf-base64-encode-simple">gsf_base64_encode_simple</a> (guint8 const *data,
size_t len);
size_t <a href="gsf-utils.html#gsf-base64-encode-close">gsf_base64_encode_close</a> (guint8 const *in,
size_t inlen,
gboolean break_lines,
guint8 *out,
int *state,
guint *save);
size_t <a href="gsf-utils.html#gsf-base64-encode-step">gsf_base64_encode_step</a> (guint8 const *in,
size_t len,
gboolean break_lines,
guint8 *out,
int *state,
guint *save);
size_t <a href="gsf-utils.html#gsf-base64-decode-simple">gsf_base64_decode_simple</a> (guint8 *data,
size_t len);
size_t <a href="gsf-utils.html#gsf-base64-decode-step">gsf_base64_decode_step</a> (guint8 const *in,
size_t len,
guint8 *out,
int *state,
guint *save);
#define <a href="gsf-utils.html#GSF-LE-GET-GINT8:CAPS">GSF_LE_GET_GINT8</a> (p)
#define <a href="gsf-utils.html#GSF-LE-GET-GUINT64:CAPS">GSF_LE_GET_GUINT64</a> (p)
#define <a href="gsf-utils.html#GSF-LE-GET-GINT16:CAPS">GSF_LE_GET_GINT16</a> (p)
#define <a href="gsf-utils.html#GSF-LE-GET-GUINT8:CAPS">GSF_LE_GET_GUINT8</a> (p)
#define <a href="gsf-utils.html#GSF-LE-GET-GINT32:CAPS">GSF_LE_GET_GINT32</a> (p)
#define <a href="gsf-utils.html#GSF-LE-GET-GUINT16:CAPS">GSF_LE_GET_GUINT16</a> (p)
#define <a href="gsf-utils.html#GSF-LE-GET-GUINT32:CAPS">GSF_LE_GET_GUINT32</a> (p)
#define <a href="gsf-utils.html#GSF-LE-GET-GINT64:CAPS">GSF_LE_GET_GINT64</a> (p)
guint64 <a href="gsf-utils.html#gsf-le-get-guint64">gsf_le_get_guint64</a> (void const *p);
#define <a href="gsf-utils.html#GSF-LE-GET-FLOAT:CAPS">GSF_LE_GET_FLOAT</a> (p)
float <a href="gsf-utils.html#gsf-le-get-float">gsf_le_get_float</a> (void const *p);
#define <a href="gsf-utils.html#GSF-LE-GET-DOUBLE:CAPS">GSF_LE_GET_DOUBLE</a> (p)
double <a href="gsf-utils.html#gsf-le-get-double">gsf_le_get_double</a> (void const *p);
#define <a href="gsf-utils.html#GSF-LE-SET-GUINT8:CAPS">GSF_LE_SET_GUINT8</a> (p, dat)
#define <a href="gsf-utils.html#GSF-LE-SET-GUINT16:CAPS">GSF_LE_SET_GUINT16</a> (p, dat)
#define <a href="gsf-utils.html#GSF-LE-SET-GUINT32:CAPS">GSF_LE_SET_GUINT32</a> (p, dat)
#define <a href="gsf-utils.html#GSF-LE-SET-GINT8:CAPS">GSF_LE_SET_GINT8</a> (p,dat)
#define <a href="gsf-utils.html#GSF-LE-SET-GINT16:CAPS">GSF_LE_SET_GINT16</a> (p,dat)
#define <a href="gsf-utils.html#GSF-LE-SET-GINT32:CAPS">GSF_LE_SET_GINT32</a> (p,dat)
#define <a href="gsf-utils.html#GSF-LE-SET-GINT64:CAPS">GSF_LE_SET_GINT64</a> (p,dat)
#define <a href="gsf-utils.html#GSF-LE-SET-GUINT64:CAPS">GSF_LE_SET_GUINT64</a> (p, dat)
#define <a href="gsf-utils.html#GSF-LE-SET-FLOAT:CAPS">GSF_LE_SET_FLOAT</a> (p,dat)
#define <a href="gsf-utils.html#GSF-LE-SET-DOUBLE:CAPS">GSF_LE_SET_DOUBLE</a> (p,dat)
void <a href="gsf-utils.html#gsf-le-set-float">gsf_le_set_float</a> (void *p,
float f);
void <a href="gsf-utils.html#gsf-le-set-double">gsf_le_set_double</a> (void *p,
double d);
<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a>;
<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a>* <a href="gsf-utils.html#gsf-timestamp-copy">gsf_timestamp_copy</a> (<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *stamp);
void <a href="gsf-utils.html#gsf-timestamp-free">gsf_timestamp_free</a> (<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> *stamp);
char* <a href="gsf-utils.html#gsf-timestamp-as-string">gsf_timestamp_as_string</a> (<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *stamp);
int <a href="gsf-utils.html#gsf-timestamp-parse">gsf_timestamp_parse</a> (char const *spec,
<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> *stamp);
guint <a href="gsf-utils.html#gsf-timestamp-hash">gsf_timestamp_hash</a> (<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *stamp);
gboolean <a href="gsf-utils.html#gsf-timestamp-equal">gsf_timestamp_equal</a> (<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *a,
<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *b);
void <a href="gsf-utils.html#gsf-value-set-timestamp">gsf_value_set_timestamp</a> (GValue *value,
<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *stamp);
#define <a href="gsf-utils.html#VAL-IS-GSF-TIMESTAMP:CAPS">VAL_IS_GSF_TIMESTAMP</a> (v)
GValue* <a href="gsf-utils.html#gsf-doc-prop-swap-val">gsf_doc_prop_swap_val</a> (<a href="gsf-metadata.html#GsfDocProp">GsfDocProp</a> *prop,
GValue *val);
void <a href="gsf-utils.html#gsf-property-settings-collect">gsf_property_settings_collect</a> (GType object_type,
GParameter **p_params,
size_t *p_n_params,
const gchar *first_property_name,
...);
void <a href="gsf-utils.html#gsf-property-settings-collect-valist">gsf_property_settings_collect_valist</a>
(GType object_type,
GParameter **p_params,
size_t *p_n_params,
const gchar *first_property_name,
va_list var_args);
void <a href="gsf-utils.html#gsf-property-settings-free">gsf_property_settings_free</a> (GParameter *params,
size_t n_params);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="desc"></a><h2>Description</h2>
<p>
</p>
</div>
<div class="refsect1" lang="en">
<a name="details"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2581753"></a><h3>
<a name="gsf-init"></a>gsf_init ()</h3>
<a class="indexterm" name="id2581765"></a><pre class="programlisting">void gsf_init (void);</pre>
<p>
Initializes the GSF library</p>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2581789"></a><h3>
<a name="gsf-shutdown"></a>gsf_shutdown ()</h3>
<a class="indexterm" name="id2581802"></a><pre class="programlisting">void gsf_shutdown (void);</pre>
<p>
De-intializes the GSF library</p>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2581827"></a><h3>
<a name="gsf-init-dynamic"></a>gsf_init_dynamic ()</h3>
<a class="indexterm" name="id2581840"></a><pre class="programlisting">void gsf_init_dynamic (GTypeModule *module);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>module</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2581886"></a><h3>
<a name="gsf-shutdown-dynamic"></a>gsf_shutdown_dynamic ()</h3>
<a class="indexterm" name="id2581899"></a><pre class="programlisting">void gsf_shutdown_dynamic (GTypeModule *module);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>module</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2581945"></a><h3>
<a name="libgsf-major-version"></a>libgsf_major_version</h3>
<a class="indexterm" name="id2581958"></a><pre class="programlisting">extern int libgsf_major_version;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2581974"></a><h3>
<a name="libgsf-minor-version"></a>libgsf_minor_version</h3>
<a class="indexterm" name="id2581987"></a><pre class="programlisting">extern int libgsf_minor_version;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2582002"></a><h3>
<a name="libgsf-micro-version"></a>libgsf_micro_version</h3>
<a class="indexterm" name="id2582015"></a><pre class="programlisting">extern int libgsf_micro_version;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2582031"></a><h3>
<a name="GSF-CLASS:CAPS"></a>GSF_CLASS()</h3>
<a class="indexterm" name="id2582044"></a><pre class="programlisting">#define GSF_CLASS(name, prefix, class_init, instance_init, parent)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>prefix</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>class_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>instance_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>parent</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2582131"></a><h3>
<a name="GSF-CLASS-FULL:CAPS"></a>GSF_CLASS_FULL()</h3>
<a class="indexterm" name="id2582144"></a><pre class="programlisting">#define GSF_CLASS_FULL(name, prefix, base_init, base_finalize, \
class_init, class_finalize, instance_init, parent_type, \
abstract, interface_decl)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>prefix</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>base_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>base_finalize</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>class_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>class_finalize</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>instance_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>parent_type</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>abstract</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>interface_decl</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2582301"></a><h3>
<a name="GSF-CLASS-ABSTRACT:CAPS"></a>GSF_CLASS_ABSTRACT()</h3>
<a class="indexterm" name="id2582314"></a><pre class="programlisting">#define GSF_CLASS_ABSTRACT(name, prefix, class_init, instance_init, parent)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>prefix</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>class_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>instance_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>parent</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2582402"></a><h3>
<a name="GSF-INTERFACE:CAPS"></a>GSF_INTERFACE()</h3>
<a class="indexterm" name="id2582415"></a><pre class="programlisting">#define GSF_INTERFACE(init_func, iface_type)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>init_func</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>iface_type</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2582462"></a><h3>
<a name="GSF-INTERFACE-FULL:CAPS"></a>GSF_INTERFACE_FULL()</h3>
<a class="indexterm" name="id2582475"></a><pre class="programlisting">#define GSF_INTERFACE_FULL(type, init_func, iface_type)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>type</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>init_func</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>iface_type</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2582536"></a><h3>
<a name="GSF-DYNAMIC-CLASS:CAPS"></a>GSF_DYNAMIC_CLASS()</h3>
<a class="indexterm" name="id2582550"></a><pre class="programlisting">#define GSF_DYNAMIC_CLASS(name, prefix, class_init, instance_init, parent)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>prefix</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>class_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>instance_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>parent</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2582638"></a><h3>
<a name="GSF-DYNAMIC-CLASS-FULL:CAPS"></a>GSF_DYNAMIC_CLASS_FULL()</h3>
<a class="indexterm" name="id2582650"></a><pre class="programlisting">#define GSF_DYNAMIC_CLASS_FULL(name, prefix, base_init, base_finalize, \
class_init, class_finalize, instance_init, parent_type, \
abstract, interface_decl)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>prefix</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>base_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>base_finalize</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>class_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>class_finalize</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>instance_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>parent_type</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>abstract</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>interface_decl</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2582807"></a><h3>
<a name="GSF-DYNAMIC-CLASS-ABSTRACT:CAPS"></a>GSF_DYNAMIC_CLASS_ABSTRACT()</h3>
<a class="indexterm" name="id2582821"></a><pre class="programlisting">#define GSF_DYNAMIC_CLASS_ABSTRACT(name, prefix, class_init, instance_init, parent)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>prefix</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>class_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>instance_init</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>parent</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2582909"></a><h3>
<a name="GSF-DYNAMIC-INTERFACE:CAPS"></a>GSF_DYNAMIC_INTERFACE()</h3>
<a class="indexterm" name="id2582922"></a><pre class="programlisting">#define GSF_DYNAMIC_INTERFACE(init_func, iface_type, module)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>init_func</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>iface_type</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>module</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2582983"></a><h3>
<a name="GSF-DYNAMIC-INTERFACE-FULL:CAPS"></a>GSF_DYNAMIC_INTERFACE_FULL()</h3>
<a class="indexterm" name="id2582996"></a><pre class="programlisting">#define GSF_DYNAMIC_INTERFACE_FULL(type, init_func, iface_type, module)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>type</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>init_func</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>iface_type</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>module</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583071"></a><h3>
<a name="GSF-PARAM-STATIC:CAPS"></a>GSF_PARAM_STATIC</h3>
<a class="indexterm" name="id2583084"></a><pre class="programlisting">#define GSF_PARAM_STATIC</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583100"></a><h3>
<a name="GSF-ERROR:CAPS"></a>GSF_ERROR</h3>
<a class="indexterm" name="id2583112"></a><pre class="programlisting">#define GSF_ERROR (gsf_error_quark ())
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583127"></a><h3>
<a name="GsfError"></a>enum GsfError</h3>
<a class="indexterm" name="id2583140"></a><pre class="programlisting">typedef enum {
GSF_ERROR_OUT_OF_MEMORY,
GSF_ERROR_INVALID_DATA
} GsfError;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583156"></a><h3>
<a name="gsf-error-quark"></a>gsf_error_quark ()</h3>
<a class="indexterm" name="id2583169"></a><pre class="programlisting">GQuark gsf_error_quark (void);</pre>
<p>
Returns the <span class="type">GQuark</span> used to identify libgsf errors in <span class="type">GError</span> structures.
Specific error codes come from the <a href="gsf-utils.html#GsfError"><span class="type">GsfError</span></a> enumeration.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> A <span class="type">GQuark</span>.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583241"></a><h3>
<a name="gsf-mem-dump"></a>gsf_mem_dump ()</h3>
<a class="indexterm" name="id2583254"></a><pre class="programlisting">void gsf_mem_dump (guint8 const *ptr,
size_t len);</pre>
<p>
Dump <em class="parameter"><code>len</code></em> bytes from the memory location given by <em class="parameter"><code>ptr</code></em>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>ptr</code></em> :</span></td>
<td> memory area to be dumped.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>len</code></em> :</span></td>
<td> how many bytes will be dumped.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583337"></a><h3>
<a name="gsf-input-dump"></a>gsf_input_dump ()</h3>
<a class="indexterm" name="id2583350"></a><pre class="programlisting">void gsf_input_dump (<a href="gsf-Input-from-unstructured-files.html#GsfInput">GsfInput</a> *input,
gboolean dump_as_hex);</pre>
<p>
Dumps <em class="parameter"><code>input</code></em>'s contents to STDOUT, optionally in hex format.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>input</code></em> :</span></td>
<td> a <a href="gsf-Input-from-unstructured-files.html#GsfInput"><span class="type">GsfInput</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dump_as_hex</code></em> :</span></td>
<td> If TRUE, dump in hexidecmal format
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583436"></a><h3>
<a name="GSF-OFF-T-FORMAT:CAPS"></a>GSF_OFF_T_FORMAT</h3>
<a class="indexterm" name="id2583450"></a><pre class="programlisting">#define GSF_OFF_T_FORMAT G_GINT64_FORMAT
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583465"></a><h3>
<a name="gsf-off-t"></a>gsf_off_t</h3>
<a class="indexterm" name="id2583477"></a><pre class="programlisting">typedef gint64 gsf_off_t;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583492"></a><h3>
<a name="gsf-filename-to-utf8"></a>gsf_filename_to_utf8 ()</h3>
<a class="indexterm" name="id2583506"></a><pre class="programlisting">char* gsf_filename_to_utf8 (char const *filename,
gboolean quoted);</pre>
<p>
A utility wrapper to make sure filenames are valid utf8.
Caller must g_free the result.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>filename</code></em> :</span></td>
<td> file name suitable for open(2).
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>quoted</code></em> :</span></td>
<td> if TRUE, the resulting utf8 file name will be quoted
(unless it is invalid).
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>
<em class="parameter"><code>filename</code></em> using utf-8 encoding for display
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583596"></a><h3>
<a name="gsf-iconv-close"></a>gsf_iconv_close ()</h3>
<a class="indexterm" name="id2583608"></a><pre class="programlisting">void gsf_iconv_close (GIConv handle);</pre>
<p>
A utility wrapper to safely close an iconv handle.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>handle</code></em> :</span></td>
<td> handle to be closed.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583659"></a><h3>
<a name="gsf-extension-pointer"></a>gsf_extension_pointer ()</h3>
<a class="indexterm" name="id2583672"></a><pre class="programlisting">charconst * gsf_extension_pointer (char const *path);</pre>
<p>
Extracts the extension from the end of a filename (the part after the final
'.' in the filename).</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>path</code></em> :</span></td>
<td> A filename or file path.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> A pointer to the extension part of the filename, or a
pointer to the end of the string if the filename does not
have an extension.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583736"></a><h3>
<a name="gsf-base64-encode-simple"></a>gsf_base64_encode_simple ()</h3>
<a class="indexterm" name="id2583750"></a><pre class="programlisting">guint8* gsf_base64_encode_simple (guint8 const *data,
size_t len);</pre>
<p>
Encodes data from <em class="parameter"><code>data</code></em> back into <em class="parameter"><code>data</code></em> using base64 encoding.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>data</code></em> :</span></td>
<td> data stream
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>len</code></em> :</span></td>
<td> max length of data to encode
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>: the number of bytes encoded
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2583844"></a><h3>
<a name="gsf-base64-encode-close"></a>gsf_base64_encode_close ()</h3>
<a class="indexterm" name="id2583858"></a><pre class="programlisting">size_t gsf_base64_encode_close (guint8 const *in,
size_t inlen,
gboolean break_lines,
guint8 *out,
int *state,
guint *save);</pre>
<p>
This funcion should be called to when finished encoding everything, to
flush off the last little bit.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>in</code></em> :</span></td>
<td> Data to be encoded
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>inlen</code></em> :</span></td>
<td> Length of data to be encoded
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>break_lines</code></em> :</span></td>
<td> Whether to use line breaks
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>out</code></em> :</span></td>
<td> Encoded data.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>state</code></em> :</span></td>
<td> holds the number of bits that are stored in <em class="parameter"><code>save</code></em>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>save</code></em> :</span></td>
<td> leftover bits that have not yet been decoded
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>:
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584034"></a><h3>
<a name="gsf-base64-encode-step"></a>gsf_base64_encode_step ()</h3>
<a class="indexterm" name="id2584047"></a><pre class="programlisting">size_t gsf_base64_encode_step (guint8 const *in,
size_t len,
gboolean break_lines,
guint8 *out,
int *state,
guint *save);</pre>
<p>
Performs an 'encode step', only encodes blocks of 3 characters from <em class="parameter"><code>in</code></em> into
the output <em class="parameter"><code>out</code></em> at a time, saves left-over state in <em class="parameter"><code>state</code></em> and <em class="parameter"><code>save</code></em>
(initialise to 0 on first invocation).</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>in</code></em> :</span></td>
<td> input stream
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>len</code></em> :</span></td>
<td> max length of data to decode
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>break_lines</code></em> :</span></td>
<td> Whether to use line breaks
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>out</code></em> :</span></td>
<td> output stream
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>state</code></em> :</span></td>
<td> holds the number of bits that are stored in <em class="parameter"><code>save</code></em>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>save</code></em> :</span></td>
<td> leftover bits that have not yet been decoded
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>: the number of bytes encoded
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584247"></a><h3>
<a name="gsf-base64-decode-simple"></a>gsf_base64_decode_simple ()</h3>
<a class="indexterm" name="id2584260"></a><pre class="programlisting">size_t gsf_base64_decode_simple (guint8 *data,
size_t len);</pre>
<p>
Decodes a chunk of base64 encoded data from <em class="parameter"><code>data</code></em> back into <em class="parameter"><code>data</code></em>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>data</code></em> :</span></td>
<td> data stream
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>len</code></em> :</span></td>
<td> max length of data to decode
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>: the number of bytes converted
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584355"></a><h3>
<a name="gsf-base64-decode-step"></a>gsf_base64_decode_step ()</h3>
<a class="indexterm" name="id2584368"></a><pre class="programlisting">size_t gsf_base64_decode_step (guint8 const *in,
size_t len,
guint8 *out,
int *state,
guint *save);</pre>
<p>
Decodes a chunk of base64 encoded data</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>in</code></em> :</span></td>
<td> input stream
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>len</code></em> :</span></td>
<td> max length of data to decode
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>out</code></em> :</span></td>
<td> output stream
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>state</code></em> :</span></td>
<td> holds the number of bits that are stored in <em class="parameter"><code>save</code></em>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>save</code></em> :</span></td>
<td> leftover bits that have not yet been decoded
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>the number of bytes converted
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584521"></a><h3>
<a name="GSF-LE-GET-GINT8:CAPS"></a>GSF_LE_GET_GINT8()</h3>
<a class="indexterm" name="id2584535"></a><pre class="programlisting">#define GSF_LE_GET_GINT8(p) ((gint8)GSF_LE_GET_GUINT8(p))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584568"></a><h3>
<a name="GSF-LE-GET-GUINT64:CAPS"></a>GSF_LE_GET_GUINT64()</h3>
<a class="indexterm" name="id2584581"></a><pre class="programlisting">#define GSF_LE_GET_GUINT64(p) (gsf_le_get_guint64 (p))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584614"></a><h3>
<a name="GSF-LE-GET-GINT16:CAPS"></a>GSF_LE_GET_GINT16()</h3>
<a class="indexterm" name="id2584628"></a><pre class="programlisting">#define GSF_LE_GET_GINT16(p) ((gint16)GSF_LE_GET_GUINT16(p))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584661"></a><h3>
<a name="GSF-LE-GET-GUINT8:CAPS"></a>GSF_LE_GET_GUINT8()</h3>
<a class="indexterm" name="id2584674"></a><pre class="programlisting">#define GSF_LE_GET_GUINT8(p) (*(guint8 const *)(p))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584708"></a><h3>
<a name="GSF-LE-GET-GINT32:CAPS"></a>GSF_LE_GET_GINT32()</h3>
<a class="indexterm" name="id2584721"></a><pre class="programlisting">#define GSF_LE_GET_GINT32(p) ((gint32)GSF_LE_GET_GUINT32(p))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584754"></a><h3>
<a name="GSF-LE-GET-GUINT16:CAPS"></a>GSF_LE_GET_GUINT16()</h3>
<a class="indexterm" name="id2584767"></a><pre class="programlisting">#define GSF_LE_GET_GUINT16(p)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584800"></a><h3>
<a name="GSF-LE-GET-GUINT32:CAPS"></a>GSF_LE_GET_GUINT32()</h3>
<a class="indexterm" name="id2584814"></a><pre class="programlisting">#define GSF_LE_GET_GUINT32(p)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584846"></a><h3>
<a name="GSF-LE-GET-GINT64:CAPS"></a>GSF_LE_GET_GINT64()</h3>
<a class="indexterm" name="id2584860"></a><pre class="programlisting">#define GSF_LE_GET_GINT64(p) ((gint64)GSF_LE_GET_GUINT64(p))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584893"></a><h3>
<a name="gsf-le-get-guint64"></a>gsf_le_get_guint64 ()</h3>
<a class="indexterm" name="id2584906"></a><pre class="programlisting">guint64 gsf_le_get_guint64 (void const *p);</pre>
<p>
Interpret binary data as a guint64 (8 byte unsigned integer type) in little
endian order.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td> pointer to storage
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> interpreted data
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2584967"></a><h3>
<a name="GSF-LE-GET-FLOAT:CAPS"></a>GSF_LE_GET_FLOAT()</h3>
<a class="indexterm" name="id2584980"></a><pre class="programlisting">#define GSF_LE_GET_FLOAT(p) (gsf_le_get_float (p))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585014"></a><h3>
<a name="gsf-le-get-float"></a>gsf_le_get_float ()</h3>
<a class="indexterm" name="id2585026"></a><pre class="programlisting">float gsf_le_get_float (void const *p);</pre>
<p>
Interpret binary data as a float in little endian order.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td> pointer to storage
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> interpreted data
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585087"></a><h3>
<a name="GSF-LE-GET-DOUBLE:CAPS"></a>GSF_LE_GET_DOUBLE()</h3>
<a class="indexterm" name="id2585101"></a><pre class="programlisting">#define GSF_LE_GET_DOUBLE(p) (gsf_le_get_double (p))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585134"></a><h3>
<a name="gsf-le-get-double"></a>gsf_le_get_double ()</h3>
<a class="indexterm" name="id2585147"></a><pre class="programlisting">double gsf_le_get_double (void const *p);</pre>
<p>
Interpret binary data as a double in little endian order.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td> pointer to storage
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> interpreted data
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585207"></a><h3>
<a name="GSF-LE-SET-GUINT8:CAPS"></a>GSF_LE_SET_GUINT8()</h3>
<a class="indexterm" name="id2585221"></a><pre class="programlisting">#define GSF_LE_SET_GUINT8(p, dat)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dat</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585267"></a><h3>
<a name="GSF-LE-SET-GUINT16:CAPS"></a>GSF_LE_SET_GUINT16()</h3>
<a class="indexterm" name="id2585280"></a><pre class="programlisting">#define GSF_LE_SET_GUINT16(p, dat)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dat</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585326"></a><h3>
<a name="GSF-LE-SET-GUINT32:CAPS"></a>GSF_LE_SET_GUINT32()</h3>
<a class="indexterm" name="id2585339"></a><pre class="programlisting">#define GSF_LE_SET_GUINT32(p, dat)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dat</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585386"></a><h3>
<a name="GSF-LE-SET-GINT8:CAPS"></a>GSF_LE_SET_GINT8()</h3>
<a class="indexterm" name="id2585399"></a><pre class="programlisting">#define GSF_LE_SET_GINT8(p,dat) GSF_LE_SET_GUINT8((p),(dat))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dat</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585446"></a><h3>
<a name="GSF-LE-SET-GINT16:CAPS"></a>GSF_LE_SET_GINT16()</h3>
<a class="indexterm" name="id2585459"></a><pre class="programlisting">#define GSF_LE_SET_GINT16(p,dat) GSF_LE_SET_GUINT16((p),(dat))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dat</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585506"></a><h3>
<a name="GSF-LE-SET-GINT32:CAPS"></a>GSF_LE_SET_GINT32()</h3>
<a class="indexterm" name="id2585519"></a><pre class="programlisting">#define GSF_LE_SET_GINT32(p,dat) GSF_LE_SET_GUINT32((p),(dat))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dat</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585566"></a><h3>
<a name="GSF-LE-SET-GINT64:CAPS"></a>GSF_LE_SET_GINT64()</h3>
<a class="indexterm" name="id2585579"></a><pre class="programlisting">#define GSF_LE_SET_GINT64(p,dat) GSF_LE_SET_GUINT64((p),(dat))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dat</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585626"></a><h3>
<a name="GSF-LE-SET-GUINT64:CAPS"></a>GSF_LE_SET_GUINT64()</h3>
<a class="indexterm" name="id2585638"></a><pre class="programlisting">#define GSF_LE_SET_GUINT64(p, dat)</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dat</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585685"></a><h3>
<a name="GSF-LE-SET-FLOAT:CAPS"></a>GSF_LE_SET_FLOAT()</h3>
<a class="indexterm" name="id2585698"></a><pre class="programlisting">#define GSF_LE_SET_FLOAT(p,dat) gsf_le_set_float((p),(dat))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dat</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585745"></a><h3>
<a name="GSF-LE-SET-DOUBLE:CAPS"></a>GSF_LE_SET_DOUBLE()</h3>
<a class="indexterm" name="id2585758"></a><pre class="programlisting">#define GSF_LE_SET_DOUBLE(p,dat) gsf_le_set_double((p),(dat))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dat</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585805"></a><h3>
<a name="gsf-le-set-float"></a>gsf_le_set_float ()</h3>
<a class="indexterm" name="id2585817"></a><pre class="programlisting">void gsf_le_set_float (void *p,
float f);</pre>
<p>
Store a value of type float in memory in little endian order.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td> pointer to storage
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>f</code></em> :</span></td>
<td> float to be stored
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585889"></a><h3>
<a name="gsf-le-set-double"></a>gsf_le_set_double ()</h3>
<a class="indexterm" name="id2585902"></a><pre class="programlisting">void gsf_le_set_double (void *p,
double d);</pre>
<p>
Store a value of type double in memory in little endian order</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em> :</span></td>
<td> pointer to storage
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>d</code></em> :</span></td>
<td> double to be stored
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2585974"></a><h3>
<a name="GsfTimestamp"></a>GsfTimestamp</h3>
<a class="indexterm" name="id2585987"></a><pre class="programlisting">typedef struct {
GDate date; /* In local timezone */
glong seconds; /* time of day */
GString time_zone; /* possibly blank */
guint32 timet;
} GsfTimestamp;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2586005"></a><h3>
<a name="gsf-timestamp-copy"></a>gsf_timestamp_copy ()</h3>
<a class="indexterm" name="id2586018"></a><pre class="programlisting"><a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a>* gsf_timestamp_copy (<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *stamp);</pre>
<p>
Copies a timestamp.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>stamp</code></em> :</span></td>
<td> timestamp to be copied
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> a separate copy of <em class="parameter"><code>stamp</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2586085"></a><h3>
<a name="gsf-timestamp-free"></a>gsf_timestamp_free ()</h3>
<a class="indexterm" name="id2586098"></a><pre class="programlisting">void gsf_timestamp_free (<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> *stamp);</pre>
<p>
Releases the memory in use for <em class="parameter"><code>stamp</code></em> (if any).</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>stamp</code></em> :</span></td>
<td> timestamp to be freed
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2586155"></a><h3>
<a name="gsf-timestamp-as-string"></a>gsf_timestamp_as_string ()</h3>
<a class="indexterm" name="id2586168"></a><pre class="programlisting">char* gsf_timestamp_as_string (<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *stamp);</pre>
<p>
Produce a string representation (ISO 8601 format) of <em class="parameter"><code>stamp</code></em>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>stamp</code></em> :</span></td>
<td> timestamp to be converted.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> a string representation of <em class="parameter"><code>stamp</code></em>. When <em class="parameter"><code>stamp</code></em> is NULL, the
representation is "<invalid>".
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2586249"></a><h3>
<a name="gsf-timestamp-parse"></a>gsf_timestamp_parse ()</h3>
<a class="indexterm" name="id2586263"></a><pre class="programlisting">int gsf_timestamp_parse (char const *spec,
<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> *stamp);</pre>
<p>
Very simple parser for time stamps. Currently requires a format of
'YYYY-MM-DDThh:mm:ss'
and does no bounds checking.
</p>
<p>
ICK ICK ICK
This routine should be called _from_sting.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>spec</code></em> :</span></td>
<td> The string to parse
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>stamp</code></em> :</span></td>
<td> <a href="gsf-utils.html#GsfTimestamp"><span class="type">GsfTimestamp</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>TRUE on success
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2586358"></a><h3>
<a name="gsf-timestamp-hash"></a>gsf_timestamp_hash ()</h3>
<a class="indexterm" name="id2586371"></a><pre class="programlisting">guint gsf_timestamp_hash (<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *stamp);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>stamp</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2586428"></a><h3>
<a name="gsf-timestamp-equal"></a>gsf_timestamp_equal ()</h3>
<a class="indexterm" name="id2586441"></a><pre class="programlisting">gboolean gsf_timestamp_equal (<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *a,
<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *b);</pre>
<p>
Compare timestamps <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>a</code></em> :</span></td>
<td> a timestamp
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>b</code></em> :</span></td>
<td> another timestamp
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> true if <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> represent the same point in time; false otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2586546"></a><h3>
<a name="gsf-value-set-timestamp"></a>gsf_value_set_timestamp ()</h3>
<a class="indexterm" name="id2586559"></a><pre class="programlisting">void gsf_value_set_timestamp (GValue *value,
<a href="gsf-utils.html#GsfTimestamp">GsfTimestamp</a> const *stamp);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>value</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>stamp</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2586627"></a><h3>
<a name="VAL-IS-GSF-TIMESTAMP:CAPS"></a>VAL_IS_GSF_TIMESTAMP()</h3>
<a class="indexterm" name="id2586640"></a><pre class="programlisting">#define VAL_IS_GSF_TIMESTAMP(v) (G_TYPE_CHECK_VALUE_TYPE((v), GSF_TIMESTAMP_TYPE))
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>v</code></em> :</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2586674"></a><h3>
<a name="gsf-doc-prop-swap-val"></a>gsf_doc_prop_swap_val ()</h3>
<a class="indexterm" name="id2586687"></a><pre class="programlisting">GValue* gsf_doc_prop_swap_val (<a href="gsf-metadata.html#GsfDocProp">GsfDocProp</a> *prop,
GValue *val);</pre>
<p>
</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>prop</code></em> :</span></td>
<td> <a href="gsf-metadata.html#GsfDocProp"><span class="type">GsfDocProp</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>val</code></em> :</span></td>
<td> <span class="type">GValue</span>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>the current value of <em class="parameter"><code>prop</code></em>, and replaces it with <em class="parameter"><code>val</code></em>
Caller is responsible for unsetting and freeing the result.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2586797"></a><h3>
<a name="gsf-property-settings-collect"></a>gsf_property_settings_collect ()</h3>
<a class="indexterm" name="id2586810"></a><pre class="programlisting">void gsf_property_settings_collect (GType object_type,
GParameter **p_params,
size_t *p_n_params,
const gchar *first_property_name,
...);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>object_type</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>p_params</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>p_n_params</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>...</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2586935"></a><h3>
<a name="gsf-property-settings-collect-valist"></a>gsf_property_settings_collect_valist ()</h3>
<a class="indexterm" name="id2586949"></a><pre class="programlisting">void gsf_property_settings_collect_valist
(GType object_type,
GParameter **p_params,
size_t *p_n_params,
const gchar *first_property_name,
va_list var_args);</pre>
<p>
This function builds a GParameter array suitable for g_object_newv.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>object_type</code></em> :</span></td>
<td> the GType for which the properties are being set.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>p_params</code></em> :</span></td>
<td> a pointer to the GParameter array that holds the properties.
(Used for both input and output. This may point to a NULL pointer if
there are no properties collected yet.)
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>p_n_params</code></em> :</span></td>
<td> a pointer to the number of properties collected. (Used for
both input and output.)
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></td>
<td> the name of the first property being set, or NULL.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>var_args</code></em> :</span></td>
<td> a va_list holding the remainder of the property names and
values, terminated by a NULL.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2587094"></a><h3>
<a name="gsf-property-settings-free"></a>gsf_property_settings_free ()</h3>
<a class="indexterm" name="id2587108"></a><pre class="programlisting">void gsf_property_settings_free (GParameter *params,
size_t n_params);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>params</code></em> :</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>n_params</code></em> :</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</body>
</html>