Re: Accessing ifnet
Re: Accessing ifnet
- Subject: Re: Accessing ifnet
- From: Michael Tüxen <email@hidden>
- Date: Fri, 6 Jun 2008 10:17:07 +0200
On Jun 6, 2008, at 10:01 AM, Adi Masputra wrote:
On Jun 6, 2008, at 12:29 AM, Michael Tüxen wrote:
Dear all,
in an NKE I'm using code like
TAILQ_FOREACH(ifn, &ifnet, if_list) {
/* Do something with ifn */
}
and need to protect it by
ifnet_head_lock_shared();
TAILQ_FOREACH(ifn, &ifnet, if_list) {
/* Do something with ifn */
}
ifnet_head_done();
but the kextload reports
kld(): Undefined symbols:
_ifnet_head_done
_ifnet_head_lock_shared
As OSBundleLibraries I use com.apple.kernel.
I do know that I'm using unsupported API... but is there a way
to use the mutex routines?
Not really; it's not supported. What are you trying achieve in the
first place?
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...
I know that I'm using an unsupported API. It is part of a NKE which
implements
a transport protocol (SCTP). This is not possible using only supported
APIs, but
it currently works (and might break in the future, I know).
Adi
Best regards
Michael
_______________________________________________
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