updates.
[silc.git] / apps / silcd / server_util.h
index 6b421f238d0e86b3f1c8a9f477981a62b4c99eb3..84ef07838ca90d204d8187ff949487f7eb9bb533 100644 (file)
@@ -67,6 +67,13 @@ bool silc_server_channel_has_global(SilcChannelEntry channel);
    returns TRUE and FALSE if there is not one locally connected client. */
 bool silc_server_channel_has_local(SilcChannelEntry channel);
 
+/* This function removes the channel and all users on the channel, unless
+   the channel is permanent.  In this case the channel is disabled but all
+   users are removed from the channel.  Returns TRUE if the channel is
+   destroyed totally, and FALSE if it is permanent and remains. */
+bool silc_server_channel_delete(SilcServer server,
+                               SilcChannelEntry channel);
+
 /* Returns TRUE if the given client is on the channel.  FALSE if not. 
    This works because we assure that the user list on the channel is
    always in up to date thus we can only check the channel list from 
@@ -162,4 +169,12 @@ bool silc_server_check_watcher_list(SilcServer server,
 bool silc_server_del_from_watcher_list(SilcServer server,
                                       SilcClientEntry client);
 
+/* Force the client indicated by `chl' to change the channel user mode
+   on channel indicated by `channel' to `forced_mode'. */
+bool silc_server_force_cumode_change(SilcServer server,
+                                    SilcSocketConnection sock,
+                                    SilcChannelEntry channel,
+                                    SilcChannelClientEntry chl,
+                                    SilcUInt32 forced_mode);
+
 #endif /* SERVER_UTIL_H */