<HTML ><HEAD ><TITLE >threads</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.64 "><LINK REL="HOME" TITLE="Gnome XML Library Reference Manual" HREF="book1.html"><LINK REL="UP" TITLE="Libxml Library Reference" HREF="libxml-lib.html"><LINK REL="PREVIOUS" TITLE="c14n" HREF="libxml-c14n.html"><LINK REL="NEXT" TITLE="globals" HREF="libxml-globals.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TH COLSPAN="4" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="5" >Gnome XML Library Reference Manual</FONT ></TH ></TR ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="libxml-c14n.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="libxml-lib.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="libxml-globals.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ></TABLE ></DIV ><H1 ><A NAME="LIBXML-THREADS" >threads</A ></H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN20089" ></A ><H2 >Name</H2 >threads -- </DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN20092" ></A ><H2 >Synopsis</H2 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="SYNOPSIS" > struct <A HREF="libxml-threads.html#XMLMUTEX" >xmlMutex</A >; typedef <A HREF="libxml-threads.html#XMLMUTEXPTR" >xmlMutexPtr</A >; struct <A HREF="libxml-threads.html#XMLRMUTEX" >xmlRMutex</A >; typedef <A HREF="libxml-threads.html#XMLRMUTEXPTR" >xmlRMutexPtr</A >; <A HREF="libxml-threads.html#XMLMUTEXPTR" >xmlMutexPtr</A > <A HREF="libxml-threads.html#XMLNEWMUTEX" >xmlNewMutex</A > (void); void <A HREF="libxml-threads.html#XMLMUTEXLOCK" >xmlMutexLock</A > (<A HREF="libxml-threads.html#XMLMUTEXPTR" >xmlMutexPtr</A > tok); void <A HREF="libxml-threads.html#XMLMUTEXUNLOCK" >xmlMutexUnlock</A > (<A HREF="libxml-threads.html#XMLMUTEXPTR" >xmlMutexPtr</A > tok); void <A HREF="libxml-threads.html#XMLFREEMUTEX" >xmlFreeMutex</A > (<A HREF="libxml-threads.html#XMLMUTEXPTR" >xmlMutexPtr</A > tok); <A HREF="libxml-threads.html#XMLRMUTEXPTR" >xmlRMutexPtr</A > <A HREF="libxml-threads.html#XMLNEWRMUTEX" >xmlNewRMutex</A > (void); void <A HREF="libxml-threads.html#XMLRMUTEXLOCK" >xmlRMutexLock</A > (<A HREF="libxml-threads.html#XMLRMUTEXPTR" >xmlRMutexPtr</A > tok); void <A HREF="libxml-threads.html#XMLRMUTEXUNLOCK" >xmlRMutexUnlock</A > (<A HREF="libxml-threads.html#XMLRMUTEXPTR" >xmlRMutexPtr</A > tok); void <A HREF="libxml-threads.html#XMLFREERMUTEX" >xmlFreeRMutex</A > (<A HREF="libxml-threads.html#XMLRMUTEXPTR" >xmlRMutexPtr</A > tok); void <A HREF="libxml-threads.html#XMLINITTHREADS" >xmlInitThreads</A > (void); void <A HREF="libxml-threads.html#XMLLOCKLIBRARY" >xmlLockLibrary</A > (void); void <A HREF="libxml-threads.html#XMLUNLOCKLIBRARY" >xmlUnlockLibrary</A > (void); int <A HREF="libxml-threads.html#XMLGETTHREADID" >xmlGetThreadId</A > (void); int <A HREF="libxml-threads.html#XMLISMAINTHREAD" >xmlIsMainThread</A > (void); void <A HREF="libxml-threads.html#XMLCLEANUPTHREADS" >xmlCleanupThreads</A > (void); <A HREF="libxml-globals.html#XMLGLOBALSTATEPTR" >xmlGlobalStatePtr</A > <A HREF="libxml-threads.html#XMLGETGLOBALSTATE" >xmlGetGlobalState</A > (void);</PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN20123" ></A ><H2 >Description</H2 ><P ></P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN20126" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN20128" ></A ><H3 ><A NAME="XMLMUTEX" ></A >struct xmlMutex</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >struct xmlMutex;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20133" ></A ><H3 ><A NAME="XMLMUTEXPTR" ></A >xmlMutexPtr</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef xmlMutex *xmlMutexPtr;</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLNEWMUTEX" >xmlNewMutex</A >() is used to allocate a libxml2 token struct for use in synchronizing access to data.</P ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20140" ></A ><H3 ><A NAME="XMLRMUTEX" ></A >struct xmlRMutex</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >struct xmlRMutex;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20145" ></A ><H3 ><A NAME="XMLRMUTEXPTR" ></A >xmlRMutexPtr</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef xmlRMutex *xmlRMutexPtr;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20150" ></A ><H3 ><A NAME="XMLNEWMUTEX" ></A >xmlNewMutex ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-threads.html#XMLMUTEXPTR" >xmlMutexPtr</A > xmlNewMutex (void);</PRE ></TD ></TR ></TABLE ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN20156" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20165" ></A ><H3 ><A NAME="XMLMUTEXLOCK" ></A >xmlMutexLock ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlMutexLock (<A HREF="libxml-threads.html#XMLMUTEXPTR" >xmlMutexPtr</A > tok);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLMUTEXLOCK" >xmlMutexLock</A >() is used to lock a libxml2 token.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN20173" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >tok</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the simple mutex</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20182" ></A ><H3 ><A NAME="XMLMUTEXUNLOCK" ></A >xmlMutexUnlock ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlMutexUnlock (<A HREF="libxml-threads.html#XMLMUTEXPTR" >xmlMutexPtr</A > tok);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLMUTEXUNLOCK" >xmlMutexUnlock</A >() is used to unlock a libxml2 token.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN20190" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >tok</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the simple mutex</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20199" ></A ><H3 ><A NAME="XMLFREEMUTEX" ></A >xmlFreeMutex ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlFreeMutex (<A HREF="libxml-threads.html#XMLMUTEXPTR" >xmlMutexPtr</A > tok);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLFREEMUTEX" >xmlFreeMutex</A >() is used to reclaim resources associated with a libxml2 token struct.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN20207" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >tok</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the simple mutex</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20216" ></A ><H3 ><A NAME="XMLNEWRMUTEX" ></A >xmlNewRMutex ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-threads.html#XMLRMUTEXPTR" >xmlRMutexPtr</A > xmlNewRMutex (void);</PRE ></TD ></TR ></TABLE ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN20222" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20231" ></A ><H3 ><A NAME="XMLRMUTEXLOCK" ></A >xmlRMutexLock ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlRMutexLock (<A HREF="libxml-threads.html#XMLRMUTEXPTR" >xmlRMutexPtr</A > tok);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLRMUTEXLOCK" >xmlRMutexLock</A >() is used to lock a libxml2 token_r.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN20239" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >tok</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the reentrant mutex</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20248" ></A ><H3 ><A NAME="XMLRMUTEXUNLOCK" ></A >xmlRMutexUnlock ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlRMutexUnlock (<A HREF="libxml-threads.html#XMLRMUTEXPTR" >xmlRMutexPtr</A > tok);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLRMUTEXUNLOCK" >xmlRMutexUnlock</A >() is used to unlock a libxml2 token_r.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN20256" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >tok</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the reentrant mutex</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20265" ></A ><H3 ><A NAME="XMLFREERMUTEX" ></A >xmlFreeRMutex ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlFreeRMutex (<A HREF="libxml-threads.html#XMLRMUTEXPTR" >xmlRMutexPtr</A > tok);</PRE ></TD ></TR ></TABLE ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN20271" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >tok</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20280" ></A ><H3 ><A NAME="XMLINITTHREADS" ></A >xmlInitThreads ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlInitThreads (void);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLINITTHREADS" >xmlInitThreads</A >() is used to to initialize all the thread related data of the libxml2 library.</P ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20287" ></A ><H3 ><A NAME="XMLLOCKLIBRARY" ></A >xmlLockLibrary ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlLockLibrary (void);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLLOCKLIBRARY" >xmlLockLibrary</A >() is used to take out a re-entrant lock on the libxml2 library.</P ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20294" ></A ><H3 ><A NAME="XMLUNLOCKLIBRARY" ></A >xmlUnlockLibrary ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlUnlockLibrary (void);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLUNLOCKLIBRARY" >xmlUnlockLibrary</A >() is used to release a re-entrant lock on the libxml2 library.</P ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20301" ></A ><H3 ><A NAME="XMLGETTHREADID" ></A >xmlGetThreadId ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlGetThreadId (void);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLGETTHREADID" >xmlGetThreadId</A >() find the current thread ID number</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN20308" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the current thread ID number</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20317" ></A ><H3 ><A NAME="XMLISMAINTHREAD" ></A >xmlIsMainThread ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlIsMainThread (void);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLISMAINTHREAD" >xmlIsMainThread</A >() check whether the current thread is the main thread.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN20324" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if the current thread is the main thread, 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20333" ></A ><H3 ><A NAME="XMLCLEANUPTHREADS" ></A >xmlCleanupThreads ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlCleanupThreads (void);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLCLEANUPTHREADS" >xmlCleanupThreads</A >() is used to to cleanup all the thread related data of the libxml2 library once processing has ended.</P ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN20340" ></A ><H3 ><A NAME="XMLGETGLOBALSTATE" ></A >xmlGetGlobalState ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-globals.html#XMLGLOBALSTATEPTR" >xmlGlobalStatePtr</A > xmlGetGlobalState (void);</PRE ></TD ></TR ></TABLE ><P ><A HREF="libxml-threads.html#XMLGETGLOBALSTATE" >xmlGetGlobalState</A >() is called to retrieve the global state for a thread.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN20348" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the thread global state or NULL in case of error</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><BR CLEAR="all"><BR><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="libxml-c14n.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="libxml-lib.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="libxml-globals.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ><TR ><TD COLSPAN="2" ALIGN="left" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >c14n</B ></FONT ></TD ><TD COLSPAN="2" ALIGN="right" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >globals</B ></FONT ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >