#include <lttng/abi-old.h>
#include <lttng/endian.h>
-#define lttng_is_signed_type(type) (((type)(-1)) < 0)
+#define lttng_is_signed_type(type) (((type) -1) < (type) 1)
struct lttng_channel;
struct lttng_session;
/* Type description */
-enum abstract_types {
- atype_integer,
- atype_string,
- atype_enum_nestable,
- atype_array_nestable,
- atype_sequence_nestable,
- atype_struct_nestable,
- atype_variant_nestable,
- NR_ABSTRACT_TYPES,
+enum lttng_kernel_type {
+ lttng_kernel_type_integer,
+ lttng_kernel_type_string,
+ lttng_kernel_type_enum_nestable,
+ lttng_kernel_type_array_nestable,
+ lttng_kernel_type_sequence_nestable,
+ lttng_kernel_type_struct_nestable,
+ lttng_kernel_type_variant_nestable,
+ NR_LTTNG_KERNEL_TYPES,
};
enum lttng_string_encodings {
#define __type_integer(_type, _size, _alignment, _signedness, \
_byte_order, _base, _encoding) \
{ \
- .atype = atype_integer, \
+ .type = lttng_kernel_type_integer, \
.u.integer = \
{ \
.size = (_size) ? : sizeof(_type) * CHAR_BIT, \
};
struct lttng_type {
- enum abstract_types atype;
+ enum lttng_kernel_type type;
union {
struct lttng_integer_type integer;
struct {
int has_enablers_without_bytecode;
};
+struct lttng_kernel_notifier_ctx {
+ int eval_capture;
+};
+
// FIXME: Really similar to lttng_event above. Could those be merged ?
struct lttng_event_notifier {
enum lttng_event_type evtype; /* First field. */
size_t num_captures;
struct list_head capture_bytecode_runtime_head;
int has_enablers_without_bytecode;
+ int eval_capture; /* Should evaluate capture */
void (*send_notification)(struct lttng_event_notifier *event_notifier,
struct lttng_probe_ctx *lttng_probe_ctx,
- const char *interpreter_stack_data);
+ const char *interpreter_stack_data,
+ struct lttng_kernel_notifier_ctx *notif_ctx);
struct lttng_event_notifier_group *group; /* Weak ref */
};
static inline bool lttng_is_bytewise_integer(const struct lttng_type *type)
{
- if (type->atype != atype_integer)
+ if (type->type != lttng_kernel_type_integer)
return false;
switch (type->u.integer.size) {
case 8: /* Fall-through. */