Re: Problem Calling namei
Re: Problem Calling namei
- Subject: Re: Problem Calling namei
- From: Quinn <email@hidden>
- Date: Thu, 1 Oct 2009 13:52:48 +0100
At 17:47 +0530 1/10/09, mominabrar wrote:
This is interesting. We got back the namei() and family of functions
in the new kernel (
<http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/>xnu-1456.1.26
).
You seem to be missing a key point about the Mac OS X kernel
architecture, namely that there's a strict separation between how the
kernel is implemented and the kernel programming interfaces (KPIs)
that we expose to third party developers. In this case, namei is in
the kernel, has always been in the kernel, and probably always will
be. However, namei is not a KPI. Thus, third party kernel
developers are not allowed to link with it [1] because it's not an
interface that we plan to support (that is, maintain both source and
binary compatibility) in the long term. To reinforce that point,
we've been steadily removing non-KPI declarations from our headers.
There is a relatively simple way you can check whether a function is
a supported KPI. See QA1575 "Supported KPIs" for details.
<http://developer.apple.com/mac/library/qa/qa2007/qa1575.html>
For more background on this stuff, see the "Kernel Extension
Dependencies" section of "Kernel Extension Programming Topics".
<http://developer.apple.com/mac/library/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptDependencies/kext_dependencies.html>
S+E
--
Quinn "The Eskimo!" <http://www.apple.com/developer/>
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
[1] For experimental purposes you can access these routines by
linking with the whole kernel. However, that's not something we
recommend and, given recent development in the headers, that's
becoming increasingly painful; you can make the linker happy
relatively easily but assembling a reasonable set of headers to make
the compiler happy is tricky.
_______________________________________________
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