aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/msn/msn.h
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/msn/msn.h')
-rw-r--r--protocols/msn/msn.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/protocols/msn/msn.h b/protocols/msn/msn.h
index d57ff796..f060000a 100644
--- a/protocols/msn/msn.h
+++ b/protocols/msn/msn.h
@@ -30,6 +30,7 @@
*/
#define TYPING_NOTIFICATION_MESSAGE "\r\r\rBEWARE, ME R TYPINK MESSAGE!!!!\r\r\r"
#define GROUPCHAT_SWITCHBOARD_MESSAGE "\r\r\rME WANT TALK TO MANY PEOPLE\r\r\r"
+#define SB_KEEPALIVE_MESSAGE "\r\r\rDONT HANG UP ON ME!\r\r\r"
#ifdef DEBUG_MSN
#define debug( text... ) imcb_log( ic, text );
@@ -60,6 +61,10 @@
"TypingUser: %s\r\n" \
"\r\n\r\n"
+#define SB_KEEPALIVE_HEADERS "MIME-Version: 1.0\r\n" \
+ "Content-Type: text/x-ping\r\n" \
+ "\r\n\r\n"
+
#define PROFILE_URL "http://members.msn.com/"
struct msn_data
@@ -73,10 +78,11 @@ struct msn_data
char *passport_token;
char *lock_key;
- GSList *msgq;
+ GSList *msgq, *grpq;
GSList *switchboards;
int sb_failures;
time_t first_sb_failure;
+ GSList *filetransfers;
const struct msn_away_state *away_state;
int buddycount;
@@ -91,6 +97,7 @@ struct msn_switchboard
int fd;
gint inp;
struct msn_handler_data *handler;
+ gint keepalive;
int trId;
int ready;
@@ -122,6 +129,12 @@ struct msn_message
char *text;
};
+struct msn_groupadd
+{
+ char *who;
+ char *group;
+};
+
struct msn_handler_data
{
int fd;
@@ -161,14 +174,15 @@ gboolean msn_ns_connected( gpointer data, gint source, b_input_condition cond );
/* msn_util.c */
int msn_write( struct im_connection *ic, char *s, int len );
int msn_logged_in( struct im_connection *ic );
-int msn_buddy_list_add( struct im_connection *ic, char *list, char *who, char *realname );
-int msn_buddy_list_remove( struct im_connection *ic, char *list, char *who );
+int msn_buddy_list_add( struct im_connection *ic, const char *list, const char *who, const char *realname_, const char *group );
+int msn_buddy_list_remove( struct im_connection *ic, char *list, const char *who, const char *group );
void msn_buddy_ask( struct im_connection *ic, char *handle, char *realname );
char *msn_findheader( char *text, char *header, int len );
char **msn_linesplit( char *line );
int msn_handler( struct msn_handler_data *h );
char *msn_http_encode( const char *input );
void msn_msgq_purge( struct im_connection *ic, GSList **list );
+gboolean msn_set_display_name( struct im_connection *ic, const char *rawname );
char *msn_p11_challenge( char *challenge );
/* tables.c */
@@ -188,5 +202,10 @@ struct groupchat *msn_sb_to_chat( struct msn_switchboard *sb );
void msn_sb_destroy( struct msn_switchboard *sb );
gboolean msn_sb_connected( gpointer data, gint source, b_input_condition cond );
int msn_sb_write_msg( struct im_connection *ic, struct msn_message *m );
+void msn_sb_start_keepalives( struct msn_switchboard *sb, gboolean initial );
+void msn_sb_stop_keepalives( struct msn_switchboard *sb );
+
+/* invitation.c */
+void msn_ftp_transfer_request( struct im_connection *ic, file_transfer_t *ft, char *who );
#endif //_MSN_H