+static const struct declaration_string *
+get_declaration_string(const struct bt_declaration *decl)
+{
+ if (!decl || bt_ctf_field_type(decl) != CTF_TYPE_STRING)
+ return NULL;
+ return container_of(decl, const struct declaration_string, p);
+}
+
+static const struct declaration_array *
+get_declaration_array(const struct bt_declaration *decl)
+{
+ if (!decl || bt_ctf_field_type(decl) != CTF_TYPE_ARRAY)
+ return NULL;
+ return container_of(decl, const struct declaration_array, p);
+}
+
+static const struct declaration_sequence *
+get_declaration_sequence(const struct bt_declaration *decl)
+{
+ if (!decl || bt_ctf_field_type(decl) != CTF_TYPE_SEQUENCE)
+ return NULL;
+ return container_of(decl, const struct declaration_sequence, p);
+}
+
+int bt_ctf_get_int_signedness(const struct bt_declaration *decl)
+{
+ const struct declaration_integer *integer;
+
+ integer = get_declaration_integer(decl);
+ if (!integer) {