]> jfr.im git - irc/quakenet/newserv.git/blame - settime/settime.c
allow forcing of settime commands (for devs only)
[irc/quakenet/newserv.git] / settime / settime.c
CommitLineData
052247fa
CP
1#include <stdlib.h>
2#include <stdio.h>
3#include <stdarg.h>
4#include <string.h>
5#include "../irc/irc.h"
6#include "../core/schedule.h"
a9f65ad0 7#include "../control/control.h"
052247fa
CP
8
9schedule *settime_schedule;
a9f65ad0 10int settime_cmd(void *sender, int cargc, char **cargv);
052247fa
CP
11
12void settime_sendsettime()
13{
14time_t newtime;
15
16 newtime = time(NULL);
17 irc_send("%s SE %ld", mynumeric->content, newtime);
18 setnettime(newtime);
19}
20
21void _init()
22{
23 settime_schedule = schedulerecurring(time(NULL) + 300, 0, 1800, &settime_sendsettime, NULL);
a9f65ad0
P
24 registercontrolhelpcmd("settime",NO_DEVELOPER,0,&settime_cmd,"Usage: settime\nForce send a settime to network.");
25
052247fa
CP
26}
27
28void _fini()
29{
30 deleteschedule(settime_schedule, &settime_sendsettime, NULL);
a9f65ad0
P
31 deregistercontrolcmd("settime",&settime_cmd);
32}
33
34int settime_cmd(void *sender, int cargc, char **cargv) {
35 controlreply(sender,"Sending Settime...");
36 settime_sendsettime();
37 controlreply(sender,"Done");
38 return CMD_OK;
052247fa 39}