Moved VerSetConditionMask in RTL so it can be exported from ntoskrnl too
authorKJK::Hyperion <hackbunny@reactos.org>
Sun, 7 Nov 2004 18:45:52 +0000 (18:45 +0000)
committerKJK::Hyperion <hackbunny@reactos.org>
Sun, 7 Nov 2004 18:45:52 +0000 (18:45 +0000)
svn path=/trunk/; revision=11580

reactos/lib/ntdll/makefile
reactos/lib/ntdll/ver/.cvsignore [deleted file]
reactos/lib/ntdll/ver/ver.c [deleted file]
reactos/lib/rtl/version.c
reactos/ntoskrnl/ntoskrnl.def

index 56e681b..5dd7bcb 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: makefile,v 1.110 2004/11/07 13:08:24 hyperion Exp $
+# $Id: makefile,v 1.111 2004/11/07 18:45:52 hyperion Exp $
 
 PATH_TO_TOP = ../..
 
@@ -122,9 +122,6 @@ STRING_OBJECTS = \
        string/strupr.o \
        string/wstring.o
 
-VER_OBJECTS = \
-       ver/ver.o
-
 ARCH_OBJECTS = \
        $(RTL_I386_OBJECTS)
 
@@ -137,8 +134,7 @@ TARGET_OBJECTS = \
        $(RTL_OBJECTS) \
        $(STDIO_OBJECTS) \
        $(STDLIB_OBJECTS) \
-       $(STRING_OBJECTS) \
-        $(VER_OBJECTS)
+       $(STRING_OBJECTS)
 
 DEP_OBJECTS = $(TARGET_OBJECTS)
 DEP_EXCLUDE_FILTER = napi.%
diff --git a/reactos/lib/ntdll/ver/.cvsignore b/reactos/lib/ntdll/ver/.cvsignore
deleted file mode 100644 (file)
index bd0e3df..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-*.d
-*.o
-*.sym
diff --git a/reactos/lib/ntdll/ver/ver.c b/reactos/lib/ntdll/ver/ver.c
deleted file mode 100644 (file)
index 73fb011..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/* $Id: ver.c,v 1.1 2004/11/07 13:08:24 hyperion Exp $
- *
- * COPYRIGHT:       See COPYING in the top level directory
- * PROJECT:         ReactOS NT Layer DLL
- * FILE:            lib/ntdll/ver/ver.c
- * PURPOSE:         Operating system version checking
- * PROGRAMMERS:     KJK::Hyperion
- * HISTORY:         2004-11-07: Created (imported from Wine)
- */
-
-#include <ddk/ntddk.h>
-
-/*
- Header hell made me do it, don't blame me. Please move these somewhere more
- sensible
-*/
-#define VER_EQUAL         1
-#define VER_GREATER       2
-#define VER_GREATER_EQUAL 3
-#define VER_LESS          4
-#define VER_LESS_EQUAL    5
-#define VER_AND           6
-#define VER_OR            7
-
-#define VER_CONDITION_MASK              7
-#define VER_NUM_BITS_PER_CONDITION_MASK 3
-
-#define VER_MINORVERSION     0x0000001
-#define VER_MAJORVERSION     0x0000002
-#define VER_BUILDNUMBER      0x0000004
-#define VER_PLATFORMID       0x0000008
-#define VER_SERVICEPACKMINOR 0x0000010
-#define VER_SERVICEPACKMAJOR 0x0000020
-#define VER_SUITENAME        0x0000040
-#define VER_PRODUCT_TYPE     0x0000080
-
-#define VER_NT_WORKSTATION       0x0000001
-#define VER_NT_DOMAIN_CONTROLLER 0x0000002
-#define VER_NT_SERVER            0x0000003
-
-ULONGLONG NTAPI VerSetConditionMask
-(
- IN ULONGLONG dwlConditionMask,
- IN DWORD dwTypeBitMask,
- IN BYTE dwConditionMask
-)
-{
- if(dwTypeBitMask == 0)
-  return dwlConditionMask;
-
- dwConditionMask &= VER_CONDITION_MASK;
-
- if(dwConditionMask == 0)
-  return dwlConditionMask;
-
- if(dwTypeBitMask & VER_PRODUCT_TYPE)
-  dwlConditionMask |= dwConditionMask << 7 * VER_NUM_BITS_PER_CONDITION_MASK;
- else if(dwTypeBitMask & VER_SUITENAME)
-  dwlConditionMask |= dwConditionMask << 6 * VER_NUM_BITS_PER_CONDITION_MASK;
- else if(dwTypeBitMask & VER_SERVICEPACKMAJOR)
-  dwlConditionMask |= dwConditionMask << 5 * VER_NUM_BITS_PER_CONDITION_MASK;
- else if(dwTypeBitMask & VER_SERVICEPACKMINOR)
-  dwlConditionMask |= dwConditionMask << 4 * VER_NUM_BITS_PER_CONDITION_MASK;
- else if(dwTypeBitMask & VER_PLATFORMID)
-  dwlConditionMask |= dwConditionMask << 3 * VER_NUM_BITS_PER_CONDITION_MASK;
- else if(dwTypeBitMask & VER_BUILDNUMBER)
-  dwlConditionMask |= dwConditionMask << 2 * VER_NUM_BITS_PER_CONDITION_MASK;
- else if(dwTypeBitMask & VER_MAJORVERSION)
-  dwlConditionMask |= dwConditionMask << 1 * VER_NUM_BITS_PER_CONDITION_MASK;
- else if(dwTypeBitMask & VER_MINORVERSION)
-  dwlConditionMask |= dwConditionMask << 0 * VER_NUM_BITS_PER_CONDITION_MASK;
-
- return dwlConditionMask;
-}
-
-/* EOF */
index cc74bfa..3b13581 100644 (file)
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: version.c,v 1.3 2004/08/07 19:13:25 ion Exp $
+/* $Id: version.c,v 1.4 2004/11/07 18:45:52 hyperion Exp $
  *
  * PROJECT:           ReactOS kernel
  * PURPOSE:           Runtime code
@@ -98,4 +98,66 @@ RtlVerifyVersionInfo(
 }
 */
 
