Blame os400/libxmlrpg/threads.rpgle

Packit 423ecb
      * Summary: interfaces for thread handling
Packit 423ecb
      * Description: set of generic threading related routines
Packit 423ecb
      *              should work with pthreads, Windows native or TLS threads
Packit 423ecb
      *
Packit 423ecb
      * Copy: See Copyright for the status of this software.
Packit 423ecb
      *
Packit 423ecb
      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
Packit 423ecb
Packit 423ecb
      /if not defined(XML_THREADS_H__)
Packit 423ecb
      /define XML_THREADS_H__
Packit 423ecb
Packit 423ecb
      /include "libxmlrpg/xmlversion"
Packit 423ecb
      /include "libxmlrpg/xmlTypesC"
Packit 423ecb
Packit 423ecb
      * xmlMutex are a simple mutual exception locks.
Packit 423ecb
Packit 423ecb
     d xmlMutexPtr     s               *   based(######typedef######)
Packit 423ecb
Packit 423ecb
      * xmlRMutex are reentrant mutual exception locks.
Packit 423ecb
Packit 423ecb
     d xmlRMutexPtr    s               *   based(######typedef######)
Packit 423ecb
Packit 423ecb
      /include "libxmlrpg/globals"
Packit 423ecb
Packit 423ecb
     d xmlNewMutex     pr                  extproc('xmlNewMutex')
Packit 423ecb
     d                                     like(xmlMutexPtr)
Packit 423ecb
Packit 423ecb
     d xmlMutexLock    pr                  extproc('xmlMutexLock')
Packit 423ecb
     d  tok                                value like(xmlMutexPtr)
Packit 423ecb
Packit 423ecb
     d xmlMutexUnlock  pr                  extproc('xmlMutexUnlock')
Packit 423ecb
     d  tok                                value like(xmlMutexPtr)
Packit 423ecb
Packit 423ecb
     d xmlFreeMutex    pr                  extproc('xmlFreeMutex')
Packit 423ecb
     d  tok                                value like(xmlMutexPtr)
Packit 423ecb
Packit 423ecb
     d xmlNewRMutex    pr                  extproc('xmlNewRMutex')
Packit 423ecb
     d                                     like(xmlRMutexPtr)
Packit 423ecb
Packit 423ecb
     d xmlRMutexLock   pr                  extproc('xmlRMutexLock')
Packit 423ecb
     d  tok                                value like(xmlRMutexPtr)
Packit 423ecb
Packit 423ecb
     d xmlRMutexUnlock...
Packit 423ecb
     d                 pr                  extproc('xmlRMutexUnlock')
Packit 423ecb
     d  tok                                value like(xmlRMutexPtr)
Packit 423ecb
Packit 423ecb
     d xmlFreeRMutex   pr                  extproc('xmlFreeRMutex')
Packit 423ecb
     d  tok                                value like(xmlRMutexPtr)
Packit 423ecb
Packit 423ecb
      * Library wide APIs.
Packit 423ecb
Packit 423ecb
     d xmlInitThreads  pr                  extproc('xmlInitThreads')
Packit 423ecb
Packit 423ecb
     d xmlLockLibrary  pr                  extproc('xmlLockLibrary')
Packit 423ecb
Packit 423ecb
     d xmlUnlockLibrary...
Packit 423ecb
     d                 pr                  extproc('xmlUnlockLibrary')
Packit 423ecb
Packit 423ecb
     d xmlGetThreadId  pr                  extproc('xmlGetThreadId')
Packit 423ecb
     d                                     like(xmlCint)
Packit 423ecb
Packit 423ecb
     d xmlIsMainThread...
Packit 423ecb
     d                 pr                  extproc('xmlIsMainThread')
Packit 423ecb
     d                                     like(xmlCint)
Packit 423ecb
Packit 423ecb
     d xmlCleanupThreads...
Packit 423ecb
     d                 pr                  extproc('xmlCleanupThreads')
Packit 423ecb
Packit 423ecb
     d xmlGetGlobalState...
Packit 423ecb
     d                 pr                  extproc('xmlGetGlobalState')
Packit 423ecb
     d                                     like(xmlGlobalStatePtr)
Packit 423ecb
Packit 423ecb
      /endif                                                                    XML_THREADS_H__