site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com 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> .... Vincent On Jun 6, 2008, at 7:21 AM, Adi Masputra wrote: On Jun 6, 2008, at 1:17 AM, Michael Tüxen wrote: Adi _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/vlubet%40apple.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... 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: %08x\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; } 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. This email sent to vlubet@apple.com This email sent to site_archiver@lists.apple.com