Define an XMPP queue...
[citadel.git] / citadel / modules / jabber / serv_xmpp.h
1 /*
2  * $Id$
3  *
4  */
5
6 struct citxmpp {                        /* Information about the current session */
7         XML_Parser xp;                  /* XML parser instance for incoming client stream */
8         char server_name[256];          /* who they think we are */
9         char *chardata;
10         int chardata_len;
11         int chardata_alloc;
12         char client_jid[256];           /* "full JID" of the client */
13
14         char iq_type[256];              /* for <iq> stanzas */
15         char iq_id[256];
16         char iq_from[256];
17         char iq_to[256];
18         char iq_client_resource[256];   /* resource name requested by the client */
19         int iq_session;                 /* nonzero == client is requesting a session */
20         char iq_query_xmlns[256];       /* Namespace of <query> */
21
22         char sasl_auth_mech[32];        /* SASL auth mechanism requested by the client */
23 };
24
25 #define XMPP ((struct citxmpp *)CC->session_specific_data)
26
27 struct xmpp_event {
28         struct xmpp_event *next;
29         int event_type;
30         char event_jid[256];
31 };
32
33 extern struct xmpp_event *xmpp_queue;
34
35 void xmpp_cleanup_function(void);
36 void xmpp_greeting(void);
37 void xmpp_command_loop(void);
38 void xmpp_sasl_auth(char *, char *);
39 void xmpp_output_auth_mechs(void);
40 void xmpp_query_namespace(char *, char *, char *, char *);
41 void jabber_wholist_presence_dump(void);
42 void jabber_output_incoming_messages(void);