Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / reactos / win32ss / user / ntuser / ntuser.c
diff --git a/reactos/win32ss/user/ntuser/ntuser.c b/reactos/win32ss/user/ntuser/ntuser.c
deleted file mode 100644 (file)
index d86e563..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- *  COPYRIGHT:        See COPYING in the top level directory
- *  PROJECT:          ReactOS kernel
- *  PURPOSE:          ntuser init. and main funcs.
- *  FILE:             win32ss/user/ntuser/ntuser.c
- */
-
-#include <win32k.h>
-DBG_DEFAULT_CHANNEL(UserMisc);
-
-BOOL FASTCALL RegisterControlAtoms(VOID);
-
-/* GLOBALS ********************************************************************/
-
-PTHREADINFO gptiCurrent = NULL;
-PPROCESSINFO gppiInputProvider = NULL;
-BOOL g_AlwaysDisplayVersion = FALSE;
-ERESOURCE UserLock;
-ATOM AtomMessage;       // Window Message atom.
-ATOM AtomWndObj;        // Window Object atom.
-ATOM AtomLayer;         // Window Layer atom.
-ATOM AtomFlashWndState; // Window Flash State atom.
-ATOM AtomDDETrack;      // Window DDE Tracking atom.
-ATOM AtomQOS;           // Window DDE Quality of Service atom.
-HINSTANCE hModClient = NULL;
-BOOL ClientPfnInit = FALSE;
-ATOM gaGuiConsoleWndClass;
-
-/* PRIVATE FUNCTIONS **********************************************************/
-
-static
-NTSTATUS FASTCALL
-InitUserAtoms(VOID)
-{
-    RegisterControlAtoms();
-
-    gpsi->atomSysClass[ICLS_MENU]      = 32768;
-    gpsi->atomSysClass[ICLS_DESKTOP]   = 32769;
-    gpsi->atomSysClass[ICLS_DIALOG]    = 32770;
-    gpsi->atomSysClass[ICLS_SWITCH]    = 32771;
-    gpsi->atomSysClass[ICLS_ICONTITLE] = 32772;
-    gpsi->atomSysClass[ICLS_TOOLTIPS]  = 32774;
-
-    /* System Message Atom */
-    AtomMessage = IntAddGlobalAtom(L"Message", TRUE);
-    gpsi->atomSysClass[ICLS_HWNDMESSAGE] = AtomMessage;
-
-    /* System Context Help Id Atom */
-    gpsi->atomContextHelpIdProp = IntAddGlobalAtom(L"SysCH", TRUE);
-
-    gpsi->atomIconSmProp = IntAddGlobalAtom(L"SysICS", TRUE);
-    gpsi->atomIconProp   = IntAddGlobalAtom(L"SysIC", TRUE);
-
-    gpsi->atomFrostedWindowProp = IntAddGlobalAtom(L"SysFrostedWindow", TRUE);
-
-    AtomDDETrack = IntAddGlobalAtom(L"SysDT", TRUE);
-    AtomQOS      = IntAddGlobalAtom(L"SysQOS", TRUE);
-
-    /*
-     * FIXME: AddPropW uses the global kernel atom table, thus leading to conflicts if we use
-     * the win32k atom table for this one. What is the right thing to do ?
-     */
-    // AtomWndObj = IntAddGlobalAtom(L"SysWNDO", TRUE);
-    NtAddAtom(L"SysWNDO", 14, &AtomWndObj);
-
-    AtomLayer = IntAddGlobalAtom(L"SysLayer", TRUE);
-    AtomFlashWndState = IntAddGlobalAtom(L"FlashWState", TRUE);
-
-    return STATUS_SUCCESS;
-}
-
-/* FUNCTIONS ******************************************************************/
-
-INIT_FUNCTION
-NTSTATUS
-NTAPI
-InitUserImpl(VOID)
-{
-    NTSTATUS Status;
-    HKEY hKey;
-
-    ExInitializeResourceLite(&UserLock);
-
-    if (!UserCreateHandleTable())
-    {
-        ERR("Failed creating handle table\n");
-        return STATUS_INSUFFICIENT_RESOURCES;
-    }
-
-    Status = InitSessionImpl();
-    if (!NT_SUCCESS(Status))
-    {
-        ERR("Error init session impl.\n");
-        return Status;
-    }
-
-    InitUserAtoms();
-
-    Status = RegOpenKey(L"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows",
-                        &hKey);
-    if (NT_SUCCESS(Status))
-    {
-        DWORD dwValue = 0;
-        RegReadDWORD(hKey, L"DisplayVersion", &dwValue);
-        g_AlwaysDisplayVersion = !!dwValue;
-        ZwClose(hKey);
-    }
-
-    InitSysParams();
-
-    return STATUS_SUCCESS;
-}
-
-NTSTATUS
-NTAPI
-InitVideo();
-
-NTSTATUS
-NTAPI
-UserInitialize(VOID)
-{
-    static const DWORD wPattern55AA[] = /* 32 bit aligned */
-    { 0x55555555, 0xaaaaaaaa, 0x55555555, 0xaaaaaaaa,
-      0x55555555, 0xaaaaaaaa, 0x55555555, 0xaaaaaaaa };
-    HBITMAP hPattern55AABitmap = NULL;
-    NTSTATUS Status;
-
-    NT_ASSERT(PsGetCurrentThreadWin32Thread() != NULL);
-
-// Create Event for Disconnect Desktop.
-
-    Status = UserCreateWinstaDirectory();
-    if (!NT_SUCCESS(Status)) return Status;
-
-    /* Initialize Video */
-    Status = InitVideo();
-    if (!NT_SUCCESS(Status)) return Status;
-
-// {
-//     DrvInitConsole.
-//     DrvChangeDisplaySettings.
-//     Update Shared Device Caps.
-//     Initialize User Screen.
-// }
-
-// Set Global SERVERINFO Error flags.
-// Load Resources.
-
-    NtUserUpdatePerUserSystemParameters(0, TRUE);
-
-    if (gpsi->hbrGray == NULL)
-    {
-        hPattern55AABitmap = GreCreateBitmap(8, 8, 1, 1, (LPBYTE)wPattern55AA);
-        if (hPattern55AABitmap == NULL)
-            return STATUS_INSUFFICIENT_RESOURCES;
-
-        gpsi->hbrGray = IntGdiCreatePatternBrush(hPattern55AABitmap);
-
-        if (gpsi->hbrGray == NULL)
-            return STATUS_INSUFFICIENT_RESOURCES;
-    }
-
-    return STATUS_SUCCESS;
-}
-
-/*
- * Called from usersrv.
- */
-NTSTATUS
-APIENTRY
-NtUserInitialize(
-    DWORD  dwWinVersion,
-    HANDLE hPowerRequestEvent,
-    HANDLE hMediaRequestEvent)
-{
-    NTSTATUS Status;
-
-    TRACE("Enter NtUserInitialize(%lx, %p, %p)\n",
-          dwWinVersion, hPowerRequestEvent, hMediaRequestEvent);
-
-    /* Check if we are already initialized */
-    if (gpepCSRSS)
-        return STATUS_UNSUCCESSFUL;
-
-    /* Check Windows USER subsystem version */
-    if (dwWinVersion != USER_VERSION)
-    {
-        // FIXME: Should bugcheck!
-        return STATUS_UNSUCCESSFUL;
-    }
-
-    /* Acquire exclusive lock */
-    UserEnterExclusive();
-
-    /* Save the EPROCESS of CSRSS */
-    InitCsrProcess(/*PsGetCurrentProcess()*/);
-
-// Initialize Power Request List (use hPowerRequestEvent).
-// Initialize Media Change (use hMediaRequestEvent).
-
-// InitializeGreCSRSS();
-// {
-//    Startup DxGraphics.
-//    calls ** UserGetLanguageID() and sets it **.
-//    Enables Fonts drivers, Initialize Font table & Stock Fonts.
-// }
-
-    /* Initialize USER */
-    Status = UserInitialize();
-
-    /* Return */
-    UserLeave();
-    return Status;
-}
-
-
-/*
-RETURN
-   True if current thread owns the lock (possibly shared)
-*/
-BOOL FASTCALL UserIsEntered(VOID)
-{
-    return ExIsResourceAcquiredExclusiveLite(&UserLock) ||
-           ExIsResourceAcquiredSharedLite(&UserLock);
-}
-
-BOOL FASTCALL UserIsEnteredExclusive(VOID)
-{
-    return ExIsResourceAcquiredExclusiveLite(&UserLock);
-}
-
-VOID FASTCALL CleanupUserImpl(VOID)
-{
-    ExDeleteResourceLite(&UserLock);
-}
-
-VOID FASTCALL UserEnterShared(VOID)
-{
-    KeEnterCriticalRegion();
-    ExAcquireResourceSharedLite(&UserLock, TRUE);
-}
-
-VOID FASTCALL UserEnterExclusive(VOID)
-{
-    ASSERT_NOGDILOCKS();
-    KeEnterCriticalRegion();
-    ExAcquireResourceExclusiveLite(&UserLock, TRUE);
-    gptiCurrent = PsGetCurrentThreadWin32Thread();
-}
-
-VOID FASTCALL UserLeave(VOID)
-{
-    ASSERT_NOGDILOCKS();
-    ASSERT(UserIsEntered());
-    ExReleaseResourceLite(&UserLock);
-    KeLeaveCriticalRegion();
-}
-
-/* EOF */