Re: What should we do when headers are missing in 10.2?
Re: What should we do when headers are missing in 10.2?
- Subject: Re: What should we do when headers are missing in 10.2?
- From: Stéphane Sudre <email@hidden>
- Date: Wed, 11 Sep 2002 17:09:26 +0200
On Wednesday, September 11, 2002, at 04:59 PM, Jim Magee wrote:
On Wednesday, September 11, 2002, at 06:42 AM, Stiphane Sudre wrote:
In 10.2, there are some headers that vanished.
This leads to the impossibility to compile some code which was
compiling fine on 10.1.
A (maybe bad) example is this kind of compilation error:
/System/Library/Frameworks/Kernel.framework/Headers/netinet/
tcpip.h:66: field `ti_i' has incomplete type
What is the recommended solution in this situation?
You have to include <netinet/ip_var.h> before including
<netinet/tcpip.h>. You may also have to include something else before
including <netinet/ip_var.h>. I didn't look to see if that was end of
the ordering dependencies.
In fact, my problem is not with the need to #include any file before or
after. The real issue is that the files are missing from /usr/include
in a complete Mac OS X 10.2 install (by complete, I mean everything
checked, last dev Tools, etc...).
Currently, I'm using the header files from a 10.1 backup but it's far
from being a good solution. So I'm asking for a
better/recommended/official solution.
That's just the way BSD headers do things. To change it would break
BSD [in-kernel] compatibility. But having BSD [in-kernel]
compatibility also implies something else. As you will see, the
definition of struct ipovly [the type for the ti_i field] is marked
__APPLE_API_PRIVATE. That's you indicator that you have to be
prepared to have your software track the OS on a release-for-release
basis.
I swear I'm not using it directly, it's just the header that needs it.
I would not dare using APPLE_API_PRIVATE stuff.
If that's not your cup of tea (and it's certainly not the typical
business model of any long-time Mac developer), we are in the process
of creating a set of more sustainable APIs for such kernel extensions.
But as good as we are at guessing your needs, we aren't psychic. You
[all] need to let us know what services you need sustainable
interfaces for. Well do our best to include those [or comparable
equivalents].
This makes me think I'm currently wondering why memcmp is said not to
be defined when strings.h is included in a C source of a Kernel
extensions.
--
Stephane
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.