blob: 2bf8fb6cb2392cefa33a8a7b94bcf92bfc98c600 [file] [log] [blame]
<HTML
><HEAD
><TITLE
>threads</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><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
>&#60;&#60;&#60; 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 &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><H1
><A
NAME="LIBXML-THREADS">threads</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN20660"
></A
><H2
>Name</H2
>threads&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN20663"><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;
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="AEN20694"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN20697"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN20699"
></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="AEN20704"
></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="AEN20711"
></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="AEN20716"
></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="AEN20721"
></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="AEN20727"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN20736"
></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="AEN20744"><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
>&nbsp;:</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="AEN20753"
></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="AEN20761"><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
>&nbsp;:</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="AEN20770"
></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="AEN20778"><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
>&nbsp;:</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="AEN20787"
></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="AEN20793"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN20802"
></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="AEN20810"><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
>&nbsp;:</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="AEN20819"
></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="AEN20827"><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
>&nbsp;:</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="AEN20836"
></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="AEN20842"><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
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN20851"
></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="AEN20858"
></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="AEN20865"
></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="AEN20872"
></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="AEN20879"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN20888"
></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="AEN20895"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN20904"
></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="AEN20911"
></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="AEN20919"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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
>&#60;&#60;&#60; 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 &#62;&#62;&#62;</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
>