Exemplo n.º 1
0
int rtems_bsd_command_ifconfig(int argc, char *argv[])
{
	int exit_code;

	rtems_bsd_program_lock();

	ifconfig_ctor();

	atalk_ctor();
	bridge_ctor();
	carp_ctor();
	clone_ctor();
	gif_ctor();
	gre_ctor();
	group_ctor();
	ifmedia_ctor();
	inet_ctor();
	inet6_ctor();
	lagg_ctor();
	link_ctor();
	mac_ctor();
	pfsync_ctor();
	vlan_ctor();

	exit_code = rtems_bsd_program_call_main("ifconfig", main, argc, argv);

	clone_dtor();
	ifconfig_dtor();

	rtems_bsd_program_unlock();

	return exit_code;
}
Exemplo n.º 2
0
int
rtems_bsd_command_wpa_supplicant(int argc, char **argv)
{
	int exit_code;

	rtems_bsd_wpa_supplicant_lock();
	exit_code = rtems_bsd_program_call_main("wpa_supplicant", main,
	    argc, argv);
	rtems_bsd_wpa_supplicant_unlock();
	return (exit_code);
}
Exemplo n.º 3
0
int
rtems_bsd_program_call_main_with_data_restore(const char *name,
    int (*main)(int, char **), int argc, char **argv,
    void *data_buf, const size_t data_size)
{
	int exit_code = EXIT_FAILURE;
	void *savebuf;

	savebuf = malloc(data_size);
	if (savebuf == NULL) {
		errno = ENOMEM;
		exit_code = EXIT_FAILURE;
	} else {
		memcpy(savebuf, data_buf, data_size);
		exit_code = rtems_bsd_program_call_main(name, main, argc,
		    argv);
		memcpy(data_buf, savebuf, data_size);
		free(savebuf);
	}

	return exit_code;
}