/****************************************************************************** * * Title : threadUtility.h * Version 0.0 * * Description: header file. * Related files: threadUtility.c * * Author: Lukas Tomasek, tomasekl@fzu.cz * ******************************************************************************/ #ifndef THREAD_UTILITY_H /* multiple-inclusion protection */ #define THREAD_UTILITY_H /****************************************************************************** * Header files * ******************************************************************************/ #include "hostDefinitions.h" /****************************************************************************** * Macros * ******************************************************************************/ #ifdef WINDOWS_NT #define ENTER_CRITICAL_SECTION(criticalSectionPtr) EnterCriticalSection(criticalSectionPtr) #define LEAVE_CRITICAL_SECTION(criticalSectionPtr) LeaveCriticalSection(criticalSectionPtr) #endif /* WINDOWS_NT */ /****************************************************************************** * Global Function Declarations * ******************************************************************************/ ERROR_ID setPriorityClass(int priorityClass); ERROR_ID setThreadPriority(HANDLE threadHandle, int threadPriority); ERROR_ID getThreadPriority(HANDLE threadHandle, int *threadPriority); ERROR_ID closeThread(HANDLE threadHandle); ERROR_ID createThread(struct THREAD_INFO *thread, LPTHREAD_START_ROUTINE functionName, void *functionArgument, int threadPriority); ERROR_ID createEvent(HANDLE *eventHandle, BOOL manualReset); ERROR_ID setEvent(HANDLE eventHandle); ERROR_ID resetEvent(HANDLE eventHandle); ERROR_ID closeHandle(HANDLE handle); ERROR_ID waitForEvent(HANDLE eventHandle); ERROR_ID suspendThread(HANDLE threadHandle); ERROR_ID resumeThread(HANDLE threadHandle); ERROR_ID interlockedIncrement(long *variable); ERROR_ID interlockedDecrement(long *variable); /******************************************************************************/ #endif /* THREAD_UTILITY_H */