#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);
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,
+ 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;
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);
? "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;" : "",
CTF_VERSION_MAJOR,
CTF_VERSION_MINOR,
uuid_s,
-#ifdef BIG_ENDIAN
+#ifdef __BIG_ENDIAN
"be"
#else
"le"