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 */
12 char client_jid[256]; /* "full JID" of the client */
13 int last_event_processed;
15 char iq_type[256]; /* for <iq> stanzas */
19 char iq_client_username[256]; /* username requested by the client (NON SASL ONLY) */
20 char iq_client_password[256]; /* password requested by the client (NON SASL ONLY) */
21 char iq_client_resource[256]; /* resource name requested by the client */
22 int iq_session; /* nonzero == client is requesting a session */
23 char iq_query_xmlns[256]; /* Namespace of <query> */
25 char sasl_auth_mech[32]; /* SASL auth mechanism requested by the client */
28 char *message_body; /* Message body in transit */
29 int html_tag_level; /* <html> tag nesting level */
31 int bind_requested; /* In this stanza, client is asking server to bind a resource. */
34 #define XMPP ((struct citxmpp *)CC->session_specific_data)
37 struct xmpp_event *next;
42 int session_which_generated_this_event;
45 extern struct xmpp_event *xmpp_queue;
46 extern int queue_event_seq;
53 void xmpp_cleanup_function(void);
54 void xmpp_greeting(void);
55 void xmpp_command_loop(void);
56 void xmpp_async_loop(void);
57 void xmpp_sasl_auth(char *, char *);
58 void xmpp_output_auth_mechs(void);
59 void xmpp_query_namespace(char *, char *, char *, char *);
60 void jabber_wholist_presence_dump(void);
61 void jabber_output_incoming_messages(void);
62 void xmpp_queue_event(int, char *);
63 void xmpp_process_events(void);
64 void xmpp_presence_notify(char *, int);
65 void jabber_roster_item(struct CitContext *);
66 void jabber_send_message(char *, char *);
67 void jabber_non_sasl_authenticate(char *, char *, char *, char *);