Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / rostests / apitests / win32nt / w32knapi.c
diff --git a/rostests/apitests/win32nt/w32knapi.c b/rostests/apitests/win32nt/w32knapi.c
deleted file mode 100644 (file)
index 28240e2..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-#include "w32knapi.h"
-
-HINSTANCE g_hInstance;
-HMODULE g_hModule = NULL;
-PGDI_TABLE_ENTRY GdiHandleTable;
-
-static
-PGDI_TABLE_ENTRY
-MyGdiQueryTable()
-{
-       PTEB pTeb = NtCurrentTeb();
-       PPEB pPeb = pTeb->ProcessEnvironmentBlock;
-       return pPeb->GdiSharedHandleTable;
-}
-
-BOOL
-IsHandleValid(HGDIOBJ hobj)
-{
-    USHORT Index = (ULONG_PTR)hobj;
-    PGDI_TABLE_ENTRY pentry = &GdiHandleTable[Index];
-
-    if (pentry->KernelData == NULL ||
-        pentry->KernelData < (PVOID)0x80000000 ||
-        (USHORT)pentry->FullUnique != (USHORT)((ULONG_PTR)hobj >> 16))
-    {
-        return FALSE;
-    }
-    
-    return TRUE;
-}
-
-PVOID
-GetHandleUserData(HGDIOBJ hobj)
-{
-    USHORT Index = (ULONG_PTR)hobj;
-    PGDI_TABLE_ENTRY pentry = &GdiHandleTable[Index];
-
-    if (pentry->KernelData == NULL ||
-        pentry->KernelData < (PVOID)0x80000000 ||
-        (USHORT)pentry->FullUnique != (USHORT)((ULONG_PTR)hobj >> 16))
-    {
-        return NULL;
-    }
-
-    return pentry->UserData;
-}
-
-
-static DWORD WINAPI
-IntSyscall(FARPROC proc, UINT cParams, PVOID pFirstParam)
-{
-       DWORD retval;
-
-#ifdef __GNUC__
-       asm volatile
-       (
-               "pushfl;"                               // Save flags
-               "movl %%ecx, %%eax;"
-               "shl $2, %%eax;"                // Calculate param size
-               "subl %%eax, %%esp;"    // Calculate new stack pos
-               "movl %%esp, %%edi;"    // Destination is stackpointer
-               "cld;"                                  // Clear direction flag
-               "rep movsd;"                    // Copy params to the stack
-               "call *%%edx;"                  // Call function
-               "popfl;"                                // Restore flags
-               : "=a" (retval)
-               : "S" (pFirstParam), "c" (cParams), "d"(proc)
-               : "%edi"
-       );
-#else
-       __asm
-       {
-               pushf
-               mov eax, cParams
-               shl eax, 2
-               sub esp, eax
-               mov edi, esp
-               cld
-               rep movsd
-               call proc
-               mov retval, eax
-               popf
-    };
-#endif
-
-       return retval;
-}
-
-DWORD
-Syscall(LPWSTR pszFunction, int cParams, void* pParams)
-{
-       char szFunctionName[MAX_PATH];
-       FARPROC proc;
-
-       sprintf(szFunctionName, "%ls", pszFunction);
-       proc = (FARPROC)GetProcAddress(g_hModule, szFunctionName);
-       if (!proc)
-       {
-               printf("Couldn't find proc: %s\n", szFunctionName);
-               return FALSE;
-       }
-
-       return IntSyscall(proc, cParams, pParams);
-}
-
-BOOL
-IsFunctionPresent(LPWSTR lpszFunction)
-{
-       char szFunctionName[MAX_PATH];
-       sprintf(szFunctionName, "%ls", lpszFunction);
-       return (GetProcAddress(g_hModule, szFunctionName) != NULL);
-}
-
-int APIENTRY
-WinMain(HINSTANCE hInstance,
-        HINSTANCE hPrevInstance,
-        LPSTR     lpCmdLine,
-        int       nCmdShow)
-{
-       g_hInstance = hInstance;
-
-       printf("Win32k native API test\n");
-
-       /* Convert to gui thread */
-       // IsGUIThread(TRUE); <- does not exists on win2k
-
-       InitOsVersion();
-       printf("g_OsIdx = %d\n", g_OsIdx);
-
-       g_hModule = LoadLibraryW(L"w32kdll.dll");
-       if (!g_hModule)
-       {
-               printf("w32kdll.dll not found!\n");
-               return -1;
-       }
-
-       GdiHandleTable = MyGdiQueryTable();
-       if(!GdiHandleTable)
-       {
-               FreeLibrary(g_hModule);
-               printf("GdiHandleTable not found!\n");
-               return -1;
-       }
-
-       printf("\n");
-
-       return TestMain(L"w32knapi", L"win32k.sys Nt-Api");
-}