Filter: prepare filter stack data
[lttng-ust.git] / liblttng-ust / ltt-events.c
index aafa126c47a064ff5e368af93236d7f66a4790d4..eb6749d944628043332e5e1426c5c8fe25a77926 100644 (file)
@@ -251,7 +251,7 @@ int pending_probe_fix_events(const struct lttng_event_desc *desc)
                                        sizeof(event_param.name));
                                /* create event */
                                ret = ltt_event_create(sw->chan,
-                                       &event_param, NULL,
+                                       &event_param, NULL, NULL,
                                        &ev);
                                if (ret) {
                                        DBG("Error creating event");
@@ -500,7 +500,9 @@ void _ltt_channel_destroy(struct ltt_channel *chan)
  */
 int ltt_event_create(struct ltt_channel *chan,
                struct lttng_ust_event *event_param,
-               void *filter,
+               int (*filter)(void *filter_data,
+                       const char *filter_stack_data),
+               void *filter_data,
                struct ltt_event **_event)
 {
        const struct lttng_event_desc *desc = NULL;     /* silence gcc */
@@ -549,6 +551,7 @@ int ltt_event_create(struct ltt_channel *chan,
        }
        event->chan = chan;
        event->filter = filter;
+       event->filter_data = filter_data;
        /*
         * used_event_id counts the maximum number of event IDs that can
         * register if all probes register.
@@ -1020,7 +1023,7 @@ int _ltt_stream_packet_context_declare(struct ltt_session *session)
                "struct packet_context {\n"
                "       uint64_clock_monotonic_t timestamp_begin;\n"
                "       uint64_clock_monotonic_t timestamp_end;\n"
-               "       uint32_t events_discarded;\n"
+               "       unsigned long events_discarded;\n"
                "       uint32_t content_size;\n"
                "       uint32_t packet_size;\n"
                "       uint32_t cpu_id;\n"
@@ -1131,6 +1134,7 @@ int _ltt_session_metadata_statedump(struct ltt_session *session)
                "typealias integer { size = 16; align = %u; signed = false; } := uint16_t;\n"
                "typealias integer { size = 32; align = %u; signed = false; } := uint32_t;\n"
                "typealias integer { size = 64; align = %u; signed = false; } := uint64_t;\n"
+               "typealias integer { size = %u; align = %u; signed = false; } := unsigned long;\n"
                "typealias integer { size = 5; align = 1; signed = false; } := uint5_t;\n"
                "typealias integer { size = 27; align = 1; signed = false; } := uint27_t;\n"
                "\n"
@@ -1149,6 +1153,8 @@ int _ltt_session_metadata_statedump(struct ltt_session *session)
                lttng_alignof(uint16_t) * CHAR_BIT,
                lttng_alignof(uint32_t) * CHAR_BIT,
                lttng_alignof(uint64_t) * CHAR_BIT,
+               sizeof(unsigned long) * CHAR_BIT,
+               lttng_alignof(unsigned long) * CHAR_BIT,
                CTF_SPEC_MAJOR,
                CTF_SPEC_MINOR,
                uuid_s,
This page took 0.024261 seconds and 4 git commands to generate.