Index: protocols/msn/msn.h
===================================================================
--- protocols/msn/msn.h	(revision db28304aed1fbe47f0a4076f3c97850059f262e6)
+++ protocols/msn/msn.h	(revision a312b6bcbc6aa836850d94fc2abc70ceffe275cd)
@@ -146,5 +146,5 @@
 
 /* ns.c */
-void msn_ns_connected( gpointer data, gint source, GaimInputCondition cond );
+gboolean msn_ns_connected( gpointer data, gint source, b_input_condition cond );
 
 /* msn_util.c */
@@ -173,3 +173,3 @@
 void msn_sb_to_chat( struct msn_switchboard *sb );
 void msn_sb_destroy( struct msn_switchboard *sb );
-void msn_sb_connected( gpointer data, gint source, GaimInputCondition cond );
+gboolean msn_sb_connected( gpointer data, gint source, b_input_condition cond );
Index: protocols/msn/ns.c
===================================================================
--- protocols/msn/ns.c	(revision db28304aed1fbe47f0a4076f3c97850059f262e6)
+++ protocols/msn/ns.c	(revision a312b6bcbc6aa836850d94fc2abc70ceffe275cd)
@@ -30,5 +30,5 @@
 #include "md5.h"
 
-static void msn_ns_callback( gpointer data, gint source, GaimInputCondition cond );
+static gboolean msn_ns_callback( gpointer data, gint source, b_input_condition cond );
 static int msn_ns_command( gpointer data, char **cmd, int num_parts );
 static int msn_ns_message( gpointer data, char *msg, int msglen, char **cmd, int num_parts );
@@ -36,5 +36,5 @@
 static void msn_auth_got_passport_id( struct passport_reply *rep );
 
-void msn_ns_connected( gpointer data, gint source, GaimInputCondition cond )
+gboolean msn_ns_connected( gpointer data, gint source, b_input_condition cond )
 {
 	struct gaim_connection *gc = data;
@@ -43,5 +43,5 @@
 	
 	if( !g_slist_find( msn_connections, gc ) )
-		return;
+		return FALSE;
 	
 	if( source == -1 )
@@ -49,5 +49,5 @@
 		hide_login_progress( gc, "Could not connect to server" );
 		signoff( gc );
-		return;
+		return FALSE;
 	}
 	
@@ -75,10 +75,12 @@
 	if( msn_write( gc, s, strlen( s ) ) )
 	{
-		gc->inpa = gaim_input_add( md->fd, GAIM_INPUT_READ, msn_ns_callback, gc );
+		gc->inpa = b_input_add( md->fd, GAIM_INPUT_READ, msn_ns_callback, gc );
 		set_login_progress( gc, 1, "Connected to server, waiting for reply" );
 	}
+	
+	return FALSE;
 }
 
-void msn_ns_callback( gpointer data, gint source, GaimInputCondition cond )
+static gboolean msn_ns_callback( gpointer data, gint source, b_input_condition cond )
 {
 	struct gaim_connection *gc = data;
@@ -89,5 +91,9 @@
 		hide_login_progress( gc, "Error while reading from server" );
 		signoff( gc );
-	}
+		
+		return FALSE;
+	}
+	else
+		return TRUE;
 }
 
@@ -130,5 +136,5 @@
 		if( num_parts == 6 && strcmp( cmd[2], "NS" ) == 0 )
 		{
-			gaim_input_remove( gc->inpa );
+			b_event_remove( gc->inpa );
 			gc->inpa = 0;
 			closesocket( md->fd );
Index: protocols/msn/sb.c
===================================================================
--- protocols/msn/sb.c	(revision db28304aed1fbe47f0a4076f3c97850059f262e6)
+++ protocols/msn/sb.c	(revision a312b6bcbc6aa836850d94fc2abc70ceffe275cd)
@@ -30,5 +30,5 @@
 #include "md5.h"
 
-static void msn_sb_callback( gpointer data, gint source, GaimInputCondition cond );
+static gboolean msn_sb_callback( gpointer data, gint source, b_input_condition cond );
 static int msn_sb_command( gpointer data, char **cmd, int num_parts );
 static int msn_sb_message( gpointer data, char *msg, int msglen, char **cmd, int num_parts );
@@ -237,5 +237,5 @@
 	}
 	
-	if( sb->inp ) gaim_input_remove( sb->inp );
+	if( sb->inp ) b_event_remove( sb->inp );
 	closesocket( sb->fd );
 	
@@ -245,5 +245,5 @@
 }
 
-void msn_sb_connected( gpointer data, gint source, GaimInputCondition cond )
+gboolean msn_sb_connected( gpointer data, gint source, b_input_condition cond )
 {
 	struct msn_switchboard *sb = data;
@@ -254,5 +254,5 @@
 	/* Are we still alive? */
 	if( !g_slist_find( msn_switchboards, sb ) )
-		return;
+		return FALSE;
 	
 	gc = sb->gc;
@@ -263,5 +263,5 @@
 		debug( "ERROR %d while connecting to switchboard server", 1 );
 		msn_sb_destroy( sb );
-		return;
+		return FALSE;
 	}
 	
@@ -280,10 +280,12 @@
 	
 	if( msn_sb_write( sb, buf, strlen( buf ) ) )
-		sb->inp = gaim_input_add( sb->fd, GAIM_INPUT_READ, msn_sb_callback, sb );
+		sb->inp = b_input_add( sb->fd, GAIM_INPUT_READ, msn_sb_callback, sb );
 	else
 		debug( "ERROR %d while connecting to switchboard server", 2 );
-}
-
-static void msn_sb_callback( gpointer data, gint source, GaimInputCondition cond )
+	
+	return FALSE;
+}
+
+static gboolean msn_sb_callback( gpointer data, gint source, b_input_condition cond )
 {
 	struct msn_switchboard *sb = data;
@@ -293,5 +295,9 @@
 		debug( "ERROR: Switchboard died" );
 		msn_sb_destroy( sb );
-	}
+		
+		return FALSE;
+	}
+	else
+		return TRUE;
 }
 
