]> pd.if.org Git - liblfds/blob - liblfds/liblfds6.1.1/liblfds611/src/liblfds611_internal.h
Initial import (all versions, including the new 7.1.0)
[liblfds] / liblfds / liblfds6.1.1 / liblfds611 / src / liblfds611_internal.h
1 /***** public prototypes *****/\r
2 #include "liblfds611.h"\r
3 \r
4 /***** defines *****/\r
5 #define and &&\r
6 #define or  ||\r
7 \r
8 #define RAISED   1\r
9 #define LOWERED  0\r
10 \r
11 #define NO_FLAGS 0x0\r
12 \r
13 /***** private prototypes *****/\r
14 void *lfds611_liblfds_aligned_malloc( size_t size, size_t align_in_bytes );\r
15 void lfds611_liblfds_aligned_free( void *memory );\r
16 \r
17 static LFDS611_INLINE lfds611_atom_t lfds611_abstraction_cas( volatile lfds611_atom_t *destination, lfds611_atom_t exchange, lfds611_atom_t compare );\r
18 static LFDS611_INLINE unsigned char lfds611_abstraction_dcas( volatile lfds611_atom_t *destination, lfds611_atom_t *exchange, lfds611_atom_t *compare );\r
19 static LFDS611_INLINE lfds611_atom_t lfds611_abstraction_increment( volatile lfds611_atom_t *value );\r
20 \r
21 /***** inlined code *****/\r
22 #include "lfds611_abstraction/lfds611_abstraction_cas.c"\r
23 #include "lfds611_abstraction/lfds611_abstraction_dcas.c"\r
24 #include "lfds611_abstraction/lfds611_abstraction_increment.c"\r
25 \r