libust 2.0 + ringbuffer + TRACEPOINT_EVENT builds and runs
[lttng-ust.git] / libust / ltt-events.c
index e68b5a2cdc186b6c1b9232cab597e1fd781cb2f3..e4ffc69a32474b9fdd45331e893770ee399ba5b7 100644 (file)
 #include <uuid/uuid.h>
 #include <ust/tracepoint.h>
 #include <errno.h>
+#include <sys/shm.h>
+#include <sys/ipc.h>
+#include <ust/lttng-events.h>
 #include "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);
@@ -194,8 +197,7 @@ struct ltt_channel *ltt_channel_create(struct ltt_session *session,
                                       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;
@@ -219,9 +221,10 @@ struct ltt_channel *ltt_channel_create(struct ltt_session *session,
         * headers. Therefore the "chan" information used as input
         * should be already accessible.
         */
-       chan->chan = transport->ops.channel_create("[lttng]", chan, buf_addr,
+       chan->handle = transport->ops.channel_create("[lttng]", chan, buf_addr,
                        subbuf_size, num_subbuf, switch_timer_interval,
-                       read_timer_interval, shmid);
+                       read_timer_interval);
+       chan->chan = shmp(chan->handle->header->chan);
        if (!chan->chan)
                goto create_error;
        chan->enabled = 1;
@@ -245,7 +248,7 @@ active:
 static
 void _ltt_channel_destroy(struct ltt_channel *chan)
 {
-       chan->ops->channel_destroy(chan->chan);
+       chan->ops->channel_destroy(chan->handle);
        cds_list_del(&chan->list);
        lttng_destroy_context(chan->ctx);
        free(chan);
@@ -435,7 +438,20 @@ int _ltt_field_statedump(struct ltt_session *session,
                                        ? "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;" : "",
@@ -464,7 +480,7 @@ int _ltt_field_statedump(struct ltt_session *session,
                                        ? "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;" : "",
@@ -490,7 +506,7 @@ int _ltt_field_statedump(struct ltt_session *session,
                                        ? "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;" : "",
@@ -510,7 +526,7 @@ int _ltt_field_statedump(struct ltt_session *session,
                                        ? "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;" : "",
@@ -796,7 +812,7 @@ int _ltt_session_metadata_statedump(struct ltt_session *session)
                CTF_VERSION_MAJOR,
                CTF_VERSION_MINOR,
                uuid_s,
-#ifdef BIG_ENDIAN
+#ifdef __BIG_ENDIAN
                "be"
 #else
                "le"
This page took 0.02582 seconds and 4 git commands to generate.