예제 #1
0
int
udhcpc_ex_main(int argc, char **argv)
{
	if (argv[1]) strcpy(udhcpstate, argv[1]);

	if (!argv[1])
		return EINVAL;
	else if (strstr(argv[1], "deconfig"))
		return deconfig();
	else if (strstr(argv[1], "bound"))
		return bound();
	else if (strstr(argv[1], "renew"))
		return renew();
	else return deconfig();
}
예제 #2
0
파일: udhcpc.c 프로젝트: hajuuk/R7000
int
udhcpc_wan(int argc, char **argv)
{
	if (!argv[1])
		return EINVAL;
	else if (strstr(argv[1], "deconfig"))
		return deconfig();
	else if (strstr(argv[1], "bound"))
		return bound();
	else if (strstr(argv[1], "renew"))
		return renew();
	else
		return EINVAL;
}
예제 #3
0
파일: dhcp.c 프로젝트: twtomato/twtomato
int dhcpc_release_main(int argc, char **argv)
{
	_dprintf("%s: begin\n", __FUNCTION__);

	if (!using_dhcpc()) return 1;

	deconfig(nvram_safe_get("wan_ifname"));
	killall("udhcpc", SIGUSR2);
	unlink(renewing);
	unlink("/var/lib/misc/wan.connecting");
	
	_dprintf("%s: end\n", __FUNCTION__);
	return 0;
}
예제 #4
0
int udhcpc_main(int argc, char **argv)
{
	if (check_action() != ACT_IDLE)
		return -1;

	if (!argv[1])
		return EINVAL;
	else if (strstr(argv[1], "deconfig"))
		return deconfig();
	else if (strstr(argv[1], "bound"))
		return bound();
	else if (strstr(argv[1], "renew"))
		return renew();
	else if (strstr(argv[1], "update"))
		return update_value();
	else
		return EINVAL;
}
예제 #5
0
파일: dhcp.c 프로젝트: twtomato/twtomato
int dhcpc_event_main(int argc, char **argv)
{
	char *ifname;

	if (!wait_action_idle(10)) return 1;

#if 0
	if (nvram_match("debug_dhcpcenv", "1")) {
		system("( date; env ) >> /tmp/dhcpc_event.env");
	}
#endif

	if ((argc == 2) && (ifname = getenv("interface")) != NULL) {
		if (strcmp(argv[1], "deconfig") == 0) return deconfig(ifname);
		if (strcmp(argv[1], "bound") == 0) return bound(ifname);
		if ((strcmp(argv[1], "renew") == 0) || (strcmp(argv[1], "update") == 0)) return renew(ifname);
	}
	
	_dprintf("%s: unknown event %s\n", __FUNCTION__, argv[1]);
	return 1;
}