blob: f170ab4f519018b3576060dc13acb7f0bfce7e7b [file] [log] [blame]
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001<HTML
2><HEAD
3><TITLE
4>threads</TITLE
5><META
6NAME="GENERATOR"
Daniel Veillard539638b2002-07-06 19:55:14 +00007CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00008"><LINK
9REL="HOME"
10TITLE="Gnome XML Library Reference Manual"
11HREF="book1.html"><LINK
12REL="UP"
13TITLE="Libxml Library Reference"
14HREF="libxml-lib.html"><LINK
15REL="PREVIOUS"
Daniel Veillardaf43f632002-03-08 15:05:20 +000016TITLE="c14n"
17HREF="libxml-c14n.html"><LINK
Daniel Veillardb36d4fe2001-11-28 13:40:42 +000018REL="NEXT"
19TITLE="globals"
20HREF="libxml-globals.html"></HEAD
21><BODY
22CLASS="REFENTRY"
23BGCOLOR="#FFFFFF"
24TEXT="#000000"
25LINK="#0000FF"
26VLINK="#840084"
27ALINK="#0000FF"
28><DIV
29CLASS="NAVHEADER"
30><TABLE
31WIDTH="100%"
32BORDER="0"
33BGCOLOR="#000000"
34CELLPADDING="1"
35CELLSPACING="0"
36><TR
37><TH
38COLSPAN="4"
39ALIGN="center"
40><FONT
41COLOR="#FFFFFF"
42SIZE="5"
43>Gnome XML Library Reference Manual</FONT
44></TH
45></TR
46><TR
47><TD
48WIDTH="25%"
49BGCOLOR="#C00000"
50ALIGN="left"
51><A
Daniel Veillardaf43f632002-03-08 15:05:20 +000052HREF="libxml-c14n.html"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +000053><FONT
54COLOR="#FFFFFF"
55SIZE="3"
56><B
57>&#60;&#60;&#60; Previous Page</B
58></FONT
59></A
60></TD
61><TD
62WIDTH="25%"
63BGCOLOR="#0000C0"
64ALIGN="center"
65><FONT
66COLOR="#FFFFFF"
67SIZE="3"
68><B
69><A
70HREF="book1.html"
71><FONT
72COLOR="#FFFFFF"
73SIZE="3"
74><B
75>Home</B
76></FONT
77></A
78></B
79></FONT
80></TD
81><TD
82WIDTH="25%"
83BGCOLOR="#00C000"
84ALIGN="center"
85><FONT
86COLOR="#FFFFFF"
87SIZE="3"
88><B
89><A
90HREF="libxml-lib.html"
91><FONT
92COLOR="#FFFFFF"
93SIZE="3"
94><B
95>Up</B
96></FONT
97></A
98></B
99></FONT
100></TD
101><TD
102WIDTH="25%"
103BGCOLOR="#C00000"
104ALIGN="right"
105><A
106HREF="libxml-globals.html"
107><FONT
108COLOR="#FFFFFF"
109SIZE="3"
110><B
111>Next Page &#62;&#62;&#62;</B
112></FONT
113></A
114></TD
115></TR
116></TABLE
117></DIV
118><H1
119><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000120NAME="LIBXML-THREADS"
121></A
122>threads</H1
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000123><DIV
124CLASS="REFNAMEDIV"
125><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000126NAME="AEN22983"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000127></A
128><H2
129>Name</H2
130>threads&nbsp;--&nbsp;</DIV
131><DIV
132CLASS="REFSYNOPSISDIV"
133><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000134NAME="AEN22986"
135></A
136><H2
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000137>Synopsis</H2
138><TABLE
139BORDER="0"
140BGCOLOR="#D6E8FF"
141WIDTH="100%"
142CELLPADDING="6"
143><TR
144><TD
145><PRE
146CLASS="SYNOPSIS"
147>&#13;
148
149struct <A
150HREF="libxml-threads.html#XMLMUTEX"
151>xmlMutex</A
152>;
153typedef <A
154HREF="libxml-threads.html#XMLMUTEXPTR"
155>xmlMutexPtr</A
156>;
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000157struct <A
158HREF="libxml-threads.html#XMLRMUTEX"
159>xmlRMutex</A
160>;
161typedef <A
162HREF="libxml-threads.html#XMLRMUTEXPTR"
163>xmlRMutexPtr</A
164>;
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000165<A
166HREF="libxml-threads.html#XMLMUTEXPTR"
167>xmlMutexPtr</A
168> <A
169HREF="libxml-threads.html#XMLNEWMUTEX"
170>xmlNewMutex</A
171> (void);
172void <A
173HREF="libxml-threads.html#XMLMUTEXLOCK"
174>xmlMutexLock</A
175> (<A
176HREF="libxml-threads.html#XMLMUTEXPTR"
177>xmlMutexPtr</A
178> tok);
179void <A
180HREF="libxml-threads.html#XMLMUTEXUNLOCK"
181>xmlMutexUnlock</A
182> (<A
183HREF="libxml-threads.html#XMLMUTEXPTR"
184>xmlMutexPtr</A
185> tok);
186void <A
187HREF="libxml-threads.html#XMLFREEMUTEX"
188>xmlFreeMutex</A
189> (<A
190HREF="libxml-threads.html#XMLMUTEXPTR"
191>xmlMutexPtr</A
192> tok);
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000193<A
194HREF="libxml-threads.html#XMLRMUTEXPTR"
195>xmlRMutexPtr</A
196> <A
197HREF="libxml-threads.html#XMLNEWRMUTEX"
198>xmlNewRMutex</A
199> (void);
200void <A
201HREF="libxml-threads.html#XMLRMUTEXLOCK"
202>xmlRMutexLock</A
203> (<A
204HREF="libxml-threads.html#XMLRMUTEXPTR"
205>xmlRMutexPtr</A
206> tok);
207void <A
208HREF="libxml-threads.html#XMLRMUTEXUNLOCK"
209>xmlRMutexUnlock</A
210> (<A
211HREF="libxml-threads.html#XMLRMUTEXPTR"
212>xmlRMutexPtr</A
213> tok);
214void <A
215HREF="libxml-threads.html#XMLFREERMUTEX"
216>xmlFreeRMutex</A
217> (<A
218HREF="libxml-threads.html#XMLRMUTEXPTR"
219>xmlRMutexPtr</A
220> tok);
221void <A
222HREF="libxml-threads.html#XMLINITTHREADS"
223>xmlInitThreads</A
224> (void);
225void <A
226HREF="libxml-threads.html#XMLLOCKLIBRARY"
227>xmlLockLibrary</A
228> (void);
229void <A
230HREF="libxml-threads.html#XMLUNLOCKLIBRARY"
231>xmlUnlockLibrary</A
232> (void);
233int <A
234HREF="libxml-threads.html#XMLGETTHREADID"
235>xmlGetThreadId</A
236> (void);
237int <A
238HREF="libxml-threads.html#XMLISMAINTHREAD"
239>xmlIsMainThread</A
240> (void);
241void <A
242HREF="libxml-threads.html#XMLCLEANUPTHREADS"
243>xmlCleanupThreads</A
244> (void);
245<A
246HREF="libxml-globals.html#XMLGLOBALSTATEPTR"
247>xmlGlobalStatePtr</A
248> <A
249HREF="libxml-threads.html#XMLGETGLOBALSTATE"
250>xmlGetGlobalState</A
251> (void);</PRE
252></TD
253></TR
254></TABLE
255></DIV
256><DIV
257CLASS="REFSECT1"
258><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000259NAME="AEN23017"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000260></A
261><H2
262>Description</H2
263><P
264></P
265></DIV
266><DIV
267CLASS="REFSECT1"
268><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000269NAME="AEN23020"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000270></A
271><H2
272>Details</H2
273><DIV
274CLASS="REFSECT2"
275><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000276NAME="AEN23022"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000277></A
278><H3
279><A
280NAME="XMLMUTEX"
281></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000282>struct xmlMutex</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000283><TABLE
284BORDER="0"
285BGCOLOR="#D6E8FF"
286WIDTH="100%"
287CELLPADDING="6"
288><TR
289><TD
290><PRE
291CLASS="PROGRAMLISTING"
292>struct xmlMutex;</PRE
293></TD
294></TR
295></TABLE
296><P
297></P
298></DIV
299><HR><DIV
300CLASS="REFSECT2"
301><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000302NAME="AEN23027"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000303></A
304><H3
305><A
306NAME="XMLMUTEXPTR"
307></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000308>xmlMutexPtr</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000309><TABLE
310BORDER="0"
311BGCOLOR="#D6E8FF"
312WIDTH="100%"
313CELLPADDING="6"
314><TR
315><TD
316><PRE
317CLASS="PROGRAMLISTING"
318>typedef xmlMutex *xmlMutexPtr;</PRE
319></TD
320></TR
321></TABLE
322><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000323></P
324></DIV
325><HR><DIV
326CLASS="REFSECT2"
327><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000328NAME="AEN23032"
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000329></A
330><H3
331><A
332NAME="XMLRMUTEX"
333></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000334>struct xmlRMutex</H3
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000335><TABLE
336BORDER="0"
337BGCOLOR="#D6E8FF"
338WIDTH="100%"
339CELLPADDING="6"
340><TR
341><TD
342><PRE
343CLASS="PROGRAMLISTING"
344>struct xmlRMutex;</PRE
345></TD
346></TR
347></TABLE
348><P
349></P
350></DIV
351><HR><DIV
352CLASS="REFSECT2"
353><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000354NAME="AEN23037"
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000355></A
356><H3
357><A
358NAME="XMLRMUTEXPTR"
359></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000360>xmlRMutexPtr</H3
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000361><TABLE
362BORDER="0"
363BGCOLOR="#D6E8FF"
364WIDTH="100%"
365CELLPADDING="6"
366><TR
367><TD
368><PRE
369CLASS="PROGRAMLISTING"
370>typedef xmlRMutex *xmlRMutexPtr;</PRE
371></TD
372></TR
373></TABLE
374><P
375></P
376></DIV
377><HR><DIV
378CLASS="REFSECT2"
379><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000380NAME="AEN23042"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000381></A
382><H3
383><A
384NAME="XMLNEWMUTEX"
385></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000386>xmlNewMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000387><TABLE
388BORDER="0"
389BGCOLOR="#D6E8FF"
390WIDTH="100%"
391CELLPADDING="6"
392><TR
393><TD
394><PRE
395CLASS="PROGRAMLISTING"
396><A
397HREF="libxml-threads.html#XMLMUTEXPTR"
398>xmlMutexPtr</A
399> xmlNewMutex (void);</PRE
400></TD
401></TR
402></TABLE
403><P
Daniel Veillardaec63562003-03-23 20:42:17 +0000404><A
405HREF="libxml-threads.html#XMLNEWMUTEX"
406>xmlNewMutex</A
407>() is used to allocate a libxml2 token struct for use in
408synchronizing access to data.</P
409><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000410></P
411><DIV
412CLASS="INFORMALTABLE"
413><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000414NAME="AEN23050"
415></A
416><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000417></P
418><TABLE
419BORDER="0"
420WIDTH="100%"
421BGCOLOR="#FFD0D0"
422CELLSPACING="0"
423CELLPADDING="4"
424CLASS="CALSTABLE"
425><TBODY
426><TR
427><TD
428WIDTH="20%"
429ALIGN="RIGHT"
430VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000431><SPAN
432CLASS="emphasis"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000433><I
434CLASS="EMPHASIS"
435>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000436></SPAN
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000437> :</TD
438><TD
439WIDTH="80%"
440ALIGN="LEFT"
441VALIGN="TOP"
Daniel Veillardaec63562003-03-23 20:42:17 +0000442>a new simple mutex pointer or NULL in case of error</TD
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000443></TR
444></TBODY
445></TABLE
446><P
447></P
448></DIV
449></DIV
450><HR><DIV
451CLASS="REFSECT2"
452><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000453NAME="AEN23059"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000454></A
455><H3
456><A
457NAME="XMLMUTEXLOCK"
458></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000459>xmlMutexLock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000460><TABLE
461BORDER="0"
462BGCOLOR="#D6E8FF"
463WIDTH="100%"
464CELLPADDING="6"
465><TR
466><TD
467><PRE
468CLASS="PROGRAMLISTING"
469>void xmlMutexLock (<A
470HREF="libxml-threads.html#XMLMUTEXPTR"
471>xmlMutexPtr</A
472> tok);</PRE
473></TD
474></TR
475></TABLE
476><P
477><A
478HREF="libxml-threads.html#XMLMUTEXLOCK"
479>xmlMutexLock</A
480>() is used to lock a libxml2 token.</P
481><P
482></P
483><DIV
484CLASS="INFORMALTABLE"
485><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000486NAME="AEN23067"
487></A
488><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000489></P
490><TABLE
491BORDER="0"
492WIDTH="100%"
493BGCOLOR="#FFD0D0"
494CELLSPACING="0"
495CELLPADDING="4"
496CLASS="CALSTABLE"
497><TBODY
498><TR
499><TD
500WIDTH="20%"
501ALIGN="RIGHT"
502VALIGN="TOP"
503><TT
504CLASS="PARAMETER"
505><I
506>tok</I
507></TT
508>&nbsp;:</TD
509><TD
510WIDTH="80%"
511ALIGN="LEFT"
512VALIGN="TOP"
513> the simple mutex</TD
514></TR
515></TBODY
516></TABLE
517><P
518></P
519></DIV
520></DIV
521><HR><DIV
522CLASS="REFSECT2"
523><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000524NAME="AEN23076"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000525></A
526><H3
527><A
528NAME="XMLMUTEXUNLOCK"
529></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000530>xmlMutexUnlock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000531><TABLE
532BORDER="0"
533BGCOLOR="#D6E8FF"
534WIDTH="100%"
535CELLPADDING="6"
536><TR
537><TD
538><PRE
539CLASS="PROGRAMLISTING"
540>void xmlMutexUnlock (<A
541HREF="libxml-threads.html#XMLMUTEXPTR"
542>xmlMutexPtr</A
543> tok);</PRE
544></TD
545></TR
546></TABLE
547><P
548><A
549HREF="libxml-threads.html#XMLMUTEXUNLOCK"
550>xmlMutexUnlock</A
551>() is used to unlock a libxml2 token.</P
552><P
553></P
554><DIV
555CLASS="INFORMALTABLE"
556><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000557NAME="AEN23084"
558></A
559><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000560></P
561><TABLE
562BORDER="0"
563WIDTH="100%"
564BGCOLOR="#FFD0D0"
565CELLSPACING="0"
566CELLPADDING="4"
567CLASS="CALSTABLE"
568><TBODY
569><TR
570><TD
571WIDTH="20%"
572ALIGN="RIGHT"
573VALIGN="TOP"
574><TT
575CLASS="PARAMETER"
576><I
577>tok</I
578></TT
579>&nbsp;:</TD
580><TD
581WIDTH="80%"
582ALIGN="LEFT"
583VALIGN="TOP"
584> the simple mutex</TD
585></TR
586></TBODY
587></TABLE
588><P
589></P
590></DIV
591></DIV
592><HR><DIV
593CLASS="REFSECT2"
594><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000595NAME="AEN23093"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000596></A
597><H3
598><A
599NAME="XMLFREEMUTEX"
600></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000601>xmlFreeMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000602><TABLE
603BORDER="0"
604BGCOLOR="#D6E8FF"
605WIDTH="100%"
606CELLPADDING="6"
607><TR
608><TD
609><PRE
610CLASS="PROGRAMLISTING"
611>void xmlFreeMutex (<A
612HREF="libxml-threads.html#XMLMUTEXPTR"
613>xmlMutexPtr</A
614> tok);</PRE
615></TD
616></TR
617></TABLE
618><P
619><A
620HREF="libxml-threads.html#XMLFREEMUTEX"
621>xmlFreeMutex</A
622>() is used to reclaim resources associated with a libxml2 token
623struct.</P
624><P
625></P
626><DIV
627CLASS="INFORMALTABLE"
628><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000629NAME="AEN23101"
630></A
631><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000632></P
633><TABLE
634BORDER="0"
635WIDTH="100%"
636BGCOLOR="#FFD0D0"
637CELLSPACING="0"
638CELLPADDING="4"
639CLASS="CALSTABLE"
640><TBODY
641><TR
642><TD
643WIDTH="20%"
644ALIGN="RIGHT"
645VALIGN="TOP"
646><TT
647CLASS="PARAMETER"
648><I
649>tok</I
650></TT
651>&nbsp;:</TD
652><TD
653WIDTH="80%"
654ALIGN="LEFT"
655VALIGN="TOP"
656> the simple mutex</TD
657></TR
658></TBODY
659></TABLE
660><P
661></P
662></DIV
663></DIV
664><HR><DIV
665CLASS="REFSECT2"
666><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000667NAME="AEN23110"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000668></A
669><H3
670><A
671NAME="XMLNEWRMUTEX"
672></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000673>xmlNewRMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000674><TABLE
675BORDER="0"
676BGCOLOR="#D6E8FF"
677WIDTH="100%"
678CELLPADDING="6"
679><TR
680><TD
681><PRE
682CLASS="PROGRAMLISTING"
683><A
684HREF="libxml-threads.html#XMLRMUTEXPTR"
685>xmlRMutexPtr</A
686> xmlNewRMutex (void);</PRE
687></TD
688></TR
689></TABLE
690><P
Daniel Veillardaec63562003-03-23 20:42:17 +0000691><GTKDOCLINK
692HREF="XMLRNEWMUTEX"
693>xmlRNewMutex</GTKDOCLINK
694>() is used to allocate a reentrant mutex for use in
695synchronizing access to data. token_r is a re-entrant lock and thus useful
696for synchronizing access to data structures that may be manipulated in a
697recursive fashion.</P
698><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000699></P
700><DIV
701CLASS="INFORMALTABLE"
702><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000703NAME="AEN23118"
704></A
705><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000706></P
707><TABLE
708BORDER="0"
709WIDTH="100%"
710BGCOLOR="#FFD0D0"
711CELLSPACING="0"
712CELLPADDING="4"
713CLASS="CALSTABLE"
714><TBODY
715><TR
716><TD
717WIDTH="20%"
718ALIGN="RIGHT"
719VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000720><SPAN
721CLASS="emphasis"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000722><I
723CLASS="EMPHASIS"
724>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000725></SPAN
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000726> :</TD
727><TD
728WIDTH="80%"
729ALIGN="LEFT"
730VALIGN="TOP"
Daniel Veillardaec63562003-03-23 20:42:17 +0000731>the new reentrant mutex pointer or NULL in case of error</TD
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000732></TR
733></TBODY
734></TABLE
735><P
736></P
737></DIV
738></DIV
739><HR><DIV
740CLASS="REFSECT2"
741><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000742NAME="AEN23127"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000743></A
744><H3
745><A
746NAME="XMLRMUTEXLOCK"
747></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000748>xmlRMutexLock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000749><TABLE
750BORDER="0"
751BGCOLOR="#D6E8FF"
752WIDTH="100%"
753CELLPADDING="6"
754><TR
755><TD
756><PRE
757CLASS="PROGRAMLISTING"
758>void xmlRMutexLock (<A
759HREF="libxml-threads.html#XMLRMUTEXPTR"
760>xmlRMutexPtr</A
761> tok);</PRE
762></TD
763></TR
764></TABLE
765><P
766><A
767HREF="libxml-threads.html#XMLRMUTEXLOCK"
768>xmlRMutexLock</A
769>() is used to lock a libxml2 token_r.</P
770><P
771></P
772><DIV
773CLASS="INFORMALTABLE"
774><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000775NAME="AEN23135"
776></A
777><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000778></P
779><TABLE
780BORDER="0"
781WIDTH="100%"
782BGCOLOR="#FFD0D0"
783CELLSPACING="0"
784CELLPADDING="4"
785CLASS="CALSTABLE"
786><TBODY
787><TR
788><TD
789WIDTH="20%"
790ALIGN="RIGHT"
791VALIGN="TOP"
792><TT
793CLASS="PARAMETER"
794><I
795>tok</I
796></TT
797>&nbsp;:</TD
798><TD
799WIDTH="80%"
800ALIGN="LEFT"
801VALIGN="TOP"
802> the reentrant mutex</TD
803></TR
804></TBODY
805></TABLE
806><P
807></P
808></DIV
809></DIV
810><HR><DIV
811CLASS="REFSECT2"
812><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000813NAME="AEN23144"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000814></A
815><H3
816><A
817NAME="XMLRMUTEXUNLOCK"
818></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000819>xmlRMutexUnlock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000820><TABLE
821BORDER="0"
822BGCOLOR="#D6E8FF"
823WIDTH="100%"
824CELLPADDING="6"
825><TR
826><TD
827><PRE
828CLASS="PROGRAMLISTING"
829>void xmlRMutexUnlock (<A
830HREF="libxml-threads.html#XMLRMUTEXPTR"
831>xmlRMutexPtr</A
832> tok);</PRE
833></TD
834></TR
835></TABLE
836><P
837><A
838HREF="libxml-threads.html#XMLRMUTEXUNLOCK"
839>xmlRMutexUnlock</A
840>() is used to unlock a libxml2 token_r.</P
841><P
842></P
843><DIV
844CLASS="INFORMALTABLE"
845><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000846NAME="AEN23152"
847></A
848><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000849></P
850><TABLE
851BORDER="0"
852WIDTH="100%"
853BGCOLOR="#FFD0D0"
854CELLSPACING="0"
855CELLPADDING="4"
856CLASS="CALSTABLE"
857><TBODY
858><TR
859><TD
860WIDTH="20%"
861ALIGN="RIGHT"
862VALIGN="TOP"
863><TT
864CLASS="PARAMETER"
865><I
866>tok</I
867></TT
868>&nbsp;:</TD
869><TD
870WIDTH="80%"
871ALIGN="LEFT"
872VALIGN="TOP"
873> the reentrant mutex</TD
874></TR
875></TBODY
876></TABLE
877><P
878></P
879></DIV
880></DIV
881><HR><DIV
882CLASS="REFSECT2"
883><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000884NAME="AEN23161"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000885></A
886><H3
887><A
888NAME="XMLFREERMUTEX"
889></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000890>xmlFreeRMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000891><TABLE
892BORDER="0"
893BGCOLOR="#D6E8FF"
894WIDTH="100%"
895CELLPADDING="6"
896><TR
897><TD
898><PRE
899CLASS="PROGRAMLISTING"
900>void xmlFreeRMutex (<A
901HREF="libxml-threads.html#XMLRMUTEXPTR"
902>xmlRMutexPtr</A
903> tok);</PRE
904></TD
905></TR
906></TABLE
907><P
Daniel Veillardaec63562003-03-23 20:42:17 +0000908><GTKDOCLINK
909HREF="XMLRFREEMUTEX"
910>xmlRFreeMutex</GTKDOCLINK
911>() is used to reclaim resources associated with a
912reentrant mutex.</P
913><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000914></P
915><DIV
916CLASS="INFORMALTABLE"
917><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000918NAME="AEN23169"
919></A
920><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000921></P
922><TABLE
923BORDER="0"
924WIDTH="100%"
925BGCOLOR="#FFD0D0"
926CELLSPACING="0"
927CELLPADDING="4"
928CLASS="CALSTABLE"
929><TBODY
930><TR
931><TD
932WIDTH="20%"
933ALIGN="RIGHT"
934VALIGN="TOP"
935><TT
936CLASS="PARAMETER"
937><I
938>tok</I
939></TT
940>&nbsp;:</TD
941><TD
942WIDTH="80%"
943ALIGN="LEFT"
944VALIGN="TOP"
Daniel Veillardaec63562003-03-23 20:42:17 +0000945> the reentrant mutex</TD
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000946></TR
947></TBODY
948></TABLE
949><P
950></P
951></DIV
952></DIV
953><HR><DIV
954CLASS="REFSECT2"
955><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000956NAME="AEN23178"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000957></A
958><H3
959><A
960NAME="XMLINITTHREADS"
961></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000962>xmlInitThreads ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000963><TABLE
964BORDER="0"
965BGCOLOR="#D6E8FF"
966WIDTH="100%"
967CELLPADDING="6"
968><TR
969><TD
970><PRE
971CLASS="PROGRAMLISTING"
972>void xmlInitThreads (void);</PRE
973></TD
974></TR
975></TABLE
976><P
977><A
978HREF="libxml-threads.html#XMLINITTHREADS"
979>xmlInitThreads</A
980>() is used to to initialize all the thread related
981data of the libxml2 library.</P
982><P
983></P
984></DIV
985><HR><DIV
986CLASS="REFSECT2"
987><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000988NAME="AEN23185"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000989></A
990><H3
991><A
992NAME="XMLLOCKLIBRARY"
993></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000994>xmlLockLibrary ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000995><TABLE
996BORDER="0"
997BGCOLOR="#D6E8FF"
998WIDTH="100%"
999CELLPADDING="6"
1000><TR
1001><TD
1002><PRE
1003CLASS="PROGRAMLISTING"
1004>void xmlLockLibrary (void);</PRE
1005></TD
1006></TR
1007></TABLE
1008><P
1009><A
1010HREF="libxml-threads.html#XMLLOCKLIBRARY"
1011>xmlLockLibrary</A
1012>() is used to take out a re-entrant lock on the libxml2
1013library.</P
1014><P
1015></P
1016></DIV
1017><HR><DIV
1018CLASS="REFSECT2"
1019><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001020NAME="AEN23192"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001021></A
1022><H3
1023><A
1024NAME="XMLUNLOCKLIBRARY"
1025></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001026>xmlUnlockLibrary ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001027><TABLE
1028BORDER="0"
1029BGCOLOR="#D6E8FF"
1030WIDTH="100%"
1031CELLPADDING="6"
1032><TR
1033><TD
1034><PRE
1035CLASS="PROGRAMLISTING"
1036>void xmlUnlockLibrary (void);</PRE
1037></TD
1038></TR
1039></TABLE
1040><P
1041><A
1042HREF="libxml-threads.html#XMLUNLOCKLIBRARY"
1043>xmlUnlockLibrary</A
1044>() is used to release a re-entrant lock on the libxml2
1045library.</P
1046><P
1047></P
1048></DIV
1049><HR><DIV
1050CLASS="REFSECT2"
1051><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001052NAME="AEN23199"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001053></A
1054><H3
1055><A
1056NAME="XMLGETTHREADID"
1057></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001058>xmlGetThreadId ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001059><TABLE
1060BORDER="0"
1061BGCOLOR="#D6E8FF"
1062WIDTH="100%"
1063CELLPADDING="6"
1064><TR
1065><TD
1066><PRE
1067CLASS="PROGRAMLISTING"
1068>int xmlGetThreadId (void);</PRE
1069></TD
1070></TR
1071></TABLE
1072><P
1073><A
1074HREF="libxml-threads.html#XMLGETTHREADID"
1075>xmlGetThreadId</A
1076>() find the current thread ID number</P
1077><P
1078></P
1079><DIV
1080CLASS="INFORMALTABLE"
1081><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001082NAME="AEN23206"
1083></A
1084><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001085></P
1086><TABLE
1087BORDER="0"
1088WIDTH="100%"
1089BGCOLOR="#FFD0D0"
1090CELLSPACING="0"
1091CELLPADDING="4"
1092CLASS="CALSTABLE"
1093><TBODY
1094><TR
1095><TD
1096WIDTH="20%"
1097ALIGN="RIGHT"
1098VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001099><SPAN
1100CLASS="emphasis"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001101><I
1102CLASS="EMPHASIS"
1103>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001104></SPAN
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001105> :</TD
1106><TD
1107WIDTH="80%"
1108ALIGN="LEFT"
1109VALIGN="TOP"
1110>the current thread ID number</TD
1111></TR
1112></TBODY
1113></TABLE
1114><P
1115></P
1116></DIV
1117></DIV
1118><HR><DIV
1119CLASS="REFSECT2"
1120><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001121NAME="AEN23215"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001122></A
1123><H3
1124><A
1125NAME="XMLISMAINTHREAD"
1126></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001127>xmlIsMainThread ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001128><TABLE
1129BORDER="0"
1130BGCOLOR="#D6E8FF"
1131WIDTH="100%"
1132CELLPADDING="6"
1133><TR
1134><TD
1135><PRE
1136CLASS="PROGRAMLISTING"
1137>int xmlIsMainThread (void);</PRE
1138></TD
1139></TR
1140></TABLE
1141><P
1142><A
1143HREF="libxml-threads.html#XMLISMAINTHREAD"
1144>xmlIsMainThread</A
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001145>() check whether the current thread is the main thread.</P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001146><P
1147></P
1148><DIV
1149CLASS="INFORMALTABLE"
1150><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001151NAME="AEN23222"
1152></A
1153><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001154></P
1155><TABLE
1156BORDER="0"
1157WIDTH="100%"
1158BGCOLOR="#FFD0D0"
1159CELLSPACING="0"
1160CELLPADDING="4"
1161CLASS="CALSTABLE"
1162><TBODY
1163><TR
1164><TD
1165WIDTH="20%"
1166ALIGN="RIGHT"
1167VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001168><SPAN
1169CLASS="emphasis"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001170><I
1171CLASS="EMPHASIS"
1172>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001173></SPAN
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001174> :</TD
1175><TD
1176WIDTH="80%"
1177ALIGN="LEFT"
1178VALIGN="TOP"
1179>1 if the current thread is the main thread, 0 otherwise</TD
1180></TR
1181></TBODY
1182></TABLE
1183><P
1184></P
1185></DIV
1186></DIV
1187><HR><DIV
1188CLASS="REFSECT2"
1189><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001190NAME="AEN23231"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001191></A
1192><H3
1193><A
1194NAME="XMLCLEANUPTHREADS"
1195></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001196>xmlCleanupThreads ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001197><TABLE
1198BORDER="0"
1199BGCOLOR="#D6E8FF"
1200WIDTH="100%"
1201CELLPADDING="6"
1202><TR
1203><TD
1204><PRE
1205CLASS="PROGRAMLISTING"
1206>void xmlCleanupThreads (void);</PRE
1207></TD
1208></TR
1209></TABLE
1210><P
1211><A
1212HREF="libxml-threads.html#XMLCLEANUPTHREADS"
1213>xmlCleanupThreads</A
1214>() is used to to cleanup all the thread related
1215data of the libxml2 library once processing has ended.</P
1216><P
1217></P
1218></DIV
1219><HR><DIV
1220CLASS="REFSECT2"
1221><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001222NAME="AEN23238"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001223></A
1224><H3
1225><A
1226NAME="XMLGETGLOBALSTATE"
1227></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001228>xmlGetGlobalState ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001229><TABLE
1230BORDER="0"
1231BGCOLOR="#D6E8FF"
1232WIDTH="100%"
1233CELLPADDING="6"
1234><TR
1235><TD
1236><PRE
1237CLASS="PROGRAMLISTING"
1238><A
1239HREF="libxml-globals.html#XMLGLOBALSTATEPTR"
1240>xmlGlobalStatePtr</A
1241> xmlGetGlobalState (void);</PRE
1242></TD
1243></TR
1244></TABLE
1245><P
1246><A
1247HREF="libxml-threads.html#XMLGETGLOBALSTATE"
1248>xmlGetGlobalState</A
Daniel Veillardef90ba72001-12-07 14:24:22 +00001249>() is called to retrieve the global state for a thread.</P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001250><P
1251></P
1252><DIV
1253CLASS="INFORMALTABLE"
1254><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001255NAME="AEN23246"
1256></A
1257><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001258></P
1259><TABLE
1260BORDER="0"
1261WIDTH="100%"
1262BGCOLOR="#FFD0D0"
1263CELLSPACING="0"
1264CELLPADDING="4"
1265CLASS="CALSTABLE"
1266><TBODY
1267><TR
1268><TD
1269WIDTH="20%"
1270ALIGN="RIGHT"
1271VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001272><SPAN
1273CLASS="emphasis"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001274><I
1275CLASS="EMPHASIS"
1276>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001277></SPAN
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001278> :</TD
1279><TD
1280WIDTH="80%"
1281ALIGN="LEFT"
1282VALIGN="TOP"
1283>the thread global state or NULL in case of error</TD
1284></TR
1285></TBODY
1286></TABLE
1287><P
1288></P
1289></DIV
1290></DIV
1291></DIV
1292><DIV
1293CLASS="NAVFOOTER"
1294><BR
1295CLEAR="all"><BR><TABLE
1296WIDTH="100%"
1297BORDER="0"
1298BGCOLOR="#000000"
1299CELLPADDING="1"
1300CELLSPACING="0"
1301><TR
1302><TD
1303WIDTH="25%"
1304BGCOLOR="#C00000"
1305ALIGN="left"
1306><A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001307HREF="libxml-c14n.html"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001308><FONT
1309COLOR="#FFFFFF"
1310SIZE="3"
1311><B
1312>&#60;&#60;&#60; Previous Page</B
1313></FONT
1314></A
1315></TD
1316><TD
1317WIDTH="25%"
1318BGCOLOR="#0000C0"
1319ALIGN="center"
1320><FONT
1321COLOR="#FFFFFF"
1322SIZE="3"
1323><B
1324><A
1325HREF="book1.html"
1326><FONT
1327COLOR="#FFFFFF"
1328SIZE="3"
1329><B
1330>Home</B
1331></FONT
1332></A
1333></B
1334></FONT
1335></TD
1336><TD
1337WIDTH="25%"
1338BGCOLOR="#00C000"
1339ALIGN="center"
1340><FONT
1341COLOR="#FFFFFF"
1342SIZE="3"
1343><B
1344><A
1345HREF="libxml-lib.html"
1346><FONT
1347COLOR="#FFFFFF"
1348SIZE="3"
1349><B
1350>Up</B
1351></FONT
1352></A
1353></B
1354></FONT
1355></TD
1356><TD
1357WIDTH="25%"
1358BGCOLOR="#C00000"
1359ALIGN="right"
1360><A
1361HREF="libxml-globals.html"
1362><FONT
1363COLOR="#FFFFFF"
1364SIZE="3"
1365><B
1366>Next Page &#62;&#62;&#62;</B
1367></FONT
1368></A
1369></TD
1370></TR
1371><TR
1372><TD
1373COLSPAN="2"
1374ALIGN="left"
1375><FONT
1376COLOR="#FFFFFF"
1377SIZE="3"
1378><B
Daniel Veillardaf43f632002-03-08 15:05:20 +00001379>c14n</B
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001380></FONT
1381></TD
1382><TD
1383COLSPAN="2"
1384ALIGN="right"
1385><FONT
1386COLOR="#FFFFFF"
1387SIZE="3"
1388><B
1389>globals</B
1390></FONT
1391></TD
1392></TR
1393></TABLE
1394></DIV
1395></BODY
1396></HTML
1397>