https://www.liblfds.org/mediawiki/index.php?title=r6.1.1:Lfds611_abstraction_(liblfds)&feed=atom&action=history
r6.1.1:Lfds611 abstraction (liblfds) - Revision history
2024-03-29T16:02:33Z
Revision history for this page on the wiki
MediaWiki 1.36.0
https://www.liblfds.org/mediawiki/index.php?title=r6.1.1:Lfds611_abstraction_(liblfds)&diff=352&oldid=prev
Admin: 1 revision imported
2015-01-04T14:07:36Z
<p>1 revision imported</p>
<p><b>New page</b></p><div>{{DISPLAYTITLE:r6.1.1:lfds611_abstraction (liblfds)}}<br />
==Source Files==<br />
/liblfds611/src/lfds611_abstraction/lfds611_abstraction_cas.c<br />
/liblfds611/src/lfds611_abstraction/lfds611_abstraction_dcas.c<br />
/liblfds611/src/lfds611_abstraction/lfds611_abstraction_free.c<br />
/liblfds611/src/lfds611_abstraction/lfds611_abstraction_increment.c<br />
/liblfds611/src/lfds611_abstraction/lfds611_abstraction_malloc.c<br />
/liblfds611/src/liblfds611_internal.h<br />
/liblfds611/inc/liblfds611.h<br />
<br />
==Prototypes==<br />
void [[r6.1.1:lfds611_abstraction_free|lfds611_abstraction_free]]( void *memory );<br />
void *[[r6.1.1:lfds611_abstraction_malloc|lfds611_abstraction_malloc]]( size_t size, size_t align_in_bytes );<br />
[[r6.1.1:LFDS611_INLINE|LFDS611_INLINE]] lfds611_atom_t [[r6.1.1:lfds611_abstraction_cas|lfds611_abstraction_cas]]( volatile lfds611_atom_t *destination, lfds611_atom_t exchange, lfds611_atom_t compare )<br />
[[r6.1.1:LFDS611_INLINE|LFDS611_INLINE]] unsigned char [[r6.1.1:lfds611_abstraction_dcas|lfds611_abstraction_dcas]]( volatile lfds611_atom_t *destination, lfds611_atom_t *exchange, lfds611_atom_t *compare );<br />
[[r6.1.1:LFDS611_INLINE|LFDS611_INLINE]] lfds611_atom_t [[r6.1.1:lfds611_abstraction_increment|lfds611_abstraction_increment]]( volatile lfds611_atom_t *value );<br />
<br />
==Defines & Typedefs==<br />
typedef [type] [[r6.1.1:lfds611_atom_t|lfds611_atom_t]];<br />
<br />
#define [[r6.1.1:LFDS611_INLINE|LFDS611_INLINE]] [compiler inline directive]<br />
#define [[r6.1.1:LFDS611_ALIGN|LFDS611_ALIGN]](alignment) [compiler stack alignment directive]<br />
#define [[r6.1.1:LFDS611_ALIGN_SINGLE_POINTER|LFDS611_ALIGN_SINGLE_POINTER]] [lfds611_atom_t size in bytes]<br />
#define [[r6.1.1:LFDS611_ALIGN_DOUBLE_POINTER|LFDS611_ALIGN_DOUBLE_POINTER]] [lfds611_atom_t size in bytes, multiplied by two]<br />
#define [[r6.1.1:LFDS611_BARRIER_COMPILER_READ|LFDS611_BARRIER_COMPILER_READ]] [compiler read compiler barrier directive]<br />
#define [[r6.1.1:LFDS611_BARRIER_COMPILER_WRITE|LFDS611_BARRIER_COMPILER_WRITE]] [compiler write compiler barrier directive]<br />
#define [[r6.1.1:LFDS611_BARRIER_COMPILER_FULL|LFDS611_BARRIER_COMPILER_FULL]] [compiler full compiler barrier directive]<br />
#define [[r6.1.1:LFDS611_BARRIER_PROCESSOR_READ|LFDS611_BARRIER_PROCESSOR_READ]] [compiler read processor barrier directive]<br />
#define [[r6.1.1:LFDS611_BARRIER_PROCESSOR_WRITE|LFDS611_BARRIER_PROCESSOR_WRITE]] [compiler write processor barrier directive]<br />
#define [[r6.1.1:LFDS611_BARRIER_PROCESSOR_FULL|LFDS611_BARRIER_PROCESSOR_FULL]] [compiler full processor barrier directive]<br />
<br />
==Overview==<br />
This API is not a data structure. It is the abstraction layer for liblfds, which must be implemented on a given platform for liblfds to compile and run on that platform.<br />
<br />
Please read the [[r6.1.1:Porting Guide (lfds)|porting guide (lfds)]] for detailed instructions.</div>
Admin