#include <lttng-abi.h>
#include <lttng-abi-old.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;
};
#define __type_integer(_type, _size, _alignment, _signedness, \
- _byte_order, _base, _encoding) \
+ _byte_order, _user, _base, _encoding) \
{ \
.atype = atype_integer, \
.u.basic.integer = \
.size = (_size) ? : sizeof(_type) * CHAR_BIT, \
.alignment = (_alignment) ? : lttng_alignof(_type) * CHAR_BIT, \
.signedness = (_signedness) >= 0 ? (_signedness) : lttng_is_signed_type(_type), \
- .reverse_byte_order = _byte_order != __BYTE_ORDER, \
- .base = _base, \
+ .reverse_byte_order = (_byte_order) != __BYTE_ORDER, \
+ .base = (_base), \
+ .user = (_user), \
.encoding = lttng_encode_##_encoding, \
}, \
} \
unsigned int size; /* in bits */
unsigned short alignment; /* in bits */
unsigned int signedness:1,
- reverse_byte_order:1;
+ reverse_byte_order:1,
+ user:1; /* fetch from user-space */
unsigned int base; /* 2, 8, 10, 16, for pretty print */
enum lttng_string_encodings encoding;
};
} enumeration;
struct {
enum lttng_string_encodings encoding;
+ unsigned int user:1; /* fetch from user-space */
} string;
};
struct lttng_event_field {
const char *name;
struct lttng_type type;
- unsigned int nowrite:1, /* do not write into trace */
- user:1; /* fetch from user-space */
+ unsigned int nowrite:1; /* do not write into trace */
};
union lttng_ctx_value {
}
static inline int lttng_syscall_filter_enable(struct lttng_channel *chan,
- struct lttng_event *event);
+ struct lttng_event *event)
{
return -ENOSYS;
}
static inline int lttng_syscall_filter_disable(struct lttng_channel *chan,
- struct lttng_event *event);
+ struct lttng_event *event)
{
return -ENOSYS;
}
struct lttng_kernel_filter_bytecode __user *bytecode);
void lttng_enabler_event_link_bytecode(struct lttng_event *event,
struct lttng_enabler *enabler);
+void lttng_free_event_filter_runtime(struct lttng_event *event);
int lttng_probes_init(void);