#include <common/payload.hpp>
#include <common/runas.hpp>
#include <common/string-utils/string-utils.hpp>
#include <common/payload.hpp>
#include <common/runas.hpp>
#include <common/string-utils/string-utils.hpp>
#include <lttng/event-rule/event-rule-internal.hpp>
#include <lttng/event-rule/user-tracepoint-internal.hpp>
#include <lttng/event.h>
#include <lttng/event-rule/event-rule-internal.hpp>
#include <lttng/event-rule/user-tracepoint-internal.hpp>
#include <lttng/event.h>
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
lttng_log_level_rule_destroy(tracepoint->log_level_rule);
lttng_dynamic_pointer_array_reset(&tracepoint->exclusions);
lttng_log_level_rule_destroy(tracepoint->log_level_rule);
lttng_dynamic_pointer_array_reset(&tracepoint->exclusions);
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
-static int lttng_event_rule_user_tracepoint_serialize(
- const struct lttng_event_rule *rule,
- struct lttng_payload *payload)
+static int lttng_event_rule_user_tracepoint_serialize(const struct lttng_event_rule *rule,
+ struct lttng_payload *payload)
{
int ret, i;
size_t pattern_len, filter_expression_len, exclusions_len, header_offset;
{
int ret, i;
size_t pattern_len, filter_expression_len, exclusions_len, header_offset;
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
- status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_count(rule, &exclusion_count);
+ status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_count(
+ rule, &exclusion_count);
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
pattern_len = strlen(tracepoint->pattern) + 1;
if (tracepoint->filter_expression != NULL) {
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
pattern_len = strlen(tracepoint->pattern) + 1;
if (tracepoint->filter_expression != NULL) {
- ret = lttng_dynamic_buffer_append(&payload->buffer, &tracepoint_comm,
- sizeof(tracepoint_comm));
+ ret = lttng_dynamic_buffer_append(
+ &payload->buffer, &tracepoint_comm, sizeof(tracepoint_comm));
- ret = lttng_dynamic_buffer_append(
- &payload->buffer, tracepoint->pattern, pattern_len);
+ ret = lttng_dynamic_buffer_append(&payload->buffer, tracepoint->pattern, pattern_len);
- ret = lttng_dynamic_buffer_append(&payload->buffer, tracepoint->filter_expression,
- filter_expression_len);
+ ret = lttng_dynamic_buffer_append(
+ &payload->buffer, tracepoint->filter_expression, filter_expression_len);
for (i = 0; i < exclusion_count; i++) {
size_t len;
const char *exclusion;
status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
for (i = 0; i < exclusion_count; i++) {
size_t len;
const char *exclusion;
status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
len = strlen(exclusion) + 1;
/* Append exclusion length, includes the null terminator. */
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
len = strlen(exclusion) + 1;
/* Append exclusion length, includes the null terminator. */
- ret = lttng_dynamic_buffer_append(
- &payload->buffer, &len, sizeof(uint32_t));
+ ret = lttng_dynamic_buffer_append(&payload->buffer, &len, sizeof(uint32_t));
- ret = lttng_dynamic_buffer_append(
- &payload->buffer, exclusion, len);
+ ret = lttng_dynamic_buffer_append(&payload->buffer, exclusion, len);
-static bool lttng_event_rule_user_tracepoint_is_equal(
- const struct lttng_event_rule *_a,
- const struct lttng_event_rule *_b)
+static bool lttng_event_rule_user_tracepoint_is_equal(const struct lttng_event_rule *_a,
+ const struct lttng_event_rule *_b)
unsigned int count_a, count_b;
enum lttng_event_rule_status status;
unsigned int count_a, count_b;
enum lttng_event_rule_status status;
- a = container_of(_a, struct lttng_event_rule_user_tracepoint, parent);
- b = container_of(_b, struct lttng_event_rule_user_tracepoint, parent);
+ a = lttng::utils::container_of(_a, <tng_event_rule_user_tracepoint::parent);
+ b = lttng::utils::container_of(_b, <tng_event_rule_user_tracepoint::parent);
status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_count(_a, &count_a);
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_count(_a, &count_a);
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
const char *exclusion_a, *exclusion_b;
status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
const char *exclusion_a, *exclusion_b;
status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
if (strcmp(exclusion_a, exclusion_b)) {
goto end;
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
if (strcmp(exclusion_a, exclusion_b)) {
goto end;
-lttng_event_rule_user_tracepoint_generate_filter_bytecode(
- struct lttng_event_rule *rule,
- const struct lttng_credentials *creds)
+lttng_event_rule_user_tracepoint_generate_filter_bytecode(struct lttng_event_rule *rule,
+ const struct lttng_credentials *creds)
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
status = lttng_event_rule_user_tracepoint_get_filter(rule, &filter);
if (status == LTTNG_EVENT_RULE_STATUS_UNSET) {
status = lttng_event_rule_user_tracepoint_get_filter(rule, &filter);
if (status == LTTNG_EVENT_RULE_STATUS_UNSET) {
- ret = run_as_generate_filter_bytecode(
- tracepoint->internal_filter.filter, creds,
- &bytecode);
+ ret = run_as_generate_filter_bytecode(tracepoint->internal_filter.filter, creds, &bytecode);
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
-lttng_event_rule_user_tracepoint_generate_exclusions(
- const struct lttng_event_rule *rule,
- struct lttng_event_exclusion **_exclusions)
+lttng_event_rule_user_tracepoint_generate_exclusions(const struct lttng_event_rule *rule,
+ struct lttng_event_exclusion **_exclusions)
{
unsigned int nb_exclusions = 0, i;
struct lttng_event_exclusion *exclusions;
{
unsigned int nb_exclusions = 0, i;
struct lttng_event_exclusion *exclusions;
LTTNG_ASSERT(_exclusions);
event_rule_status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_count(
LTTNG_ASSERT(_exclusions);
event_rule_status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_count(
if (!exclusions) {
PERROR("Failed to allocate exclusions buffer");
ret_status = LTTNG_EVENT_RULE_GENERATE_EXCLUSIONS_STATUS_OUT_OF_MEMORY;
if (!exclusions) {
PERROR("Failed to allocate exclusions buffer");
ret_status = LTTNG_EVENT_RULE_GENERATE_EXCLUSIONS_STATUS_OUT_OF_MEMORY;
- lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
- rule, i, &exclusion_str);
+ lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
+ rule, i, &exclusion_str);
- copy_ret = lttng_strncpy(
- LTTNG_EVENT_EXCLUSION_NAME_AT(exclusions, i),
- exclusion_str,
- sizeof(LTTNG_EVENT_EXCLUSION_NAME_AT(exclusions, i)));
+ copy_ret = lttng_strncpy(LTTNG_EVENT_EXCLUSION_NAME_AT(exclusions, i),
+ exclusion_str,
+ sizeof(LTTNG_EVENT_EXCLUSION_NAME_AT(exclusions, i)));
{
unsigned long hash;
unsigned int i, exclusion_count;
enum lttng_event_rule_status status;
struct lttng_event_rule_user_tracepoint *tp_rule =
{
unsigned long hash;
unsigned int i, exclusion_count;
enum lttng_event_rule_status status;
struct lttng_event_rule_user_tracepoint *tp_rule =
hash ^= hash_key_str(tp_rule->pattern, lttng_ht_seed);
if (tp_rule->filter_expression) {
hash ^= hash_key_str(tp_rule->pattern, lttng_ht_seed);
if (tp_rule->filter_expression) {
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
for (i = 0; i < exclusion_count; i++) {
const char *exclusion;
status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
for (i = 0; i < exclusion_count; i++) {
const char *exclusion;
status = lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
hash ^= hash_key_str(exclusion, lttng_ht_seed);
}
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
hash ^= hash_key_str(exclusion, lttng_ht_seed);
}
-static enum lttng_error_code lttng_event_rule_user_tracepoint_mi_serialize(
- const struct lttng_event_rule *rule, struct mi_writer *writer)
+static enum lttng_error_code
+lttng_event_rule_user_tracepoint_mi_serialize(const struct lttng_event_rule *rule,
+ struct mi_writer *writer)
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
LTTNG_ASSERT(name_pattern);
status = lttng_event_rule_user_tracepoint_get_filter(rule, &filter);
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK ||
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK);
LTTNG_ASSERT(name_pattern);
status = lttng_event_rule_user_tracepoint_get_filter(rule, &filter);
LTTNG_ASSERT(status == LTTNG_EVENT_RULE_STATUS_OK ||
- ret = mi_lttng_writer_write_element_string(writer,
- mi_lttng_element_event_rule_name_pattern, name_pattern);
+ ret = mi_lttng_writer_write_element_string(
+ writer, mi_lttng_element_event_rule_name_pattern, name_pattern);
- ret = mi_lttng_writer_write_element_string(writer,
- mi_lttng_element_event_rule_filter_expression,
- filter);
+ ret = mi_lttng_writer_write_element_string(
+ writer, mi_lttng_element_event_rule_filter_expression, filter);
- ret = mi_lttng_writer_open_element(writer,
- mi_lttng_element_event_rule_user_tracepoint_name_pattern_exclusions);
+ ret = mi_lttng_writer_open_element(
+ writer,
+ mi_lttng_element_event_rule_user_tracepoint_name_pattern_exclusions);
- ret = mi_lttng_writer_write_element_string(writer,
- mi_lttng_element_event_rule_user_tracepoint_name_pattern_exclusion,
- exclusion);
+ ret = mi_lttng_writer_write_element_string(
+ writer,
+ mi_lttng_element_event_rule_user_tracepoint_name_pattern_exclusion,
+ exclusion);
tp_rule->parent.equal = lttng_event_rule_user_tracepoint_is_equal;
tp_rule->parent.destroy = lttng_event_rule_user_tracepoint_destroy;
tp_rule->parent.generate_filter_bytecode =
tp_rule->parent.equal = lttng_event_rule_user_tracepoint_is_equal;
tp_rule->parent.destroy = lttng_event_rule_user_tracepoint_destroy;
tp_rule->parent.generate_filter_bytecode =
- lttng_event_rule_user_tracepoint_generate_filter_bytecode;
- tp_rule->parent.get_filter =
- lttng_event_rule_user_tracepoint_get_internal_filter;
+ lttng_event_rule_user_tracepoint_generate_filter_bytecode;
+ tp_rule->parent.get_filter = lttng_event_rule_user_tracepoint_get_internal_filter;
- lttng_event_rule_user_tracepoint_get_internal_filter_bytecode;
- tp_rule->parent.generate_exclusions =
- lttng_event_rule_user_tracepoint_generate_exclusions;
+ lttng_event_rule_user_tracepoint_get_internal_filter_bytecode;
+ tp_rule->parent.generate_exclusions = lttng_event_rule_user_tracepoint_generate_exclusions;
tp_rule->parent.hash = lttng_event_rule_user_tracepoint_hash;
tp_rule->parent.mi_serialize = lttng_event_rule_user_tracepoint_mi_serialize;
tp_rule->parent.hash = lttng_event_rule_user_tracepoint_hash;
tp_rule->parent.mi_serialize = lttng_event_rule_user_tracepoint_mi_serialize;
/* Default pattern is '*'. */
status = lttng_event_rule_user_tracepoint_set_name_pattern(rule, "*");
/* Default pattern is '*'. */
status = lttng_event_rule_user_tracepoint_set_name_pattern(rule, "*");
-ssize_t lttng_event_rule_user_tracepoint_create_from_payload(
- struct lttng_payload_view *view,
- struct lttng_event_rule **_event_rule)
+ssize_t lttng_event_rule_user_tracepoint_create_from_payload(struct lttng_payload_view *view,
+ struct lttng_event_rule **_event_rule)
- current_buffer_view = lttng_buffer_view_from_view(
- &view->buffer, offset, sizeof(*tracepoint_comm));
+ current_buffer_view =
+ lttng_buffer_view_from_view(&view->buffer, offset, sizeof(*tracepoint_comm));
if (!lttng_buffer_view_is_valid(¤t_buffer_view)) {
ERR("Failed to initialize from malformed event rule tracepoint: buffer too short to contain header.");
ret = -1;
if (!lttng_buffer_view_is_valid(¤t_buffer_view)) {
ERR("Failed to initialize from malformed event rule tracepoint: buffer too short to contain header.");
ret = -1;
- current_buffer_view = lttng_buffer_view_from_view(
- &view->buffer, offset, tracepoint_comm->pattern_len);
+ current_buffer_view =
+ lttng_buffer_view_from_view(&view->buffer, offset, tracepoint_comm->pattern_len);
- if (!lttng_buffer_view_contains_string(¤t_buffer_view, pattern,
- tracepoint_comm->pattern_len)) {
+ if (!lttng_buffer_view_contains_string(
+ ¤t_buffer_view, pattern, tracepoint_comm->pattern_len)) {
- current_buffer_view = lttng_buffer_view_from_view(&view->buffer, offset,
- tracepoint_comm->filter_expression_len);
+ current_buffer_view = lttng_buffer_view_from_view(
+ &view->buffer, offset, tracepoint_comm->filter_expression_len);
filter_expression = current_buffer_view.data;
if (!lttng_buffer_view_contains_string(¤t_buffer_view,
filter_expression = current_buffer_view.data;
if (!lttng_buffer_view_contains_string(¤t_buffer_view,
- struct lttng_payload_view current_payload_view =
- lttng_payload_view_from_view(view, offset,
- tracepoint_comm->log_level_rule_len);
+ struct lttng_payload_view current_payload_view = lttng_payload_view_from_view(
+ view, offset, tracepoint_comm->log_level_rule_len);
- current_buffer_view = lttng_buffer_view_from_view(
- &view->buffer, offset, sizeof(*exclusion_len));
+ current_buffer_view =
+ lttng_buffer_view_from_view(&view->buffer, offset, sizeof(*exclusion_len));
- current_buffer_view = lttng_buffer_view_from_view(
- &view->buffer, offset, *exclusion_len);
+ current_buffer_view =
+ lttng_buffer_view_from_view(&view->buffer, offset, *exclusion_len);
- if (!lttng_buffer_view_contains_string(¤t_buffer_view,
- exclusion, *exclusion_len)) {
+ if (!lttng_buffer_view_contains_string(
+ ¤t_buffer_view, exclusion, *exclusion_len)) {
if (status != LTTNG_EVENT_RULE_STATUS_OK) {
ERR("Failed to add event rule user tracepoint exclusion \"%s\".",
if (status != LTTNG_EVENT_RULE_STATUS_OK) {
ERR("Failed to add event rule user tracepoint exclusion \"%s\".",
if (status != LTTNG_EVENT_RULE_STATUS_OK) {
ERR("Failed to set event rule user tracepoint pattern.");
ret = -1;
if (status != LTTNG_EVENT_RULE_STATUS_OK) {
ERR("Failed to set event rule user tracepoint pattern.");
ret = -1;
if (status != LTTNG_EVENT_RULE_STATUS_OK) {
ERR("Failed to set event rule user tracepoint log level rule.");
ret = -1;
if (status != LTTNG_EVENT_RULE_STATUS_OK) {
ERR("Failed to set event rule user tracepoint log level rule.");
ret = -1;
-enum lttng_event_rule_status lttng_event_rule_user_tracepoint_set_name_pattern(
- struct lttng_event_rule *rule, const char *pattern)
+enum lttng_event_rule_status
+lttng_event_rule_user_tracepoint_set_name_pattern(struct lttng_event_rule *rule,
+ const char *pattern)
{
char *pattern_copy = NULL;
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
{
char *pattern_copy = NULL;
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
-enum lttng_event_rule_status lttng_event_rule_user_tracepoint_get_name_pattern(
- const struct lttng_event_rule *rule, const char **pattern)
+enum lttng_event_rule_status
+lttng_event_rule_user_tracepoint_get_name_pattern(const struct lttng_event_rule *rule,
+ const char **pattern)
{
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
{
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
-enum lttng_event_rule_status lttng_event_rule_user_tracepoint_set_filter(
- struct lttng_event_rule *rule, const char *expression)
+enum lttng_event_rule_status
+lttng_event_rule_user_tracepoint_set_filter(struct lttng_event_rule *rule, const char *expression)
{
char *expression_copy = NULL;
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
if (!rule || !IS_USER_TRACEPOINT_EVENT_RULE(rule) || !expression ||
{
char *expression_copy = NULL;
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
if (!rule || !IS_USER_TRACEPOINT_EVENT_RULE(rule) || !expression ||
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
-enum lttng_event_rule_status lttng_event_rule_user_tracepoint_get_filter(
- const struct lttng_event_rule *rule, const char **expression)
+enum lttng_event_rule_status
+lttng_event_rule_user_tracepoint_get_filter(const struct lttng_event_rule *rule,
+ const char **expression)
{
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
{
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
status = lttng_log_level_rule_exactly_get_level(rule, &level);
break;
case LTTNG_LOG_LEVEL_RULE_TYPE_AT_LEAST_AS_SEVERE_AS:
status = lttng_log_level_rule_exactly_get_level(rule, &level);
break;
case LTTNG_LOG_LEVEL_RULE_TYPE_AT_LEAST_AS_SEVERE_AS:
{
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
{
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
{
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
{
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
-enum lttng_event_rule_status lttng_event_rule_user_tracepoint_add_name_pattern_exclusion(
- struct lttng_event_rule *rule,
- const char *exclusion)
+enum lttng_event_rule_status
+lttng_event_rule_user_tracepoint_add_name_pattern_exclusion(struct lttng_event_rule *rule,
+ const char *exclusion)
{
int ret;
char *exclusion_copy = NULL;
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
{
int ret;
char *exclusion_copy = NULL;
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
{
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
{
struct lttng_event_rule_user_tracepoint *tracepoint;
enum lttng_event_rule_status status = LTTNG_EVENT_RULE_STATUS_OK;
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);
*count = lttng_dynamic_pointer_array_get_count(&tracepoint->exclusions);
end:
return status;
}
enum lttng_event_rule_status lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
*count = lttng_dynamic_pointer_array_get_count(&tracepoint->exclusions);
end:
return status;
}
enum lttng_event_rule_status lttng_event_rule_user_tracepoint_get_name_pattern_exclusion_at_index(
- const struct lttng_event_rule *rule,
- unsigned int index,
- const char **exclusion)
+ const struct lttng_event_rule *rule, unsigned int index, const char **exclusion)
- tracepoint = container_of(
- rule, struct lttng_event_rule_user_tracepoint, parent);
+ tracepoint = lttng::utils::container_of(rule, <tng_event_rule_user_tracepoint::parent);