#include <lttng/events.h>
void lttng_event_notifier_notification_send(struct lttng_kernel_event_notifier *event_notifier,
- struct lttng_probe_ctx *probe_ctx,
const char *stack_data,
+ struct lttng_probe_ctx *probe_ctx,
struct lttng_kernel_notification_ctx *notif_ctx);
#endif /* _LTTNG_EVENT_NOTIFIER_NOTIFICATION_H */
struct lttng_probe_ctx *lttng_probe_ctx,
const char *filter_stack_data);
uint64_t (*capture)(void *filter_data,
- struct lttng_probe_ctx *lttng_probe_ctx,
const char *capture_stack_data,
+ struct lttng_probe_ctx *lttng_probe_ctx,
struct lttng_interpreter_output *output);
} interpreter_funcs;
int link_failed;
int eval_capture; /* Need to evaluate capture */
void (*notification_send)(struct lttng_kernel_event_notifier *event_notifier,
- struct lttng_probe_ctx *probe_ctx,
const char *stack_data,
+ struct lttng_probe_ctx *probe_ctx,
struct lttng_kernel_notification_ctx *notif_ctx);
};
const char *filter_stack_data);
uint64_t lttng_bytecode_capture_interpret_false(void *capture_data,
- struct lttng_probe_ctx *lttng_probe_ctx,
const char *capture_stack_data,
+ struct lttng_probe_ctx *lttng_probe_ctx,
struct lttng_interpreter_output *output);
uint64_t lttng_bytecode_capture_interpret(void *capture_data,
- struct lttng_probe_ctx *lttng_probe_ctx,
const char *capture_stack_data,
+ struct lttng_probe_ctx *lttng_probe_ctx,
struct lttng_interpreter_output *output);
#endif /* _LTTNG_FILTER_H */
goto __post; \
} \
__event_align = __event_get_align__##_name(_locvar_args); \
- lib_ring_buffer_ctx_init(&__ctx, __chan->chan, &__lttng_probe_ctx, __event_len, \
- __event_align, -1); \
+ lib_ring_buffer_ctx_init(&__ctx, __chan->chan, __event_len, \
+ __event_align, -1, &__lttng_probe_ctx); \
__ret = __chan->ops->event_reserve(&__ctx, __event_recorder->priv->id); \
if (__ret < 0) \
goto __post; \
_locvar_args); \
\
__event_notifier->notification_send(__event_notifier, \
- &__lttng_probe_ctx, \
__stackvar.__interpreter_stack_data, \
+ &__lttng_probe_ctx, \
&__notif_ctx); \
break; \
} \
*/
static inline
void lib_ring_buffer_ctx_init(struct lib_ring_buffer_ctx *ctx,
- struct channel *chan, void *priv,
+ struct channel *chan,
size_t data_size, int largest_align,
- int cpu)
+ int cpu, void *priv)
{
ctx->chan = chan;
ctx->priv = priv;
}
uint64_t lttng_bytecode_capture_interpret_false(void *filter_data,
- struct lttng_probe_ctx *lttng_probe_ctx,
const char *capture_stack_data,
+ struct lttng_probe_ctx *lttng_probe_ctx,
struct lttng_interpreter_output *output)
{
return LTTNG_INTERPRETER_DISCARD;
*/
static
uint64_t bytecode_interpret(void *interpreter_data,
- struct lttng_probe_ctx *lttng_probe_ctx,
const char *interpreter_stack_data,
+ struct lttng_probe_ctx *lttng_probe_ctx,
struct lttng_interpreter_output *output)
{
struct bytecode_runtime *bytecode = interpreter_data;
struct lttng_probe_ctx *lttng_probe_ctx,
const char *filter_stack_data)
{
- return bytecode_interpret(filter_data, lttng_probe_ctx,
- filter_stack_data, NULL);
+ return bytecode_interpret(filter_data,
+ filter_stack_data, lttng_probe_ctx, NULL);
}
uint64_t lttng_bytecode_capture_interpret(void *capture_data,
- struct lttng_probe_ctx *lttng_probe_ctx,
const char *capture_stack_data,
+ struct lttng_probe_ctx *lttng_probe_ctx,
struct lttng_interpreter_output *output)
{
- return bytecode_interpret(capture_data, lttng_probe_ctx,
- capture_stack_data, output);
+ return bytecode_interpret(capture_data,
+ capture_stack_data, lttng_probe_ctx, output);
}
#undef START_OP
}
void lttng_event_notifier_notification_send(struct lttng_kernel_event_notifier *event_notifier,
- struct lttng_probe_ctx *probe_ctx,
const char *stack_data,
+ struct lttng_probe_ctx *probe_ctx,
struct lttng_kernel_notification_ctx *notif_ctx)
{
struct lttng_event_notifier_notification notif = { 0 };
&event_notifier->priv->capture_bytecode_runtime_head, node) {
struct lttng_interpreter_output output;
- if (capture_bc_runtime->interpreter_funcs.capture(capture_bc_runtime, probe_ctx,
- stack_data, &output) & LTTNG_INTERPRETER_RECORD_FLAG)
+ if (capture_bc_runtime->interpreter_funcs.capture(capture_bc_runtime,
+ stack_data, probe_ctx, &output) & LTTNG_INTERPRETER_RECORD_FLAG)
ret = notification_append_capture(¬if, &output);
else
ret = notification_append_empty_capture(¬if);
reserve_len = min_t(size_t,
stream->transport->ops.packet_avail_size(chan),
len);
- lib_ring_buffer_ctx_init(&ctx, chan, NULL, reserve_len,
- sizeof(char), -1);
+ lib_ring_buffer_ctx_init(&ctx, chan, reserve_len,
+ sizeof(char), -1, NULL);
/*
* If reservation failed, return an error to the caller.
*/
struct lib_ring_buffer_ctx ctx;
int ret;
- lib_ring_buffer_ctx_init(&ctx, chan->chan, <tng_probe_ctx, sizeof(data),
- lttng_alignof(data), -1);
+ lib_ring_buffer_ctx_init(&ctx, chan->chan, sizeof(data),
+ lttng_alignof(data), -1, <tng_probe_ctx);
ret = chan->ops->event_reserve(&ctx, event_recorder->priv->id);
if (ret < 0)
return 0;
payload.ip = (unsigned long) lttng_get_kretprobe(krpi)->kp.addr;
payload.parent_ip = (unsigned long) krpi->ret_addr;
- lib_ring_buffer_ctx_init(&ctx, chan->chan, <tng_probe_ctx, sizeof(payload),
- lttng_alignof(payload), -1);
+ lib_ring_buffer_ctx_init(&ctx, chan->chan, sizeof(payload),
+ lttng_alignof(payload), -1, <tng_probe_ctx);
ret = chan->ops->event_reserve(&ctx, event_recorder->priv->id);
if (ret < 0)
return 0;
struct lib_ring_buffer_ctx ctx;
int ret;
- lib_ring_buffer_ctx_init(&ctx, chan->chan, <tng_probe_ctx,
- sizeof(payload), lttng_alignof(payload), -1);
+ lib_ring_buffer_ctx_init(&ctx, chan->chan,
+ sizeof(payload), lttng_alignof(payload), -1, <tng_probe_ctx);
ret = chan->ops->event_reserve(&ctx, event_recorder->priv->id);
if (ret < 0)