epoc32/include/stdapis/libxml2/libxml2_threads.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /*
     2  * Summary: interfaces for thread handling
     3  * Description: set of generic threading related routines
     4  *              should work with pthreads, Windows native or TLS threads
     5  *
     6  * Copy: See Copyright for the status of this software.
     7  *
     8  * Author: Daniel Veillard
     9  * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
    10  */
    11 
    12 /** @file
    13 @publishedAll
    14 @released
    15 */
    16 
    17 #ifndef XML_THREADS_H
    18 #define XML_THREADS_H
    19 
    20 #include <libxml2_globals.h>
    21 
    22 #ifdef __cplusplus
    23 extern "C" {
    24 #endif
    25 
    26 /*
    27  * xmlMutex are a simple mutual exception locks.
    28  */
    29 typedef struct _xmlMutex xmlMutex;
    30 typedef xmlMutex *xmlMutexPtr;
    31 
    32 /*
    33  * xmlRMutex are reentrant mutual exception locks.
    34  */
    35 typedef struct _xmlRMutex xmlRMutex;
    36 typedef xmlRMutex *xmlRMutexPtr;
    37 
    38 XMLPUBFUN xmlMutexPtr XMLCALL
    39                         xmlNewMutex     (void);
    40 XMLPUBFUN void XMLCALL
    41                         xmlMutexLock    (xmlMutexPtr tok);
    42 XMLPUBFUN void XMLCALL
    43                         xmlMutexUnlock  (xmlMutexPtr tok);
    44 XMLPUBFUN void XMLCALL
    45                         xmlFreeMutex    (xmlMutexPtr tok);
    46 
    47 XMLPUBFUN xmlRMutexPtr XMLCALL
    48                         xmlNewRMutex    (void);
    49 XMLPUBFUN void XMLCALL
    50                         xmlRMutexLock   (xmlRMutexPtr tok);
    51 XMLPUBFUN void XMLCALL
    52                         xmlRMutexUnlock (xmlRMutexPtr tok);
    53 
    54 
    55 #ifndef XMLENGINE_EXCLUDE_UNUSED
    56 XMLPUBFUN void XMLCALL
    57                         xmlFreeRMutex   (xmlRMutexPtr tok);
    58 #endif /* ifndef XMLENGINE_EXCLUDE_UNUSED */
    59 
    60 /*
    61  * Library wide APIs.
    62  */
    63 XMLPUBFUN void XMLCALL
    64                         xmlInitThreads  (void);
    65 XMLPUBFUN void XMLCALL
    66                         xmlLockLibrary  (void);
    67 XMLPUBFUN void XMLCALL
    68                         xmlUnlockLibrary(void);
    69 XMLPUBFUN int XMLCALL
    70                         xmlGetThreadId  (void);
    71 XMLPUBFUN int XMLCALL
    72                         xmlIsMainThread (void);
    73 XMLPUBFUN void XMLCALL
    74                         xmlCleanupThreads(void);
    75 XMLPUBFUN xmlGlobalStatePtr XMLCALL
    76                         xmlGetGlobalState(void);
    77 
    78 #ifdef __cplusplus
    79 }
    80 #endif
    81 
    82 
    83 #endif /* XML_THREADS_H */
    84