You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gnucash/lib/libgsf-1.12.3/doc/xml/stdio.xml

334 lines
16 KiB

<refentry id="gsf-Reading-and-Writing-from-local-files-and-directories">
<refmeta>
<refentrytitle>Reading and Writing from local files and directories</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GSF Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Reading and Writing from local files and directories</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<anchor id="GsfInputStdio"/><anchor id="GsfOutputStdio"/><anchor id="GsfOutfileStdio"/><anchor id="GsfInfileStdio"/>
<synopsis>
<link linkend="GsfInputStdio-struct">GsfInputStdio</link>;
<link linkend="GsfInput">GsfInput</link>* <link linkend="gsf-input-stdio-new">gsf_input_stdio_new</link> (<link linkend="char">char</link> const *filename,
<link linkend="GError">GError</link> **err);
<link linkend="GsfOutputStdio-struct">GsfOutputStdio</link>;
<link linkend="GsfOutput">GsfOutput</link>* <link linkend="gsf-output-stdio-new">gsf_output_stdio_new</link> (<link linkend="char">char</link> const *filename,
<link linkend="GError">GError</link> **err);
<link linkend="GsfOutput">GsfOutput</link>* <link linkend="gsf-output-stdio-new-full">gsf_output_stdio_new_full</link> (<link linkend="char">char</link> const *filename,
<link linkend="GError">GError</link> **err,
<link linkend="char">char</link> const *first_property_name,
...);
<link linkend="GsfOutput">GsfOutput</link>* <link linkend="gsf-output-stdio-new-valist">gsf_output_stdio_new_valist</link> (<link linkend="char">char</link> const *filename,
<link linkend="GError">GError</link> **err,
<link linkend="char">char</link> const *first_property_name,
<link linkend="va-list">va_list</link> var_args);
<link linkend="GsfOutput">GsfOutput</link>* <link linkend="gsf-output-stdio-new-FILE">gsf_output_stdio_new_FILE</link> (<link linkend="char">char</link> const *filename,
<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="gboolean">gboolean</link> keep_open);
<link linkend="GsfOutfileStdio-struct">GsfOutfileStdio</link>;
<link linkend="GsfOutfile">GsfOutfile</link>* <link linkend="gsf-outfile-stdio-new">gsf_outfile_stdio_new</link> (<link linkend="char">char</link> const *root,
<link linkend="GError">GError</link> **err);
<link linkend="GsfOutfile">GsfOutfile</link>* <link linkend="gsf-outfile-stdio-new-full">gsf_outfile_stdio_new_full</link> (<link linkend="char">char</link> const *root,
<link linkend="GError">GError</link> **err,
<link linkend="char">char</link> const *first_property_name,
...);
<link linkend="GsfOutfile">GsfOutfile</link>* <link linkend="gsf-outfile-stdio-new-valist">gsf_outfile_stdio_new_valist</link> (<link linkend="char">char</link> const *root,
<link linkend="GError">GError</link> **err,
<link linkend="char">char</link> const *first_property_name,
<link linkend="va-list">va_list</link> var_args);
<link linkend="GsfInfileStdio-struct">GsfInfileStdio</link>;
<link linkend="GsfInfile">GsfInfile</link>* <link linkend="gsf-infile-stdio-new">gsf_infile_stdio_new</link> (<link linkend="char">char</link> const *root,
<link linkend="GError">GError</link> **err);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Object Hierarchy</title>
<synopsis>
<link linkend="GObject">GObject</link>
+----<link linkend="GsfInput">GsfInput</link>
+----GsfInputStdio
</synopsis>
<synopsis>
<link linkend="GObject">GObject</link>
+----<link linkend="GsfOutput">GsfOutput</link>
+----GsfOutputStdio
</synopsis>
<synopsis>
<link linkend="GObject">GObject</link>
+----<link linkend="GsfOutput">GsfOutput</link>
+----<link linkend="GsfOutfile">GsfOutfile</link>
+----GsfOutfileStdio
</synopsis>
<synopsis>
<link linkend="GObject">GObject</link>
+----<link linkend="GsfInput">GsfInput</link>
+----<link linkend="GsfInfile">GsfInfile</link>
+----GsfInfileStdio
</synopsis>
</refsect1>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="GsfInputStdio-struct"/>GsfInputStdio</title>
<indexterm><primary>GsfInputStdio</primary></indexterm><programlisting>typedef struct _GsfInputStdio GsfInputStdio;</programlisting>
<para>
</para></refsect2>
<refsect2>
<title><anchor id="gsf-input-stdio-new"/>gsf_input_stdio_new ()</title>
<indexterm><primary>gsf_input_stdio_new</primary></indexterm><programlisting><link linkend="GsfInput">GsfInput</link>* gsf_input_stdio_new (<link linkend="char">char</link> const *filename,
<link linkend="GError">GError</link> **err);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
<listitem><simpara> in utf8.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> optionally NULL.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>a new file or NULL.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="GsfOutputStdio-struct"/>GsfOutputStdio</title>
<indexterm><primary>GsfOutputStdio</primary></indexterm><programlisting>typedef struct _GsfOutputStdio GsfOutputStdio;</programlisting>
<para>
</para></refsect2>
<refsect2>
<title><anchor id="gsf-output-stdio-new"/>gsf_output_stdio_new ()</title>
<indexterm><primary>gsf_output_stdio_new</primary></indexterm><programlisting><link linkend="GsfOutput">GsfOutput</link>* gsf_output_stdio_new (<link linkend="char">char</link> const *filename,
<link linkend="GError">GError</link> **err);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
<listitem><simpara> name of file to create or replace.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> optionally NULL.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>a new file or NULL.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gsf-output-stdio-new-full"/>gsf_output_stdio_new_full ()</title>
<indexterm><primary>gsf_output_stdio_new_full</primary></indexterm><programlisting><link linkend="GsfOutput">GsfOutput</link>* gsf_output_stdio_new_full (<link linkend="char">char</link> const *filename,
<link linkend="GError">GError</link> **err,
<link linkend="char">char</link> const *first_property_name,
...);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
<listitem><simpara> name of file to create or replace.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> optionally NULL.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_property_name</parameter>&nbsp;:</term>
<listitem><simpara> NULL terminated list of properties
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>a new file or NULL.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gsf-output-stdio-new-valist"/>gsf_output_stdio_new_valist ()</title>
<indexterm><primary>gsf_output_stdio_new_valist</primary></indexterm><programlisting><link linkend="GsfOutput">GsfOutput</link>* gsf_output_stdio_new_valist (<link linkend="char">char</link> const *filename,
<link linkend="GError">GError</link> **err,
<link linkend="char">char</link> const *first_property_name,
<link linkend="va-list">va_list</link> var_args);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_property_name</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>var_args</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gsf-output-stdio-new-FILE"/>gsf_output_stdio_new_FILE ()</title>
<indexterm><primary>gsf_output_stdio_new_FILE</primary></indexterm><programlisting><link linkend="GsfOutput">GsfOutput</link>* gsf_output_stdio_new_FILE (<link linkend="char">char</link> const *filename,
<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="gboolean">gboolean</link> keep_open);</programlisting>
<para>
Assumes ownership of <parameter>file</parameter>. If <parameter>keep_open</parameter> is true, ownership reverts
to caller when the GsfObject is closed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
<listitem><simpara> The filename corresponding to <parameter>file</parameter>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>file</parameter>&nbsp;:</term>
<listitem><simpara> an existing stdio FILE *
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>keep_open</parameter>&nbsp;:</term>
<listitem><simpara> Should <parameter>file</parameter> be closed when the wrapper is closed
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>a new GsfOutput wrapper for <parameter>file</parameter>. Warning: the result will be
seekable only if <parameter>file</parameter> is seekable. If it is seekable, the resulting
GsfOutput object will seek relative to <parameter>file</parameter>'s beginning, not its
current location at the time the GsfOutput object is created.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="GsfOutfileStdio-struct"/>GsfOutfileStdio</title>
<indexterm><primary>GsfOutfileStdio</primary></indexterm><programlisting>typedef struct _GsfOutfileStdio GsfOutfileStdio;</programlisting>
<para>
</para></refsect2>
<refsect2>
<title><anchor id="gsf-outfile-stdio-new"/>gsf_outfile_stdio_new ()</title>
<indexterm><primary>gsf_outfile_stdio_new</primary></indexterm><programlisting><link linkend="GsfOutfile">GsfOutfile</link>* gsf_outfile_stdio_new (<link linkend="char">char</link> const *root,
<link linkend="GError">GError</link> **err);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>root</parameter>&nbsp;:</term>
<listitem><simpara> root directory in utf8.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> optionally NULL.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>a new outfile or NULL.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gsf-outfile-stdio-new-full"/>gsf_outfile_stdio_new_full ()</title>
<indexterm><primary>gsf_outfile_stdio_new_full</primary></indexterm><programlisting><link linkend="GsfOutfile">GsfOutfile</link>* gsf_outfile_stdio_new_full (<link linkend="char">char</link> const *root,
<link linkend="GError">GError</link> **err,
<link linkend="char">char</link> const *first_property_name,
...);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>root</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_property_name</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gsf-outfile-stdio-new-valist"/>gsf_outfile_stdio_new_valist ()</title>
<indexterm><primary>gsf_outfile_stdio_new_valist</primary></indexterm><programlisting><link linkend="GsfOutfile">GsfOutfile</link>* gsf_outfile_stdio_new_valist (<link linkend="char">char</link> const *root,
<link linkend="GError">GError</link> **err,
<link linkend="char">char</link> const *first_property_name,
<link linkend="va-list">va_list</link> var_args);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>root</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>first_property_name</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>var_args</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="GsfInfileStdio-struct"/>GsfInfileStdio</title>
<indexterm><primary>GsfInfileStdio</primary></indexterm><programlisting>typedef struct _GsfInfileStdio GsfInfileStdio;</programlisting>
<para>
</para></refsect2>
<refsect2>
<title><anchor id="gsf-infile-stdio-new"/>gsf_infile_stdio_new ()</title>
<indexterm><primary>gsf_infile_stdio_new</primary></indexterm><programlisting><link linkend="GsfInfile">GsfInfile</link>* gsf_infile_stdio_new (<link linkend="char">char</link> const *root,
<link linkend="GError">GError</link> **err);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>root</parameter>&nbsp;:</term>
<listitem><simpara> in locale dependent encoding
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> optionally NULL.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>a new file or NULL.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>