+static void
+session (hc_xmpp_t *xmpp, iks *f)
+{
+ iks *c;
+ xmpp->session |= SUPPORTED;
+ for (c = iks_child (f); c != NULL; c = iks_next (c))
+ {
+ if (!iks_strcmp (iks_name (c), "optional"))
+ xmpp->session |= OPTIONAL;
+ else if (!iks_strcmp (iks_name (c), "required"))
+ xmpp->session |= REQUIRED;
+ }
+}
+
+static void
+xmpp_bind (hc_xmpp_t *xmpp, iks *f)
+{
+ iks *c;
+ xmpp->bind |= SUPPORTED;
+ for (c = iks_child (f); c != NULL; c = iks_next (c))
+ {
+ if (!iks_strcmp (iks_name (c), "optional"))
+ xmpp->bind |= OPTIONAL;
+ else if (!iks_strcmp (iks_name (c), "required"))
+ xmpp->bind |= REQUIRED;
+ }
+}
+
+static void