inc/c_util/critical_section.h (20 lines of code) (raw):
// Copyright (C) Microsoft Corporation. All rights reserved.
#ifndef CRITICAL_SECTION_H
#define CRITICAL_SECTION_H
#ifdef __cplusplus
#include <cstdint>
#else
#include <stdint.h>
#endif
#include "macro_utils/macro_utils.h"
#include "c_pal/interlocked.h"
#include "umock_c/umock_c_prod.h"
#ifdef __cplusplus
extern "C"
{
#endif
MOCKABLE_FUNCTION(, int, critical_section_enter, volatile_atomic int32_t*, access_value);
MOCKABLE_FUNCTION(, int, critical_section_leave, volatile_atomic int32_t*, access_value);
#ifdef __cplusplus
}
#endif
#endif // CRITICAL_SECTION_H