]> pd.if.org Git - liblfds/blob - liblfds/liblfds6.1.0/liblfds610/src/liblfds610_internal.h
Initial import (all versions, including the new 7.1.0)
[liblfds] / liblfds / liblfds6.1.0 / liblfds610 / src / liblfds610_internal.h
1 /***** public prototypes *****/
2 #include "liblfds610.h"
3
4 /***** defines *****/
5 #define and &&
6 #define or  ||
7
8 #define RAISED   1
9 #define LOWERED  0
10
11 #define NO_FLAGS 0x0
12
13 /***** private prototypes *****/
14 void *lfds610_liblfds_aligned_malloc( size_t size, size_t align_in_bytes );
15 void lfds610_liblfds_aligned_free( void *memory );
16
17 static LFDS610_INLINE lfds610_atom_t lfds610_abstraction_cas( volatile lfds610_atom_t *destination, lfds610_atom_t exchange, lfds610_atom_t compare );
18 static LFDS610_INLINE unsigned char lfds610_abstraction_dcas( volatile lfds610_atom_t *destination, lfds610_atom_t *exchange, lfds610_atom_t *compare );
19 static LFDS610_INLINE lfds610_atom_t lfds610_abstraction_increment( volatile lfds610_atom_t *value );
20
21 /***** inlined code *****/
22 #include "lfds610_abstraction/lfds610_abstraction_cas.c"
23 #include "lfds610_abstraction/lfds610_abstraction_dcas.c"
24 #include "lfds610_abstraction/lfds610_abstraction_increment.c"
25