libringbuffer: implement event too big API
[lttng-modules.git] / lttng-events.h
index 1b4f39c40ce22060e068f13bf31754acc738faeb..fe7628473c2afa7a7c55590379624160ebbbc0a9 100644 (file)
@@ -27,9 +27,9 @@
 #include <linux/list.h>
 #include <linux/kprobes.h>
 #include <linux/kref.h>
-#include "wrapper/uuid.h"
-#include "lttng-abi.h"
-#include "lttng-abi-old.h"
+#include <wrapper/uuid.h>
+#include <lttng-abi.h>
+#include <lttng-abi-old.h>
 
 #define lttng_is_signed_type(type)     (((type)(-1)) < 0)
 
@@ -43,17 +43,18 @@ struct lib_ring_buffer_config;
 
 /* Type description */
 
-/* Update the astract_types name table in lttng-types.c along with this enum */
 enum abstract_types {
        atype_integer,
        atype_enum,
        atype_array,
        atype_sequence,
        atype_string,
+       atype_struct,
+       atype_array_compound,           /* Array of compound types. */
+       atype_sequence_compound,        /* Sequence of compound types. */
        NR_ABSTRACT_TYPES,
 };
 
-/* Update the string_encodings name table in lttng-types.c along with this enum */
 enum lttng_string_encodings {
        lttng_encode_none = 0,
        lttng_encode_UTF8 = 1,
@@ -126,6 +127,18 @@ struct lttng_type {
                        struct lttng_basic_type elem_type;
                        unsigned int elem_alignment;    /* alignment override */
                } sequence;
+               struct {
+                       uint32_t nr_fields;
+                       struct lttng_event_field *fields; /* Array of fields. */
+               } _struct;
+               struct {
+                       struct lttng_type *elem_type;
+                       unsigned int length;            /* num. elems. */
+               } array_compound;
+               struct {
+                       struct lttng_type *elem_type;
+                       const char *length_name;
+               } sequence_compound;
        } u;
 };
 
This page took 0.023727 seconds and 4 git commands to generate.