transmission: update from 2.13 to 2.22
[tomato.git] / release / src / router / httpd / dhcp.c
blobaef5bcd341260f3b16e33fa68734586635d640bf
1 /*
3 Tomato Firmware
4 Copyright (C) 2006-2009 Jonathan Zarate
6 */
8 #include "tomato.h"
10 #include <sys/sysinfo.h>
11 #include <sys/stat.h>
12 #include <sys/types.h>
15 void asp_dhcpc_time(int argc, char **argv)
17 long exp;
18 struct sysinfo si;
19 long n;
20 int r;
21 char buf[32];
23 if (using_dhcpc()) {
24 exp = 0;
25 r = f_read_string("/var/lib/misc/dhcpc.expires", buf, sizeof(buf));
26 if (r > 0) {
27 n = atol(buf);
28 if (n > 0) {
29 sysinfo(&si);
30 exp = n - si.uptime;
33 web_puts(reltime(buf, exp));
37 void wo_dhcpc(char *url)
39 char *p;
41 if ((p = webcgi_get("exec")) != NULL) {
42 if (strcmp(p, "release") == 0) eval("dhcpc-release");
43 else if (strcmp(p, "renew") == 0) eval("dhcpc-renew");
45 common_redirect();
49 // -----------------------------------------------------------------------------
52 void wo_dhcpd(char *url)
54 char *p;
56 if ((p = webcgi_get("remove")) != NULL) {
57 f_write_string("/var/tmp/dhcp/delete", p, FW_CREATE|FW_NEWLINE, 0666);
58 killall("dnsmasq", SIGUSR2);
59 f_wait_notexists("/var/tmp/dhcp/delete", 5);
61 web_puts("{}");