about summary refs log tree commit diff stats
path: root/src/stanza.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/stanza.h')
-rw-r--r--src/stanza.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/src/stanza.h b/src/stanza.h
index a0a22908..497a7388 100644
--- a/src/stanza.h
+++ b/src/stanza.h
@@ -47,6 +47,9 @@
 #define STANZA_NAME_TEXT "text"
 #define STANZA_NAME_SUBJECT "subject"
 #define STANZA_NAME_ITEM "item"
+#define STANZA_NAME_C "c"
+#define STANZA_NAME_IDENTITY "identity"
+#define STANZA_NAME_FEATURE "feature"
 
 #define STANZA_TYPE_CHAT "chat"
 #define STANZA_TYPE_GROUPCHAT "groupchat"
@@ -72,6 +75,10 @@
 #define STANZA_ATTR_ASK "ask"
 #define STANZA_ATTR_ID "id"
 #define STANZA_ATTR_SECONDS "seconds"
+#define STANZA_ATTR_NODE "node"
+#define STANZA_ATTR_VER "ver"
+#define STANZA_ATTR_VAR "var"
+#define STANZA_ATTR_HASH "hash"
 
 #define STANZA_TEXT_AWAY "away"
 #define STANZA_TEXT_DND "dnd"
@@ -82,8 +89,21 @@
 #define STANZA_NS_CHATSTATES "http://jabber.org/protocol/chatstates"
 #define STANZA_NS_MUC "http://jabber.org/protocol/muc"
 #define STANZA_NS_MUC_USER "http://jabber.org/protocol/muc#user"
+#define STANZA_NS_CAPS "http://jabber.org/protocol/caps"
 #define STANZA_NS_PING "urn:xmpp:ping"
 #define STANZA_NS_LASTACTIVITY "jabber:iq:last"
+#define STANZA_NS_DATA "jabber:x:data"
+#define STANZA_NS_VERSION "jabber:iq:version"
+
+typedef struct form_field_t {
+    char *var;
+    GSList *values;
+} FormField;
+
+typedef struct data_form_t {
+    char *form_type;
+    GSList *fields;
+} DataForm;
 
 xmpp_stanza_t* stanza_create_chat_state(xmpp_ctx_t *ctx,
     const char * const recipient, const char * const state);
@@ -106,6 +126,8 @@ xmpp_stanza_t* stanza_create_presence(xmpp_ctx_t *ctx, const char * const show,
 
 xmpp_stanza_t* stanza_create_roster_iq(xmpp_ctx_t *ctx);
 xmpp_stanza_t* stanza_create_ping_iq(xmpp_ctx_t *ctx);
+xmpp_stanza_t* stanza_create_disco_iq(xmpp_ctx_t *ctx, const char * const id,
+    const char * const to, const char * const node);
 
 gboolean stanza_contains_chat_state(xmpp_stanza_t *stanza);
 
@@ -115,8 +137,16 @@ gboolean stanza_is_muc_self_presence(xmpp_stanza_t * const stanza,
     const char * const self_jid);
 gboolean stanza_is_room_nick_change(xmpp_stanza_t * const stanza);
 
-char* stanza_get_new_nick(xmpp_stanza_t * const stanza);
+char * stanza_get_new_nick(xmpp_stanza_t * const stanza);
 
 int stanza_get_idle_time(xmpp_stanza_t * const stanza);
+char * stanza_get_caps_str(xmpp_stanza_t * const stanza);
+gboolean stanza_contains_caps(xmpp_stanza_t * const stanza);
+char * stanza_caps_get_hash(xmpp_stanza_t * const stanza);
+gboolean stanza_is_caps_request(xmpp_stanza_t * const stanza);
+
+gboolean stanza_is_version_request(xmpp_stanza_t * const stanza);
+
+DataForm * stanza_get_form(xmpp_stanza_t * const stanza);
 
 #endif