+/*
+ Header hell made me do it, don't blame me. Please move these somewhere more
+ sensible
+*/
+#define VER_EQUAL         1
+#define VER_GREATER       2
+#define VER_GREATER_EQUAL 3
+#define VER_LESS          4
+#define VER_LESS_EQUAL    5
+#define VER_AND           6
+#define VER_OR            7
+
+#define VER_CONDITION_MASK              7
+#define VER_NUM_BITS_PER_CONDITION_MASK 3
+
+#define VER_MINORVERSION     0x0000001
+#define VER_MAJORVERSION     0x0000002
+#define VER_BUILDNUMBER      0x0000004
+#define VER_PLATFORMID       0x0000008
+#define VER_SERVICEPACKMINOR 0x0000010
+#define VER_SERVICEPACKMAJOR 0x0000020
+#define VER_SUITENAME        0x0000040
+#define VER_PRODUCT_TYPE     0x0000080
+
+/*
+ * @implemented
+ */
+ULONGLONG NTAPI VerSetConditionMask
+(
+ IN ULONGLONG dwlConditionMask,
+ IN DWORD dwTypeBitMask,
+ IN BYTE dwConditionMask
+)
+{
+ if(dwTypeBitMask == 0)
+  return dwlConditionMask;
+
+ dwConditionMask &= VER_CONDITION_MASK;
+
+ if(dwConditionMask == 0)
+  return dwlConditionMask;
+
+ if(dwTypeBitMask & VER_PRODUCT_TYPE)
+  dwlConditionMask |= dwConditionMask << 7 * VER_NUM_BITS_PER_CONDITION_MASK;
+ else if(dwTypeBitMask & VER_SUITENAME)
+  dwlConditionMask |= dwConditionMask << 6 * VER_NUM_BITS_PER_CONDITION_MASK;
+ else if(dwTypeBitMask & VER_SERVICEPACKMAJOR)
+  dwlConditionMask |= dwConditionMask << 5 * VER_NUM_BITS_PER_CONDITION_MASK;
+ else if(dwTypeBitMask & VER_SERVICEPACKMINOR)
+  dwlConditionMask |= dwConditionMask << 4 * VER_NUM_BITS_PER_CONDITION_MASK;
+ else if(dwTypeBitMask & VER_PLATFORMID)
+  dwlConditionMask |= dwConditionMask << 3 * VER_NUM_BITS_PER_CONDITION_MASK;
+ else if(dwTypeBitMask & VER_BUILDNUMBER)
+  dwlConditionMask |= dwConditionMask << 2 * VER_NUM_BITS_PER_CONDITION_MASK;
+ else if(dwTypeBitMask & VER_MAJORVERSION)
+  dwlConditionMask |= dwConditionMask << 1 * VER_NUM_BITS_PER_CONDITION_MASK;
+ else if(dwTypeBitMask & VER_MINORVERSION)
+  dwlConditionMask |= dwConditionMask << 0 * VER_NUM_BITS_PER_CONDITION_MASK;
+
+ return dwlConditionMask;
+}
+
 /* EOF */
index f143f64..d78276c 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: ntoskrnl.def,v 1.197 2004/10/30 23:48:57 navaraf Exp $
+; $Id: ntoskrnl.def,v 1.198 2004/11/07 18:45:52 hyperion Exp $
 ;
 ; reactos/ntoskrnl/ntoskrnl.def
 ;
@@ -1281,6 +1281,7 @@ SeTokenType@4
 SeUnlockSubjectContext@4
 SeUnregisterLogonSessionTerminatedRoutine@4
 SeValidSecurityDescriptor@8
+VerSetConditionMask@16
 WRITE_REGISTER_UCHAR@8
 WRITE_REGISTER_ULONG@8
 WRITE_REGISTER_USHORT@8