Ejemplo n.º 1
0
/*
 * menu item
 */
void
on_imagemenuitem_interface_activate(GtkMenuItem * menuitem,
				    GtkWindow * if_window)
{

	int ret;
	int if_num;
	// char if_list[10][10];
	ret = find_interfaces(&if_num);
	if (ret == 0) {
		GtkWidget *if_treeview =
		    GTK_WIDGET(gtk_builder_get_object
			       (builder, "treeview_interface"));
		edit_interface_list_view(if_treeview, if_num);

		gtk_widget_show(if_window);
	} else {
		GtkWidget *fail_dialog =
		    gtk_message_dialog_new(NULL, GTK_RESPONSE_OK,
					   GTK_MESSAGE_OTHER, GTK_BUTTONS_OK,
					   NULL);
		gtk_message_dialog_set_markup((GtkMessageDialog *) fail_dialog,
					      "<span foreground=\"red\" size=\"x-large\">:) find interfaces fail!</span>");
		gtk_window_set_title(GTK_WINDOW(fail_dialog), "interface info");
		gtk_dialog_run((GtkDialog *) fail_dialog);	// show the dialog
		gtk_widget_destroy(fail_dialog);
	}
}
Ejemplo n.º 2
0
Archivo: rarpd.c Proyecto: afett/rarpd
int rarpd(int argc, char *argv[])
{
	struct rarpd rarpd;
	rarpd_init(&rarpd);

	if (parse_options(&rarpd, argc, argv) != 0) {
		return EXIT_FAILURE;
	}

	if (parse_args(&rarpd, argv) != 0) {
		return EXIT_FAILURE;
	}

	if (!(rarpd.opts & FOREGROUND) && daemonize() != 0) {
		return EXIT_FAILURE;
	}

	init_syslog(&rarpd);

	if (rarpd_init_signals(&rarpd) != 0) {
		return EXIT_FAILURE;
	}

	if (find_interfaces(&rarpd) != 0) {
		return EXIT_FAILURE;
	}

	link_array_filter(&rarpd.links, has_addr, NULL);
	if (rarpd.links.count == 0) {
		XLOG_ERR("no usable links found");
		return EXIT_FAILURE;
	}

	if (!link_array_foreach(&rarpd.links, setup_link, &rarpd.dispatcher)) {
		cleanup_rarpd(&rarpd);
		return EXIT_FAILURE;
	}

	dispatcher_run(&rarpd.dispatcher);

	cleanup_rarpd(&rarpd);
	return EXIT_SUCCESS;
}