Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / reactos / dll / ntdll / rtl / version.c
diff --git a/reactos/dll/ntdll/rtl/version.c b/reactos/dll/ntdll/rtl/version.c
deleted file mode 100644 (file)
index ac59ada..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * COPYRIGHT:       See COPYING in the top level directory
- * PROJECT:         ReactOS system libraries
- * FILE:            lib/ntdll/rtl/process.c
- * PURPOSE:         Process functions
- * PROGRAMMER:      Ariadne (ariadne@xs4all.nl)
- * UPDATE HISTORY:
- *                  Created 01/11/98
- */
-
-/* INCLUDES *******************************************************************/
-
-#include <ntdll.h>
-
-#define NDEBUG
-#include <debug.h>
-
-/* FUNCTIONS ******************************************************************/
-
-/* HACK: ReactOS specific changes, see bug-reports CORE-6611 and CORE-4620 (aka. #5003) */
-static VOID NTAPI
-SetRosSpecificInfo(IN OUT PRTL_OSVERSIONINFOEXW VersionInformation)
-{
-    CHAR Buffer[sizeof(KEY_VALUE_PARTIAL_INFORMATION) + sizeof(ULONG)];
-    PKEY_VALUE_PARTIAL_INFORMATION kvpInfo = (PVOID)Buffer;
-    OBJECT_ATTRIBUTES ObjectAttributes;
-    ULONG ReportAsWorkstation = 0;
-    HANDLE hKey;
-    ULONG Length;
-    NTSTATUS Status;
-    UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\ReactOS\\Settings\\Version");
-    UNICODE_STRING ValName = RTL_CONSTANT_STRING(L"ReportAsWorkstation");
-
-    InitializeObjectAttributes(&ObjectAttributes,
-                               &KeyName,
-                               OBJ_OPENIF | OBJ_CASE_INSENSITIVE,
-                               NULL,
-                               NULL);
-
-    /* Don't change anything if the key doesn't exist */
-    Status = NtOpenKey(&hKey, KEY_READ, &ObjectAttributes);
-    if (NT_SUCCESS(Status))
-    {
-        /* Get the value from the registry and make sure it's a 32-bit value */
-        Status = NtQueryValueKey(hKey,
-                                 &ValName,
-                                 KeyValuePartialInformation,
-                                 kvpInfo,
-                                 sizeof(Buffer),
-                                 &Length);
-        if (NT_SUCCESS(Status) &&
-            (kvpInfo->Type == REG_DWORD) &&
-            (kvpInfo->DataLength == sizeof(ULONG)))
-        {
-            /* Is the value set? */
-            ReportAsWorkstation = *(PULONG)kvpInfo->Data;
-            if ((VersionInformation->wProductType == VER_NT_SERVER) &&
-                (ReportAsWorkstation != 0))
-            {
-                /* It is, modify the product type to report a workstation */
-                VersionInformation->wProductType = VER_NT_WORKSTATION;
-                DPRINT1("We modified the reported OS from NtProductServer to NtProductWinNt\n");
-            }
-        }
-
-        /* Close the handle */
-        NtClose(hKey);
-    }
-}
-
-/**********************************************************************
- * NAME                         EXPORTED
- *  RtlGetNtProductType
- *
- * DESCRIPTION
- *  Retrieves the OS product type.
- *
- * ARGUMENTS
- *  ProductType Pointer to the product type variable.
- *
- * RETURN VALUE
- *  TRUE if successful, otherwise FALSE
- *
- * NOTE
- *  ProductType can be one of the following values:
- *    1 Workstation (WinNT)
- *    2 Server (LanmanNT)
- *    3 Advanced Server (ServerNT)
- *
- * REVISIONS
- *  2000-08-10 ekohl
- *
- * @implemented
- */
-BOOLEAN NTAPI
-RtlGetNtProductType(PNT_PRODUCT_TYPE ProductType)
-{
-    *ProductType = SharedUserData->NtProductType;
-    return TRUE;
-}
-
-/**********************************************************************
- * NAME                         EXPORTED
- *  RtlGetNtVersionNumbers
- *
- * DESCRIPTION
- *  Get the version numbers of the run time library.
- *
- * ARGUMENTS
- *  pMajorVersion [OUT] Destination for the Major version
- *  pMinorVersion [OUT] Destination for the Minor version
- *  pBuildNumber  [OUT] Destination for the Build version
- *
- * RETURN VALUE
- *  Nothing.
- *
- * NOTES
- *  - Introduced in Windows XP (NT 5.1)
- *  - Since this call didn't exist before XP, we report at least the version
- *    5.1. This fixes the loading of msvcrt.dll as released with XP Home,
- *    which fails in DLLMain() if the major version isn't 5.
- *
- * @implemented
- */
-VOID NTAPI
-RtlGetNtVersionNumbers(OUT PULONG pMajorVersion,
-                       OUT PULONG pMinorVersion,
-                       OUT PULONG pBuildNumber)
-{
-    PPEB pPeb = NtCurrentPeb();
-
-    if (pMajorVersion)
-    {
-        *pMajorVersion = pPeb->OSMajorVersion < 5 ? 5 : pPeb->OSMajorVersion;
-    }
-
-    if (pMinorVersion)
-    {
-        if ( (pPeb->OSMajorVersion  < 5) ||
-            ((pPeb->OSMajorVersion == 5) && (pPeb->OSMinorVersion < 1)) )
-            *pMinorVersion = 1;
-        else
-            *pMinorVersion = pPeb->OSMinorVersion;
-    }
-
-    if (pBuildNumber)
-    {
-        /* Windows really does this! */
-        *pBuildNumber = (0xF0000000 | pPeb->OSBuildNumber);
-    }
-}
-
-/*
- * @implemented
- * @note User-mode version of RtlGetVersion in ntoskrnl/rtl/misc.c
- */
-NTSTATUS NTAPI
-RtlGetVersion(IN OUT PRTL_OSVERSIONINFOW lpVersionInformation)
-{
-    ULONG Length;
-    PPEB Peb = NtCurrentPeb();
-
-    if (lpVersionInformation->dwOSVersionInfoSize != sizeof(RTL_OSVERSIONINFOW) &&
-        lpVersionInformation->dwOSVersionInfoSize != sizeof(RTL_OSVERSIONINFOEXW))
-    {
-        return STATUS_INVALID_PARAMETER;
-    }
-
-    lpVersionInformation->dwMajorVersion = Peb->OSMajorVersion;
-    lpVersionInformation->dwMinorVersion = Peb->OSMinorVersion;
-    lpVersionInformation->dwBuildNumber = Peb->OSBuildNumber;
-    lpVersionInformation->dwPlatformId = Peb->OSPlatformId;
-    RtlZeroMemory(lpVersionInformation->szCSDVersion, sizeof(lpVersionInformation->szCSDVersion));
-
-    /* If we have a CSD version string, initialized by Application Compatibility... */
-    if (Peb->CSDVersion.Length && Peb->CSDVersion.Buffer && Peb->CSDVersion.Buffer[0] != UNICODE_NULL)
-    {
-        /* ... copy it... */
-        Length = min(wcslen(Peb->CSDVersion.Buffer), ARRAYSIZE(lpVersionInformation->szCSDVersion) - 1);
-        wcsncpy(lpVersionInformation->szCSDVersion, Peb->CSDVersion.Buffer, Length);
-    }
-    else
-    {
-        /* ... otherwise we just null-terminate it */
-        Length = 0;
-    }
-
-    /* Always null-terminate the user CSD version string */
-    lpVersionInformation->szCSDVersion[Length] = UNICODE_NULL;
-
-    if (lpVersionInformation->dwOSVersionInfoSize == sizeof(RTL_OSVERSIONINFOEXW))
-    {
-        PRTL_OSVERSIONINFOEXW InfoEx = (PRTL_OSVERSIONINFOEXW)lpVersionInformation;
-        InfoEx->wServicePackMajor = (Peb->OSCSDVersion >> 8) & 0xFF;
-        InfoEx->wServicePackMinor = Peb->OSCSDVersion & 0xFF;
-        InfoEx->wSuiteMask = SharedUserData->SuiteMask & 0xFFFF;
-        InfoEx->wProductType = SharedUserData->NtProductType;
-        InfoEx->wReserved = 0;
-
-        /* HACK: ReactOS specific changes, see bug-reports CORE-6611 and CORE-4620 (aka. #5003) */
-        SetRosSpecificInfo(InfoEx);
-    }
-
-    return STATUS_SUCCESS;
-}
-
-/* EOF */