Fix: `ip` context is expressed as a base-10 field
[lttng-ust.git] / src / lib / lttng-ust / lttng-context-ip.c
index 2a652913547007ed5d6efb7c4a13fcf2085e8810..56c8bbd1182b3f663388a10b77113def3b6db74c 100644 (file)
@@ -19,6 +19,7 @@
 
 static
 size_t ip_get_size(void *priv __attribute__((unused)),
+               struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)),
                size_t offset)
 {
        size_t size = 0;
@@ -30,25 +31,35 @@ size_t ip_get_size(void *priv __attribute__((unused)),
 
 static
 void ip_record(void *priv __attribute__((unused)),
-                struct lttng_ust_ring_buffer_ctx *ctx,
-                struct lttng_ust_channel_buffer *chan)
+               struct lttng_ust_probe_ctx *probe_ctx,
+               struct lttng_ust_ring_buffer_ctx *ctx,
+               struct lttng_ust_channel_buffer *chan)
 {
        void *ip;
 
-       ip = ctx->ip;
+       ip = probe_ctx->ip;
        chan->ops->event_write(ctx, &ip, sizeof(ip), lttng_ust_rb_alignof(ip));
 }
 
+static
+void ip_get_value(void *priv __attribute__((unused)),
+               struct lttng_ust_probe_ctx *probe_ctx,
+               struct lttng_ust_ctx_value *value)
+{
+       value->u.u64 = (unsigned long) probe_ctx->ip;
+}
+
 static const struct lttng_ust_ctx_field *ctx_field = lttng_ust_static_ctx_field(
        lttng_ust_static_event_field("ip",
                lttng_ust_static_type_integer(sizeof(void *) * CHAR_BIT,
                                lttng_ust_rb_alignof(void *) * CHAR_BIT,
                                lttng_ust_is_signed_type(void *),
-                               BYTE_ORDER, 10),
+                               LTTNG_UST_BYTE_ORDER, 16),
                false, false),
        ip_get_size,
        ip_record,
-       NULL, NULL, NULL);
+       ip_get_value,
+       NULL, NULL);
 
 int lttng_add_ip_to_ctx(struct lttng_ust_ctx **ctx)
 {
This page took 0.024564 seconds and 4 git commands to generate.