#define CMD_SVSNICK "SVSNICK"
#define CMD_SVSMODE "SVSMODE"
#define CMD_SVSJOIN "SVSJOIN"
+#define CMD_SVSPART "SVSPART"
#define CMD_TIME "TIME"
#define CMD_TOPIC "TOPIC"
#define CMD_TRACE "TRACE"
#define TOK_SVSNICK "SN"
#define TOK_SVSMODE "SM"
#define TOK_SVSJOIN "SJ"
+#define TOK_SVSPART "SP"
#define TOK_TIME "TI"
#define TOK_TOPIC "T"
#define TOK_TRACE "TR"
#define P10_SVSNICK TYPE(SVSNICK)
#define P10_SVSMODE TYPE(SVSMODE)
#define P10_SVSJOIN TYPE(SVSJOIN)
+#define P10_SVSPART TYPE(SVSPART)
#define P10_TIME TYPE(TIME)
#define P10_TOPIC TYPE(TOPIC)
#define P10_TRACE TYPE(TRACE)
putsock("%s " P10_RELAY " %s SI %s :%s", self->numeric, target->numeric, target->numeric, command);
}
+void
+irc_keepconn(struct userNode *target, unsigned int timeout)
+{
+ putsock("%s " P10_RELAY " %s KC %s %u", self->numeric, target->numeric, target->numeric, timeout);
+}
+
void
irc_regnick(UNUSED_ARG(struct userNode *user))
{
putsock("%s " P10_SVSJOIN " %s %s", from->numeric, user->numeric, chan);
}
+void
+irc_svspart(struct userNode *from, struct userNode *user, struct chanNode *chan)
+{
+putsock("%s " P10_SVSPART " %s %s", from->numeric, user->numeric, chan->name);
+}
+
+void
+irc_svspartchan(struct userNode *from, struct userNode *user, const char *chan)
+{
+putsock("%s " P10_SVSPART " %s %s", from->numeric, user->numeric, chan);
+}
+
void
irc_eob(void)
{