1 #ifndef BABELTRACE2_TRACE_IR_FIELD_CLASS_H
2 #define BABELTRACE2_TRACE_IR_FIELD_CLASS_H
26 #ifndef __BT_IN_BABELTRACE_H
27 # error "Please include <babeltrace2/babeltrace.h> instead."
33 #include <babeltrace2/types.h>
1494 __BT_FIELD_CLASS_TYPE_BIG_VALUE = 1ULL << 62,
1545 return (type & other_type) == other_type;
2345 bt_field_class_enumeration_mapping_label_array *labels,
2610 bt_field_class_enumeration_mapping_label_array *labels,
4583 #define BT_FIELD_CLASS_PUT_REF_AND_RESET(_field_class) \
4585 bt_field_class_put_ref(_field_class); \
4586 (_field_class) = NULL; \
4614 #define BT_FIELD_CLASS_MOVE_REF(_dst, _src) \
4616 bt_field_class_put_ref(_dst); \
void bt_field_class_get_ref(const bt_field_class *field_class)
Increments the reference count of the field class field_class.
bt_field_class * bt_field_class_option_without_selector_create(bt_trace_class *trace_class, bt_field_class *optional_field_class)
Creates an option field class (without a selector field) having the optional field class optional_fie...
const bt_field_path * bt_field_class_array_dynamic_with_length_field_borrow_length_field_path_const(const bt_field_class *field_class)
Borrows the length field path from the dynamic array field class (with a length field) field_class...
bt_field_class_enumeration_add_mapping_status bt_field_class_enumeration_unsigned_add_mapping(bt_field_class *field_class, const char *label, const bt_integer_range_set_unsigned *ranges)
Adds a mapping to the unsigned enumeration field class field_class having the label label and the uns...
const bt_field_class_variant_option * bt_field_class_variant_borrow_option_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the option at index index from the variant field class field_class (const version)...
bt_value * bt_field_class_structure_member_borrow_user_attributes(bt_field_class_structure_member *member)
Borrows the user attributes of the structure field class member member.
void bt_field_class_structure_member_set_user_attributes(bt_field_class_structure_member *member, const bt_value *user_attributes)
Sets the user attributes of the structure field class member member to user_attributes.
struct bt_integer_range_set_unsigned bt_integer_range_set_unsigned
Set of unsigned 64-bit integer ranges.
Definition: types.h:67
bt_field_class * bt_field_class_integer_signed_create(bt_trace_class *trace_class)
Creates an signed integer field class from the trace class trace_class.
Variant field class.
Definition: field-class.h:1438
Binary (2).
Definition: field-class.h:1804
Out of memory.
Definition: field-class.h:4046
bt_field_class_integer_preferred_display_base
Integer field class preferred display bases.
Definition: field-class.h:1799
Out of memory.
Definition: field-class.h:4111
const bt_field_class_variant_with_selector_field_integer_signed_option * bt_field_class_variant_with_selector_field_integer_signed_borrow_option_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the option at index index from the variant field class (with a signed integer selector field)...
const bt_value * bt_field_class_borrow_user_attributes_const(const bt_field_class *field_class)
Borrows the user attributes of the field class field_class (const version).
Boolean field class.
Definition: field-class.h:1221
bt_field_class_enumeration_get_mapping_labels_for_value_status bt_field_class_enumeration_unsigned_get_mapping_labels_for_value(const bt_field_class *field_class, uint64_t value, bt_field_class_enumeration_mapping_label_array *labels, uint64_t *count)
Returns an array of all the labels of the mappings of the unsigned enumeration field class field_clas...
Success.
Definition: field-class.h:2060
static const bt_field_class_variant_option * bt_field_class_variant_with_selector_field_integer_unsigned_option_as_option_const(const bt_field_class_variant_with_selector_field_integer_unsigned_option *option)
Upcasts the variant field class (with an unsigned integer selector field) option option to the common...
Definition: field-class.h:4330
Signed enumeration field class.
Definition: field-class.h:1281
struct bt_field_class_variant_with_selector_field_integer_signed_option bt_field_class_variant_with_selector_field_integer_signed_option
Variant field class (with a signed integer selector field) option.
Definition: types.h:60
const bt_field_class * bt_field_class_option_borrow_field_class_const(const bt_field_class *field_class)
Borrows the optional field class from the option field class field_class (const version).
const char * bt_field_class_structure_member_get_name(const bt_field_class_structure_member *member)
Returns the name of the structure field class member member.
const bt_integer_range_set_unsigned * bt_field_class_option_with_selector_field_integer_unsigned_borrow_selector_ranges_const(const bt_field_class *field_class)
Borrows the unsigned integer ranges from the option field class (with an unsigned integer selector fi...
const char * bt_field_class_enumeration_mapping_get_label(const bt_field_class_enumeration_mapping *mapping)
Returns the label of the enumeration field class mapping mapping.
bt_field_class_variant_without_selector_append_option_status
Status codes for bt_field_class_variant_without_selector_append_option().
Definition: field-class.h:4035
Signed integer field class.
Definition: field-class.h:1252
const bt_field_class_enumeration_unsigned_mapping * bt_field_class_enumeration_unsigned_borrow_mapping_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the mapping at index index from the unsigned enumeration field class field_class.
struct bt_field_path bt_field_path
Field path.
Definition: types.h:62
Real field class.
Definition: field-class.h:1290
bt_field_class_enumeration_add_mapping_status bt_field_class_enumeration_signed_add_mapping(bt_field_class *field_class, const char *label, const bt_integer_range_set_signed *ranges)
Adds a mapping to the signed enumeration field class field_class having the label label and the signe...
const bt_integer_range_set_unsigned * bt_field_class_variant_with_selector_field_integer_unsigned_option_borrow_ranges_const(const bt_field_class_variant_with_selector_field_integer_unsigned_option *option)
Borrows the unsigned integer ranges from the variant field class (with an unsigned integer selector f...
Success.
Definition: field-class.h:4040
uint64_t bt_field_class_bit_array_get_length(const bt_field_class *field_class)
Returns the length of the bit array field class field_class.
bt_field_class_type bt_field_class_get_type(const bt_field_class *field_class)
Returns the type enumerator of the field class field_class.
uint64_t bt_field_class_variant_get_option_count(const bt_field_class *field_class)
Returns the number of options contained in the variant field class field_class.
Double-precision real field class.
Definition: field-class.h:1306
const bt_field_class * bt_field_class_variant_option_borrow_field_class_const(const bt_field_class_variant_option *option)
Borrows the field class from the variant field class option option (const version).
void bt_field_class_integer_set_field_value_range(bt_field_class *field_class, uint64_t n)
Sets the field value range of the integer field class field_class to n.
bt_field_class_variant_option * bt_field_class_variant_borrow_option_by_name(bt_field_class *field_class, const char *name)
Borrows the option having the name name from the variant field class field_class. ...
const char * bt_field_class_variant_option_get_name(const bt_field_class_variant_option *option)
Returns the name of the variant field class option option.
Array field class.
Definition: field-class.h:1327
const bt_integer_range_set_signed * bt_field_class_variant_with_selector_field_integer_signed_option_borrow_ranges_const(const bt_field_class_variant_with_selector_field_integer_signed_option *option)
Borrows the signed integer ranges from the variant field class (with a signed integer selector field)...
Success.
Definition: field-class.h:2972
struct bt_field_class bt_field_class
Field class.
Definition: types.h:54
bt_field_class * bt_field_class_array_static_create(bt_trace_class *trace_class, bt_field_class *element_field_class, uint64_t length)
Creates a static array field class having the element field class element_field_class and the length ...
Structure field class.
Definition: field-class.h:1318
Variant field class (with an integer selector field).
Definition: field-class.h:1468
uint64_t bt_field_class_enumeration_get_mapping_count(const bt_field_class *field_class)
Returns the number of mappings contained in the enumeration field class field_class.
Static array field class.
Definition: field-class.h:1335
Unsigned enumeration field class.
Definition: field-class.h:1272
bt_field_class_integer_preferred_display_base bt_field_class_integer_get_preferred_display_base(const bt_field_class *field_class)
Returns the preferred display base of the integer field class field_class.
Integer field class.
Definition: field-class.h:1236
const bt_integer_range_set_signed * bt_field_class_enumeration_signed_mapping_borrow_ranges_const(const bt_field_class_enumeration_signed_mapping *mapping)
Borrows the signed integer ranges from the signed enumeration field class mapping mapping...
const bt_integer_range_set_unsigned * bt_field_class_enumeration_unsigned_mapping_borrow_ranges_const(const bt_field_class_enumeration_unsigned_mapping *mapping)
Borrows the unsigned integer ranges from the unsigned enumeration field class mapping mapping...
bt_field_class * bt_field_class_option_with_selector_field_integer_unsigned_create(bt_trace_class *trace_class, bt_field_class *optional_field_class, bt_field_class *selector_field_class, const bt_integer_range_set_unsigned *ranges)
Creates an option field class (with an unsigned integer selector field) having the optional field cla...
const bt_field_class * bt_field_class_array_borrow_element_field_class_const(const bt_field_class *field_class)
Borrows the element field class from the array field class field_class (const version).
bt_field_class * bt_field_class_option_borrow_field_class(bt_field_class *field_class)
Borrows the optional field class from the option field class field_class.
const bt_field_class_enumeration_signed_mapping * bt_field_class_enumeration_signed_borrow_mapping_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the mapping at index index from the signed enumeration field class field_class.
Dynamic array field class (without a length field).
Definition: field-class.h:1355
void bt_field_class_option_with_selector_field_bool_set_selector_is_reversed(bt_field_class *field_class, bt_bool selector_is_reversed)
Sets whether or not the selector of the option field class (with a boolean selector field) field_clas...
Option field class (with an unsigned integer selector field).
Definition: field-class.h:1420
bt_field_class_structure_member * bt_field_class_structure_borrow_member_by_index(bt_field_class *field_class, uint64_t index)
Borrows the member at index index from the structure field class field_class.
bt_field_class_variant_with_selector_field_integer_append_option_status bt_field_class_variant_with_selector_field_integer_unsigned_append_option(bt_field_class *field_class, const char *name, bt_field_class *option_field_class, const bt_integer_range_set_unsigned *ranges)
Appends an option to the variant field class (with an unsigned integer selector field) field_class ha...
Option field class (with a boolean selector field).
Definition: field-class.h:1399
const bt_field_class_enumeration_signed_mapping * bt_field_class_enumeration_signed_borrow_mapping_by_label_const(const bt_field_class *field_class, const char *label)
Borrows the mapping having the label label from the signed enumeration field class field_class...
void bt_field_class_set_user_attributes(bt_field_class *field_class, const bt_value *user_attributes)
Sets the user attributes of the field class field_class to user_attributes.
bt_field_class_type
Field class type enumerators.
Definition: field-class.h:1216
struct bt_field_class_structure_member bt_field_class_structure_member
Structure field class member.
Definition: types.h:58
const bt_field_class_structure_member * bt_field_class_structure_borrow_member_by_name_const(const bt_field_class *field_class, const char *name)
Borrows the member having the name name from the structure field class field_class (const version)...
Unsigned integer field class.
Definition: field-class.h:1244
bt_field_class_variant_with_selector_field_integer_append_option_status bt_field_class_variant_with_selector_field_integer_signed_append_option(bt_field_class *field_class, const char *name, bt_field_class *option_field_class, const bt_integer_range_set_signed *ranges)
Appends an option to the variant field class (with a signed integer selector field) field_class havin...
bt_field_class_variant_option * bt_field_class_variant_borrow_option_by_index(bt_field_class *field_class, uint64_t index)
Borrows the option at index index from the variant field class field_class.
static bt_bool bt_field_class_type_is(const bt_field_class_type type, const bt_field_class_type other_type)
Returns whether or not the field class type type conceptually is the field class type other_type...
Definition: field-class.h:1542
bt_value * bt_field_class_borrow_user_attributes(bt_field_class *field_class)
Borrows the user attributes of the field class field_class.
Option field class.
Definition: field-class.h:1373
Option field class (without a selector field).
Definition: field-class.h:1379
bt_value * bt_field_class_variant_option_borrow_user_attributes(bt_field_class_variant_option *option)
Borrows the user attributes of the variant field class option option.
Option field class (with a selector field).
Definition: field-class.h:1390
Out of memory.
Definition: field-class.h:2066
Decimal (10).
Definition: field-class.h:1816
uint64_t bt_field_class_integer_get_field_value_range(const bt_field_class *field_class)
Returns the field value range of the integer field class field_class.
Option field class (with an integer selector field).
Definition: field-class.h:1411
bt_field_class_variant_with_selector_field_integer_append_option_status
Status codes for bt_field_class_variant_with_selector_field_integer_unsigned_append_option() and bt_f...
Definition: field-class.h:4100
struct bt_field_class_variant_option bt_field_class_variant_option
Variant field class option.
Definition: types.h:59
const bt_field_class_variant_with_selector_field_integer_unsigned_option * bt_field_class_variant_with_selector_field_integer_unsigned_borrow_option_by_name_const(const bt_field_class *field_class, const char *name)
Borrows the option having the name name from the variant field class (with an unsigned integer select...
const bt_integer_range_set_signed * bt_field_class_option_with_selector_field_integer_signed_borrow_selector_ranges_const(const bt_field_class *field_class)
Borrows the signed integer ranges from the option field class (with a signed integer selector field) ...
static const bt_field_class_enumeration_mapping * bt_field_class_enumeration_signed_mapping_as_mapping_const(const bt_field_class_enumeration_signed_mapping *mapping)
Upcasts the signed enumeration field class mapping mapping to the common bt_field_class_enumeration_m...
Definition: field-class.h:2667
Hexadecimal (16).
Definition: field-class.h:1822
bt_bool bt_field_class_option_with_selector_field_bool_selector_is_reversed(const bt_field_class *field_class)
Returns whether or not the selector of the option field class (with a boolean selector field) is reve...
bt_field_class * bt_field_class_real_single_precision_create(bt_trace_class *trace_class)
Creates a single-precision real field class from the trace class trace_class.
struct bt_value bt_value
Value.
Definition: types.h:107
bt_field_class_enumeration_get_mapping_labels_for_value_status
Status codes for bt_field_class_enumeration_unsigned_get_mapping_labels_for_value() and bt_field_clas...
Definition: field-class.h:2055
Out of memory.
Definition: field-class.h:2978
bt_field_class_structure_append_member_status
Status codes for bt_field_class_structure_append_member().
Definition: field-class.h:2967
bt_field_class * bt_field_class_string_create(bt_trace_class *trace_class)
Creates a string field class from the trace class trace_class.
Option field class (with an unsigned integer selector field).
Definition: field-class.h:1477
Option field class (with a signed integer selector field).
Definition: field-class.h:1429
const bt_field_class_enumeration_unsigned_mapping * bt_field_class_enumeration_unsigned_borrow_mapping_by_label_const(const bt_field_class *field_class, const char *label)
Borrows the mapping having the label label from the unsigned enumeration field class field_class...
Variant field class (with a selector field).
Definition: field-class.h:1456
const bt_field_path * bt_field_class_variant_with_selector_field_borrow_selector_field_path_const(const bt_field_class *field_class)
Borrows the selector field path from the variant field class (with a selector field) field_class...
bt_field_class * bt_field_class_structure_member_borrow_field_class(bt_field_class_structure_member *member)
Borrows the field class from the structure field class member member.
int bt_bool
Babeltrace 2 boolean type.
Definition: types.h:140
Variant field class (without a selector field).
Definition: field-class.h:1444
struct bt_integer_range_set_signed bt_integer_range_set_signed
Set of signed 64-bit integer ranges.
Definition: types.h:66
Octal (8).
Definition: field-class.h:1810
const bt_value * bt_field_class_structure_member_borrow_user_attributes_const(const bt_field_class_structure_member *member)
Borrows the user attributes of the structure field class member member (const version).
bt_field_class * bt_field_class_enumeration_signed_create(bt_trace_class *trace_class)
Creates a signed enumeration field class from the trace class trace_class.
const bt_field_class_variant_option * bt_field_class_variant_borrow_option_by_name_const(const bt_field_class *field_class, const char *name)
Borrows the option having the name name from the variant field class field_class (const version)...
struct bt_field_class_enumeration_signed_mapping bt_field_class_enumeration_signed_mapping
Signed enumeration field class mapping.
Definition: types.h:56
Single-precision real field class.
Definition: field-class.h:1298
Success.
Definition: field-class.h:4105
const bt_field_class_structure_member * bt_field_class_structure_borrow_member_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the member at index index from the structure field class field_class (const version)...
struct bt_trace_class bt_trace_class
Trace class.
Definition: types.h:106
bt_field_class_enumeration_add_mapping_status
Status codes for bt_field_class_enumeration_unsigned_add_mapping() and bt_field_class_enumeration_sig...
Definition: field-class.h:2074
bt_field_class * bt_field_class_array_dynamic_create(bt_trace_class *trace_class, bt_field_class *element_field_class, bt_field_class *length_field_class)
Creates a dynamic array field class having the element field class element_field_class from the trace...
void bt_field_class_put_ref(const bt_field_class *field_class)
Decrements the reference count of the field class field_class.
struct bt_field_class_enumeration_mapping bt_field_class_enumeration_mapping
Enumeration field class mapping.
Definition: types.h:55
char const *const * bt_field_class_enumeration_mapping_label_array
Array of const enumeration field class labels.
Definition: field-class.h:2046
struct bt_field_class_variant_with_selector_field_integer_unsigned_option bt_field_class_variant_with_selector_field_integer_unsigned_option
Variant field class (with an unsigned integer selector field) option.
Definition: types.h:61
Success.
Definition: field-class.h:2079
bt_field_class_structure_member * bt_field_class_structure_borrow_member_by_name(bt_field_class *field_class, const char *name)
Borrows the member having the name name from the structure field class field_class.
uint64_t bt_field_class_structure_get_member_count(const bt_field_class *field_class)
Returns the number of members contained in the structure field class field_class. ...
Bit array field class.
Definition: field-class.h:1227
static const bt_field_class_variant_option * bt_field_class_variant_with_selector_field_integer_signed_option_as_option_const(const bt_field_class_variant_with_selector_field_integer_signed_option *option)
Upcasts the variant field class (with a signed integer selector field) option option to the common bt...
Definition: field-class.h:4522
bt_field_class_enumeration_get_mapping_labels_for_value_status bt_field_class_enumeration_signed_get_mapping_labels_for_value(const bt_field_class *field_class, int64_t value, bt_field_class_enumeration_mapping_label_array *labels, uint64_t *count)
Returns an array of all the labels of the mappings of the signed enumeration field class field_class ...
bt_field_class * bt_field_class_array_borrow_element_field_class(bt_field_class *field_class)
Borrows the element field class from the array field class field_class.
uint64_t bt_field_class_array_static_get_length(const bt_field_class *field_class)
Returns the length of the static array field class field_class.
Dynamic array field class (with a length field).
Definition: field-class.h:1364
Out of memory.
Definition: field-class.h:2085
const bt_field_class_variant_with_selector_field_integer_unsigned_option * bt_field_class_variant_with_selector_field_integer_unsigned_borrow_option_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the option at index index from the variant field class (with an unsigned integer selector fie...
bt_field_class * bt_field_class_variant_create(bt_trace_class *trace_class, bt_field_class *selector_field_class)
Creates a variant field class from the trace class trace_class.
void bt_field_class_variant_option_set_user_attributes(bt_field_class_variant_option *option, const bt_value *user_attributes)
Sets the user attributes of the variant field class option option to user_attributes.
const bt_field_class * bt_field_class_structure_member_borrow_field_class_const(const bt_field_class_structure_member *member)
Borrows the field class from the structure field class member member (const version).
Option field class (with a signed integer selector field).
Definition: field-class.h:1486
String field class..
Definition: field-class.h:1312
const bt_field_path * bt_field_class_option_with_selector_field_borrow_selector_field_path_const(const bt_field_class *field_class)
Borrows the selector field path from the option field class (with a selector field) field_class...
bt_field_class * bt_field_class_bit_array_create(bt_trace_class *trace_class, uint64_t length)
Creates a bit array field class with the length length from the trace class trace_class.
bt_field_class * bt_field_class_enumeration_unsigned_create(bt_trace_class *trace_class)
Creates an unsigned enumeration field class from the trace class trace_class.
bt_field_class * bt_field_class_bool_create(bt_trace_class *trace_class)
Creates a boolean field class from the trace class trace_class.
Enumeration field class.
Definition: field-class.h:1263
bt_field_class * bt_field_class_real_double_precision_create(bt_trace_class *trace_class)
Creates a double-precision real field class from the trace class trace_class.
struct bt_field_class_enumeration_unsigned_mapping bt_field_class_enumeration_unsigned_mapping
Unsigned enumeration field class mapping.
Definition: types.h:57
const bt_field_class_variant_with_selector_field_integer_signed_option * bt_field_class_variant_with_selector_field_integer_signed_borrow_option_by_name_const(const bt_field_class *field_class, const char *name)
Borrows the option having the name name from the variant field class (with a signed integer selector ...
bt_field_class * bt_field_class_integer_unsigned_create(bt_trace_class *trace_class)
Creates an unsigned integer field class from the trace class trace_class.
bt_field_class * bt_field_class_option_with_selector_field_bool_create(bt_trace_class *trace_class, bt_field_class *optional_field_class, bt_field_class *selector_field_class)
Creates an option field class (with a boolean selector field) having the optional field class optiona...
static const bt_field_class_enumeration_mapping * bt_field_class_enumeration_unsigned_mapping_as_mapping_const(const bt_field_class_enumeration_unsigned_mapping *mapping)
Upcasts the unsigned enumeration field class mapping mapping to the common bt_field_class_enumeration...
Definition: field-class.h:2402
bt_field_class * bt_field_class_variant_option_borrow_field_class(bt_field_class_variant_option *option)
Borrows the field class from the variant field class option option.
Dynamic array field class.
Definition: field-class.h:1346
bt_field_class * bt_field_class_option_with_selector_field_integer_signed_create(bt_trace_class *trace_class, bt_field_class *optional_field_class, bt_field_class *selector_field_class, const bt_integer_range_set_signed *ranges)
Creates an option field class (with a signed integer selector field) having the optional field class ...
const bt_value * bt_field_class_variant_option_borrow_user_attributes_const(const bt_field_class_variant_option *option)
Borrows the user attributes of the variant field class option option (const version).
bt_field_class * bt_field_class_structure_create(bt_trace_class *trace_class)
Creates a structure field class from the trace class trace_class.
void bt_field_class_integer_set_preferred_display_base(bt_field_class *field_class, bt_field_class_integer_preferred_display_base preferred_display_base)
Sets the preferred display base of the integer field class field_class to preferred_display_base.
bt_field_class_structure_append_member_status bt_field_class_structure_append_member(bt_field_class *field_class, const char *name, bt_field_class *member_field_class)
Appends a member to the structure field class field_class having the name name and the field class me...
bt_field_class_variant_without_selector_append_option_status bt_field_class_variant_without_selector_append_option(bt_field_class *field_class, const char *name, bt_field_class *option_field_class)
Appends an option to the variant field class (without a selector field) field_class having the name n...