X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=libringbuffer%2Fbackend.h;h=0b482182a59b0400d60386a599ee8df26cd2959b;hb=f1324c1158b8ad5b9dd8bcc55e2a1a26ab2113ae;hp=fff4f9ec7b11ffdc69d75f3f418e92452c814a98;hpb=8936b6c0add7eb6706e0a1ca50e03c446dda4006;p=lttng-ust.git diff --git a/libringbuffer/backend.h b/libringbuffer/backend.h index fff4f9ec..0b482182 100644 --- a/libringbuffer/backend.h +++ b/libringbuffer/backend.h @@ -23,15 +23,15 @@ /* 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. @@ -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. */ -__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 @@ -63,7 +63,12 @@ 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. */ -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) @@ -99,9 +104,14 @@ 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. */ -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 __attribute__((unused)), + char *dest, const char *src, size_t len) { size_t count; @@ -135,7 +145,12 @@ 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. '#'). */ -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) @@ -200,7 +215,12 @@ 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. */ -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)