projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cleanup: rename template headers
[lttng-ust.git]
/
libringbuffer
/
backend.h
diff --git
a/libringbuffer/backend.h
b/libringbuffer/backend.h
index 2fe06cefd56f2c146b128762f9268c85101c5946..6b18e4cf51f7fbf94fe442ad473fead7ed673947 100644
(file)
--- a/
libringbuffer/backend.h
+++ b/
libringbuffer/backend.h
@@
-23,15
+23,15
@@
/* Ring buffer backend access (read/write) */
/* 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,
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,
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.
/*
* Return the address where a given offset is located.
@@
-39,17
+39,17
@@
extern int lib_ring_buffer_read_cstr(struct lttng_ust_lib_ring_buffer_backend *b
* 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.
*/
* 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,
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,
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
/**
* lib_ring_buffer_write - write data to a buffer backend
@@
-63,14
+63,20
@@
lib_ring_buffer_read_offset_address(struct lttng_ust_lib_ring_buffer_backend *bu
* backend-specific memcpy() operation. Calls the slow path (_ring_buffer_write)
* if copy is crossing a page boundary.
*/
* backend-specific memcpy() operation. Calls the slow path (_ring_buffer_write)
* if copy is crossing a page boundary.
*/
-static inline __attribute__((always_inline))
+static inline
+void lib_ring_buffer_write(const struct lttng_ust_lib_ring_buffer_config *config,
+ struct lttng_ust_lib_ring_buffer_ctx *ctx,
+ const void *src, size_t len)
+ __attribute__((always_inline));
+static inline
void lib_ring_buffer_write(const struct lttng_ust_lib_ring_buffer_config *config,
struct lttng_ust_lib_ring_buffer_ctx *ctx,
const void *src, size_t len)
{
void lib_ring_buffer_write(const struct lttng_ust_lib_ring_buffer_config *config,
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;
struct lttng_ust_lib_ring_buffer_backend_pages *backend_pages;
void *p;
@@
-90,7
+96,7
@@
void lib_ring_buffer_write(const struct lttng_ust_lib_ring_buffer_config *config
if (caa_unlikely(!p))
return;
lib_ring_buffer_do_copy(config, p, src, len);
if (caa_unlikely(!p))
return;
lib_ring_buffer_do_copy(config, p, src, len);
- ctx->buf_offset += len;
+ ctx
_private
->buf_offset += len;
}
/*
}
/*
@@
-98,7
+104,11
@@
void lib_ring_buffer_write(const struct lttng_ust_lib_ring_buffer_config *config
* terminating character is found in @src. Returns the number of bytes
* copied. Does *not* terminate @dest with NULL terminating character.
*/
* terminating character is found in @src. Returns the number of bytes
* copied. Does *not* terminate @dest with NULL terminating character.
*/
-static inline __attribute__((always_inline))
+static inline
+size_t lib_ring_buffer_do_strcpy(const struct lttng_ust_lib_ring_buffer_config *config,
+ char *dest, const char *src, size_t len)
+ __attribute__((always_inline));
+static inline
size_t lib_ring_buffer_do_strcpy(const struct lttng_ust_lib_ring_buffer_config *config,
char *dest, const char *src, size_t len)
{
size_t lib_ring_buffer_do_strcpy(const struct lttng_ust_lib_ring_buffer_config *config,
char *dest, const char *src, size_t len)
{
@@
-134,15
+144,21
@@
size_t lib_ring_buffer_do_strcpy(const struct lttng_ust_lib_ring_buffer_config *
* character is found in @src before @len - 1 characters are copied, pad
* the buffer with @pad characters (e.g. '#').
*/
* character is found in @src before @len - 1 characters are copied, pad
* the buffer with @pad characters (e.g. '#').
*/
-static inline __attribute__((always_inline))
+static inline
+void lib_ring_buffer_strcpy(const struct lttng_ust_lib_ring_buffer_config *config,
+ struct lttng_ust_lib_ring_buffer_ctx *ctx,
+ const char *src, size_t len, char pad)
+ __attribute__((always_inline));
+static inline
void lib_ring_buffer_strcpy(const struct lttng_ust_lib_ring_buffer_config *config,
struct lttng_ust_lib_ring_buffer_ctx *ctx,
const char *src, size_t len, char pad)
{
void lib_ring_buffer_strcpy(const struct lttng_ust_lib_ring_buffer_config *config,
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 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;
struct lttng_ust_lib_ring_buffer_backend_pages *backend_pages;
void *p;
@@
-179,7
+195,7
@@
void lib_ring_buffer_strcpy(const struct lttng_ust_lib_ring_buffer_config *confi
if (caa_unlikely(!p))
return;
lib_ring_buffer_do_memset(p, '\0', 1);
if (caa_unlikely(!p))
return;
lib_ring_buffer_do_memset(p, '\0', 1);
- ctx->buf_offset += len;
+ ctx
_private
->buf_offset += len;
}
/**
}
/**
@@
-198,15
+214,21
@@
void lib_ring_buffer_strcpy(const struct lttng_ust_lib_ring_buffer_config *confi
* The length of the pascal strings in the ring buffer is explicit: it
* is either the array or sequence length.
*/
* The length of the pascal strings in the ring buffer is explicit: it
* is either the array or sequence length.
*/
-static inline __attribute__((always_inline))
+static inline
+void lib_ring_buffer_pstrcpy(const struct lttng_ust_lib_ring_buffer_config *config,
+ struct lttng_ust_lib_ring_buffer_ctx *ctx,
+ const char *src, size_t len, char pad)
+ __attribute__((always_inline));
+static inline
void lib_ring_buffer_pstrcpy(const struct lttng_ust_lib_ring_buffer_config *config,
struct lttng_ust_lib_ring_buffer_ctx *ctx,
const char *src, size_t len, char pad)
{
void lib_ring_buffer_pstrcpy(const struct lttng_ust_lib_ring_buffer_config *config,
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 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;
struct lttng_ust_lib_ring_buffer_backend_pages *backend_pages;
void *p;
@@
-237,7
+259,7
@@
void lib_ring_buffer_pstrcpy(const struct lttng_ust_lib_ring_buffer_config *conf
return;
lib_ring_buffer_do_memset(p, pad, pad_len);
}
return;
lib_ring_buffer_do_memset(p, pad, pad_len);
}
- ctx->buf_offset += len;
+ ctx
_private
->buf_offset += len;
}
/*
}
/*
This page took
0.027589 seconds
and
4
git commands to generate.