put into the namespace NT. The still conflicting #defines are handled
like this: If ntddk.h defintes a symbol FOO and os2.h does the same,
this file here undefines the ntddk.h-one and renames it to NT_FOO.
- This is only done for conflicting symbols. Of course, this ist a
+ This is only done for conflicting symbols. Of course, this list is a
source for errors. But is there a better solution than renaming
all of the symbols?
*/
+#ifndef __ROS2_H__
+#define __ROS2_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+
namespace NT
{
#include <ddk/ntddk.h>
+#include <napi/types.h>
}
#include "os2.h"
}
-using namespace OS2;
\ No newline at end of file
+using namespace OS2;
+
+APIRET STDCALL Dos32Open(PSZ pszFileName, PHFILE pHf,
+ PULONG pulAction, ULONG cbFile,
+ ULONG ulAttribute, ULONG fsOpenFlags,
+ ULONG fsOpenMode, PVOID reserved ); //ULONGPEAOP2 peaop2)
+APIRET STDCALL Dos32Close(HFILE hFile);
+APIRET STDCALL Dos32Read(HFILE hFile, PVOID pBuffer,
+ ULONG cbRead, PULONG pcbActual);
+APIRET STDCALL Dos32Write(HFILE hFile, PVOID pBuffer,
+ ULONG cbWrite, PULONG pcbActual);
+ULONG STDCALL DosSleep (ULONG ulInterval);
+ULONG STDCALL DosBeep (ULONG ulFrequency, ULONG ulDuration);
+VOID STDCALL DosExit (ULONG ulAction, ULONG ulResult);
+
+//ULONG STDCALL DosDevIOCtl (HFILE hDevice, ULONG ulCategory, ULONG ulFunction,
+// PVOID pParams, ULONG ulParamsLengthMax, PULONG pulParamsLength,
+// PVOID pData, ULONG ulDataLengthMax, PULONG pulDataLength);
+
+typedef ULONG foo_TID;
+typedef foo_TID* foo_PTID;
+typedef void (*foo_PFNTHREAD)(ULONG ulThreadArg);
+
+ULONG STDCALL DosCreateThread (foo_PTID ptidThreadID, foo_PFNTHREAD pfnThreadAddr,
+ ULONG ulThreadArg, ULONG ulFlags, ULONG ulStackSize);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* __ROS2_H__ */