- nb_event = lttng_ht_get_count(agt->events);
- rcu_read_unlock();
- if (nb_event == 0) {
- ret = nb_event;
- *total_size = 0;
- goto error;
- }
-
- /* Compute required extended infos size */
- extended_len = nb_event * sizeof(struct lttcomm_event_extended_header);
-
- /*
- * This is only valid because the commands which add events are
- * processed in the same thread as the listing.
- */
- rcu_read_lock();
- cds_lfht_for_each_entry(agt->events->ht, &iter.iter, event, node.node) {
- ret = increment_extended_len(event->filter_expression, NULL, NULL,
- &extended_len);
+ cds_lfht_for_each_entry (
+ agt->events->ht, &iter.iter, agent_event, node.node) {
+ struct lttng_event event = {
+ .enabled = agent_event->enabled,
+ .loglevel = agent_event->loglevel_value,
+ .loglevel_type = agent_event->loglevel_type,
+ };
+
+ strncpy(event.name, agent_event->name, sizeof(event.name));
+ event.name[sizeof(event.name) - 1] = '\0';
+
+ ret = lttng_dynamic_buffer_append(
+ &payload->buffer, &event, sizeof(event));