#include <uuid/uuid.h>
#include <ust/tracepoint.h>
#include <errno.h>
-#include "usterr_signal_safe.h"
+#include <sys/shm.h>
+#include <sys/ipc.h>
+#include <ust/lttng-events.h>
+#include <ust/usterr-signal-safe.h>
#include "ust/core.h"
-#include "ltt-events.h"
#include "ltt-tracer.h"
#include "ust/wait.h"
+#include "../libringbuffer/shm.h"
static CDS_LIST_HEAD(sessions);
static CDS_LIST_HEAD(ltt_transport_list);
void *buf_addr,
size_t subbuf_size, size_t num_subbuf,
unsigned int switch_timer_interval,
- unsigned int read_timer_interval,
- int *shmid)
+ unsigned int read_timer_interval)
{
struct ltt_channel *chan;
struct ltt_transport *transport;
* headers. Therefore the "chan" information used as input
* should be already accessible.
*/
- chan->chan = transport->ops.channel_create("[lttng]", chan, buf_addr,
+ transport->ops.channel_create("[lttng]", chan, buf_addr,
subbuf_size, num_subbuf, switch_timer_interval,
- read_timer_interval, shmid);
+ read_timer_interval);
if (!chan->chan)
goto create_error;
chan->enabled = 1;
static
void _ltt_channel_destroy(struct ltt_channel *chan)
{
- chan->ops->channel_destroy(chan->chan);
+ chan->ops->channel_destroy(chan);
cds_list_del(&chan->list);
lttng_destroy_context(chan->ctx);
free(chan);
for (pos = 0; pos < len; pos += reserve_len) {
reserve_len = min_t(size_t,
- chan->ops->packet_avail_size(chan->chan),
+ chan->ops->packet_avail_size(chan->chan, chan->handle),
len - pos);
lib_ring_buffer_ctx_init(&ctx, chan->chan, NULL, reserve_len,
- sizeof(char), -1);
+ sizeof(char), -1, chan->handle);
/*
* We don't care about metadata buffer's records lost
* count, because we always retry here. Report error if
? "UTF8"
: "ASCII",
field->type.u.basic.integer.base,
-#ifdef BIG_ENDIAN
+#ifdef __BIG_ENDIAN
+ field->type.u.basic.integer.reverse_byte_order ? " byte_order = le;" : "",
+#else
+ field->type.u.basic.integer.reverse_byte_order ? " byte_order = be;" : "",
+#endif
+ field->name);
+ break;
+ case atype_float:
+ ret = lttng_metadata_printf(session,
+ " floating_point { exp_dig = %u; mant_dig = %u; align = %u; } %s;\n",
+ field->type.u.basic._float.exp_dig,
+ field->type.u.basic._float.mant_dig,
+ field->type.u.basic._float.alignment,
+#ifdef __BIG_ENDIAN
field->type.u.basic.integer.reverse_byte_order ? " byte_order = le;" : "",
#else
field->type.u.basic.integer.reverse_byte_order ? " byte_order = be;" : "",
? "UTF8"
: "ASCII",
elem_type->u.basic.integer.base,
-#ifdef BIG_ENDIAN
+#ifdef __BIG_ENDIAN
elem_type->u.basic.integer.reverse_byte_order ? " byte_order = le;" : "",
#else
elem_type->u.basic.integer.reverse_byte_order ? " byte_order = be;" : "",
? "UTF8"
: "ASCII"),
length_type->u.basic.integer.base,
-#ifdef BIG_ENDIAN
+#ifdef __BIG_ENDIAN
length_type->u.basic.integer.reverse_byte_order ? " byte_order = le;" : "",
#else
length_type->u.basic.integer.reverse_byte_order ? " byte_order = be;" : "",
? "UTF8"
: "ASCII"),
elem_type->u.basic.integer.base,
-#ifdef BIG_ENDIAN
+#ifdef __BIG_ENDIAN
elem_type->u.basic.integer.reverse_byte_order ? " byte_order = le;" : "",
#else
elem_type->u.basic.integer.reverse_byte_order ? " byte_order = be;" : "",
" } extended;\n"
" } v;\n"
"} align(%u);\n\n",
- ltt_alignof(uint32_t) * CHAR_BIT,
- ltt_alignof(uint16_t) * CHAR_BIT
+ lttng_alignof(uint32_t) * CHAR_BIT,
+ lttng_alignof(uint16_t) * CHAR_BIT
);
}
" uint32_t stream_id;\n"
" };\n"
"};\n\n",
- ltt_alignof(uint8_t) * CHAR_BIT,
- ltt_alignof(uint16_t) * CHAR_BIT,
- ltt_alignof(uint32_t) * CHAR_BIT,
- ltt_alignof(uint64_t) * CHAR_BIT,
+ lttng_alignof(uint8_t) * CHAR_BIT,
+ lttng_alignof(uint16_t) * CHAR_BIT,
+ lttng_alignof(uint32_t) * CHAR_BIT,
+ lttng_alignof(uint64_t) * CHAR_BIT,
CTF_VERSION_MAJOR,
CTF_VERSION_MINOR,
uuid_s,
-#ifdef BIG_ENDIAN
+#ifdef __BIG_ENDIAN
"be"
#else
"le"