Re: Accessing ifnet
Re: Accessing ifnet
- Subject: Re: Accessing ifnet
- From: Michael Tüxen <email@hidden>
- Date: Fri, 6 Jun 2008 19:11:33 +0200
Hi Vincent,
many thanks! That works, I'll use that code.
Best regards
Michael
On Jun 6, 2008, at 5:03 PM, Vincent Lubet wrote:
For example:
#include <net/kpi_interface.h>
....
errno_t
printf_ifnets(void)
{
errno_t error = 0;
ifnet_t *ifnetlist = 0, ifp;
u_int32_t n, count;
error = ifnet_list_get(IFNET_FAMILY_ANY, &ifnetlist, &count);
if (error != 0) {
printf("ifnet_list_get failed %d\n", error);
goto out;
}
for (n = 0; n < count; n++) {
ifp = ifnetlist[n];
printf("ifp %p index: %d name: %s unit: %d family: %d type: %d
flags: x\n",
ifp,
ifnet_index(ifp),
ifnet_name(ifp),
ifnet_unit(ifp),
ifnet_family(ifp),
ifnet_type(ifp),
ifnet_flags(ifp)
);
}
out:
if (ifnetlist != 0)
ifnet_list_free(ifnetlist);
return error;
}
Vincent
On Jun 6, 2008, at 7:21 AM, Adi Masputra wrote:
On Jun 6, 2008, at 1:17 AM, Michael Tüxen wrote:
Loop through all interfaces and addresses and add or delete them to
our own list of addresses. I guess that I could also use a kernel
socket
and an ioctl to get the information, but the code is shared
between the FreeBSD
kernel, other platforms and Mac OS X. I'm trying to keep the
platform specific
code minimal...
Have you looked at ifnet_list_get/ifnet_list_free KPI in <net/
kpi_interface.h>?
SIOCGIFCONF is not for a kernel ioctl client.
Adi _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden