<refentry id="xmlsec-io">
<refmeta>
<refentrytitle>io.h</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>XMLSEC Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>io.h</refname><refpurpose>The IO transforms.</refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>
<synopsis>



void        <link linkend="xmlSecIOInit">xmlSecIOInit</link>                    (void);
void        <link linkend="xmlSecIOShutdown">xmlSecIOShutdown</link>                (void);
extern      xmlSecTransformId <link linkend="xmlSecInputUri">xmlSecInputUri</link>;
int         <link linkend="xmlSecInputUriTransformOpen">xmlSecInputUriTransformOpen</link>     (<link linkend="xmlSecTransformPtr">xmlSecTransformPtr</link> transform,
                                             const char *uri);
void        <link linkend="xmlSecCleanupInputCallbacks">xmlSecCleanupInputCallbacks</link>     (void);
void        <link linkend="xmlSecRegisterDefaultInputCallbacks">xmlSecRegisterDefaultInputCallbacks</link>
                                            (void);
int         <link linkend="xmlSecRegisterInputCallbacks">xmlSecRegisterInputCallbacks</link>    (<link linkend="xmlInputMatchCallback">xmlInputMatchCallback</link> matchFunc,
                                             <link linkend="xmlInputOpenCallback">xmlInputOpenCallback</link> openFunc,
                                             <link linkend="xmlInputReadCallback">xmlInputReadCallback</link> readFunc,
                                             <link linkend="xmlInputCloseCallback">xmlInputCloseCallback</link> closeFunc);
</synopsis>
</refsynopsisdiv>





<refsect1>
<title>Description</title>
<para>

</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="xmlSecIOInit">xmlSecIOInit ()</title>
<programlisting>void        xmlSecIOInit                    (void);</programlisting>
<para>
The IO initialization (called from <link linkend="xmlSecInit">xmlSecInit</link>() function).
Applications should not call this function directly.</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="xmlSecIOShutdown">xmlSecIOShutdown ()</title>
<programlisting>void        xmlSecIOShutdown                (void);</programlisting>
<para>
The IO clenaup (called from <link linkend="xmlSecShutdown">xmlSecShutdown</link>() function).
Applications should not call this function directly.</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="xmlSecInputUri">xmlSecInputUri</title>
<programlisting>extern xmlSecTransformId xmlSecInputUri;
</programlisting>
<para>
The input URI transform id.</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="xmlSecInputUriTransformOpen">xmlSecInputUriTransformOpen ()</title>
<programlisting>int         xmlSecInputUriTransformOpen     (<link linkend="xmlSecTransformPtr">xmlSecTransformPtr</link> transform,
                                             const char *uri);</programlisting>
<para>
Opens the given <parameter>uri</parameter> for reading.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>transform</parameter>&nbsp;:</entry>
<entry> the pointer to IO transform.
</entry></row>
<row><entry align="right"><parameter>uri</parameter>&nbsp;:</entry>
<entry> the URL to open.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>0 on success or a negative value otherwise.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="xmlSecCleanupInputCallbacks">xmlSecCleanupInputCallbacks ()</title>
<programlisting>void        xmlSecCleanupInputCallbacks     (void);</programlisting>
<para>
Clears the entire input callback table. this includes the
compiled-in I/O.</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="xmlSecRegisterDefaultInputCallbacks">xmlSecRegisterDefaultInputCallbacks ()</title>
<programlisting>void        xmlSecRegisterDefaultInputCallbacks
                                            (void);</programlisting>
<para>
Registers the default compiled-in I/O handlers.</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="xmlSecRegisterInputCallbacks">xmlSecRegisterInputCallbacks ()</title>
<programlisting>int         xmlSecRegisterInputCallbacks    (<link linkend="xmlInputMatchCallback">xmlInputMatchCallback</link> matchFunc,
                                             <link linkend="xmlInputOpenCallback">xmlInputOpenCallback</link> openFunc,
                                             <link linkend="xmlInputReadCallback">xmlInputReadCallback</link> readFunc,
                                             <link linkend="xmlInputCloseCallback">xmlInputCloseCallback</link> closeFunc);</programlisting>
<para>
Register a new set of I/O callback for handling parser input.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>matchFunc</parameter>&nbsp;:</entry>
<entry>  the xmlInputMatchCallback.
</entry></row>
<row><entry align="right"><parameter>openFunc</parameter>&nbsp;:</entry>
<entry>  the xmlInputOpenCallback.
</entry></row>
<row><entry align="right"><parameter>readFunc</parameter>&nbsp;:</entry>
<entry>  the xmlInputReadCallback.
</entry></row>
<row><entry align="right"><parameter>closeFunc</parameter>&nbsp;:</entry>
<entry>  the xmlInputCloseCallback.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>the registered handler number or a negative value if 
an error occurs.
</entry></row>
</tbody></tgroup></informaltable></refsect2>

</refsect1>




</refentry>
