+IRC_SendWallops(CLIENT *Client, CLIENT *From, const char *Format, ...)
+#else
+GLOBAL void
+IRC_SendWallops(Client, From, Format, va_alist )
+CLIENT *Client;
+CLIENT *From;
+const char *Format;
+va_dcl
+#endif
+{
+ va_list ap;
+ char msg[1000];
+ CLIENT *to;
+
+#ifdef PROTOTYPES
+ va_start(ap, Format);
+#else
+ va_start(ap);
+#endif
+ vsnprintf(msg, 1000, Format, ap);
+ va_end(ap);
+
+ for (to=Client_First(); to != NULL; to=Client_Next(to)) {
+ if (Client_Conn(to) == NONE) /* no local connection */
+ continue;
+
+ switch (Client_Type(to)) {
+ case CLIENT_USER:
+ if (Client_HasMode(to, 'w'))
+ IRC_WriteStrClientPrefix(to, From,
+ "WALLOPS :%s", msg);
+ break;
+ case CLIENT_SERVER:
+ if (to != Client)
+ IRC_WriteStrClientPrefix(to, From,
+ "WALLOPS :%s", msg);
+ break;
+ }
+ }
+} /* IRC_SendWallops */
+
+
+GLOBAL void
+IRC_SetPenalty( CLIENT *Client, time_t Seconds )