X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=libringbuffer%2Fbackend_types.h;h=3d8bd3cb3392c1f5c3db2d3fc11323e1b29f7081;hb=05cbbadf100053288c7ceccb1ef4ef6763638aea;hp=51dcfbf9a7a9238776d2392d66e6ed03659e7bc1;hpb=1d4981969313da002983ca979bd85c95493f7316;p=lttng-ust.git diff --git a/libringbuffer/backend_types.h b/libringbuffer/backend_types.h index 51dcfbf9..3d8bd3cb 100644 --- a/libringbuffer/backend_types.h +++ b/libringbuffer/backend_types.h @@ -11,9 +11,11 @@ * Dual LGPL v2.1/GPL v2 license. */ +#include #include "shm_internal.h" +#include "vatomic.h" -struct lib_ring_buffer_backend_pages { +struct lttng_ust_lib_ring_buffer_backend_pages { unsigned long mmap_offset; /* offset of the subbuffer in mmap */ union v_atomic records_commit; /* current records committed count */ union v_atomic records_unread; /* records to read */ @@ -21,7 +23,7 @@ struct lib_ring_buffer_backend_pages { DECLARE_SHMP(char, p); /* Backing memory map */ }; -struct lib_ring_buffer_backend_subbuffer { +struct lttng_ust_lib_ring_buffer_backend_subbuffer { /* Identifier for subbuf backend pages. Exchanged atomically. */ unsigned long id; /* backend subbuffer identifier */ }; @@ -30,32 +32,32 @@ struct lib_ring_buffer_backend_subbuffer { * Forward declaration of frontend-specific channel and ring_buffer. */ struct channel; -struct lib_ring_buffer; +struct lttng_ust_lib_ring_buffer; -struct lib_ring_buffer_backend_pages_shmp { - DECLARE_SHMP(struct lib_ring_buffer_backend_pages, shmp); +struct lttng_ust_lib_ring_buffer_backend_pages_shmp { + DECLARE_SHMP(struct lttng_ust_lib_ring_buffer_backend_pages, shmp); }; -struct lib_ring_buffer_backend { +struct lttng_ust_lib_ring_buffer_backend { /* Array of ring_buffer_backend_subbuffer for writer */ - DECLARE_SHMP(struct lib_ring_buffer_backend_subbuffer, buf_wsb); + DECLARE_SHMP(struct lttng_ust_lib_ring_buffer_backend_subbuffer, buf_wsb); /* ring_buffer_backend_subbuffer for reader */ - struct lib_ring_buffer_backend_subbuffer buf_rsb; + struct lttng_ust_lib_ring_buffer_backend_subbuffer buf_rsb; /* * Pointer array of backend pages, for whole buffer. * Indexed by ring_buffer_backend_subbuffer identifier (id) index. */ - DECLARE_SHMP(struct lib_ring_buffer_backend_pages_shmp, array); + DECLARE_SHMP(struct lttng_ust_lib_ring_buffer_backend_pages_shmp, array); DECLARE_SHMP(char, memory_map); /* memory mapping */ DECLARE_SHMP(struct channel, chan); /* Associated channel */ int cpu; /* This buffer's cpu. -1 if global. */ union v_atomic records_read; /* Number of records read */ - unsigned int allocated:1; /* Bool: is buffer allocated ? */ + unsigned int allocated:1; /* is buffer allocated ? */ }; -struct lib_ring_buffer_shmp { - DECLARE_SHMP(struct lib_ring_buffer, shmp); /* Channel per-cpu buffers */ +struct lttng_ust_lib_ring_buffer_shmp { + DECLARE_SHMP(struct lttng_ust_lib_ring_buffer, shmp); /* Channel per-cpu buffers */ }; struct channel_backend { @@ -67,13 +69,13 @@ struct channel_backend { * for writer. */ unsigned int buf_size_order; /* Order of buffer size */ - int extra_reader_sb:1; /* Bool: has extra reader subbuffer */ + unsigned int extra_reader_sb:1; /* has extra reader subbuffer ? */ unsigned long num_subbuf; /* Number of sub-buffers for writer */ - u64 start_tsc; /* Channel creation TSC value */ - void *priv; /* Client-specific information */ - const struct lib_ring_buffer_config *config; /* Ring buffer configuration */ + uint64_t start_tsc; /* Channel creation TSC value */ + DECLARE_SHMP(void *, priv_data);/* Client-specific information */ + struct lttng_ust_lib_ring_buffer_config config; /* Ring buffer configuration */ char name[NAME_MAX]; /* Channel name */ - struct lib_ring_buffer_shmp buf[]; + struct lttng_ust_lib_ring_buffer_shmp buf[]; }; #endif /* _LINUX_RING_BUFFER_BACKEND_TYPES_H */