From 6435dec245db030b59bdb82465e185896e004a33 Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Sun, 13 Jun 2004 20:04:56 +0000 Subject: [PATCH] - Compile kernel32 using w32api. - Fixed some packing issues in DDK headers (more to come). svn path=/trunk/; revision=9664 --- reactos/include/napi/shared_data.h | 3 +- reactos/lib/kernel32/except/except.c | 11 +- reactos/lib/kernel32/file/iocompl.c | 7 +- reactos/lib/kernel32/file/mailslot.c | 12 +- reactos/lib/kernel32/file/move.c | 273 ++++++++++++------------ reactos/lib/kernel32/include/kernel32.h | 2 + reactos/lib/kernel32/k32.h | 4 + reactos/lib/kernel32/mem/global.c | 4 +- reactos/lib/kernel32/mem/heap.c | 4 +- reactos/lib/kernel32/mem/local.c | 10 +- reactos/lib/kernel32/mem/procmem.c | 14 +- reactos/lib/kernel32/misc/console.c | 56 +---- reactos/lib/kernel32/misc/errormsg.c | 33 +-- reactos/lib/kernel32/misc/lang.c | 8 +- reactos/lib/kernel32/misc/ldr.c | 11 +- reactos/lib/kernel32/misc/profile.c | 46 ++-- reactos/lib/kernel32/misc/res.c | 15 +- reactos/lib/kernel32/misc/stubs.c | 18 +- reactos/lib/kernel32/misc/sysinfo.c | 6 +- reactos/lib/kernel32/misc/time.c | 12 +- reactos/lib/kernel32/synch/intrlck.c | 11 +- reactos/lib/kernel32/synch/timer.c | 4 +- reactos/lib/kernel32/thread/fiber.c | 20 +- reactos/lib/kernel32/thread/thread.c | 13 +- reactos/w32api/include/ddk/ntddk.h | 4 - reactos/w32api/include/ddk/winddk.h | 55 ++--- reactos/w32api/include/ntdef.h | 2 + reactos/w32api/include/winbase.h | 49 +++-- reactos/w32api/include/winnt.h | 14 +- 29 files changed, 338 insertions(+), 383 deletions(-) diff --git a/reactos/include/napi/shared_data.h b/reactos/include/napi/shared_data.h index 032a294970e..e5e471efb2f 100644 --- a/reactos/include/napi/shared_data.h +++ b/reactos/include/napi/shared_data.h @@ -72,9 +72,8 @@ typedef struct _KUSER_SHARED_DATA #endif #define SharedUserData ((KUSER_SHARED_DATA * const)KI_USER_SHARED_DATA) #else -#ifndef __USE_W32API +#undef SharedUserData #define SharedUserData ((KUSER_SHARED_DATA * const)USER_SHARED_DATA) -#endif /* !__USE_W32API */ #endif diff --git a/reactos/lib/kernel32/except/except.c b/reactos/lib/kernel32/except/except.c index 597ff008d76..02e66b9c229 100644 --- a/reactos/lib/kernel32/except/except.c +++ b/reactos/lib/kernel32/except/except.c @@ -1,4 +1,4 @@ -/* $Id: except.c,v 1.13 2004/05/29 11:51:33 navaraf Exp $ +/* $Id: except.c,v 1.14 2004/06/13 20:04:55 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -12,18 +12,9 @@ #include - -typedef LONG (STDCALL *LPTOP_LEVEL_EXCEPTION_FILTER)( - struct _EXCEPTION_POINTERS *ExceptionInfo - ); - UINT GlobalErrMode; LPTOP_LEVEL_EXCEPTION_FILTER GlobalTopLevelExceptionFilter; -UINT GetErrorMode(void); - - - UINT GetErrorMode(void) { return GlobalErrMode; diff --git a/reactos/lib/kernel32/file/iocompl.c b/reactos/lib/kernel32/file/iocompl.c index bba956ef8a0..23f7aa5d796 100644 --- a/reactos/lib/kernel32/file/iocompl.c +++ b/reactos/lib/kernel32/file/iocompl.c @@ -1,4 +1,4 @@ -/* $Id: iocompl.c,v 1.13 2004/01/23 16:37:11 ekohl Exp $ +/* $Id: iocompl.c,v 1.14 2004/06/13 20:04:55 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -57,8 +57,13 @@ CreateIoCompletionPort( if ( FileHandle != INVALID_HANDLE_VALUE ) { +#ifdef __USE_W32API + CompletionInformation.Port = CompletionPort; + CompletionInformation.Key = CompletionKey; +#else CompletionInformation.IoCompletionHandle = CompletionPort; CompletionInformation.CompletionKey = CompletionKey; +#endif errCode = NtSetInformationFile(FileHandle, &IoStatusBlock, diff --git a/reactos/lib/kernel32/file/mailslot.c b/reactos/lib/kernel32/file/mailslot.c index c4148da0056..b6b1fa7b0ec 100644 --- a/reactos/lib/kernel32/file/mailslot.c +++ b/reactos/lib/kernel32/file/mailslot.c @@ -1,4 +1,4 @@ -/* $Id: mailslot.c,v 1.10 2004/01/23 21:16:03 ekohl Exp $ +/* $Id: mailslot.c,v 1.11 2004/06/13 20:04:55 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -131,19 +131,19 @@ GetMailslotInfo(HANDLE hMailslot, if (lpMaxMessageSize != NULL) { - *lpMaxMessageSize = Buffer.MaxMessageSize; + *lpMaxMessageSize = Buffer.MaximumMessageSize; } if (lpNextSize != NULL) { - *lpNextSize = Buffer.NextSize; + *lpNextSize = Buffer.NextMessageSize; } if (lpMessageCount != NULL) { - *lpMessageCount = Buffer.MessageCount; + *lpMessageCount = Buffer.MessagesAvailable; } if (lpReadTimeout != NULL) { - *lpReadTimeout = (DWORD)(Buffer.Timeout.QuadPart / -10000); + *lpReadTimeout = (DWORD)(Buffer.ReadTimeout.QuadPart / -10000); } return(TRUE); @@ -161,7 +161,7 @@ SetMailslotInfo(HANDLE hMailslot, IO_STATUS_BLOCK Iosb; NTSTATUS Status; - Buffer.Timeout.QuadPart = lReadTimeout * -10000; + Buffer.ReadTimeout.QuadPart = lReadTimeout * -10000; Status = NtSetInformationFile(hMailslot, &Iosb, diff --git a/reactos/lib/kernel32/file/move.c b/reactos/lib/kernel32/file/move.c index 1d6bbf87928..5ea15b6f777 100644 --- a/reactos/lib/kernel32/file/move.c +++ b/reactos/lib/kernel32/file/move.c @@ -1,4 +1,4 @@ -/* $Id: move.c,v 1.13 2004/01/23 21:16:03 ekohl Exp $ +/* $Id: move.c,v 1.14 2004/06/13 20:04:55 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -22,138 +22,6 @@ /* FUNCTIONS ****************************************************************/ -/* - * @implemented - */ -BOOL -STDCALL -MoveFileA ( - LPCSTR lpExistingFileName, - LPCSTR lpNewFileName - ) -{ - return MoveFileExA (lpExistingFileName, - lpNewFileName, - MOVEFILE_COPY_ALLOWED); -} - - -/* - * @implemented - */ -BOOL -STDCALL -MoveFileExA ( - LPCSTR lpExistingFileName, - LPCSTR lpNewFileName, - DWORD dwFlags - ) -{ - return MoveFileWithProgressA (lpExistingFileName, - lpNewFileName, - NULL, - NULL, - dwFlags); -} - - -/* - * @implemented - */ -BOOL -STDCALL -MoveFileWithProgressA ( - LPCSTR lpExistingFileName, - LPCSTR lpNewFileName, - LPPROGRESS_ROUTINE lpProgressRoutine, - LPVOID lpData, - DWORD dwFlags - ) -{ - UNICODE_STRING ExistingFileNameU; - UNICODE_STRING NewFileNameU; - ANSI_STRING ExistingFileName; - ANSI_STRING NewFileName; - BOOL Result; - - RtlInitAnsiString (&ExistingFileName, - (LPSTR)lpExistingFileName); - - RtlInitAnsiString (&NewFileName, - (LPSTR)lpNewFileName); - - /* convert ansi (or oem) string to unicode */ - if (bIsFileApiAnsi) - { - RtlAnsiStringToUnicodeString (&ExistingFileNameU, - &ExistingFileName, - TRUE); - RtlAnsiStringToUnicodeString (&NewFileNameU, - &NewFileName, - TRUE); - } - else - { - RtlOemStringToUnicodeString (&ExistingFileNameU, - &ExistingFileName, - TRUE); - RtlOemStringToUnicodeString (&NewFileNameU, - &NewFileName, - TRUE); - } - - Result = MoveFileWithProgressW (ExistingFileNameU.Buffer, - NewFileNameU.Buffer, - lpProgressRoutine, - lpData, - dwFlags); - - RtlFreeHeap (RtlGetProcessHeap (), - 0, - ExistingFileNameU.Buffer); - RtlFreeHeap (RtlGetProcessHeap (), - 0, - NewFileNameU.Buffer); - - return Result; -} - - -/* - * @implemented - */ -BOOL -STDCALL -MoveFileW ( - LPCWSTR lpExistingFileName, - LPCWSTR lpNewFileName - ) -{ - return MoveFileExW (lpExistingFileName, - lpNewFileName, - MOVEFILE_COPY_ALLOWED); -} - - -/* - * @implemented - */ -BOOL -STDCALL -MoveFileExW ( - LPCWSTR lpExistingFileName, - LPCWSTR lpNewFileName, - DWORD dwFlags - ) -{ - return MoveFileWithProgressW (lpExistingFileName, - lpNewFileName, - NULL, - NULL, - dwFlags); -} - - static BOOL AdjustFileAttributes ( LPCWSTR ExistingFileName, @@ -312,10 +180,9 @@ MoveFileWithProgressW ( FileRename = (FILE_RENAME_INFORMATION *)Buffer; if ((dwFlags & MOVEFILE_REPLACE_EXISTING) == MOVEFILE_REPLACE_EXISTING) - FileRename->Replace = TRUE; + FileRename->ReplaceIfExists = TRUE; else - FileRename->Replace = FALSE; - + FileRename->ReplaceIfExists = FALSE; FileRename->FileNameLength = wcslen (lpNewFileName); memcpy (FileRename->FileName, lpNewFileName, @@ -346,7 +213,7 @@ MoveFileWithProgressW ( lpProgressRoutine, lpData, NULL, - FileRename->Replace ? 0 : COPY_FILE_FAIL_IF_EXISTS) && + FileRename->ReplaceIfExists ? 0 : COPY_FILE_FAIL_IF_EXISTS) && AdjustFileAttributes(lpExistingFileName, lpNewFileName) && DeleteFileW (lpExistingFileName); if (! Result) @@ -379,4 +246,136 @@ MoveFileWithProgressW ( return Result; } + +/* + * @implemented + */ +BOOL +STDCALL +MoveFileWithProgressA ( + LPCSTR lpExistingFileName, + LPCSTR lpNewFileName, + LPPROGRESS_ROUTINE lpProgressRoutine, + LPVOID lpData, + DWORD dwFlags + ) +{ + UNICODE_STRING ExistingFileNameU; + UNICODE_STRING NewFileNameU; + ANSI_STRING ExistingFileName; + ANSI_STRING NewFileName; + BOOL Result; + + RtlInitAnsiString (&ExistingFileName, + (LPSTR)lpExistingFileName); + + RtlInitAnsiString (&NewFileName, + (LPSTR)lpNewFileName); + + /* convert ansi (or oem) string to unicode */ + if (bIsFileApiAnsi) + { + RtlAnsiStringToUnicodeString (&ExistingFileNameU, + &ExistingFileName, + TRUE); + RtlAnsiStringToUnicodeString (&NewFileNameU, + &NewFileName, + TRUE); + } + else + { + RtlOemStringToUnicodeString (&ExistingFileNameU, + &ExistingFileName, + TRUE); + RtlOemStringToUnicodeString (&NewFileNameU, + &NewFileName, + TRUE); + } + + Result = MoveFileWithProgressW (ExistingFileNameU.Buffer, + NewFileNameU.Buffer, + lpProgressRoutine, + lpData, + dwFlags); + + RtlFreeHeap (RtlGetProcessHeap (), + 0, + ExistingFileNameU.Buffer); + RtlFreeHeap (RtlGetProcessHeap (), + 0, + NewFileNameU.Buffer); + + return Result; +} + + +/* + * @implemented + */ +BOOL +STDCALL +MoveFileW ( + LPCWSTR lpExistingFileName, + LPCWSTR lpNewFileName + ) +{ + return MoveFileExW (lpExistingFileName, + lpNewFileName, + MOVEFILE_COPY_ALLOWED); +} + + +/* + * @implemented + */ +BOOL +STDCALL +MoveFileExW ( + LPCWSTR lpExistingFileName, + LPCWSTR lpNewFileName, + DWORD dwFlags + ) +{ + return MoveFileWithProgressW (lpExistingFileName, + lpNewFileName, + NULL, + NULL, + dwFlags); +} + + +/* + * @implemented + */ +BOOL +STDCALL +MoveFileA ( + LPCSTR lpExistingFileName, + LPCSTR lpNewFileName + ) +{ + return MoveFileExA (lpExistingFileName, + lpNewFileName, + MOVEFILE_COPY_ALLOWED); +} + + +/* + * @implemented + */ +BOOL +STDCALL +MoveFileExA ( + LPCSTR lpExistingFileName, + LPCSTR lpNewFileName, + DWORD dwFlags + ) +{ + return MoveFileWithProgressA (lpExistingFileName, + lpNewFileName, + NULL, + NULL, + dwFlags); +} + /* EOF */ diff --git a/reactos/lib/kernel32/include/kernel32.h b/reactos/lib/kernel32/include/kernel32.h index 41ecdfcb3ce..b3815f221e6 100755 --- a/reactos/lib/kernel32/include/kernel32.h +++ b/reactos/lib/kernel32/include/kernel32.h @@ -44,6 +44,8 @@ extern CRITICAL_SECTION DllLock; BOOL STDCALL IsConsoleHandle(HANDLE Handle); +BOOL STDCALL VerifyConsoleIoHandle(HANDLE Handle); + BOOL STDCALL CloseConsoleHandle(HANDLE Handle); HANDLE STDCALL OpenConsoleW (LPWSTR wsName, diff --git a/reactos/lib/kernel32/k32.h b/reactos/lib/kernel32/k32.h index 816c8c70f85..8f4b2d433cd 100755 --- a/reactos/lib/kernel32/k32.h +++ b/reactos/lib/kernel32/k32.h @@ -1,3 +1,5 @@ +#define _WIN32_WINNT 0x0501 +#define __USE_W32API #define NTOS_MODE_USER #include #include @@ -24,5 +26,7 @@ #include #include #include +#include +#include #include "include/kernel32.h" diff --git a/reactos/lib/kernel32/mem/global.c b/reactos/lib/kernel32/mem/global.c index b28cf100133..0cf2bc38d9f 100644 --- a/reactos/lib/kernel32/mem/global.c +++ b/reactos/lib/kernel32/mem/global.c @@ -1,4 +1,4 @@ -/* $Id: global.c,v 1.24 2004/05/31 16:54:04 jimtabor Exp $ +/* $Id: global.c,v 1.25 2004/06/13 20:04:55 navaraf Exp $ * * Win32 Global/Local heap functions (GlobalXXX, LocalXXX). * These functions included in Win32 for compatibility with 16 bit Windows @@ -144,7 +144,7 @@ GlobalAlloc(UINT uFlags, /* * @implemented */ -UINT STDCALL +SIZE_T STDCALL GlobalCompact(DWORD dwMinFree) { return RtlCompactHeap(hProcessHeap, 0); diff --git a/reactos/lib/kernel32/mem/heap.c b/reactos/lib/kernel32/mem/heap.c index 9a0ed7462c7..037d4348d98 100644 --- a/reactos/lib/kernel32/mem/heap.c +++ b/reactos/lib/kernel32/mem/heap.c @@ -1,4 +1,4 @@ -/* $Id: heap.c,v 1.26 2004/01/23 21:16:03 ekohl Exp $ +/* $Id: heap.c,v 1.27 2004/06/13 20:04:55 navaraf Exp $ * * kernel/heap.c * Copyright (C) 1996, Onno Hovers, All rights reserved @@ -110,7 +110,7 @@ BOOL WINAPI HeapUnlock(HANDLE hheap) /* * @implemented */ -UINT WINAPI HeapCompact(HANDLE hheap, DWORD flags) +SIZE_T WINAPI HeapCompact(HANDLE hheap, DWORD flags) { return RtlCompactHeap(hheap, flags); } diff --git a/reactos/lib/kernel32/mem/local.c b/reactos/lib/kernel32/mem/local.c index ae3f076841c..bc999652ab5 100644 --- a/reactos/lib/kernel32/mem/local.c +++ b/reactos/lib/kernel32/mem/local.c @@ -1,4 +1,4 @@ -/* $Id: local.c,v 1.10 2004/01/23 21:16:03 ekohl Exp $ +/* $Id: local.c,v 1.11 2004/06/13 20:04:55 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * Copyright (C) 1996, Onno Hovers, All rights reserved @@ -34,7 +34,7 @@ */ HLOCAL STDCALL LocalAlloc(UINT uFlags, - UINT uBytes) + SIZE_T uBytes) { return (HLOCAL)GlobalAlloc(uFlags, uBytes); } @@ -43,7 +43,7 @@ LocalAlloc(UINT uFlags, /* * @implemented */ -UINT STDCALL +SIZE_T STDCALL LocalCompact(UINT uMinFree) { return RtlCompactHeap(hProcessHeap, 0); @@ -95,7 +95,7 @@ LocalLock(HLOCAL hMem) */ HLOCAL STDCALL LocalReAlloc(HLOCAL hMem, - UINT uBytes, + SIZE_T uBytes, UINT uFlags) { return (HLOCAL)GlobalReAlloc((HGLOBAL)hMem, uBytes, uFlags); @@ -105,7 +105,7 @@ LocalReAlloc(HLOCAL hMem, /* * @implemented */ -UINT STDCALL +SIZE_T STDCALL LocalShrink(HLOCAL hMem, UINT cbNewSize) { return RtlCompactHeap(hProcessHeap, 0); diff --git a/reactos/lib/kernel32/mem/procmem.c b/reactos/lib/kernel32/mem/procmem.c index eebc645e285..e7581e5f396 100644 --- a/reactos/lib/kernel32/mem/procmem.c +++ b/reactos/lib/kernel32/mem/procmem.c @@ -1,4 +1,4 @@ -/* $Id: procmem.c,v 1.7 2004/01/23 17:13:36 ekohl Exp $ +/* $Id: procmem.c,v 1.8 2004/06/13 20:04:55 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -48,16 +48,16 @@ ReadProcessMemory ( BOOL STDCALL WriteProcessMemory ( - HANDLE hProcess, - LPVOID lpBaseAddress, - LPVOID lpBuffer, - DWORD nSize, - LPDWORD lpNumberOfBytesWritten + HANDLE hProcess, + LPVOID lpBaseAddress, + LPCVOID lpBuffer, + SIZE_T nSize, + SIZE_T *lpNumberOfBytesWritten ) { NTSTATUS Status; - Status = NtWriteVirtualMemory( hProcess, lpBaseAddress,lpBuffer, nSize, + Status = NtWriteVirtualMemory( hProcess, lpBaseAddress, (LPVOID)lpBuffer, nSize, (PULONG)lpNumberOfBytesWritten ); diff --git a/reactos/lib/kernel32/misc/console.c b/reactos/lib/kernel32/misc/console.c index a4f53f5194c..37871325f45 100644 --- a/reactos/lib/kernel32/misc/console.c +++ b/reactos/lib/kernel32/misc/console.c @@ -1,4 +1,4 @@ -/* $Id: console.c,v 1.75 2004/05/28 13:17:32 weiden Exp $ +/* $Id: console.c,v 1.76 2004/06/13 20:04:56 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -1016,7 +1016,7 @@ GetStdHandle(DWORD nStdHandle) /* * @implemented */ -WINBASEAPI BOOL WINAPI +BOOL WINAPI SetStdHandle(DWORD nStdHandle, HANDLE hHandle) /* @@ -1234,7 +1234,7 @@ BOOL STDCALL AllocConsole(VOID) if(NtCurrentPeb()->ProcessParameters->hConsole) { DPRINT("AllocConsole: Allocate duplicate console to the same Process\n"); - SetLastErrorByStatus (STATUS_OBJECT_EXISTS); + SetLastErrorByStatus (STATUS_OBJECT_NAME_EXISTS); return FALSE; } @@ -1403,7 +1403,6 @@ FillConsoleOutputCharacterW( * * @implemented */ -WINBASEAPI BOOL WINAPI PeekConsoleInputA( @@ -1474,7 +1473,6 @@ PeekConsoleInputA( * * @unimplemented */ -WINBASEAPI BOOL WINAPI PeekConsoleInputW( @@ -1494,7 +1492,7 @@ PeekConsoleInputW( * * @implemented */ -WINBASEAPI BOOL WINAPI +BOOL WINAPI ReadConsoleInputA(HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, @@ -1572,7 +1570,6 @@ ReadConsoleInputA(HANDLE hConsoleInput, * * @unimplemented */ -WINBASEAPI BOOL WINAPI ReadConsoleInputW( @@ -1592,7 +1589,6 @@ ReadConsoleInputW( * * @implemented */ -WINBASEAPI BOOL WINAPI WriteConsoleInputA( @@ -1659,7 +1655,6 @@ WriteConsoleInputA( * * @unimplemented */ -WINBASEAPI BOOL WINAPI WriteConsoleInputW( @@ -1679,7 +1674,6 @@ WriteConsoleInputW( * * @implemented */ -WINBASEAPI BOOL WINAPI ReadConsoleOutputA( @@ -1754,7 +1748,6 @@ ReadConsoleOutputA( * * @unimplemented */ -WINBASEAPI BOOL WINAPI ReadConsoleOutputW( @@ -1774,7 +1767,7 @@ ReadConsoleOutputW( * * @implemented */ -WINBASEAPI BOOL WINAPI +BOOL WINAPI WriteConsoleOutputA(HANDLE hConsoleOutput, CONST CHAR_INFO *lpBuffer, COORD dwBufferSize, @@ -1839,7 +1832,6 @@ WriteConsoleOutputA(HANDLE hConsoleOutput, * * @unimplemented */ -WINBASEAPI BOOL WINAPI WriteConsoleOutputW( @@ -1860,7 +1852,6 @@ WriteConsoleOutputW( * * @implemented */ -WINBASEAPI BOOL WINAPI ReadConsoleOutputCharacterA( @@ -1929,7 +1920,6 @@ ReadConsoleOutputCharacterA( * * @unimplemented */ -WINBASEAPI BOOL WINAPI ReadConsoleOutputCharacterW( @@ -1950,7 +1940,6 @@ ReadConsoleOutputCharacterW( * * @implemented */ -WINBASEAPI BOOL WINAPI ReadConsoleOutputAttribute( @@ -2021,7 +2010,7 @@ ReadConsoleOutputAttribute( * * @implemented */ -WINBASEAPI BOOL WINAPI +BOOL WINAPI WriteConsoleOutputCharacterA(HANDLE hConsoleOutput, LPCSTR lpCharacter, DWORD nLength, @@ -2075,7 +2064,7 @@ WriteConsoleOutputCharacterA(HANDLE hConsoleOutput, * * @implemented */ -WINBASEAPI BOOL WINAPI +BOOL WINAPI WriteConsoleOutputCharacterW(HANDLE hConsoleOutput, LPCWSTR lpCharacter, DWORD nLength, @@ -2138,7 +2127,6 @@ WriteConsoleOutputCharacterW(HANDLE hConsoleOutput, * * @implemented */ -WINBASEAPI BOOL WINAPI WriteConsoleOutputAttribute( @@ -2196,7 +2184,6 @@ WriteConsoleOutputAttribute( * * @implemented */ -WINBASEAPI BOOL WINAPI FillConsoleOutputAttribute( @@ -2233,7 +2220,6 @@ FillConsoleOutputAttribute( * * @implemented */ -WINBASEAPI BOOL WINAPI GetConsoleMode( @@ -2263,7 +2249,6 @@ GetConsoleMode( * * @implemented */ -WINBASEAPI BOOL WINAPI GetNumberOfConsoleInputEvents( @@ -2301,7 +2286,6 @@ GetNumberOfConsoleInputEvents( * * @unimplemented */ -WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize( @@ -2322,7 +2306,6 @@ GetLargestConsoleWindowSize( * * @implemented */ -WINBASEAPI BOOL WINAPI GetConsoleCursorInfo( @@ -2353,7 +2336,6 @@ GetConsoleCursorInfo( * * @unimplemented */ -WINBASEAPI BOOL WINAPI GetNumberOfConsoleMouseButtons( @@ -2370,7 +2352,6 @@ GetNumberOfConsoleMouseButtons( * * @implemented */ -WINBASEAPI BOOL WINAPI SetConsoleMode( @@ -2400,7 +2381,6 @@ SetConsoleMode( * * @implemented */ -WINBASEAPI BOOL WINAPI SetConsoleActiveScreenBuffer( @@ -2428,7 +2408,6 @@ SetConsoleActiveScreenBuffer( * * @implemented */ -WINBASEAPI BOOL WINAPI FlushConsoleInputBuffer( @@ -2456,7 +2435,6 @@ FlushConsoleInputBuffer( * * @unimplemented */ -WINBASEAPI BOOL WINAPI SetConsoleScreenBufferSize( @@ -2473,7 +2451,6 @@ SetConsoleScreenBufferSize( * * @implemented */ -WINBASEAPI BOOL WINAPI SetConsoleCursorInfo( @@ -2504,7 +2481,6 @@ SetConsoleCursorInfo( * * @implemented */ -WINBASEAPI BOOL WINAPI ScrollConsoleScreenBufferA( @@ -2551,7 +2527,6 @@ ScrollConsoleScreenBufferA( * * @unimplemented */ -WINBASEAPI BOOL WINAPI ScrollConsoleScreenBufferW( @@ -2572,7 +2547,6 @@ ScrollConsoleScreenBufferW( * * @unimplemented */ -WINBASEAPI BOOL WINAPI SetConsoleWindowInfo( @@ -2591,7 +2565,6 @@ SetConsoleWindowInfo( * * @implemented */ -WINBASEAPI BOOL WINAPI SetConsoleTextAttribute( @@ -2679,7 +2652,7 @@ RemoveConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine) /* * @implemented */ -WINBASEAPI BOOL WINAPI +BOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine, BOOL Add) { @@ -2704,7 +2677,7 @@ SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine, * * @unimplemented */ -WINBASEAPI BOOL WINAPI +BOOL WINAPI GenerateConsoleCtrlEvent( DWORD dwCtrlEvent, DWORD dwProcessGroupId @@ -2720,7 +2693,6 @@ GenerateConsoleCtrlEvent( * * @implemented */ -WINBASEAPI DWORD WINAPI GetConsoleTitleW( @@ -2783,7 +2755,6 @@ GetConsoleTitleW( * * @implemented */ -WINBASEAPI DWORD WINAPI GetConsoleTitleA( @@ -2823,7 +2794,6 @@ GetConsoleTitleA( * * @implemented */ -WINBASEAPI BOOL WINAPI SetConsoleTitleW( @@ -2884,7 +2854,6 @@ SetConsoleTitleW( * * @implemented */ -WINBASEAPI BOOL WINAPI SetConsoleTitleA( @@ -2943,7 +2912,6 @@ SetConsoleTitleA( * * @unimplemented */ -WINBASEAPI BOOL WINAPI ReadConsoleW( @@ -2964,7 +2932,6 @@ ReadConsoleW( * * @unimplemented */ -WINBASEAPI BOOL WINAPI WriteConsoleW( @@ -3030,7 +2997,6 @@ WriteConsoleW( * * @implemented */ -WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer( @@ -3062,7 +3028,6 @@ CreateConsoleScreenBuffer( * * @unimplemented */ -WINBASEAPI UINT WINAPI GetConsoleCP( VOID ) @@ -3077,7 +3042,6 @@ GetConsoleCP( VOID ) * * @unimplemented */ -WINBASEAPI BOOL WINAPI SetConsoleCP( @@ -3094,7 +3058,6 @@ SetConsoleCP( * * @unimplemented */ -WINBASEAPI UINT WINAPI GetConsoleOutputCP( VOID ) @@ -3109,7 +3072,6 @@ GetConsoleOutputCP( VOID ) * * @unimplemented */ -WINBASEAPI BOOL WINAPI SetConsoleOutputCP( diff --git a/reactos/lib/kernel32/misc/errormsg.c b/reactos/lib/kernel32/misc/errormsg.c index 43a7adf3b11..4bf8ce4fc5b 100644 --- a/reactos/lib/kernel32/misc/errormsg.c +++ b/reactos/lib/kernel32/misc/errormsg.c @@ -1,4 +1,4 @@ -/* $Id: errormsg.c,v 1.16 2004/01/23 21:16:03 ekohl Exp $ +/* $Id: errormsg.c,v 1.17 2004/06/13 20:04:56 navaraf Exp $ * * reactos/lib/kernel32/misc/errormsg.c * @@ -45,35 +45,6 @@ inline static LPSTR HEAP_strdupWtoA( HANDLE heap, DWORD flags, LPCWSTR str ) return ret; } -/* INTERNAL */ - - -typedef struct tagMESSAGE_RESOURCE_ENTRY { - WORD Length; - WORD Flags; - BYTE Text[1]; -} MESSAGE_RESOURCE_ENTRY,*PMESSAGE_RESOURCE_ENTRY; -#define MESSAGE_RESOURCE_UNICODE 0x0001 - -typedef struct tagMESSAGE_RESOURCE_BLOCK { - DWORD LowId; - DWORD HighId; - DWORD OffsetToEntries; -} MESSAGE_RESOURCE_BLOCK,*PMESSAGE_RESOURCE_BLOCK; - -typedef struct tagMESSAGE_RESOURCE_DATA { - DWORD NumberOfBlocks; - MESSAGE_RESOURCE_BLOCK Blocks[ 1 ]; -} MESSAGE_RESOURCE_DATA,*PMESSAGE_RESOURCE_DATA; - - -//#define RT_RCDATAA MAKEINTRESOURCEA(10) -//#define RT_RCDATAW MAKEINTRESOURCEW(10) -////#define RT_RCDATA WINELIB_NAME_AW(RT_RCDATA) -//#define RT_MESSAGETABLEA MAKEINTRESOURCEA(11) -//#define RT_MESSAGETABLEW MAKEINTRESOURCEW(11) -////#define RT_MESSAGETABLE WINELIB_NAME_AW(RT_MESSAGETABLE) - /* Messages...used by FormatMessage32* (KERNEL32.something) * * They can be specified either directly or using a message ID and @@ -112,7 +83,7 @@ static INT load_messageA( HMODULE instance, UINT id, WORD lang, //TRACE("instance = %08lx, id = %08lx, buffer = %p, length = %ld\n", (DWORD)instance, (DWORD)id, buffer, (DWORD)buflen); /*FIXME: I am not sure about the '1' ... But I've only seen those entries*/ - hrsrc = FindResourceExW(instance,RT_MESSAGETABLEW,(LPWSTR)1,lang); + hrsrc = FindResourceExW(instance,(LPWSTR)RT_MESSAGETABLE,(LPWSTR)1,lang); if (!hrsrc) return 0; hmem = LoadResource( instance, hrsrc ); if (!hmem) return 0; diff --git a/reactos/lib/kernel32/misc/lang.c b/reactos/lib/kernel32/misc/lang.c index 56f82c64a7b..a72031093db 100644 --- a/reactos/lib/kernel32/misc/lang.c +++ b/reactos/lib/kernel32/misc/lang.c @@ -1,4 +1,4 @@ -/* $Id: lang.c,v 1.18 2004/05/03 17:12:27 weiden Exp $ +/* $Id: lang.c,v 1.19 2004/06/13 20:04:56 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT : ReactOS user mode libraries @@ -20,8 +20,6 @@ #define LOCALE_RETURN_NUMBER 0x20000000 #define LOCALE_USE_CP_ACP 0x40000000 #define LOCALE_LOCALEINFOFLAGSMASK (LOCALE_NOUSEROVERRIDE|LOCALE_USE_CP_ACP|LOCALE_RETURN_NUMBER) -#define LOCALE_NEUTRAL (MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT)) -#define LOCALE_FONTSIGNATURE 0x00000058 static LCID SystemLocale = MAKELCID(LANG_ENGLISH, SORT_DEFAULT); @@ -674,7 +672,7 @@ HKEY RosCreateRegistryKey(void) { OBJECT_ATTRIBUTES objAttr; UNICODE_STRING nameW; - HKEY hKey; + HANDLE hKey; if (RtlOpenCurrentUser( KEY_ALL_ACCESS, &hKey ) != STATUS_SUCCESS) return 0; @@ -796,7 +794,7 @@ GetLocaleInfoW ( liLangID = MAKELANGID(PRIMARYLANGID(liLangID), SUBLANG_DEFAULT); hModule = GetModuleHandleW( L"kernel32.dll" ); - if (!(hRsrc = FindResourceExW( hModule, RT_STRINGW, (LPCWSTR)((LCType >> 4) + 1), liLangID ))) + if (!(hRsrc = FindResourceExW( hModule, (LPWSTR)RT_STRING, (LPCWSTR)((LCType >> 4) + 1), liLangID ))) { SetLastError( ERROR_INVALID_FLAGS ); return 0; diff --git a/reactos/lib/kernel32/misc/ldr.c b/reactos/lib/kernel32/misc/ldr.c index 0e78b060823..7ae5282964f 100644 --- a/reactos/lib/kernel32/misc/ldr.c +++ b/reactos/lib/kernel32/misc/ldr.c @@ -1,4 +1,4 @@ -/* $Id: ldr.c,v 1.20 2004/05/03 14:34:44 weiden Exp $ +/* $Id: ldr.c,v 1.21 2004/06/13 20:04:56 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT : ReactOS user mode libraries @@ -12,6 +12,12 @@ #define NDEBUG #include "../include/debug.h" +typedef struct tagLOADPARMS32 { + LPSTR lpEnvAddress; + LPSTR lpCmdLine; + LPSTR lpCmdShow; + DWORD dwReserved; +} LOADPARMS32; /* FUNCTIONS ****************************************************************/ @@ -202,7 +208,8 @@ FreeLibraryAndExitThread ( { if ( FreeLibrary(hLibModule) ) ExitThread(dwExitCode); - return; + for (;;) + ; } diff --git a/reactos/lib/kernel32/misc/profile.c b/reactos/lib/kernel32/misc/profile.c index ac2c679421b..8e5a8c0f22a 100644 --- a/reactos/lib/kernel32/misc/profile.c +++ b/reactos/lib/kernel32/misc/profile.c @@ -1,4 +1,4 @@ -/* $Id: profile.c,v 1.11 2004/01/31 23:52:42 gvg Exp $ +/* $Id: profile.c,v 1.12 2004/06/13 20:04:56 navaraf Exp $ * * Imported from Wine * Copyright 1993 Miguel de Icaza @@ -1384,13 +1384,13 @@ GetPrivateProfileStringA( /* * @unimplemented */ -DWORD STDCALL +BOOL STDCALL GetPrivateProfileStructW ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4 + IN LPCWSTR Section, + IN LPCWSTR Key, + OUT LPVOID Struct, + IN UINT StructSize, + IN LPCWSTR File ) { SetLastError(ERROR_CALL_NOT_IMPLEMENTED); @@ -1401,13 +1401,13 @@ GetPrivateProfileStructW ( /* * @unimplemented */ -DWORD STDCALL +BOOL STDCALL GetPrivateProfileStructA ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4 + IN LPCSTR Section, + IN LPCSTR Key, + OUT LPVOID Struct, + IN UINT StructSize, + IN LPCSTR File ) { SetLastError(ERROR_CALL_NOT_IMPLEMENTED); @@ -1672,11 +1672,11 @@ WritePrivateProfileStringW(LPCWSTR AppName, */ BOOL STDCALL WritePrivateProfileStructA ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4 + IN LPCSTR Section, + IN LPCSTR Key, + IN LPVOID Struct, + IN UINT StructSize, + IN LPCSTR File ) { SetLastError(ERROR_CALL_NOT_IMPLEMENTED); @@ -1689,11 +1689,11 @@ WritePrivateProfileStructA ( */ BOOL STDCALL WritePrivateProfileStructW ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4 + IN LPCWSTR Section, + IN LPCWSTR Key, + IN LPVOID Struct, + IN UINT StructSize, + IN LPCWSTR File ) { SetLastError(ERROR_CALL_NOT_IMPLEMENTED); diff --git a/reactos/lib/kernel32/misc/res.c b/reactos/lib/kernel32/misc/res.c index 850f999b5e2..b18f1e5e558 100644 --- a/reactos/lib/kernel32/misc/res.c +++ b/reactos/lib/kernel32/misc/res.c @@ -1,4 +1,4 @@ -/* $Id: res.c,v 1.20 2004/01/23 21:16:03 ekohl Exp $ +/* $Id: res.c,v 1.21 2004/06/13 20:04:56 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT : ReactOS user mode libraries @@ -149,7 +149,7 @@ FindResourceExW ( return NULL; } - return ResourceDataEntry; + return (HRSRC)ResourceDataEntry; } @@ -165,13 +165,14 @@ LoadResource ( { NTSTATUS Status; PVOID Data; + PIMAGE_RESOURCE_DATA_ENTRY ResInfo = (PIMAGE_RESOURCE_DATA_ENTRY)hResInfo; - if (hModule == NULL) - { - hModule = (HINSTANCE)GetModuleHandleW(NULL); - } + if (hModule == NULL) + { + hModule = (HINSTANCE)GetModuleHandleW(NULL); + } - Status = LdrAccessResource (hModule, hResInfo, &Data, NULL); + Status = LdrAccessResource (hModule, ResInfo, &Data, NULL); if (!NT_SUCCESS(Status)) { SetLastErrorByStatus (Status); diff --git a/reactos/lib/kernel32/misc/stubs.c b/reactos/lib/kernel32/misc/stubs.c index 680234da5b6..ffb5e290bab 100644 --- a/reactos/lib/kernel32/misc/stubs.c +++ b/reactos/lib/kernel32/misc/stubs.c @@ -1,4 +1,4 @@ -/* $Id: stubs.c,v 1.76 2004/05/13 20:42:28 navaraf Exp $ +/* $Id: stubs.c,v 1.77 2004/06/13 20:04:56 navaraf Exp $ * * KERNEL32.DLL stubs (unimplemented functions) * Remove from this file, if you implement them. @@ -305,7 +305,7 @@ GetStringTypeA ( BOOL STDCALL GetSystemPowerStatus ( - DWORD Unknown0 + LPSYSTEM_POWER_STATUS PowerStatus ) { SetLastError(ERROR_CALL_NOT_IMPLEMENTED); @@ -1632,7 +1632,7 @@ FindActCtxSectionStringW( HANDLE STDCALL FindFirstVolumeW( - LPWSTR lpszVolumeName, + LPCWSTR lpszVolumeName, DWORD cchBufferLength ) { @@ -1646,7 +1646,7 @@ FindFirstVolumeW( HANDLE STDCALL FindFirstVolumeMountPointW( - LPCWSTR lpszRootPathName, + LPWSTR lpszRootPathName, LPWSTR lpszVolumeMountPoint, DWORD cchBufferLength ) @@ -1992,7 +1992,7 @@ FindActCtxSectionStringA( HANDLE STDCALL FindFirstVolumeA( - LPSTR lpszVolumeName, + LPCSTR lpszVolumeName, DWORD cchBufferLength ) { @@ -2006,7 +2006,7 @@ FindFirstVolumeA( HANDLE STDCALL FindFirstVolumeMountPointA( - LPCSTR lpszRootPathName, + LPSTR lpszRootPathName, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength ) @@ -2022,7 +2022,7 @@ BOOL STDCALL FindNextVolumeA( HANDLE hFindVolume, - LPSTR lpszVolumeName, + LPCSTR lpszVolumeName, DWORD cchBufferLength ) { @@ -2385,7 +2385,11 @@ VOID STDCALL UTUnRegister( HMODULE hModule ) /* * @unimplemented */ +#if 0 FARPROC STDCALL DelayLoadFailureHook(unsigned int dliNotify, PDelayLoadInfo pdli) +#else +FARPROC STDCALL DelayLoadFailureHook(unsigned int dliNotify, PVOID pdli) +#endif { SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return 0; diff --git a/reactos/lib/kernel32/misc/sysinfo.c b/reactos/lib/kernel32/misc/sysinfo.c index 14a7611aaa4..bc0bb7dd5ed 100644 --- a/reactos/lib/kernel32/misc/sysinfo.c +++ b/reactos/lib/kernel32/misc/sysinfo.c @@ -1,4 +1,4 @@ -/* $Id: sysinfo.c,v 1.12 2004/05/31 11:41:14 ekohl Exp $ +/* $Id: sysinfo.c,v 1.13 2004/06/13 20:04:56 navaraf Exp $ * * reactos/lib/kernel32/misc/sysinfo.c * @@ -55,9 +55,9 @@ GetSystemInfo ( * PROCESSOR_ARCHITECTURE_PPC 3 * PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF */ - Si->u.s.wProcessorArchitecture = Spi.ProcessorArchitecture; + Si->wProcessorArchitecture = Spi.ProcessorArchitecture; /* For future use: always zero */ - Si->u.s.wReserved = 0; + Si->wReserved = 0; Si->dwPageSize = Sbi.PhysicalPageSize; Si->lpMinimumApplicationAddress = (PVOID)Sbi.LowestUserAddress; Si->lpMaximumApplicationAddress = (PVOID)Sbi.HighestUserAddress; diff --git a/reactos/lib/kernel32/misc/time.c b/reactos/lib/kernel32/misc/time.c index 51d24b51bbd..dab0a396dcd 100644 --- a/reactos/lib/kernel32/misc/time.c +++ b/reactos/lib/kernel32/misc/time.c @@ -1,4 +1,4 @@ -/* $Id: time.c,v 1.26 2004/01/23 21:16:03 ekohl Exp $ +/* $Id: time.c,v 1.27 2004/06/13 20:04:56 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -366,16 +366,6 @@ SetTimeZoneInformation(CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation) } -/* - * @implemented - */ -DWORD STDCALL -GetCurrentTime(VOID) -{ - return GetTickCount(); -} - - /* * @implemented */ diff --git a/reactos/lib/kernel32/synch/intrlck.c b/reactos/lib/kernel32/synch/intrlck.c index ebc6d3a98ef..086a60f199e 100644 --- a/reactos/lib/kernel32/synch/intrlck.c +++ b/reactos/lib/kernel32/synch/intrlck.c @@ -123,14 +123,14 @@ InterlockedExchange(LPLONG target, LONG value ) * * @implemented */ -PVOID +LONG STDCALL InterlockedCompareExchange( - PVOID *Destination, - PVOID Exchange, - PVOID Comperand ) + PLONG Destination, + LONG Exchange, + LONG Comperand ) { - PVOID ret; + LONG ret; __asm__ ( /* lock for SMP systems */ "lock\n\t" "cmpxchgl %2,(%1)" @@ -138,7 +138,6 @@ InterlockedCompareExchange( :"r" (Destination),"r" (Exchange), "0" (Comperand) :"memory" ); return ret; - } /************************************************************************ diff --git a/reactos/lib/kernel32/synch/timer.c b/reactos/lib/kernel32/synch/timer.c index 486d967e6bd..9c261f4a6f1 100644 --- a/reactos/lib/kernel32/synch/timer.c +++ b/reactos/lib/kernel32/synch/timer.c @@ -1,4 +1,4 @@ -/* $Id: timer.c,v 1.15 2004/01/23 21:16:04 ekohl Exp $ +/* $Id: timer.c,v 1.16 2004/06/13 20:04:56 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -23,7 +23,7 @@ HANDLE STDCALL CreateWaitableTimerW(LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, - LPWSTR lpTimerName) + LPCWSTR lpTimerName) { NTSTATUS Status; HANDLE TimerHandle; diff --git a/reactos/lib/kernel32/thread/fiber.c b/reactos/lib/kernel32/thread/fiber.c index 5d10b43fd82..00d22281d9c 100644 --- a/reactos/lib/kernel32/thread/fiber.c +++ b/reactos/lib/kernel32/thread/fiber.c @@ -1,4 +1,4 @@ -/* $Id: fiber.c,v 1.10 2004/03/07 20:07:05 hyperion Exp $ +/* $Id: fiber.c,v 1.11 2004/06/13 20:04:56 navaraf Exp $ * * FILE: lib/kernel32/thread/fiber.c * @@ -68,15 +68,6 @@ BOOL WINAPI ConvertFiberToThread(void) } -/* - * @implemented - */ -LPVOID WINAPI ConvertThreadToFiber(LPVOID lpParameter) -{ - return ConvertThreadToFiberEx(lpParameter, 0); -} - - /* * @implemented */ @@ -116,6 +107,15 @@ LPVOID WINAPI ConvertThreadToFiberEx(LPVOID lpParameter, DWORD dwFlags) } +/* + * @implemented + */ +LPVOID WINAPI ConvertThreadToFiber(LPVOID lpParameter) +{ + return ConvertThreadToFiberEx(lpParameter, 0); +} + + /* * @implemented */ diff --git a/reactos/lib/kernel32/thread/thread.c b/reactos/lib/kernel32/thread/thread.c index 9a69976ab99..7f4723aab77 100644 --- a/reactos/lib/kernel32/thread/thread.c +++ b/reactos/lib/kernel32/thread/thread.c @@ -1,4 +1,4 @@ -/* $Id: thread.c,v 1.49 2004/01/23 21:16:04 ekohl Exp $ +/* $Id: thread.c,v 1.50 2004/06/13 20:04:56 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -640,26 +640,23 @@ GetThreadSelectorEntry(IN HANDLE hThread, /* * @implemented */ -BOOL STDCALL +DWORD STDCALL SetThreadIdealProcessor(HANDLE hThread, DWORD dwIdealProcessor) { - ULONG IdealProcessor; NTSTATUS Status; - IdealProcessor = (ULONG)dwIdealProcessor; - Status = NtSetInformationThread(hThread, ThreadIdealProcessor, - &IdealProcessor, + &dwIdealProcessor, sizeof(ULONG)); if (!NT_SUCCESS(Status)) { SetLastErrorByStatus(Status); - return(FALSE); + return -1; } - return(TRUE); + return dwIdealProcessor; } /* EOF */ diff --git a/reactos/w32api/include/ddk/ntddk.h b/reactos/w32api/include/ddk/ntddk.h index 480ff0ccfac..b6e0d22131e 100644 --- a/reactos/w32api/include/ddk/ntddk.h +++ b/reactos/w32api/include/ddk/ntddk.h @@ -35,8 +35,6 @@ extern "C" { #endif -#pragma pack(push,4) - #include #include #include @@ -81,8 +79,6 @@ typedef CONST char *PCSZ; /* Definitions only in Windows NT 4 */ #include "winnt4.h" -#pragma pack(pop) - #ifdef __cplusplus } #endif diff --git a/reactos/w32api/include/ddk/winddk.h b/reactos/w32api/include/ddk/winddk.h index 7309a3e526b..eea2a4cb637 100644 --- a/reactos/w32api/include/ddk/winddk.h +++ b/reactos/w32api/include/ddk/winddk.h @@ -31,8 +31,6 @@ extern "C" { #endif -#pragma pack(push,4) - /* ** Definitions specific to this Device Driver Kit */ @@ -1094,6 +1092,7 @@ typedef struct _EISA_MEMORY_TYPE { UCHAR MoreEntries : 1; } EISA_MEMORY_TYPE, *PEISA_MEMORY_TYPE; +#include typedef struct _EISA_MEMORY_CONFIGURATION { EISA_MEMORY_TYPE ConfigurationByte; UCHAR DataSize; @@ -1101,6 +1100,7 @@ typedef struct _EISA_MEMORY_CONFIGURATION { UCHAR AddressHighByte; USHORT MemorySize; } EISA_MEMORY_CONFIGURATION, *PEISA_MEMORY_CONFIGURATION; +#include typedef struct _EISA_IRQ_DESCRIPTOR { UCHAR Interrupt : 4; @@ -1134,6 +1134,7 @@ typedef struct _EISA_DMA_CONFIGURATION { DMA_CONFIGURATION_BYTE1 ConfigurationByte1; } EISA_DMA_CONFIGURATION, *PEISA_DMA_CONFIGURATION; +#include typedef struct _EISA_PORT_DESCRIPTOR { UCHAR NumberPorts : 5; UCHAR Reserved : 1; @@ -1145,6 +1146,7 @@ typedef struct _EISA_PORT_CONFIGURATION { EISA_PORT_DESCRIPTOR Configuration; USHORT PortAddress; } EISA_PORT_CONFIGURATION, *PEISA_PORT_CONFIGURATION; +#include typedef struct _CM_EISA_FUNCTION_INFORMATION { ULONG CompressedId; @@ -1243,6 +1245,7 @@ typedef struct _PNP_BUS_INFORMATION { ULONG BusNumber; } PNP_BUS_INFORMATION, *PPNP_BUS_INFORMATION; +#include typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR { UCHAR Type; UCHAR ShareDisposition; @@ -1373,6 +1376,7 @@ typedef struct _CM_INT13_DRIVE_PARAMETER { USHORT MaxHeads; USHORT NumberDrives; } CM_INT13_DRIVE_PARAMETER, *PCM_INT13_DRIVE_PARAMETER; +#include typedef struct _CM_KEYBOARD_DEVICE_DATA { USHORT Version; @@ -1966,7 +1970,7 @@ typedef struct _FILE_NAME_INFORMATION { WCHAR FileName[1]; } FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION; -typedef struct FILE_BASIC_INFORMATION { +typedef struct _FILE_BASIC_INFORMATION { LARGE_INTEGER CreationTime; LARGE_INTEGER LastAccessTime; LARGE_INTEGER LastWriteTime; @@ -2442,6 +2446,7 @@ typedef struct _SECURITY_SUBJECT_CONTEXT { PVOID ProcessAuditId; } SECURITY_SUBJECT_CONTEXT, *PSECURITY_SUBJECT_CONTEXT; +#include typedef struct _ACCESS_STATE { LUID OperationID; BOOLEAN SecurityEvaluated; @@ -2464,6 +2469,7 @@ typedef struct _ACCESS_STATE { UNICODE_STRING ObjectName; UNICODE_STRING ObjectTypeName; } ACCESS_STATE, *PACCESS_STATE; +#include typedef struct _IO_SECURITY_CONTEXT { PSECURITY_QUALITY_OF_SERVICE SecurityQos; @@ -2522,6 +2528,7 @@ typedef struct _IO_CSQ { PVOID ReservePointer; } IO_CSQ, *PIO_CSQ; +#include typedef struct _IO_STACK_LOCATION { UCHAR MajorFunction; UCHAR MinorFunction; @@ -2662,6 +2669,7 @@ typedef struct _IO_STACK_LOCATION { PIO_COMPLETION_ROUTINE CompletionRoutine; PVOID Context; } IO_STACK_LOCATION, *PIO_STACK_LOCATION; +#include /* IO_STACK_LOCATION.Control */ @@ -3720,31 +3728,31 @@ typedef struct _KPCR_TIB { DWORD Version; /* 10 */ } DUMMYUNIONNAME; PVOID ArbitraryUserPointer; /* 14 */ -} KPCR_TIB, *PKPCR_TIB; /* 18 */ + struct _NT_TIB *Self; /* 18 */ +} KPCR_TIB, *PKPCR_TIB; /* 1C */ #define PCR_MINOR_VERSION 1 #define PCR_MAJOR_VERSION 1 typedef struct _KPCR { KPCR_TIB Tib; /* 00 */ - struct _KPCR *Self; /* 18 */ - struct _KPRCB *PCRCB; /* 1C */ - KIRQL Irql; /* 20 */ - ULONG IRR; /* 24 */ - ULONG IrrActive; /* 28 */ - ULONG IDR; /* 2C */ - PVOID KdVersionBlock; /* 30 */ - PUSHORT IDT; /* 34 */ - PUSHORT GDT; /* 38 */ - struct _KTSS *TSS; /* 3C */ - USHORT MajorVersion; /* 40 */ - USHORT MinorVersion; /* 42 */ - KAFFINITY SetMember; /* 44 */ - ULONG StallScaleFactor; /* 48 */ - UCHAR DebugActive; /* 4C */ - UCHAR ProcessorNumber; /* 4D */ - UCHAR Reserved[2]; /* 4E */ -} KPCR, *PKPCR; /* 50 */ + struct _KPCR *Self; /* 1C */ + struct _KPRCB *PCRCB; /* 20 */ + KIRQL Irql; /* 24 */ + ULONG IRR; /* 28 */ + ULONG IrrActive; /* 2C */ + ULONG IDR; /* 30 */ + PVOID KdVersionBlock; /* 34 */ + PUSHORT IDT; /* 38 */ + PUSHORT GDT; /* 3C */ + struct _KTSS *TSS; /* 40 */ + USHORT MajorVersion; /* 44 */ + USHORT MinorVersion; /* 46 */ + KAFFINITY SetMember; /* 48 */ + ULONG StallScaleFactor; /* 4C */ + UCHAR SpareUnused; /* 50 */ + UCHAR Number; /* 51 */ +} KPCR, *PKPCR; /* 54 */ typedef struct _KFLOATING_SAVE { ULONG ControlWord; @@ -9098,7 +9106,6 @@ VOID DDKAPI KeRosDumpStackFrames ( PULONG Frame, ULONG FrameCount ); - #ifdef DBG #define KdPrint(_x_) DbgPrint _x_ @@ -9120,8 +9127,6 @@ extern NTOSAPI PBOOLEAN KdDebuggerEnabled; #define KD_DEBUGGER_ENABLED *KdDebuggerEnabled #define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent -#pragma pack(pop) - #ifdef __cplusplus } #endif diff --git a/reactos/w32api/include/ntdef.h b/reactos/w32api/include/ntdef.h index 83f4fa35643..4bb4be64f3e 100644 --- a/reactos/w32api/include/ntdef.h +++ b/reactos/w32api/include/ntdef.h @@ -24,6 +24,8 @@ #define NT_SUCCESS(x) ((x)>=0) #define STATUS_SUCCESS ((NTSTATUS)0) #endif +#define NT_WARNING(x) ((ULONG)(x)>>30==2) +#define NT_ERROR(x) ((ULONG)(x)>>30==3) #if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H) typedef LONG NTSTATUS, *PNTSTATUS; typedef struct _UNICODE_STRING { diff --git a/reactos/w32api/include/winbase.h b/reactos/w32api/include/winbase.h index 4cfadbf0c3d..60aeeb8e8fb 100644 --- a/reactos/w32api/include/winbase.h +++ b/reactos/w32api/include/winbase.h @@ -204,6 +204,7 @@ extern "C" { #define STILL_ACTIVE 0x103 #define FIND_FIRST_EX_CASE_SENSITIVE 1 #define SCS_32BIT_BINARY 0 +#define SCS_64BIT_BINARY 6 #define SCS_DOS_BINARY 1 #define SCS_OS216_BINARY 5 #define SCS_PIF_BINARY 3 @@ -532,6 +533,10 @@ extern "C" { #define REPLACEFILE_WRITE_THROUGH 0x00000001 #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002 #endif /* (_WIN32_WINNT >= 0x0500) */ +#if (_WIN32_WINNT >= 0x0400) +#define FIBER_FLAG_FLOAT_SWITCH 0x1 +#endif +#define FLS_OUT_OF_INDEXES 0xFFFFFFFF #ifndef RC_INVOKED typedef struct _FILETIME { @@ -1011,12 +1016,20 @@ typedef enum _COMPUTER_NAME_FORMAT { ComputerNameMax } COMPUTER_NAME_FORMAT; #endif /* (_WIN32_WINNT >= 0x0500) */ - +typedef struct _JOB_SET_ARRAY { + HANDLE JobHandle; + DWORD MemberLevel; + DWORD Flags; +} JOB_SET_ARRAY, *PJOB_SET_ARRAY; typedef DWORD(WINAPI *LPPROGRESS_ROUTINE)(LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,DWORD,DWORD,HANDLE,HANDLE,LPVOID); typedef void(WINAPI *LPFIBER_START_ROUTINE)(PVOID); -typedef BOOL(CALLBACK *ENUMRESLANGPROC)(HMODULE,LPCTSTR,LPCTSTR,WORD,LONG); -typedef BOOL(CALLBACK *ENUMRESNAMEPROC)(HMODULE,LPCTSTR,LPTSTR,LONG); -typedef BOOL(CALLBACK *ENUMRESTYPEPROC)(HMODULE,LPTSTR,LONG); +typedef VOID (WINAPI *PFLS_CALLBACK_FUNCTION)(PVOID); +typedef BOOL(CALLBACK *ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG); +typedef BOOL(CALLBACK *ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG); +typedef BOOL(CALLBACK *ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG); +typedef BOOL(CALLBACK *ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG); +typedef BOOL(CALLBACK *ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG); +typedef BOOL(CALLBACK *ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG); typedef void(CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED); typedef LONG(CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS); typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; @@ -1222,12 +1235,12 @@ BOOL WINAPI EncryptFileW(LPCWSTR); BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL); BOOL WINAPI EndUpdateResourceW(HANDLE,BOOL); void WINAPI EnterCriticalSection(LPCRITICAL_SECTION); -BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR,ENUMRESLANGPROC,LONG_PTR); -BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,ENUMRESLANGPROC,LONG_PTR); -BOOL WINAPI EnumResourceNamesA(HMODULE,LPCSTR,ENUMRESNAMEPROC,LONG_PTR); -BOOL WINAPI EnumResourceNamesW(HMODULE,LPCWSTR,ENUMRESNAMEPROC,LONG_PTR); -BOOL WINAPI EnumResourceTypesA(HMODULE,ENUMRESTYPEPROC,LONG_PTR); -BOOL WINAPI EnumResourceTypesW(HMODULE,ENUMRESTYPEPROC,LONG_PTR); +BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR,ENUMRESLANGPROCA,LONG_PTR); +BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,ENUMRESLANGPROCW,LONG_PTR); +BOOL WINAPI EnumResourceNamesA(HMODULE,LPCSTR,ENUMRESNAMEPROCA,LONG_PTR); +BOOL WINAPI EnumResourceNamesW(HMODULE,LPCWSTR,ENUMRESNAMEPROCW,LONG_PTR); +BOOL WINAPI EnumResourceTypesA(HMODULE,ENUMRESTYPEPROCA,LONG_PTR); +BOOL WINAPI EnumResourceTypesW(HMODULE,ENUMRESTYPEPROCW,LONG_PTR); BOOL WINAPI EqualPrefixSid(PSID,PSID); BOOL WINAPI EqualSid(PSID,PSID); DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL); @@ -1288,6 +1301,10 @@ DWORD WINAPI GetFirmwareEnvironmentVariableW(LPCWSTR,LPCWSTR,PVOID,DWORD); BOOL WINAPI FlushFileBuffers(HANDLE); BOOL WINAPI FlushInstructionCache(HANDLE,PCVOID,DWORD); BOOL WINAPI FlushViewOfFile(PCVOID,DWORD); +DWORD WINAPI FlsAlloc(PFLS_CALLBACK_FUNCTION); +PVOID WINAPI FlsGetValue(DWORD); +BOOL WINAPI FlsSetValue(DWORD,PVOID); +BOOL WINAPI FlsFree(DWORD); DWORD WINAPI FormatMessageA(DWORD,PCVOID,DWORD,DWORD,LPSTR,DWORD,va_list*); DWORD WINAPI FormatMessageW(DWORD,PCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*); BOOL WINAPI FreeEnvironmentStringsA(LPSTR); @@ -1509,7 +1526,7 @@ BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD); UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT); UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT); DWORD WINAPI GetWindowThreadProcessId(HWND,PDWORD); -UINT GetWriteWatch(DWORD,PVOID,SIZE_T,PVOID*,PULONG_PTR,PULONG); +UINT WINAPI GetWriteWatch(DWORD,PVOID,SIZE_T,PVOID*,PULONG_PTR,PULONG); ATOM WINAPI GlobalAddAtomA(LPCSTR); ATOM WINAPI GlobalAddAtomW( LPCWSTR); HGLOBAL WINAPI GlobalAlloc(UINT,DWORD); @@ -1596,7 +1613,7 @@ BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT); BOOL WINAPI IsBadWritePtr(PVOID,UINT); BOOL WINAPI IsDebuggerPresent(void); #if (_WIN32_WINNT >= 0x0501) -BOOL IsProcessInJob(HANDLE,HANDLE,PBOOL); +BOOL WINAPI IsProcessInJob(HANDLE,HANDLE,PBOOL); #endif BOOL WINAPI IsProcessorFeaturePresent(DWORD); BOOL WINAPI IsSystemResumeAutomatic(void); @@ -1605,7 +1622,7 @@ BOOL WINAPI IsValidAcl(PACL); BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR); BOOL WINAPI IsValidSid(PSID); #if (_WIN32_WINNT >= 0x0501) -BOOL IsWow64Process(HANDLE,PBOOL); +BOOL WINAPI IsWow64Process(HANDLE,PBOOL); #endif void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION); #define LimitEmsPages(n) @@ -1923,6 +1940,9 @@ BOOL WINAPI MapUserPhysicalPagesScatter(PVOID*,ULONG_PTR,PULONG_PTR); typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO; typedef WIN32_FIND_DATAW WIN32_FIND_DATA,*LPWIN32_FIND_DATA; typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO; +typedef ENUMRESLANGPROCW ENUMRESLANGPROC; +typedef ENUMRESNAMEPROCW ENUMRESNAMEPROC; +typedef ENUMRESTYPEPROCW ENUMRESTYPEPROC; #if (_WIN32_WINNT >= 0x0501) typedef ACTCTXW ACTCTX,*PACTCTX; typedef PCACTCTXW PCACTCTX; @@ -2123,6 +2143,9 @@ typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO; typedef ACTCTXA ACTCTX,*PACTCTX; typedef PCACTCTXA PCACTCTX; #endif +typedef ENUMRESLANGPROCA ENUMRESLANGPROC; +typedef ENUMRESNAMEPROCA ENUMRESNAMEPROC; +typedef ENUMRESTYPEPROCA ENUMRESTYPEPROC; #define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA #define AddAtom AddAtomA #define BackupEventLog BackupEventLogA diff --git a/reactos/w32api/include/winnt.h b/reactos/w32api/include/winnt.h index 3f57b173a77..d637e2029cd 100644 --- a/reactos/w32api/include/winnt.h +++ b/reactos/w32api/include/winnt.h @@ -690,7 +690,10 @@ typedef DWORD FLONG; #define PROCESSOR_MIPS_R4000 4000 #define PROCESSOR_ALPHA_21064 21064 #define PROCESSOR_INTEL_IA64 2200 - +#define PROCESSOR_PPC_601 601 +#define PROCESSOR_PPC_603 603 +#define PROCESSOR_PPC_604 604 +#define PROCESSOR_PPC_620 620 #define PROCESSOR_ARCHITECTURE_INTEL 0 #define PROCESSOR_ARCHITECTURE_MIPS 1 #define PROCESSOR_ARCHITECTURE_ALPHA 2 @@ -2160,8 +2163,7 @@ typedef struct _TAPE_GET_MEDIA_PARAMETERS { typedef struct _TAPE_GET_POSITION { ULONG Type; ULONG Partition; - ULONG OffsetLow; - ULONG OffsetHigh; + LARGE_INTEGER Offset; } TAPE_GET_POSITION,*PTAPE_GET_POSITION; typedef struct _TAPE_PREPARE { DWORD Operation; @@ -3280,8 +3282,7 @@ ULONGLONG WINAPI VerSetConditionMask(ULONGLONG,DWORD,BYTE); #if defined(__GNUC__) -PVOID GetCurrentFiber(void); -extern __inline__ PVOID GetCurrentFiber(void) +static __inline__ PVOID GetCurrentFiber(void) { void* ret; __asm__ __volatile__ ( @@ -3291,8 +3292,7 @@ extern __inline__ PVOID GetCurrentFiber(void) return ret; } -PVOID GetFiberData(void); -extern __inline__ PVOID GetFiberData(void) +static __inline__ PVOID GetFiberData(void) { void* ret; __asm__ __volatile__ (