-# $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 = ../..
string/strupr.o \
string/wstring.o
-VER_OBJECTS = \
- ver/ver.o
-
ARCH_OBJECTS = \
$(RTL_I386_OBJECTS)
$(RTL_OBJECTS) \
$(STDIO_OBJECTS) \
$(STDLIB_OBJECTS) \
- $(STRING_OBJECTS) \
- $(VER_OBJECTS)
+ $(STRING_OBJECTS)
DEP_OBJECTS = $(TARGET_OBJECTS)
DEP_EXCLUDE_FILTER = napi.%
+++ /dev/null
-*.d
-*.o
-*.sym
+++ /dev/null
-/* $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 */
* 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
}
*/
+/*
+ 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 */
-; $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
;
SeUnlockSubjectContext@4
SeUnregisterLogonSessionTerminatedRoutine@4
SeValidSecurityDescriptor@8
+VerSetConditionMask@16
WRITE_REGISTER_UCHAR@8
WRITE_REGISTER_ULONG@8
WRITE_REGISTER_USHORT@8