[PSDK] and [NDK]
[reactos.git] / reactos / include / ndk / umtypes.h
index 95c1c8f..39c70cc 100644 (file)
@@ -20,6 +20,14 @@ Author:
 #define _NTDEF_
 #define _NTDEF_H
 
+//
+// Use dummy macros, if SAL 2 is not available
+//
+#include <sal.h>
+#if (_SAL_VERSION < 20)
+#include <no_sal2.h>
+#endif
+
 //
 // NDK Applications must use Unicode
 //
@@ -54,7 +62,7 @@ Author:
 #ifndef _MANAGED
 #if defined(_M_IX86)
 #ifndef FASTCALL
-#define FASTCALL                        _fastcall
+#define FASTCALL                        __fastcall
 #endif
 #else
 #define FASTCALL
@@ -105,13 +113,6 @@ Author:
 #define MAXUSHORT                       0xffff
 #define MAXULONG                        0xffffffff
 
-//
-// CSR Macros
-//
-#define CSR_MAKE_OPCODE(s,m)            ((s) << 16) | (m)
-#define CSR_API_ID_FROM_OPCODE(n)       ((ULONG)((USHORT)(n)))
-#define CSR_SERVER_ID_FROM_OPCODE(n)    (ULONG)((n) >> 16)
-
 //
 // Basic Types that aren't defined in User-Mode Headers
 //
@@ -128,7 +129,9 @@ typedef LONG KPRIORITY;
 //
 #if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H) && !defined(_NTSECAPI_)
 
-typedef LONG NTSTATUS, *PNTSTATUS;
+#if !defined(__BCRYPT_H__) && !defined(__WINE_BCRYPT_H)
+typedef _Return_type_success_(return >= 0) long NTSTATUS, *PNTSTATUS;
+#endif
 
 typedef struct _UNICODE_STRING
 {
@@ -157,8 +160,8 @@ typedef struct _STRING32 {
     USHORT   Length;
     USHORT   MaximumLength;
     ULONG  Buffer;
-} STRING32, *PSTRING32, 
-  UNICODE_STRING32, *PUNICODE_STRING32, 
+} STRING32, *PSTRING32,
+  UNICODE_STRING32, *PUNICODE_STRING32,
   ANSI_STRING32, *PANSI_STRING32;
 
 typedef struct _STRING64 {
@@ -166,7 +169,7 @@ typedef struct _STRING64 {
     USHORT   MaximumLength;
     ULONGLONG  Buffer;
 } STRING64, *PSTRING64,
-  UNICODE_STRING64, *PUNICODE_STRING64, 
+  UNICODE_STRING64, *PUNICODE_STRING64,
   ANSI_STRING64, *PANSI_STRING64;