X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=probes%2Flttng-types.h;h=75853ee63319ccd28e0eb41ec9182a4ae9517b2a;hb=4e1f08f47c1837b09af74712c299c5169496591a;hp=5f55ef6a8f57ab6db02f6cd1d5c07ce1aa6fef85;hpb=40652b65bb2b500ea04eaa61c3dfcfaa719073be;p=lttng-modules.git diff --git a/probes/lttng-types.h b/probes/lttng-types.h index 5f55ef6a..75853ee6 100644 --- a/probes/lttng-types.h +++ b/probes/lttng-types.h @@ -5,48 +5,14 @@ #ifndef _LTTNG_PROBES_LTTNG_TYPES_H #define _LTTNG_PROBES_LTTNG_TYPES_H -#include - -enum abstract_types { - atype_integer, - atype_enum, - atype_array, - NR_ABSTRACT_TYPES, -}; - -struct lttng_enum_entry { - unsigned long long start, end; /* start and end are inclusive */ - const char *string; -}; - -struct lttng_enum { - const struct lttng_enum_entry *entries; - unsigned int len; -}; - -struct lttng_type { - enum abstract_types atype; - const char *name; - union { - struct { - unsigned int size; /* in bits */ - unsigned short alignment; /* in bits */ - unsigned int signedness:1; - } integer; - struct { - const char *parent_type; - const struct lttng_enum def; - } enumeration; - struct { - const char *elem_type; - unsigned int length; /* num. elems. */ - } array; - } u; -} __attribute__((packed)); +#include +#include "lttng.h" +#include "../ltt-events.h" +#include "../ltt-tracer.h" +#include "../ltt-endian.h" #endif /* _LTTNG_PROBES_LTTNG_TYPES_H */ - /* Export enumerations */ #ifdef STAGE_EXPORT_ENUMS @@ -76,33 +42,13 @@ struct lttng_type { #ifdef STAGE_EXPORT_TYPES -#undef TRACE_EVENT_TYPE___integer -#define TRACE_EVENT_TYPE___integer(_name, _unused) \ - { \ - .atype = atype_integer, \ - .name = #_name, \ - .u.integer.size = sizeof(_name) * 8, \ - .u.integer.alignment = __alignof__(_name) * 8,\ - .u.integer.signedness = is_signed_type(_name),\ - }, - #undef TRACE_EVENT_TYPE___enum -#define TRACE_EVENT_TYPE___enum(_name, _parent_type) \ - { \ - .atype = atype_enum, \ - .name = #_name, \ - .u.enumeration.parent_type = #_parent_type, \ - .u.enumeration.def.entries = __trace_event_enum_##_name, \ - .u.enumeration.def.len = ARRAY_SIZE(__trace_event_enum_##_name), \ - }, - -#undef TRACE_EVENT_TYPE___array -#define TRACE_EVENT_TYPE___array(_name, _elem_type, _length) \ - { \ - .atype = atype_array, \ - .name = #_name, \ - .u.array.elem_type = #_elem_type, \ - .u.array.length = _length, \ +#define TRACE_EVENT_TYPE___enum(_name, _container_type) \ + { \ + .name = #_name, \ + .container_type = __type_integer(_container_type, __BYTE_ORDER, 10), \ + .entries = __trace_event_enum_##_name, \ + .len = ARRAY_SIZE(__trace_event_enum_##_name), \ }, /* Local declaration */