Imported Upstream version 2.9.4
[platform/upstream/libxml2.git] / os400 / libxmlrpg / threads.rpgle
1       * Summary: interfaces for thread handling
2       * Description: set of generic threading related routines
3       *              should work with pthreads, Windows native or TLS threads
4       *
5       * Copy: See Copyright for the status of this software.
6       *
7       * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
8
9       /if not defined(XML_THREADS_H__)
10       /define XML_THREADS_H__
11
12       /include "libxmlrpg/xmlversion"
13       /include "libxmlrpg/xmlTypesC"
14
15       * xmlMutex are a simple mutual exception locks.
16
17      d xmlMutexPtr     s               *   based(######typedef######)
18
19       * xmlRMutex are reentrant mutual exception locks.
20
21      d xmlRMutexPtr    s               *   based(######typedef######)
22
23       /include "libxmlrpg/globals"
24
25      d xmlNewMutex     pr                  extproc('xmlNewMutex')
26      d                                     like(xmlMutexPtr)
27
28      d xmlMutexLock    pr                  extproc('xmlMutexLock')
29      d  tok                                value like(xmlMutexPtr)
30
31      d xmlMutexUnlock  pr                  extproc('xmlMutexUnlock')
32      d  tok                                value like(xmlMutexPtr)
33
34      d xmlFreeMutex    pr                  extproc('xmlFreeMutex')
35      d  tok                                value like(xmlMutexPtr)
36
37      d xmlNewRMutex    pr                  extproc('xmlNewRMutex')
38      d                                     like(xmlRMutexPtr)
39
40      d xmlRMutexLock   pr                  extproc('xmlRMutexLock')
41      d  tok                                value like(xmlRMutexPtr)
42
43      d xmlRMutexUnlock...
44      d                 pr                  extproc('xmlRMutexUnlock')
45      d  tok                                value like(xmlRMutexPtr)
46
47      d xmlFreeRMutex   pr                  extproc('xmlFreeRMutex')
48      d  tok                                value like(xmlRMutexPtr)
49
50       * Library wide APIs.
51
52      d xmlInitThreads  pr                  extproc('xmlInitThreads')
53
54      d xmlLockLibrary  pr                  extproc('xmlLockLibrary')
55
56      d xmlUnlockLibrary...
57      d                 pr                  extproc('xmlUnlockLibrary')
58
59      d xmlGetThreadId  pr                  extproc('xmlGetThreadId')
60      d                                     like(xmlCint)
61
62      d xmlIsMainThread...
63      d                 pr                  extproc('xmlIsMainThread')
64      d                                     like(xmlCint)
65
66      d xmlCleanupThreads...
67      d                 pr                  extproc('xmlCleanupThreads')
68
69      d xmlGetGlobalState...
70      d                 pr                  extproc('xmlGetGlobalState')
71      d                                     like(xmlGlobalStatePtr)
72
73       /endif                                                                    XML_THREADS_H__