The correct answer to my problem is:

#include "guiddefs.h"

which I found only via much searching.

As for why the correct headers are not included, the answer to that is:

1. Typical, usual sloppy coding practices.

2. Lack of attention to detail and code organization.

3. The Windows developers probably used some kind of precompiled headers which makes up for the lack of the correct includes in the source files.

4. The source files do include the right headers, but the Windows headers don't work on Mac OS X and hence I have to substitute my own.

Mike

Francois Gouget wrote:
On Tue, 16 Jan 2007, Mike wrote:
[...]
  
My big question is: when I add the Wine headers to my project, it seems that
every datatype in the wine headers is undefined. I noticed that most wine
headers don't have any #includes in them.
    

Normally the Wine headers have the same set of #include directives as 
the PSDK headers. If that's not the case then it's a bug. But yes, the 
PSDK headers often don't include each other.


  
is there some precompiled or metaheader that I should be including in all of
the wine files in order to get the compiler to see the data types?
    

You're probably thinking about 'windows.h'. This is the one header 
included by most Windows applications. However it includes most 
everything which may be causing problems too.

But since you're porting Windows code, how come it does not already 
include the right PSDK headers?