#undef ctf_sequence_nowrite
#define ctf_sequence_nowrite(_type, _item, _src, _length_type, _src_length) \
_ctf_sequence_encoded(_type, _item, _src, \
- _length_type, _src_length, none, 1)
+ _length_type, _src_length, none, 1, 10)
+
+#undef ctf_sequence_nowrite_hex
+#define ctf_sequence_nowrite_hex(_type, _item, _src, _length_type, _src_length) \
+ _ctf_sequence_encoded(_type, _item, _src, \
+ _length_type, _src_length, none, 1, 16)
#undef ctf_sequence_text_nowrite
#define ctf_sequence_text_nowrite(_type, _item, _src, _length_type, _src_length) \
_ctf_sequence_encoded(_type, _item, _src, \
- _length_type, _src_length, UTF8, 1)
+ _length_type, _src_length, UTF8, 1, 10)
#undef ctf_string_nowrite
#define ctf_string_nowrite(_item, _src) \
#undef ctf_sequence
#define ctf_sequence(_type, _item, _src, _length_type, _src_length) \
_ctf_sequence_encoded(_type, _item, _src, \
- _length_type, _src_length, none, 0)
+ _length_type, _src_length, none, 0, 10)
+
+#undef ctf_sequence_hex
+#define ctf_sequence_hex(_type, _item, _src, _length_type, _src_length) \
+ _ctf_sequence_encoded(_type, _item, _src, \
+ _length_type, _src_length, none, 0, 16)
#undef ctf_sequence_text
#define ctf_sequence_text(_type, _item, _src, _length_type, _src_length) \
_ctf_sequence_encoded(_type, _item, _src, \
- _length_type, _src_length, UTF8, 0)
+ _length_type, _src_length, UTF8, 0, 10)
#undef ctf_string
#define ctf_string(_item, _src) \
},
#undef _ctf_sequence_encoded
-#define _ctf_sequence_encoded(_type, _item, _src, \
- _length_type, _src_length, _encoding, _nowrite) \
+#define _ctf_sequence_encoded(_type, _item, _src, \
+ _length_type, _src_length, _encoding, _nowrite, \
+ _elem_type_base) \
{ \
.name = #_item, \
.type = \
.sequence = \
{ \
.length_type = __type_integer(_length_type, BYTE_ORDER, 10, none), \
- .elem_type = __type_integer(_type, BYTE_ORDER, 10, _encoding), \
+ .elem_type = __type_integer(_type, BYTE_ORDER, _elem_type_base, _encoding), \
}, \
}, \
}, \
__event_len += sizeof(_type) * (_length);
#undef _ctf_sequence_encoded
-#define _ctf_sequence_encoded(_type, _item, _src, _length_type, \
- _src_length, _encoding, _nowrite) \
+#define _ctf_sequence_encoded(_type, _item, _src, _length_type, \
+ _src_length, _encoding, _nowrite, _elem_type_base) \
__event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_length_type)); \
__event_len += sizeof(_length_type); \
__event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_type)); \
#undef _ctf_sequence_encoded
#define _ctf_sequence_encoded(_type, _item, _src, _length_type, \
- _src_length, _encoding, _nowrite) \
+ _src_length, _encoding, _nowrite, _elem_type_base) \
{ \
unsigned long __ctf_tmp_ulong = (unsigned long) (_src_length); \
const void *__ctf_tmp_ptr = (_src); \
__event_align = _tp_max_t(size_t, __event_align, lttng_alignof(_type));
#undef _ctf_sequence_encoded
-#define _ctf_sequence_encoded(_type, _item, _src, _length_type, \
- _src_length, _encoding, _nowrite) \
+#define _ctf_sequence_encoded(_type, _item, _src, _length_type, \
+ _src_length, _encoding, _nowrite, _elem_type_base) \
__event_align = _tp_max_t(size_t, __event_align, lttng_alignof(_length_type)); \
__event_align = _tp_max_t(size_t, __event_align, lttng_alignof(_type));
#undef _ctf_sequence_encoded
#define _ctf_sequence_encoded(_type, _item, _src, _length_type, \
- _src_length, _encoding, _nowrite) \
+ _src_length, _encoding, _nowrite, _elem_type_base) \
{ \
_length_type __tmpl = __stackvar.__dynamic_len[__dynamic_len_idx]; \
lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_length_type));\