X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Findex-allocator.h;h=ee7c2ec758dd5dd707780b9a42ae5d3c0d4fab6c;hb=b66cbf1731486ab4dc7e0b2e1c3fa05cc5360c19;hp=9dbd745e6bdaf52ef1ccebae2dffd7c3b1308e82;hpb=7966af5763c4aaca39df9bbfa9277ff15715c720;p=lttng-tools.git diff --git a/src/common/index-allocator.h b/src/common/index-allocator.h index 9dbd745e6..ee7c2ec75 100644 --- a/src/common/index-allocator.h +++ b/src/common/index-allocator.h @@ -9,10 +9,7 @@ #define _COMMON_INDEX_ALLOCATOR_H #include - -#ifdef __cplusplus -extern "C" { -#endif +#include struct lttng_index_allocator; @@ -25,18 +22,21 @@ enum lttng_index_allocator_status { /* * Create an index allocator of `index_count` slots. */ +extern "C" LTTNG_EXPORT struct lttng_index_allocator *lttng_index_allocator_create( uint64_t index_count); /* * Get the number of indexes currently in use. */ +extern "C" LTTNG_EXPORT uint64_t lttng_index_allocator_get_index_count( struct lttng_index_allocator *allocator); /* * Allocate (i.e. reserve) a slot. */ +extern "C" LTTNG_EXPORT enum lttng_index_allocator_status lttng_index_allocator_alloc( struct lttng_index_allocator *allocator, uint64_t *index); @@ -45,16 +45,14 @@ enum lttng_index_allocator_status lttng_index_allocator_alloc( * Release a slot by index. The slot will be re-used by the index allocator * in future 'alloc' calls. */ +extern "C" LTTNG_EXPORT enum lttng_index_allocator_status lttng_index_allocator_release( struct lttng_index_allocator *allocator, uint64_t index); /* * Destroy an index allocator. */ +extern "C" LTTNG_EXPORT void lttng_index_allocator_destroy(struct lttng_index_allocator *allocator); -#ifdef __cplusplus -} -#endif - #endif /* _COMMON_INDEX_ALLOCATOR_H */