+static
+int bt_field_type_integer_validate(struct bt_field_type *ft);
+
+static
+int bt_field_type_enumeration_validate_recursive(
+ struct bt_field_type *ft);
+static
+int bt_field_type_sequence_validate_recursive(
+ struct bt_field_type *ft);
+static
+int bt_field_type_array_validate_recursive(
+ struct bt_field_type *ft);
+static
+int bt_field_type_structure_validate_recursive(
+ struct bt_field_type *ft);
+static
+int bt_field_type_variant_validate_recursive(
+ struct bt_field_type *ft);
+
+static
+void bt_field_type_generic_freeze(struct bt_field_type *ft);
+
+static
+void bt_field_type_enumeration_freeze_recursive(
+ struct bt_field_type *ft);
+static
+void bt_field_type_structure_freeze_recursive(
+ struct bt_field_type *ft);
+static
+void bt_field_type_variant_freeze_recursive(
+ struct bt_field_type *ft);
+static
+void bt_field_type_array_freeze_recursive(
+ struct bt_field_type *ft);
+static
+void bt_field_type_sequence_freeze_recursive(
+ struct bt_field_type *ft);
+
+static
+void bt_field_type_integer_set_byte_order(
+ struct bt_field_type *ft, enum bt_byte_order byte_order);
+
+static
+void bt_field_type_enumeration_set_byte_order_recursive(
+ struct bt_field_type *ft, enum bt_byte_order byte_order);
+
+static
+void bt_field_type_floating_point_set_byte_order(
+ struct bt_field_type *ft, enum bt_byte_order byte_order);
+
+static
+void bt_field_type_structure_set_byte_order_recursive(
+ struct bt_field_type *ft,
+ enum bt_byte_order byte_order);
+static
+void bt_field_type_variant_set_byte_order_recursive(
+ struct bt_field_type *ft,
+ enum bt_byte_order byte_order);
+
+static
+void bt_field_type_array_set_byte_order_recursive(
+ struct bt_field_type *ft,
+ enum bt_byte_order byte_order);
+
+static
+void bt_field_type_sequence_set_byte_order_recursive(
+ struct bt_field_type *ft,
+ enum bt_byte_order byte_order);
+
+static
+int bt_field_type_integer_compare(struct bt_field_type *ft_a,
+ struct bt_field_type *ft_b);
+
+static
+int bt_field_type_floating_point_compare(
+ struct bt_field_type *ft_a,
+ struct bt_field_type *ft_b);
+
+static
+int bt_field_type_enumeration_compare_recursive(
+ struct bt_field_type *ft_a,
+ struct bt_field_type *ft_b);
+
+static
+int bt_field_type_string_compare(struct bt_field_type *ft_a,
+ struct bt_field_type *ft_b);
+
+static
+int bt_field_type_structure_compare_recursive(
+ struct bt_field_type *ft_a,
+ struct bt_field_type *ft_b);
+
+static
+int bt_field_type_variant_compare_recursive(
+ struct bt_field_type *ft_a,
+ struct bt_field_type *ft_b);
+
+static
+int bt_field_type_array_compare_recursive(
+ struct bt_field_type *ft_a,
+ struct bt_field_type *ft_b);
+
+static
+int bt_field_type_sequence_compare_recursive(
+ struct bt_field_type *ft_a,
+ struct bt_field_type *ft_b);
+
+static struct bt_field_type_methods bt_field_type_integer_methods = {
+ .freeze = bt_field_type_generic_freeze,
+ .validate = bt_field_type_integer_validate,
+ .set_byte_order = bt_field_type_integer_set_byte_order,
+ .copy = (bt_field_type_method_copy)