Пример #1
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;
}
Пример #2
0
// Lua: socket:dns( string, function(ip) )
static int net_socket_dns( lua_State* L )
{
  const char *mt = "net.socket";
  return net_dns(L, mt);
}