#endif
struct gline;
+struct shun;
struct server;
struct userNode;
struct chanNode;
typedef void (*oper_func_t) (struct userNode *user);
void reg_oper_func(oper_func_t handler);
-extern struct userList dead_users;
-
/* replay silliness */
void replay_read_line(void);
void replay_event_loop(void);
void irc_join(struct userNode *who, struct chanNode *what);
void irc_invite(struct userNode *from, struct userNode *who, struct chanNode *to);
void irc_mode(struct userNode *who, struct chanNode *target, const char *modes);
+void irc_umode(struct userNode *target, const char *modes);
void irc_kick(struct userNode *who, struct userNode *target, struct chanNode *from, const char *msg);
void irc_part(struct userNode *who, struct chanNode *what, const char *reason);
-void irc_topic(struct userNode *who, struct chanNode *what, const char *topic);
+void irc_topic(struct userNode *service, struct userNode *who, struct chanNode *what, const char *topic);
void irc_fetchtopic(struct userNode *from, const char *to);
/* network maintenance */
-void irc_gline(struct server *srv, struct gline *gline);
+void irc_gline(struct server *srv, struct gline *gline, int silent);
+void irc_shun(struct server *srv, struct shun *shun);
void irc_settime(const char *srv_name_mask, time_t new_time);
void irc_ungline(const char *mask);
+void irc_unshun(const char *mask);
void irc_error(const char *to, const char *message);
void irc_kill(struct userNode *from, struct userNode *target, const char *message);
void irc_raw(const char *what);
void irc_svsnick(struct userNode *from, struct userNode *target, const char *newnick);
/* account maintenance */
+void irc_rename(struct userNode *user, const char *new_handle);
+void irc_delete(struct userNode *user);
void irc_account(struct userNode *user, const char *stamp, time_t timestamp);
void irc_regnick(struct userNode *user);
void irc_fakehost(struct userNode *user, const char *host);