Esempio n. 1
0
File: driver.c Progetto: 0xxx/genode
static int driver_init(void)
{
	struct net_device *dev;
	int err = -ENODEV;

	dev = alloc_etherdev(0);

	if (!(dev = alloc_etherdev(0)))
		goto out;

	dev->netdev_ops = &driver_net_ops;

	/* set MAC */
	net_mac(dev->dev_addr, ETH_ALEN);

	if ((err = register_netdev(dev))) {
		panic("driver: Could not register back-end %d\n", err);
		goto out_free;
	}

	return 0;

out_free:
	free_netdev(dev);
out:
	return err;
}
Esempio n. 2
0
ldc_diag_t * diag(int log, ldc_info_t * info) {
	ldc_info_t * current_info;

	ldc_diag_t * head = NULL;
	ldc_diag_t * tail = NULL;


	for (current_info = info; current_info != NULL; current_info = current_info->next) {
		tail = new_ldc_diag_t("wireless");
		head = enqueue_ldc_diag_t(head, tail);

		// find the logical_name in info
		tuple_t * current_tuple;

		for (current_tuple = current_info->info; current_tuple != NULL && strcmp(current_tuple->name, "device_file") != 0; current_tuple = current_tuple->next);

		if (current_tuple) {
			char name[100];
			char value[1000];
			int id;
			char  description[100];

			char *net_dev = current_tuple->value;
			if (strcmp(net_dev, "") == 0){
				SETUP_TUPLE("device_file", net_dev, -1, "Netcard Device File");
				tail->info = enqueue_new_tuple_t(tail->info, name, value, id, description);

				add_diag_tuple(tail, "mac", "None", -1, "MAC Address");
				add_diag_tuple(tail, "ip", "None", -1, "IP Address");
				add_diag_tuple(tail, "netmask", "None", -1, "Netmask");
				add_diag_tuple(tail, "link_up", "None", -1, "Link UP");
				add_diag_tuple(tail, "dns_server", "None", -1, "DNS Server");
				add_diag_tuple(tail, "gateway", "None", -1, "Default Gateway");
			} else {
				SETUP_TUPLE("device_file", net_dev, -1, "Netcard Device File");
				tail->info = enqueue_new_tuple_t(tail->info, name, value, id, description);

				net_link(net_dev, tail);
				net_mac(net_dev, tail);
				net_conf(net_dev, tail);
				net_dns(tail);
				net_gw(net_dev, tail);

			}

		}
	}

	if (log){
		insert_diag_log(head);
	}

	return head;
}