Added support for removing unconfigured client connections in
[silc.git] / apps / silcd / command.h
index 229a37597f81fab7f037398662907e168c37df97..9cd04d79171152ca71cd5b48637173f51a0dc41a 100644 (file)
@@ -61,11 +61,12 @@ typedef struct {
 /* Structure holding pending commands. If command is pending it will be
    executed after command reply has been received and executed. */
 typedef struct SilcServerCommandPendingStruct {
-  SilcServer server;
   SilcCommand reply_cmd;
+  SilcUInt16 ident;
+  unsigned int reply_check : 8;
   SilcCommandCb callback;
   void *context;
-  SilcUInt16 ident;
+  SilcTask timeout;
   struct SilcServerCommandPendingStruct *next;
 } SilcServerCommandPending;
 
@@ -110,12 +111,17 @@ bool silc_server_command_pending(SilcServer server,
                                 SilcUInt16 ident,
                                 SilcCommandCb callback,
                                 void *context);
+bool silc_server_command_pending_timed(SilcServer server,
+                                      SilcCommand reply_cmd,
+                                      SilcUInt16 ident,
+                                      SilcCommandCb callback,
+                                      void *context,
+                                      SilcUInt16 timeout);
 void silc_server_command_pending_del(SilcServer server,
                                     SilcCommand reply_cmd,
                                     SilcUInt16 ident);
 SilcServerCommandPendingCallbacks
 silc_server_command_pending_check(SilcServer server,
-                                 SilcServerCommandReplyContext ctx,
                                  SilcCommand command, 
                                  SilcUInt16 ident,
                                  SilcUInt32 *callbacks_count);
@@ -141,6 +147,7 @@ SILC_SERVER_CMD_FUNC(cumode);
 SILC_SERVER_CMD_FUNC(kick);
 SILC_SERVER_CMD_FUNC(ban);
 SILC_SERVER_CMD_FUNC(detach);
+SILC_SERVER_CMD_FUNC(watch);
 SILC_SERVER_CMD_FUNC(silcoper);
 SILC_SERVER_CMD_FUNC(leave);
 SILC_SERVER_CMD_FUNC(users);