[ros-dev] headers suggestion

Jonathan Wilson jonwil at tpgi.com.au
Sat Nov 20 07:10:25 CET 2004

This sounds good.
What will happen to the msvcrt headers?
msvcrt itself (and things like crtdll and the others that build off msvcrt) 
should put all their internal stuff (including internal copies of the 
public headers like Microsoft does if that is required)
But I think that any part of ReactOS that needs to talk to 
msvcrt/crtdll/etc should use mingw-runtime (i.e. we make it better using 
stuff in our msvcrt headers if we need to then use and import if needed 

as for the other stuff, I assume that /sdk will basicly be w32api and that 
/ddk will be the w32api DDK. Anything that w32api wont take because its 
documented but not publically (e.g. the aformentioned fdi.h and fci.h) 
should go into the NDK IMO.
I assume then that ndk will contain all the stuff that is exported by the 
various parts of windows but is not documented outside of microsoft. 
Assuming this to be the case, I suggest it is split up (logically if not 
physically split up into different bits) into a set of kernel headers 
(basicly everything exported by ntoskrnl, hal and the various kernel mode 
drivers like win32k.sys, videoprt.sys, ndis.sys etc) and a set of userland 
headers (i.e. all the stuff exported from userland dlls that microsoft 
doesnt document). Also, the NDK should contain something saying that this 
stuff is undocumented and there are no gaurantees that, if you use it, your 
program will work in the future or that it will work on real windows if 
microsoft changes the undocumented stuff)

IMO, anything that is exported by a dll or driver or whatever in ReactOS 
but which is not exported by the MS dlls should be seperate from the NDK 
(at least in a seperate set of headers anyway) and it should be clear that 
using these functions prevents your code from running on real windows.

More information about the Ros-dev mailing list