* More license declarations
[citadel.git] / citadel / modules / jabber / serv_xmpp.h
index 54bb87ea53dfb3a4a1ee3417c126a6251d0d593f..ed93ff25cb9b6db49801ed403e4a8a1fe7803697 100644 (file)
@@ -1,6 +1,21 @@
 /*
  * $Id$
  *
+ * Copyright (c) 2007-2009 by Art Cancro
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
 struct citxmpp {                       /* Information about the current session */
@@ -16,11 +31,19 @@ struct citxmpp {                    /* Information about the current session */
        char iq_id[256];
        char iq_from[256];
        char iq_to[256];
+       char iq_client_username[256];   /* username requested by the client (NON SASL ONLY) */
+       char iq_client_password[256];   /* password requested by the client (NON SASL ONLY) */
        char iq_client_resource[256];   /* resource name requested by the client */
        int iq_session;                 /* nonzero == client is requesting a session */
        char iq_query_xmlns[256];       /* Namespace of <query> */
 
        char sasl_auth_mech[32];        /* SASL auth mechanism requested by the client */
+
+       char message_to[256];
+       char *message_body;             /* Message body in transit */
+       int html_tag_level;             /* <html> tag nesting level */
+
+       int bind_requested;             /* In this stanza, client is asking server to bind a resource. */
 };
 
 #define XMPP ((struct citxmpp *)CC->session_specific_data)
@@ -31,9 +54,11 @@ struct xmpp_event {
        time_t event_time;
        int event_type;
        char event_jid[256];
+       int session_which_generated_this_event;
 };
 
 extern struct xmpp_event *xmpp_queue;
+extern int queue_event_seq;
 
 enum {
        XMPP_EVT_LOGIN,
@@ -51,4 +76,7 @@ void jabber_wholist_presence_dump(void);
 void jabber_output_incoming_messages(void);
 void xmpp_queue_event(int, char *);
 void xmpp_process_events(void);
-void xmpp_presence_notify(char *, char *);
+void xmpp_presence_notify(char *, int);
+void jabber_roster_item(struct CitContext *);
+void jabber_send_message(char *, char *);
+void jabber_non_sasl_authenticate(char *, char *, char *, char *);