blob: 2bf8fb6cb2392cefa33a8a7b94bcf92bfc98c600 [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 Veillard539638b2002-07-06 19:55:14 +0000120NAME="LIBXML-THREADS">threads</H1
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000121><DIV
122CLASS="REFNAMEDIV"
123><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000124NAME="AEN20660"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000125></A
126><H2
127>Name</H2
128>threads&nbsp;--&nbsp;</DIV
129><DIV
130CLASS="REFSYNOPSISDIV"
131><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000132NAME="AEN20663"><H2
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000133>Synopsis</H2
134><TABLE
135BORDER="0"
136BGCOLOR="#D6E8FF"
137WIDTH="100%"
138CELLPADDING="6"
139><TR
140><TD
141><PRE
142CLASS="SYNOPSIS"
143>&#13;
144
145struct <A
146HREF="libxml-threads.html#XMLMUTEX"
147>xmlMutex</A
148>;
149typedef <A
150HREF="libxml-threads.html#XMLMUTEXPTR"
151>xmlMutexPtr</A
152>;
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000153struct <A
154HREF="libxml-threads.html#XMLRMUTEX"
155>xmlRMutex</A
156>;
157typedef <A
158HREF="libxml-threads.html#XMLRMUTEXPTR"
159>xmlRMutexPtr</A
160>;
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000161<A
162HREF="libxml-threads.html#XMLMUTEXPTR"
163>xmlMutexPtr</A
164> <A
165HREF="libxml-threads.html#XMLNEWMUTEX"
166>xmlNewMutex</A
167> (void);
168void <A
169HREF="libxml-threads.html#XMLMUTEXLOCK"
170>xmlMutexLock</A
171> (<A
172HREF="libxml-threads.html#XMLMUTEXPTR"
173>xmlMutexPtr</A
174> tok);
175void <A
176HREF="libxml-threads.html#XMLMUTEXUNLOCK"
177>xmlMutexUnlock</A
178> (<A
179HREF="libxml-threads.html#XMLMUTEXPTR"
180>xmlMutexPtr</A
181> tok);
182void <A
183HREF="libxml-threads.html#XMLFREEMUTEX"
184>xmlFreeMutex</A
185> (<A
186HREF="libxml-threads.html#XMLMUTEXPTR"
187>xmlMutexPtr</A
188> tok);
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000189<A
190HREF="libxml-threads.html#XMLRMUTEXPTR"
191>xmlRMutexPtr</A
192> <A
193HREF="libxml-threads.html#XMLNEWRMUTEX"
194>xmlNewRMutex</A
195> (void);
196void <A
197HREF="libxml-threads.html#XMLRMUTEXLOCK"
198>xmlRMutexLock</A
199> (<A
200HREF="libxml-threads.html#XMLRMUTEXPTR"
201>xmlRMutexPtr</A
202> tok);
203void <A
204HREF="libxml-threads.html#XMLRMUTEXUNLOCK"
205>xmlRMutexUnlock</A
206> (<A
207HREF="libxml-threads.html#XMLRMUTEXPTR"
208>xmlRMutexPtr</A
209> tok);
210void <A
211HREF="libxml-threads.html#XMLFREERMUTEX"
212>xmlFreeRMutex</A
213> (<A
214HREF="libxml-threads.html#XMLRMUTEXPTR"
215>xmlRMutexPtr</A
216> tok);
217void <A
218HREF="libxml-threads.html#XMLINITTHREADS"
219>xmlInitThreads</A
220> (void);
221void <A
222HREF="libxml-threads.html#XMLLOCKLIBRARY"
223>xmlLockLibrary</A
224> (void);
225void <A
226HREF="libxml-threads.html#XMLUNLOCKLIBRARY"
227>xmlUnlockLibrary</A
228> (void);
229int <A
230HREF="libxml-threads.html#XMLGETTHREADID"
231>xmlGetThreadId</A
232> (void);
233int <A
234HREF="libxml-threads.html#XMLISMAINTHREAD"
235>xmlIsMainThread</A
236> (void);
237void <A
238HREF="libxml-threads.html#XMLCLEANUPTHREADS"
239>xmlCleanupThreads</A
240> (void);
241<A
242HREF="libxml-globals.html#XMLGLOBALSTATEPTR"
243>xmlGlobalStatePtr</A
244> <A
245HREF="libxml-threads.html#XMLGETGLOBALSTATE"
246>xmlGetGlobalState</A
247> (void);</PRE
248></TD
249></TR
250></TABLE
251></DIV
252><DIV
253CLASS="REFSECT1"
254><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000255NAME="AEN20694"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000256></A
257><H2
258>Description</H2
259><P
260></P
261></DIV
262><DIV
263CLASS="REFSECT1"
264><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000265NAME="AEN20697"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000266></A
267><H2
268>Details</H2
269><DIV
270CLASS="REFSECT2"
271><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000272NAME="AEN20699"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000273></A
274><H3
275><A
276NAME="XMLMUTEX"
277></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000278>struct xmlMutex</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000279><TABLE
280BORDER="0"
281BGCOLOR="#D6E8FF"
282WIDTH="100%"
283CELLPADDING="6"
284><TR
285><TD
286><PRE
287CLASS="PROGRAMLISTING"
288>struct xmlMutex;</PRE
289></TD
290></TR
291></TABLE
292><P
293></P
294></DIV
295><HR><DIV
296CLASS="REFSECT2"
297><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000298NAME="AEN20704"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000299></A
300><H3
301><A
302NAME="XMLMUTEXPTR"
303></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000304>xmlMutexPtr</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000305><TABLE
306BORDER="0"
307BGCOLOR="#D6E8FF"
308WIDTH="100%"
309CELLPADDING="6"
310><TR
311><TD
312><PRE
313CLASS="PROGRAMLISTING"
314>typedef xmlMutex *xmlMutexPtr;</PRE
315></TD
316></TR
317></TABLE
318><P
319><A
320HREF="libxml-threads.html#XMLNEWMUTEX"
321>xmlNewMutex</A
322>() is used to allocate a libxml2 token struct for use in
323synchronizing access to data.</P
324><P
325></P
326></DIV
327><HR><DIV
328CLASS="REFSECT2"
329><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000330NAME="AEN20711"
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000331></A
332><H3
333><A
334NAME="XMLRMUTEX"
335></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000336>struct xmlRMutex</H3
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000337><TABLE
338BORDER="0"
339BGCOLOR="#D6E8FF"
340WIDTH="100%"
341CELLPADDING="6"
342><TR
343><TD
344><PRE
345CLASS="PROGRAMLISTING"
346>struct xmlRMutex;</PRE
347></TD
348></TR
349></TABLE
350><P
351></P
352></DIV
353><HR><DIV
354CLASS="REFSECT2"
355><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000356NAME="AEN20716"
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000357></A
358><H3
359><A
360NAME="XMLRMUTEXPTR"
361></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000362>xmlRMutexPtr</H3
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000363><TABLE
364BORDER="0"
365BGCOLOR="#D6E8FF"
366WIDTH="100%"
367CELLPADDING="6"
368><TR
369><TD
370><PRE
371CLASS="PROGRAMLISTING"
372>typedef xmlRMutex *xmlRMutexPtr;</PRE
373></TD
374></TR
375></TABLE
376><P
377></P
378></DIV
379><HR><DIV
380CLASS="REFSECT2"
381><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000382NAME="AEN20721"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000383></A
384><H3
385><A
386NAME="XMLNEWMUTEX"
387></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000388>xmlNewMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000389><TABLE
390BORDER="0"
391BGCOLOR="#D6E8FF"
392WIDTH="100%"
393CELLPADDING="6"
394><TR
395><TD
396><PRE
397CLASS="PROGRAMLISTING"
398><A
399HREF="libxml-threads.html#XMLMUTEXPTR"
400>xmlMutexPtr</A
401> xmlNewMutex (void);</PRE
402></TD
403></TR
404></TABLE
405><P
406></P
407><DIV
408CLASS="INFORMALTABLE"
409><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000410NAME="AEN20727"><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000411></P
412><TABLE
413BORDER="0"
414WIDTH="100%"
415BGCOLOR="#FFD0D0"
416CELLSPACING="0"
417CELLPADDING="4"
418CLASS="CALSTABLE"
419><TBODY
420><TR
421><TD
422WIDTH="20%"
423ALIGN="RIGHT"
424VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000425><SPAN
426CLASS="emphasis"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000427><I
428CLASS="EMPHASIS"
429>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000430></SPAN
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000431> :</TD
432><TD
433WIDTH="80%"
434ALIGN="LEFT"
435VALIGN="TOP"
436>&nbsp;</TD
437></TR
438></TBODY
439></TABLE
440><P
441></P
442></DIV
443></DIV
444><HR><DIV
445CLASS="REFSECT2"
446><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000447NAME="AEN20736"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000448></A
449><H3
450><A
451NAME="XMLMUTEXLOCK"
452></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000453>xmlMutexLock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000454><TABLE
455BORDER="0"
456BGCOLOR="#D6E8FF"
457WIDTH="100%"
458CELLPADDING="6"
459><TR
460><TD
461><PRE
462CLASS="PROGRAMLISTING"
463>void xmlMutexLock (<A
464HREF="libxml-threads.html#XMLMUTEXPTR"
465>xmlMutexPtr</A
466> tok);</PRE
467></TD
468></TR
469></TABLE
470><P
471><A
472HREF="libxml-threads.html#XMLMUTEXLOCK"
473>xmlMutexLock</A
474>() is used to lock a libxml2 token.</P
475><P
476></P
477><DIV
478CLASS="INFORMALTABLE"
479><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000480NAME="AEN20744"><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000481></P
482><TABLE
483BORDER="0"
484WIDTH="100%"
485BGCOLOR="#FFD0D0"
486CELLSPACING="0"
487CELLPADDING="4"
488CLASS="CALSTABLE"
489><TBODY
490><TR
491><TD
492WIDTH="20%"
493ALIGN="RIGHT"
494VALIGN="TOP"
495><TT
496CLASS="PARAMETER"
497><I
498>tok</I
499></TT
500>&nbsp;:</TD
501><TD
502WIDTH="80%"
503ALIGN="LEFT"
504VALIGN="TOP"
505> the simple mutex</TD
506></TR
507></TBODY
508></TABLE
509><P
510></P
511></DIV
512></DIV
513><HR><DIV
514CLASS="REFSECT2"
515><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000516NAME="AEN20753"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000517></A
518><H3
519><A
520NAME="XMLMUTEXUNLOCK"
521></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000522>xmlMutexUnlock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000523><TABLE
524BORDER="0"
525BGCOLOR="#D6E8FF"
526WIDTH="100%"
527CELLPADDING="6"
528><TR
529><TD
530><PRE
531CLASS="PROGRAMLISTING"
532>void xmlMutexUnlock (<A
533HREF="libxml-threads.html#XMLMUTEXPTR"
534>xmlMutexPtr</A
535> tok);</PRE
536></TD
537></TR
538></TABLE
539><P
540><A
541HREF="libxml-threads.html#XMLMUTEXUNLOCK"
542>xmlMutexUnlock</A
543>() is used to unlock a libxml2 token.</P
544><P
545></P
546><DIV
547CLASS="INFORMALTABLE"
548><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000549NAME="AEN20761"><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000550></P
551><TABLE
552BORDER="0"
553WIDTH="100%"
554BGCOLOR="#FFD0D0"
555CELLSPACING="0"
556CELLPADDING="4"
557CLASS="CALSTABLE"
558><TBODY
559><TR
560><TD
561WIDTH="20%"
562ALIGN="RIGHT"
563VALIGN="TOP"
564><TT
565CLASS="PARAMETER"
566><I
567>tok</I
568></TT
569>&nbsp;:</TD
570><TD
571WIDTH="80%"
572ALIGN="LEFT"
573VALIGN="TOP"
574> the simple mutex</TD
575></TR
576></TBODY
577></TABLE
578><P
579></P
580></DIV
581></DIV
582><HR><DIV
583CLASS="REFSECT2"
584><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000585NAME="AEN20770"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000586></A
587><H3
588><A
589NAME="XMLFREEMUTEX"
590></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000591>xmlFreeMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000592><TABLE
593BORDER="0"
594BGCOLOR="#D6E8FF"
595WIDTH="100%"
596CELLPADDING="6"
597><TR
598><TD
599><PRE
600CLASS="PROGRAMLISTING"
601>void xmlFreeMutex (<A
602HREF="libxml-threads.html#XMLMUTEXPTR"
603>xmlMutexPtr</A
604> tok);</PRE
605></TD
606></TR
607></TABLE
608><P
609><A
610HREF="libxml-threads.html#XMLFREEMUTEX"
611>xmlFreeMutex</A
612>() is used to reclaim resources associated with a libxml2 token
613struct.</P
614><P
615></P
616><DIV
617CLASS="INFORMALTABLE"
618><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000619NAME="AEN20778"><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000620></P
621><TABLE
622BORDER="0"
623WIDTH="100%"
624BGCOLOR="#FFD0D0"
625CELLSPACING="0"
626CELLPADDING="4"
627CLASS="CALSTABLE"
628><TBODY
629><TR
630><TD
631WIDTH="20%"
632ALIGN="RIGHT"
633VALIGN="TOP"
634><TT
635CLASS="PARAMETER"
636><I
637>tok</I
638></TT
639>&nbsp;:</TD
640><TD
641WIDTH="80%"
642ALIGN="LEFT"
643VALIGN="TOP"
644> the simple mutex</TD
645></TR
646></TBODY
647></TABLE
648><P
649></P
650></DIV
651></DIV
652><HR><DIV
653CLASS="REFSECT2"
654><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000655NAME="AEN20787"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000656></A
657><H3
658><A
659NAME="XMLNEWRMUTEX"
660></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000661>xmlNewRMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000662><TABLE
663BORDER="0"
664BGCOLOR="#D6E8FF"
665WIDTH="100%"
666CELLPADDING="6"
667><TR
668><TD
669><PRE
670CLASS="PROGRAMLISTING"
671><A
672HREF="libxml-threads.html#XMLRMUTEXPTR"
673>xmlRMutexPtr</A
674> xmlNewRMutex (void);</PRE
675></TD
676></TR
677></TABLE
678><P
679></P
680><DIV
681CLASS="INFORMALTABLE"
682><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000683NAME="AEN20793"><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000684></P
685><TABLE
686BORDER="0"
687WIDTH="100%"
688BGCOLOR="#FFD0D0"
689CELLSPACING="0"
690CELLPADDING="4"
691CLASS="CALSTABLE"
692><TBODY
693><TR
694><TD
695WIDTH="20%"
696ALIGN="RIGHT"
697VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000698><SPAN
699CLASS="emphasis"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000700><I
701CLASS="EMPHASIS"
702>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000703></SPAN
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000704> :</TD
705><TD
706WIDTH="80%"
707ALIGN="LEFT"
708VALIGN="TOP"
709>&nbsp;</TD
710></TR
711></TBODY
712></TABLE
713><P
714></P
715></DIV
716></DIV
717><HR><DIV
718CLASS="REFSECT2"
719><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000720NAME="AEN20802"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000721></A
722><H3
723><A
724NAME="XMLRMUTEXLOCK"
725></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000726>xmlRMutexLock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000727><TABLE
728BORDER="0"
729BGCOLOR="#D6E8FF"
730WIDTH="100%"
731CELLPADDING="6"
732><TR
733><TD
734><PRE
735CLASS="PROGRAMLISTING"
736>void xmlRMutexLock (<A
737HREF="libxml-threads.html#XMLRMUTEXPTR"
738>xmlRMutexPtr</A
739> tok);</PRE
740></TD
741></TR
742></TABLE
743><P
744><A
745HREF="libxml-threads.html#XMLRMUTEXLOCK"
746>xmlRMutexLock</A
747>() is used to lock a libxml2 token_r.</P
748><P
749></P
750><DIV
751CLASS="INFORMALTABLE"
752><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000753NAME="AEN20810"><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000754></P
755><TABLE
756BORDER="0"
757WIDTH="100%"
758BGCOLOR="#FFD0D0"
759CELLSPACING="0"
760CELLPADDING="4"
761CLASS="CALSTABLE"
762><TBODY
763><TR
764><TD
765WIDTH="20%"
766ALIGN="RIGHT"
767VALIGN="TOP"
768><TT
769CLASS="PARAMETER"
770><I
771>tok</I
772></TT
773>&nbsp;:</TD
774><TD
775WIDTH="80%"
776ALIGN="LEFT"
777VALIGN="TOP"
778> the reentrant mutex</TD
779></TR
780></TBODY
781></TABLE
782><P
783></P
784></DIV
785></DIV
786><HR><DIV
787CLASS="REFSECT2"
788><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000789NAME="AEN20819"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000790></A
791><H3
792><A
793NAME="XMLRMUTEXUNLOCK"
794></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000795>xmlRMutexUnlock ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000796><TABLE
797BORDER="0"
798BGCOLOR="#D6E8FF"
799WIDTH="100%"
800CELLPADDING="6"
801><TR
802><TD
803><PRE
804CLASS="PROGRAMLISTING"
805>void xmlRMutexUnlock (<A
806HREF="libxml-threads.html#XMLRMUTEXPTR"
807>xmlRMutexPtr</A
808> tok);</PRE
809></TD
810></TR
811></TABLE
812><P
813><A
814HREF="libxml-threads.html#XMLRMUTEXUNLOCK"
815>xmlRMutexUnlock</A
816>() is used to unlock a libxml2 token_r.</P
817><P
818></P
819><DIV
820CLASS="INFORMALTABLE"
821><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000822NAME="AEN20827"><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000823></P
824><TABLE
825BORDER="0"
826WIDTH="100%"
827BGCOLOR="#FFD0D0"
828CELLSPACING="0"
829CELLPADDING="4"
830CLASS="CALSTABLE"
831><TBODY
832><TR
833><TD
834WIDTH="20%"
835ALIGN="RIGHT"
836VALIGN="TOP"
837><TT
838CLASS="PARAMETER"
839><I
840>tok</I
841></TT
842>&nbsp;:</TD
843><TD
844WIDTH="80%"
845ALIGN="LEFT"
846VALIGN="TOP"
847> the reentrant mutex</TD
848></TR
849></TBODY
850></TABLE
851><P
852></P
853></DIV
854></DIV
855><HR><DIV
856CLASS="REFSECT2"
857><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000858NAME="AEN20836"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000859></A
860><H3
861><A
862NAME="XMLFREERMUTEX"
863></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000864>xmlFreeRMutex ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000865><TABLE
866BORDER="0"
867BGCOLOR="#D6E8FF"
868WIDTH="100%"
869CELLPADDING="6"
870><TR
871><TD
872><PRE
873CLASS="PROGRAMLISTING"
874>void xmlFreeRMutex (<A
875HREF="libxml-threads.html#XMLRMUTEXPTR"
876>xmlRMutexPtr</A
877> tok);</PRE
878></TD
879></TR
880></TABLE
881><P
882></P
883><DIV
884CLASS="INFORMALTABLE"
885><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000886NAME="AEN20842"><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000887></P
888><TABLE
889BORDER="0"
890WIDTH="100%"
891BGCOLOR="#FFD0D0"
892CELLSPACING="0"
893CELLPADDING="4"
894CLASS="CALSTABLE"
895><TBODY
896><TR
897><TD
898WIDTH="20%"
899ALIGN="RIGHT"
900VALIGN="TOP"
901><TT
902CLASS="PARAMETER"
903><I
904>tok</I
905></TT
906>&nbsp;:</TD
907><TD
908WIDTH="80%"
909ALIGN="LEFT"
910VALIGN="TOP"
911>&nbsp;</TD
912></TR
913></TBODY
914></TABLE
915><P
916></P
917></DIV
918></DIV
919><HR><DIV
920CLASS="REFSECT2"
921><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000922NAME="AEN20851"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000923></A
924><H3
925><A
926NAME="XMLINITTHREADS"
927></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000928>xmlInitThreads ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000929><TABLE
930BORDER="0"
931BGCOLOR="#D6E8FF"
932WIDTH="100%"
933CELLPADDING="6"
934><TR
935><TD
936><PRE
937CLASS="PROGRAMLISTING"
938>void xmlInitThreads (void);</PRE
939></TD
940></TR
941></TABLE
942><P
943><A
944HREF="libxml-threads.html#XMLINITTHREADS"
945>xmlInitThreads</A
946>() is used to to initialize all the thread related
947data of the libxml2 library.</P
948><P
949></P
950></DIV
951><HR><DIV
952CLASS="REFSECT2"
953><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000954NAME="AEN20858"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000955></A
956><H3
957><A
958NAME="XMLLOCKLIBRARY"
959></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000960>xmlLockLibrary ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000961><TABLE
962BORDER="0"
963BGCOLOR="#D6E8FF"
964WIDTH="100%"
965CELLPADDING="6"
966><TR
967><TD
968><PRE
969CLASS="PROGRAMLISTING"
970>void xmlLockLibrary (void);</PRE
971></TD
972></TR
973></TABLE
974><P
975><A
976HREF="libxml-threads.html#XMLLOCKLIBRARY"
977>xmlLockLibrary</A
978>() is used to take out a re-entrant lock on the libxml2
979library.</P
980><P
981></P
982></DIV
983><HR><DIV
984CLASS="REFSECT2"
985><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000986NAME="AEN20865"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000987></A
988><H3
989><A
990NAME="XMLUNLOCKLIBRARY"
991></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000992>xmlUnlockLibrary ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +0000993><TABLE
994BORDER="0"
995BGCOLOR="#D6E8FF"
996WIDTH="100%"
997CELLPADDING="6"
998><TR
999><TD
1000><PRE
1001CLASS="PROGRAMLISTING"
1002>void xmlUnlockLibrary (void);</PRE
1003></TD
1004></TR
1005></TABLE
1006><P
1007><A
1008HREF="libxml-threads.html#XMLUNLOCKLIBRARY"
1009>xmlUnlockLibrary</A
1010>() is used to release a re-entrant lock on the libxml2
1011library.</P
1012><P
1013></P
1014></DIV
1015><HR><DIV
1016CLASS="REFSECT2"
1017><A
Daniel Veillard539638b2002-07-06 19:55:14 +00001018NAME="AEN20872"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001019></A
1020><H3
1021><A
1022NAME="XMLGETTHREADID"
1023></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001024>xmlGetThreadId ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001025><TABLE
1026BORDER="0"
1027BGCOLOR="#D6E8FF"
1028WIDTH="100%"
1029CELLPADDING="6"
1030><TR
1031><TD
1032><PRE
1033CLASS="PROGRAMLISTING"
1034>int xmlGetThreadId (void);</PRE
1035></TD
1036></TR
1037></TABLE
1038><P
1039><A
1040HREF="libxml-threads.html#XMLGETTHREADID"
1041>xmlGetThreadId</A
1042>() find the current thread ID number</P
1043><P
1044></P
1045><DIV
1046CLASS="INFORMALTABLE"
1047><A
Daniel Veillard539638b2002-07-06 19:55:14 +00001048NAME="AEN20879"><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001049></P
1050><TABLE
1051BORDER="0"
1052WIDTH="100%"
1053BGCOLOR="#FFD0D0"
1054CELLSPACING="0"
1055CELLPADDING="4"
1056CLASS="CALSTABLE"
1057><TBODY
1058><TR
1059><TD
1060WIDTH="20%"
1061ALIGN="RIGHT"
1062VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001063><SPAN
1064CLASS="emphasis"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001065><I
1066CLASS="EMPHASIS"
1067>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001068></SPAN
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001069> :</TD
1070><TD
1071WIDTH="80%"
1072ALIGN="LEFT"
1073VALIGN="TOP"
1074>the current thread ID number</TD
1075></TR
1076></TBODY
1077></TABLE
1078><P
1079></P
1080></DIV
1081></DIV
1082><HR><DIV
1083CLASS="REFSECT2"
1084><A
Daniel Veillard539638b2002-07-06 19:55:14 +00001085NAME="AEN20888"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001086></A
1087><H3
1088><A
1089NAME="XMLISMAINTHREAD"
1090></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001091>xmlIsMainThread ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001092><TABLE
1093BORDER="0"
1094BGCOLOR="#D6E8FF"
1095WIDTH="100%"
1096CELLPADDING="6"
1097><TR
1098><TD
1099><PRE
1100CLASS="PROGRAMLISTING"
1101>int xmlIsMainThread (void);</PRE
1102></TD
1103></TR
1104></TABLE
1105><P
1106><A
1107HREF="libxml-threads.html#XMLISMAINTHREAD"
1108>xmlIsMainThread</A
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001109>() check whether the current thread is the main thread.</P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001110><P
1111></P
1112><DIV
1113CLASS="INFORMALTABLE"
1114><A
Daniel Veillard539638b2002-07-06 19:55:14 +00001115NAME="AEN20895"><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001116></P
1117><TABLE
1118BORDER="0"
1119WIDTH="100%"
1120BGCOLOR="#FFD0D0"
1121CELLSPACING="0"
1122CELLPADDING="4"
1123CLASS="CALSTABLE"
1124><TBODY
1125><TR
1126><TD
1127WIDTH="20%"
1128ALIGN="RIGHT"
1129VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001130><SPAN
1131CLASS="emphasis"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001132><I
1133CLASS="EMPHASIS"
1134>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001135></SPAN
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001136> :</TD
1137><TD
1138WIDTH="80%"
1139ALIGN="LEFT"
1140VALIGN="TOP"
1141>1 if the current thread is the main thread, 0 otherwise</TD
1142></TR
1143></TBODY
1144></TABLE
1145><P
1146></P
1147></DIV
1148></DIV
1149><HR><DIV
1150CLASS="REFSECT2"
1151><A
Daniel Veillard539638b2002-07-06 19:55:14 +00001152NAME="AEN20904"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001153></A
1154><H3
1155><A
1156NAME="XMLCLEANUPTHREADS"
1157></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001158>xmlCleanupThreads ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001159><TABLE
1160BORDER="0"
1161BGCOLOR="#D6E8FF"
1162WIDTH="100%"
1163CELLPADDING="6"
1164><TR
1165><TD
1166><PRE
1167CLASS="PROGRAMLISTING"
1168>void xmlCleanupThreads (void);</PRE
1169></TD
1170></TR
1171></TABLE
1172><P
1173><A
1174HREF="libxml-threads.html#XMLCLEANUPTHREADS"
1175>xmlCleanupThreads</A
1176>() is used to to cleanup all the thread related
1177data of the libxml2 library once processing has ended.</P
1178><P
1179></P
1180></DIV
1181><HR><DIV
1182CLASS="REFSECT2"
1183><A
Daniel Veillard539638b2002-07-06 19:55:14 +00001184NAME="AEN20911"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001185></A
1186><H3
1187><A
1188NAME="XMLGETGLOBALSTATE"
1189></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001190>xmlGetGlobalState ()</H3
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001191><TABLE
1192BORDER="0"
1193BGCOLOR="#D6E8FF"
1194WIDTH="100%"
1195CELLPADDING="6"
1196><TR
1197><TD
1198><PRE
1199CLASS="PROGRAMLISTING"
1200><A
1201HREF="libxml-globals.html#XMLGLOBALSTATEPTR"
1202>xmlGlobalStatePtr</A
1203> xmlGetGlobalState (void);</PRE
1204></TD
1205></TR
1206></TABLE
1207><P
1208><A
1209HREF="libxml-threads.html#XMLGETGLOBALSTATE"
1210>xmlGetGlobalState</A
Daniel Veillardef90ba72001-12-07 14:24:22 +00001211>() is called to retrieve the global state for a thread.</P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001212><P
1213></P
1214><DIV
1215CLASS="INFORMALTABLE"
1216><A
Daniel Veillard539638b2002-07-06 19:55:14 +00001217NAME="AEN20919"><P
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001218></P
1219><TABLE
1220BORDER="0"
1221WIDTH="100%"
1222BGCOLOR="#FFD0D0"
1223CELLSPACING="0"
1224CELLPADDING="4"
1225CLASS="CALSTABLE"
1226><TBODY
1227><TR
1228><TD
1229WIDTH="20%"
1230ALIGN="RIGHT"
1231VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001232><SPAN
1233CLASS="emphasis"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001234><I
1235CLASS="EMPHASIS"
1236>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001237></SPAN
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001238> :</TD
1239><TD
1240WIDTH="80%"
1241ALIGN="LEFT"
1242VALIGN="TOP"
1243>the thread global state or NULL in case of error</TD
1244></TR
1245></TBODY
1246></TABLE
1247><P
1248></P
1249></DIV
1250></DIV
1251></DIV
1252><DIV
1253CLASS="NAVFOOTER"
1254><BR
1255CLEAR="all"><BR><TABLE
1256WIDTH="100%"
1257BORDER="0"
1258BGCOLOR="#000000"
1259CELLPADDING="1"
1260CELLSPACING="0"
1261><TR
1262><TD
1263WIDTH="25%"
1264BGCOLOR="#C00000"
1265ALIGN="left"
1266><A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001267HREF="libxml-c14n.html"
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001268><FONT
1269COLOR="#FFFFFF"
1270SIZE="3"
1271><B
1272>&#60;&#60;&#60; Previous Page</B
1273></FONT
1274></A
1275></TD
1276><TD
1277WIDTH="25%"
1278BGCOLOR="#0000C0"
1279ALIGN="center"
1280><FONT
1281COLOR="#FFFFFF"
1282SIZE="3"
1283><B
1284><A
1285HREF="book1.html"
1286><FONT
1287COLOR="#FFFFFF"
1288SIZE="3"
1289><B
1290>Home</B
1291></FONT
1292></A
1293></B
1294></FONT
1295></TD
1296><TD
1297WIDTH="25%"
1298BGCOLOR="#00C000"
1299ALIGN="center"
1300><FONT
1301COLOR="#FFFFFF"
1302SIZE="3"
1303><B
1304><A
1305HREF="libxml-lib.html"
1306><FONT
1307COLOR="#FFFFFF"
1308SIZE="3"
1309><B
1310>Up</B
1311></FONT
1312></A
1313></B
1314></FONT
1315></TD
1316><TD
1317WIDTH="25%"
1318BGCOLOR="#C00000"
1319ALIGN="right"
1320><A
1321HREF="libxml-globals.html"
1322><FONT
1323COLOR="#FFFFFF"
1324SIZE="3"
1325><B
1326>Next Page &#62;&#62;&#62;</B
1327></FONT
1328></A
1329></TD
1330></TR
1331><TR
1332><TD
1333COLSPAN="2"
1334ALIGN="left"
1335><FONT
1336COLOR="#FFFFFF"
1337SIZE="3"
1338><B
Daniel Veillardaf43f632002-03-08 15:05:20 +00001339>c14n</B
Daniel Veillardb36d4fe2001-11-28 13:40:42 +00001340></FONT
1341></TD
1342><TD
1343COLSPAN="2"
1344ALIGN="right"
1345><FONT
1346COLOR="#FFFFFF"
1347SIZE="3"
1348><B
1349>globals</B
1350></FONT
1351></TD
1352></TR
1353></TABLE
1354></DIV
1355></BODY
1356></HTML
1357>