fix mutex_trylock bug
[c11tester.git] / include / librace.h
1 /** @file librace.h
2  *  @brief Interface to check normal memory operations for data races.
3  */
4
5 #ifndef __LIBRACE_H__
6 #define __LIBRACE_H__
7
8 #include <stdint.h>
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 void store_8(void *addr, uint8_t val);
15 void store_16(void *addr, uint16_t val);
16 void store_32(void *addr, uint32_t val);
17 void store_64(void *addr, uint64_t val);
18
19 uint8_t load_8(const void *addr);
20 uint16_t load_16(const void *addr);
21 uint32_t load_32(const void *addr);
22 uint64_t load_64(const void *addr);
23
24 void cds_store8(void *addr);
25 void cds_store16(void *addr);
26 void cds_store32(void *addr);
27 void cds_store64(void *addr);
28
29 void cds_load8(const void *addr);
30 void cds_load16(const void *addr);
31 void cds_load32(const void *addr);
32 void cds_load64(const void *addr);
33
34 #ifdef __cplusplus
35 }
36 #endif
37
38 #endif  /* __LIBRACE_H__ */