• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Apple's position on NKEs (was "Re: Basic Question: Internet Content Filter")
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Apple's position on NKEs (was "Re: Basic Question: Internet Content Filter")


  • Subject: Re: Apple's position on NKEs (was "Re: Basic Question: Internet Content Filter")
  • From: Quinn <email@hidden>
  • Date: Wed, 14 Jan 2004 14:56:20 +0000

At 11:30 +0100 14/1/04, Stephane Sudre wrote:
Strange. My recollection is a bit different in that NKEs were OFFICIALLY SUPPORTED (Documentation, Sample Code, support). And suddenly they were not anymore.

<puts on official DTS hat>

It all boils down to your interpretation of the word "supported". NKEs are supported by DTS. We regularly answer questions from NKE developers. However, there is no release-to-release binary compatibility guarantee, which is very unusual for a supported API. This paradoxical situation arose because, on the one hand, Apple recognises that certain products require the use of NKE technology but, on the other hand, the BSD portions of the Mac OS X kernel do not provide a platform for binary compatibility. VFS plug-ins have exactly the same problem, as explained in the following Q&A.

<http://developer.apple.com/qa/qa2001/qa1242.html>

Ultimately (that is, in a future major release of Mac OS X) we intend to resolve this paradox by providing an NKE KPI. Developers who adopt this KPI will be sufficiently isolated from the BSD kernel internals that Apple will be able to update the kernel without breaking them. It's kinda like Carbon for NKEs (-;

Until the NKE KPI becomes available, any NKE developers will be faced with regular binary compatibility problems. Usually this occurs after a major releases of the OS, however, that's not always the case. There have been minor OS releases that break NKEs and there have been major releases that don't.

This is just one of the reasons that we recommend that you not use the current NKE system. Other reasons include poor documentation, limited sample code, and a general recommendation to stay out of the kernel. However, you have to balance these points against the benefits of developing an NKE, such as the ability to do certain things that are not possible (or ugly to do) via other means. Ultimately it's a business choice on your part. You have to trade off the problems with binary compatibility against the feature set of your product.

With regards to the NKE documentation, it was pulled from the official documentation suite because it was out-of-date and it won't be updated until the NKE KPI is released. If anyone wants a copy (and you can't find it lying around on an old developer CD), let me know and I'll email you one.

<takes off official DTS hat>

S+E
--
Quinn "The Eskimo!" <http://www.apple.com/developer/>
Apple Developer Technical Support * Networking, Communications, Hardware
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.

  • Follow-Ups:
    • Re: Apple's position on NKEs (was "Re: Basic Question: Internet Content Filter")
      • From: Stephane Sudre <email@hidden>
References: 
 >Re: Apple's position on NKEs (was "Re: Basic Question: Internet Content Filter") (From: Stephane Sudre <email@hidden>)

  • Prev by Date: Net-SNMP Airport Base Station monitoring
  • Next by Date: Re: Apple's position on NKEs (was "Re: Basic Question: Internet Content Filter")
  • Previous by thread: Re: Apple's position on NKEs (was "Re: Basic Question: Internet Content Filter")
  • Next by thread: Re: Apple's position on NKEs (was "Re: Basic Question: Internet Content Filter")
  • Index(es):
    • Date
    • Thread