Home | History | Annotate | Download | only in libxmlrpg
      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 (a] 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__
     74