/* Ring buffer backend access (read/write) */
-__attribute__((visibility("hidden")))
extern size_t lib_ring_buffer_read(struct lttng_ust_lib_ring_buffer_backend *bufb,
size_t offset, void *dest, size_t len,
- struct lttng_ust_shm_handle *handle);
+ struct lttng_ust_shm_handle *handle)
+ __attribute__((visibility("hidden")));
-__attribute__((visibility("hidden")))
extern int lib_ring_buffer_read_cstr(struct lttng_ust_lib_ring_buffer_backend *bufb,
size_t offset, void *dest, size_t len,
- struct lttng_ust_shm_handle *handle);
+ struct lttng_ust_shm_handle *handle)
+ __attribute__((visibility("hidden")));
/*
* Return the address where a given offset is located.
* it's never on a page boundary, it's safe to write directly to this address,
* as long as the write is never bigger than a page size.
*/
-__attribute__((visibility("hidden")))
extern void *
lib_ring_buffer_offset_address(struct lttng_ust_lib_ring_buffer_backend *bufb,
size_t offset,
- struct lttng_ust_shm_handle *handle);
+ struct lttng_ust_shm_handle *handle)
+ __attribute__((visibility("hidden")));
-__attribute__((visibility("hidden")))
extern void *
lib_ring_buffer_read_offset_address(struct lttng_ust_lib_ring_buffer_backend *bufb,
size_t offset,
- struct lttng_ust_shm_handle *handle);
+ struct lttng_ust_shm_handle *handle)
+ __attribute__((visibility("hidden")));
/**
* lib_ring_buffer_write - write data to a buffer backend
struct lttng_ust_lib_ring_buffer_ctx *ctx,
const void *src, size_t len)
{
- struct channel_backend *chanb = &ctx->chan->backend;
- struct lttng_ust_shm_handle *handle = ctx->chan->handle;
- size_t offset = ctx->buf_offset;
+ struct lttng_ust_lib_ring_buffer_ctx_private *ctx_private = ctx->priv;
+ struct channel_backend *chanb = &ctx_private->chan->backend;
+ struct lttng_ust_shm_handle *handle = ctx_private->chan->handle;
+ size_t offset = ctx_private->buf_offset;
struct lttng_ust_lib_ring_buffer_backend_pages *backend_pages;
void *p;
if (caa_unlikely(!p))
return;
lib_ring_buffer_do_copy(config, p, src, len);
- ctx->buf_offset += len;
+ ctx_private->buf_offset += len;
}
/*
struct lttng_ust_lib_ring_buffer_ctx *ctx,
const char *src, size_t len, char pad)
{
- struct channel_backend *chanb = &ctx->chan->backend;
- struct lttng_ust_shm_handle *handle = ctx->chan->handle;
+ struct lttng_ust_lib_ring_buffer_ctx_private *ctx_private = ctx->priv;
+ struct channel_backend *chanb = &ctx_private->chan->backend;
+ struct lttng_ust_shm_handle *handle = ctx_private->chan->handle;
size_t count;
- size_t offset = ctx->buf_offset;
+ size_t offset = ctx_private->buf_offset;
struct lttng_ust_lib_ring_buffer_backend_pages *backend_pages;
void *p;
if (caa_unlikely(!p))
return;
lib_ring_buffer_do_memset(p, '\0', 1);
- ctx->buf_offset += len;
+ ctx_private->buf_offset += len;
}
/**
struct lttng_ust_lib_ring_buffer_ctx *ctx,
const char *src, size_t len, char pad)
{
- struct channel_backend *chanb = &ctx->chan->backend;
- struct lttng_ust_shm_handle *handle = ctx->chan->handle;
+ struct lttng_ust_lib_ring_buffer_ctx_private *ctx_private = ctx->priv;
+ struct channel_backend *chanb = &ctx_private->chan->backend;
+ struct lttng_ust_shm_handle *handle = ctx_private->chan->handle;
size_t count;
- size_t offset = ctx->buf_offset;
+ size_t offset = ctx_private->buf_offset;
struct lttng_ust_lib_ring_buffer_backend_pages *backend_pages;
void *p;
return;
lib_ring_buffer_do_memset(p, pad, pad_len);
}
- ctx->buf_offset += len;
+ ctx_private->buf_offset += len;
}
/*