+BT_HIDDEN
+struct bt_field_type_enumeration_mapping_iterator *
+bt_field_type_common_enumeration_signed_find_mappings_by_value(
+ struct bt_field_type_common *ft, int64_t value);
+
+BT_HIDDEN
+struct bt_field_type_enumeration_mapping_iterator *
+bt_field_type_common_enumeration_unsigned_find_mappings_by_value(
+ struct bt_field_type_common *ft, uint64_t value);
+
+BT_HIDDEN
+int bt_field_type_common_enumeration_signed_get_mapping_by_index(
+ struct bt_field_type_common *ft, uint64_t index,
+ const char **mapping_name, int64_t *range_begin,
+ int64_t *range_end);
+
+BT_HIDDEN
+int bt_field_type_common_enumeration_unsigned_get_mapping_by_index(
+ struct bt_field_type_common *ft, uint64_t index,
+ const char **mapping_name, uint64_t *range_begin,
+ uint64_t *range_end);
+
+BT_HIDDEN
+struct bt_field_type_common *
+bt_field_type_common_enumeration_borrow_container_field_type(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+int bt_field_type_common_enumeration_signed_add_mapping(
+ struct bt_field_type_common *ft, const char *string,
+ int64_t range_start, int64_t range_end);
+
+BT_HIDDEN
+int bt_field_type_common_enumeration_unsigned_add_mapping(
+ struct bt_field_type_common *ft, const char *string,
+ uint64_t range_start, uint64_t range_end);
+
+BT_HIDDEN
+int64_t bt_field_type_common_enumeration_get_mapping_count(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+int bt_field_type_common_floating_point_get_exponent_digits(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+int bt_field_type_common_floating_point_set_exponent_digits(
+ struct bt_field_type_common *ft,
+ unsigned int exponent_digits);
+
+BT_HIDDEN
+int bt_field_type_common_floating_point_get_mantissa_digits(
+ struct bt_field_type_common *type);
+
+BT_HIDDEN
+int bt_field_type_common_floating_point_set_mantissa_digits(
+ struct bt_field_type_common *ft, unsigned int mantissa_digits);
+
+BT_HIDDEN
+int bt_field_type_common_structure_replace_field(
+ struct bt_field_type_common *ft,
+ const char *field_name,
+ struct bt_field_type_common *field_type);
+
+BT_HIDDEN
+int bt_field_type_common_structure_add_field(struct bt_field_type_common *ft,
+ struct bt_field_type_common *field_type,
+ const char *field_name);
+
+BT_HIDDEN
+int64_t bt_field_type_common_structure_get_field_count(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+int bt_field_type_common_structure_borrow_field_by_index(
+ struct bt_field_type_common *ft,
+ const char **field_name,
+ struct bt_field_type_common **field_type, uint64_t index);
+
+BT_HIDDEN
+struct bt_field_type_common *
+bt_field_type_common_structure_borrow_field_type_by_name(
+ struct bt_field_type_common *ft, const char *name);
+
+BT_HIDDEN
+struct bt_field_type_common *
+bt_field_type_common_variant_borrow_tag_field_type(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+const char *bt_field_type_common_variant_get_tag_name(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+int bt_field_type_common_variant_set_tag_name(
+ struct bt_field_type_common *ft, const char *name);
+
+BT_HIDDEN
+int bt_field_type_common_variant_add_field(struct bt_field_type_common *ft,
+ struct bt_field_type_common *field_type,
+ const char *field_name);
+
+BT_HIDDEN
+struct bt_field_type_common *
+bt_field_type_common_variant_borrow_field_type_by_name(
+ struct bt_field_type_common *ft,
+ const char *field_name);
+
+BT_HIDDEN
+struct bt_field_type_common *
+bt_field_type_common_variant_borrow_field_type_from_tag(
+ struct bt_field_type_common *ft,
+ struct bt_field_common *tag_field,
+ bt_field_common_create_func field_create_func);
+
+BT_HIDDEN
+int64_t bt_field_type_common_variant_get_field_count(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+int bt_field_type_common_variant_borrow_field_by_index(
+ struct bt_field_type_common *ft,
+ const char **field_name,
+ struct bt_field_type_common **field_type, uint64_t index);
+
+BT_HIDDEN
+struct bt_field_type_common *
+bt_field_type_common_array_borrow_element_field_type(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+int bt_field_type_common_array_set_element_field_type(
+ struct bt_field_type_common *ft,
+ struct bt_field_type_common *element_ft);
+
+BT_HIDDEN
+int64_t bt_field_type_common_array_get_length(struct bt_field_type_common *ft);
+
+BT_HIDDEN
+struct bt_field_type_common *
+bt_field_type_common_sequence_borrow_element_field_type(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+int bt_field_type_common_sequence_set_element_field_type(
+ struct bt_field_type_common *ft,
+ struct bt_field_type_common *element_ft);
+
+BT_HIDDEN
+const char *bt_field_type_common_sequence_get_length_field_name(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+enum bt_string_encoding bt_field_type_common_string_get_encoding(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+int bt_field_type_common_string_set_encoding(struct bt_field_type_common *ft,
+ enum bt_string_encoding encoding);
+
+BT_HIDDEN
+int bt_field_type_common_get_alignment(struct bt_field_type_common *type);
+
+BT_HIDDEN
+int bt_field_type_common_set_alignment(struct bt_field_type_common *ft,
+ unsigned int alignment);
+
+BT_HIDDEN
+enum bt_byte_order bt_field_type_common_get_byte_order(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+int bt_field_type_common_set_byte_order(struct bt_field_type_common *ft,
+ enum bt_byte_order byte_order);
+
+BT_HIDDEN
+enum bt_field_type_id bt_field_type_common_get_type_id(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+void _bt_field_type_common_freeze(struct bt_field_type_common *ft);
+
+BT_HIDDEN
+void _bt_field_type_freeze(struct bt_field_type *ft);
+
+BT_HIDDEN
+struct bt_field_type_common *
+bt_field_type_common_variant_borrow_field_type_signed(
+ struct bt_field_type_common_variant *var_ft,
+ int64_t tag_value);
+
+BT_HIDDEN
+struct bt_field_type_common *
+bt_field_type_common_variant_borrow_field_type_unsigned(
+ struct bt_field_type_common_variant *var_ft,
+ uint64_t tag_value);
+
+BT_HIDDEN
+struct bt_field_type_common *bt_field_type_common_copy(
+ struct bt_field_type_common *ft);
+
+BT_HIDDEN
+int bt_field_type_common_structure_get_field_name_index(
+ struct bt_field_type_common *ft, const char *name);
+
+BT_HIDDEN
+int bt_field_type_common_variant_get_field_name_index(
+ struct bt_field_type_common *ft, const char *name);
+
+BT_HIDDEN
+int bt_field_type_common_sequence_set_length_field_path(
+ struct bt_field_type_common *ft, struct bt_field_path *path);
+
+BT_HIDDEN
+int bt_field_type_common_variant_set_tag_field_path(
+ struct bt_field_type_common *ft,
+ struct bt_field_path *path);
+
+BT_HIDDEN
+int bt_field_type_common_variant_set_tag_field_type(
+ struct bt_field_type_common *ft,
+ struct bt_field_type_common *tag_ft);
+
+BT_HIDDEN
+void bt_field_type_common_generic_freeze(struct bt_field_type_common *ft);
+
+BT_HIDDEN
+void bt_field_type_common_enumeration_freeze_recursive(
+ struct bt_field_type_common *ft);