testtools/micromock/inc/micromocktestmutex.h (27 lines of code) (raw):
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
#ifndef MICROMOCKTESTMUTEX_H
#define MICROMOCKTESTMUTEX_H
#ifdef WIN32
#include "windows.h"
typedef HANDLE MICROMOCK_MUTEX_HANDLE;
typedef HANDLE MICROMOCK_GLOBAL_SEMAPHORE_HANDLE;
extern "C" HANDLE MicroMockCreateMutex(void);
extern "C" int MicroMockAcquireMutex(HANDLE Mutex);
extern "C" int MicroMockReleaseMutex(HANDLE Mutex);
extern "C" void MicroMockDestroyMutex(HANDLE Mutex);
extern "C" HANDLE MicroMockCreateGlobalSemaphore(const char* name, unsigned int highWaterCount);
extern "C" int MicroMockAcquireGlobalSemaphore(HANDLE semaphore);
extern "C" int MicroMockReleaseGlobalSemaphore(HANDLE semaphore);
extern "C" void MicroMockDestroyGlobalSemaphore(HANDLE semaphore);
#else
typedef void* MICROMOCK_MUTEX_HANDLE;
typedef void* MICROMOCK_GLOBAL_SEMAPHORE_HANDLE;
#define MicroMockCreateMutex() ((MICROMOCK_MUTEX_HANDLE)1)
#define MicroMockAcquireMutex(Mutex) (1)
#define MicroMockReleaseMutex(Mutex) (1)
#define MicroMockDestroyMutex(Mutex)
#define MicroMockCreateGlobalSemaphore(a, b) ((MICROMOCK_GLOBAL_SEMAPHORE_HANDLE)(1))
#define MicroMockAcquireGlobalSemaphore(semaphore) (1)
#define MicroMockReleaseGlobalSemaphore(semaphore) (1)
#define MicroMockDestroyGlobalSemaphore(semaphore)
#endif
#endif /*MICROMOCKTESTMUTEX_H*/