Add missing defintions so RTL can build. Currently a mess so I'm going to clean it up. Modified: branches/new_headers/reactos/include/ndk/rtlfuncs.h Modified: branches/new_headers/reactos/include/ndk/rtltypes.h Modified: branches/new_headers/reactos/include/ndk/umtypes.h Modified: branches/new_headers/reactos/include/ndk/zwfuncs.h Modified: branches/new_headers/reactos/include/winnt.h Modified: branches/new_headers/reactos/lib/rtl/i386/exception.c _____
Modified: branches/new_headers/reactos/include/ndk/rtlfuncs.h --- branches/new_headers/reactos/include/ndk/rtlfuncs.h 2005-05-08 16:50:18 UTC (rev 15133) +++ branches/new_headers/reactos/include/ndk/rtlfuncs.h 2005-05-08 16:51:11 UTC (rev 15134) @@ -122,9 +122,9 @@
NTSTATUS STDCALL RtlAbsoluteToSelfRelativeSD ( - IN PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor, - IN OUT PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor, - IN PULONG BufferLength + IN PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor, + IN OUT PSECURITY_DESCRIPTOR_RELATIVE SelfRelativeSecurityDescriptor, + IN PULONG BufferLength );
NTSTATUS @@ -146,6 +146,20 @@
NTSTATUS STDCALL +RtlAppendUnicodeToString ( + PUNICODE_STRING Destination, + PCWSTR Source +); + +NTSTATUS +STDCALL +RtlAppendUnicodeStringToString ( + PUNICODE_STRING Destination, + PUNICODE_STRING Source +); + +NTSTATUS +STDCALL RtlAddAtomToAtomTable ( IN PRTL_ATOM_TABLE AtomTable, IN PWSTR AtomName, @@ -179,6 +193,12 @@ PULONG RemainingSidAreaSize );
+SIZE_T +STDCALL +RtlCompareMemory(IN const VOID *Source1, + IN const VOID *Source2, + IN SIZE_T Length); + LONG STDCALL RtlCompareUnicodeString ( @@ -284,6 +304,15 @@ OUT PULONG FinalUncompressedSize );
+NTSTATUS +STDCALL +RtlExpandEnvironmentStrings_U ( + PWSTR Environment, + PUNICODE_STRING Source, + PUNICODE_STRING Destination, + PULONG Length +); + PRTL_USER_PROCESS_PARAMETERS STDCALL RtlDeNormalizeProcessParams ( @@ -333,9 +362,115 @@ PRTL_CRITICAL_SECTION CriticalSection );
-#ifndef _NTIFS_ NTSTATUS STDCALL +RtlMultiByteToUnicodeN ( + PWCHAR UnicodeString, + ULONG UnicodeSize, + PULONG ResultSize, + const PCHAR MbString, + ULONG MbSize +); + +NTSTATUS +STDCALL +RtlMultiByteToUnicodeSize ( + PULONG UnicodeSize, + PCHAR MbString, + ULONG MbSize +); + +CHAR STDCALL +RtlUpperChar (CHAR Source); + +WCHAR +STDCALL +RtlUpcaseUnicodeChar ( + WCHAR Source + ); + +NTSTATUS +STDCALL +RtlAnsiStringToUnicodeString ( + PUNICODE_STRING DestinationString, + PANSI_STRING SourceString, + BOOLEAN AllocateDestinationString + ); + +NTSTATUS +STDCALL +RtlUnicodeToMultiByteN ( + PCHAR MbString, + ULONG MbSize, + PULONG ResultSize, + PWCHAR UnicodeString, + ULONG UnicodeSize + ); + +ULONG +STDCALL +RtlOemStringToUnicodeSize ( + POEM_STRING AnsiString + ); + +WCHAR STDCALL +RtlDowncaseUnicodeChar(IN WCHAR Source); + +NTSTATUS +STDCALL +RtlUpcaseUnicodeToMultiByteN ( + PCHAR MbString, + ULONG MbSize, + PULONG ResultSize, + PWCHAR UnicodeString, + ULONG UnicodeSize + ); + +NTSTATUS +STDCALL +RtlUnicodeToMultiByteSize ( + PULONG MbSize, + PWCHAR UnicodeString, + ULONG UnicodeSize + ); + +NTSTATUS +STDCALL +RtlOemToUnicodeN( + PWSTR UnicodeString, + ULONG MaxBytesInUnicodeString, + PULONG BytesInUnicodeString, + IN PCHAR OemString, + ULONG BytesInOemString + ); + +NTSTATUS +STDCALL +RtlUnicodeToOemN ( + PCHAR OemString, + ULONG OemSize, + PULONG ResultSize, + PWCHAR UnicodeString, + ULONG UnicodeSize + ); + +NTSTATUS +STDCALL +RtlUpcaseUnicodeStringToOemString ( + IN OUT POEM_STRING DestinationString, + IN PUNICODE_STRING SourceString, + IN BOOLEAN AllocateDestinationString + ); + +ULONG +STDCALL +RtlUnicodeStringToAnsiSize ( + IN PUNICODE_STRING UnicodeString + ); + +#ifndef _NTIFS_ +BOOLEAN +STDCALL RtlEqualSid ( IN PSID Sid1, IN PSID Sid2 @@ -534,7 +669,7 @@ NTSTATUS STDCALL RtlQueryTimeZoneInformation ( - IN OUT struct _TIME_ZONE_INFORMATION *TimeZoneInformation + IN OUT PTIME_ZONE_INFORMATION TimeZoneInformation );
VOID STDCALL RtlRaiseStatus(NTSTATUS Status); @@ -644,8 +779,44 @@ RtlCreateUnicodeStringFromAsciiz (OUT PUNICODE_STRING Destination, IN PCSZ Source); + +BOOLEAN +STDCALL +RtlTimeFieldsToTime ( + PTIME_FIELDS TimeFields, + PLARGE_INTEGER Time +); + VOID STDCALL +RtlTimeToTimeFields ( + PLARGE_INTEGER Time, + PTIME_FIELDS TimeFields +); + +NTSTATUS +STDCALL +RtlQueryRegistryValues ( + IN ULONG RelativeTo, + IN PCWSTR Path, + IN PRTL_QUERY_REGISTRY_TABLE QueryTable, + IN PVOID Context, + IN PVOID Environment +); + +NTSTATUS +STDCALL +RtlWriteRegistryValue ( + ULONG RelativeTo, + PCWSTR Path, + PCWSTR ValueName, + ULONG ValueType, + PVOID ValueData, + ULONG ValueLength +); + +VOID +STDCALL RtlUnwind ( PEXCEPTION_REGISTRATION RegistrationFrame, PVOID ReturnAddress, _____
Modified: branches/new_headers/reactos/include/ndk/rtltypes.h --- branches/new_headers/reactos/include/ndk/rtltypes.h 2005-05-08 16:50:18 UTC (rev 15133) +++ branches/new_headers/reactos/include/ndk/rtltypes.h 2005-05-08 16:51:11 UTC (rev 15134) @@ -1,22 +1,3 @@
-/* $Id: rtltypes.h,v 1.1.2.1 2004/10/25 01:24:07 ion Exp $ - * - * ReactOS Headers - * Copyright (C) 1998-2004 ReactOS Team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ /* * PROJECT: ReactOS Native Headers * FILE: include/ndk/rtltypes.h @@ -106,6 +87,7 @@ LONG DaylightBias; } TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; #endif +typedef LPTIME_ZONE_INFORMATION PTIME_ZONE_INFORMATION;
#define EH_NONCONTINUABLE 0x01 #define EH_UNWINDING 0x02 _____
Modified: branches/new_headers/reactos/include/ndk/umtypes.h --- branches/new_headers/reactos/include/ndk/umtypes.h 2005-05-08 16:50:18 UTC (rev 15133) +++ branches/new_headers/reactos/include/ndk/umtypes.h 2005-05-08 16:51:11 UTC (rev 15134) @@ -286,6 +286,9 @@
typedef CONST char *PCSZ; typedef ULONG KPROCESSOR_MODE; typedef PVOID PTHREAD_START_ROUTINE; +typedef short CSHORT; +typedef CSHORT *PCSHORT; +#define STATIC static
typedef enum _MODE { @@ -948,5 +951,131 @@ } RTL_AVL_TABLE; typedef RTL_AVL_TABLE *PRTL_AVL_TABLE;
+#define RTL_REGISTRY_ABSOLUTE 0 +#define RTL_REGISTRY_SERVICES 1 +#define RTL_REGISTRY_CONTROL 2 +#define RTL_REGISTRY_WINDOWS_NT 3 +#define RTL_REGISTRY_DEVICEMAP 4 +#define RTL_REGISTRY_USER 5 +#define RTL_REGISTRY_MAXIMUM 6 +#define RTL_REGISTRY_HANDLE 0x40000000 +#define RTL_REGISTRY_OPTIONAL 0x80000000 + +typedef NTSTATUS STDCALL +(*PRTL_QUERY_REGISTRY_ROUTINE)( + IN PWSTR ValueName, + IN ULONG ValueType, + IN PVOID ValueData, + IN ULONG ValueLength, + IN PVOID Context, + IN PVOID EntryContext +); + +typedef struct _RTL_QUERY_REGISTRY_TABLE +{ + PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine; + ULONG Flags; + PWSTR Name; + PVOID EntryContext; + ULONG DefaultType; + PVOID DefaultData; + ULONG DefaultLength; +} RTL_QUERY_REGISTRY_TABLE, *PRTL_QUERY_REGISTRY_TABLE; + +typedef struct _KEY_VALUE_BASIC_INFORMATION +{ + ULONG TitleIndex; + ULONG Type; + ULONG NameLength; + WCHAR Name[1]; +} KEY_VALUE_BASIC_INFORMATION, *PKEY_VALUE_BASIC_INFORMATION; + +typedef struct _KEY_VALUE_FULL_INFORMATION +{ + ULONG TitleIndex; + ULONG Type; + ULONG DataOffset; + ULONG DataLength; + ULONG NameLength; + WCHAR Name[1]; +} KEY_VALUE_FULL_INFORMATION, *PKEY_VALUE_FULL_INFORMATION; + +typedef struct _KEY_BASIC_INFORMATION +{ + LARGE_INTEGER LastWriteTime; + ULONG TitleIndex; + ULONG NameLength; + WCHAR Name[1]; +} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION; + +#define RTL_QUERY_REGISTRY_SUBKEY 0x00000001 +#define RTL_QUERY_REGISTRY_TOPKEY 0x00000002 +#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004 +#define RTL_QUERY_REGISTRY_NOVALUE 0x00000008 +#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010 +#define RTL_QUERY_REGISTRY_DIRECT 0x00000020 +#define RTL_QUERY_REGISTRY_DELETE 0x00000040 + +#define SID_MAX_SUB_AUTHORITIES 15 + +typedef struct _TIME_FIELDS +{ + CSHORT Year; + CSHORT Month; + CSHORT Day; + CSHORT Hour; + CSHORT Minute; + CSHORT Second; + CSHORT Milliseconds; + CSHORT Weekday; +} TIME_FIELDS; +typedef TIME_FIELDS *PTIME_FIELDS; + +typedef struct _UNICODE_PREFIX_TABLE_ENTRY +{ + CSHORT NodeTypeCode; + CSHORT NameLength; + struct _UNICODE_PREFIX_TABLE_ENTRY *NextPrefixTree; + struct _UNICODE_PREFIX_TABLE_ENTRY *CaseMatch; + RTL_SPLAY_LINKS Links; + PUNICODE_STRING Prefix; +} UNICODE_PREFIX_TABLE_ENTRY; +typedef UNICODE_PREFIX_TABLE_ENTRY *PUNICODE_PREFIX_TABLE_ENTRY; + +typedef struct _UNICODE_PREFIX_TABLE +{ + CSHORT NodeTypeCode; + CSHORT NameLength; + PUNICODE_PREFIX_TABLE_ENTRY NextPrefixTree; + PUNICODE_PREFIX_TABLE_ENTRY LastNextEntry; +} UNICODE_PREFIX_TABLE; +typedef UNICODE_PREFIX_TABLE *PUNICODE_PREFIX_TABLE; + +#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_PLATFORM_WIN32s 0 +#define VER_PLATFORM_WIN32_WINDOWS 1 +#define VER_PLATFORM_WIN32_NT 2 +#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 + +typedef LPOSVERSIONINFOW PRTL_OSVERSIONINFOW; +typedef OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW; +typedef LPOSVERSIONINFOEXW PRTL_OSVERSIONINFOEXW; + + #endif
_____
Modified: branches/new_headers/reactos/include/ndk/zwfuncs.h --- branches/new_headers/reactos/include/ndk/zwfuncs.h 2005-05-08 16:50:18 UTC (rev 15133) +++ branches/new_headers/reactos/include/ndk/zwfuncs.h 2005-05-08 16:51:11 UTC (rev 15134) @@ -5653,6 +5653,18 @@
IN BOOLEAN InheritHandle, IN ULONG Options ); + +NTSTATUS +STDCALL +ZwDuplicateObject( + IN HANDLE SourceProcessHandle, + IN HANDLE SourceHandle, + IN HANDLE TargetProcessHandle, + OUT PHANDLE TargetHandle, + IN ACCESS_MASK DesiredAccess, + IN BOOLEAN InheritHandle, + IN ULONG Options + );
/* * FUNCTION: Adds an atom to the global atom table _____
Modified: branches/new_headers/reactos/include/winnt.h --- branches/new_headers/reactos/include/winnt.h 2005-05-08 16:50:18 UTC (rev 15133) +++ branches/new_headers/reactos/include/winnt.h 2005-05-08 16:51:11 UTC (rev 15134) @@ -1120,6 +1120,7 @@
#define SE_SACL_AUTO_INHERITED 2048 #define SE_DACL_PROTECTED 4096 #define SE_SACL_PROTECTED 8192 +#define SE_RM_CONTROL_VALID 0x4000 #define SE_SELF_RELATIVE 0x8000 #define SECURITY_DESCRIPTOR_MIN_LENGTH 20 #define SECURITY_DESCRIPTOR_REVISION 1 _____
Modified: branches/new_headers/reactos/lib/rtl/i386/exception.c --- branches/new_headers/reactos/lib/rtl/i386/exception.c 2005-05-08 16:50:18 UTC (rev 15133) +++ branches/new_headers/reactos/lib/rtl/i386/exception.c 2005-05-08 16:51:11 UTC (rev 15134) @@ -9,9 +9,7 @@
/* INCLUDES *****************************************************************/
-#include <ddk/ntddk.h> -#include <windows.h> -#include <string.h> +#include "rtl.h"
#define NDEBUG #include <debug.h>