]> jfr.im git - irc/quakenet/newserv.git/blob - settime/settime.c
merge
[irc/quakenet/newserv.git] / settime / settime.c
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"
7 #include "../control/control.h"
8 #include "../lib/version.h"
9
10 MODULE_VERSION("")
11
12 schedule *settime_schedule;
13 int settime_cmd(void *sender, int cargc, char **cargv);
14
15 void settime_sendsettime()
16 {
17 time_t newtime;
18
19 newtime = time(NULL);
20 irc_send("%s SE %ld", mynumeric->content, newtime);
21 setnettime(newtime);
22 }
23
24 void _init()
25 {
26 settime_schedule = schedulerecurring(time(NULL) + 300, 0, 1800, &settime_sendsettime, NULL);
27 registercontrolhelpcmd("settime",NO_DEVELOPER,0,&settime_cmd,"Usage: settime\nForce send a settime to network.");
28
29 }
30
31 void _fini()
32 {
33 deleteschedule(settime_schedule, &settime_sendsettime, NULL);
34 deregistercontrolcmd("settime",&settime_cmd);
35 }
36
37 int settime_cmd(void *sender, int cargc, char **cargv) {
38 controlreply(sender,"Sending Settime...");
39 settime_sendsettime();
40 controlreply(sender,"Done");
41 return CMD_OK;
42 }