]> jfr.im git - solanum.git/blobdiff - include/send.h
wsproc: call rb_clear_cloexec on child fds
[solanum.git] / include / send.h
index 08a33626cc0db8d53a2c9cef1a377af67b27fc03..84a4de1203e525d3e8cc774605d48347dcd84ccd 100644 (file)
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
- *
- *  $Id: send.h 3520 2007-06-30 22:15:35Z jilles $
  */
 
 #ifndef INCLUDED_send_h
 #define INCLUDED_send_h
 
-#include "ratbox_lib.h"
+#include "rb_lib.h"
 #include "ircd_defs.h"
-#include "config.h"            /* HAVE_STDARG_H */
 
 struct Client;
 struct Channel;
@@ -61,10 +58,11 @@ extern void sendto_channel_opmod(struct Client *one, struct Client *source_p,
                                 struct Channel *chptr, const char *command,
                                 const char *text);
 
-extern void sendto_channel_local(int type, struct Channel *, const char *, ...) AFP(3, 4);
+extern void sendto_channel_local(struct Client *, int type, struct Channel *, const char *, ...) AFP(4, 5);
+extern void sendto_channel_local_priv(struct Client *, int type, const char *priv, struct Channel *, const char *, ...) AFP(5, 6);
 extern void sendto_channel_local_butone(struct Client *, int type, struct Channel *, const char *, ...) AFP(4, 5);
 
-extern void sendto_channel_local_with_capability(int type, int caps, int negcaps, struct Channel *, const char *, ...) AFP(5, 6);
+extern void sendto_channel_local_with_capability(struct Client *, int type, int caps, int negcaps, struct Channel *, const char *, ...) AFP(6, 7);
 extern void sendto_channel_local_with_capability_butone(struct Client *, int type, int caps, int negcaps, struct Channel *,
                                                        const char *, ...) AFP(6, 7);
 
@@ -77,10 +75,12 @@ extern void sendto_match_butone(struct Client *, struct Client *,
 extern void sendto_match_servs(struct Client *source_p, const char *mask,
                                int capab, int, const char *, ...) AFP(5, 6);
 
-extern void sendto_monitor(struct monitor *monptr, const char *, ...) AFP(2, 3);
+extern void sendto_monitor(struct Client *, struct monitor *monptr, const char *, ...) AFP(3, 4);
 
 extern void sendto_anywhere(struct Client *, struct Client *, const char *,
                            const char *, ...) AFP(4, 5);
+extern void sendto_anywhere_echo(struct Client *, struct Client *, const char *,
+                           const char *, ...) AFP(4, 5);
 extern void sendto_local_clients_with_capability(int cap, const char *pattern, ...) AFP(2, 3);
 
 extern void sendto_realops_snomask(int, int, const char *, ...) AFP(3, 4);
@@ -93,6 +93,18 @@ extern void kill_client(struct Client *client_p, struct Client *diedie,
 extern void kill_client_serv_butone(struct Client *one, struct Client *source_p,
                                    const char *pattern, ...) AFP(3, 4);
 
+enum multiline_item_result {
+       MULTILINE_FAILURE,
+       MULTILINE_SUCCESS,
+       MULTILINE_WRAPPED,
+};
+
+extern bool send_multiline_init(struct Client *target_p, const char *separator, const char *format, ...) AFP(3, 4);
+extern bool send_multiline_remote_pad(struct Client *target_p, struct Client *client_p);
+extern enum multiline_item_result send_multiline_item(struct Client *target_p, const char *format, ...) AFP(2, 3);
+extern bool send_multiline_fini(struct Client *target_p, const char *format, ...) AFP(2, 3);
+extern void send_multiline_reset(void);
+
 #define L_ALL  0
 #define L_OPER         1
 #define L_ADMIN        2