ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
January 2016
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
13 participants
192 discussions
Start a n
N
ew thread
[pschweitzer] 70619: [MPR] Import Wine commits: - 39ec97ea9dcba270bbea31a7eaa7b842bf1beb1f, Implement WNetAddConnectionA(), WNetAddConnection2A(), WNetAddConnection3A(). - 092c60e98cec9956127145f7c...
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Tue Jan 19 18:39:18 2016 New Revision: 70619 URL:
http://svn.reactos.org/svn/reactos?rev=70619&view=rev
Log: [MPR] Import Wine commits: - 39ec97ea9dcba270bbea31a7eaa7b842bf1beb1f, Implement WNetAddConnectionA(), WNetAddConnection2A(), WNetAddConnection3A(). - 092c60e98cec9956127145f7c8a5db88082ce7d2, Implement WNetAddConnectionW(), WNetAddConnection2W(), WNetAddConnection3W(). CORE-10032 ROSAPPS-303 Modified: trunk/reactos/dll/win32/mpr/wnet.c Modified: trunk/reactos/dll/win32/mpr/wnet.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mpr/wnet.c?rev=7…
============================================================================== --- trunk/reactos/dll/win32/mpr/wnet.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/mpr/wnet.c [iso-8859-1] Tue Jan 19 18:39:18 2016 @@ -1477,11 +1477,12 @@ DWORD WINAPI WNetAddConnectionA( LPCSTR lpRemoteName, LPCSTR lpPassword, LPCSTR lpLocalName ) { - FIXME( "(%s, %p, %s): stub\n", - debugstr_a(lpRemoteName), lpPassword, debugstr_a(lpLocalName) ); - - SetLastError(WN_NO_NETWORK); - return WN_NO_NETWORK; + NETRESOURCEA resourcesA; + + memset(&resourcesA, 0, sizeof(resourcesA)); + resourcesA.lpRemoteName = (LPSTR)lpRemoteName; + resourcesA.lpLocalName = (LPSTR)lpLocalName; + return WNetUseConnectionA(NULL, &resourcesA, lpPassword, NULL, 0, NULL, 0, NULL); } /********************************************************************* @@ -1490,11 +1491,12 @@ DWORD WINAPI WNetAddConnectionW( LPCWSTR lpRemoteName, LPCWSTR lpPassword, LPCWSTR lpLocalName ) { - FIXME( "(%s, %p, %s): stub\n", - debugstr_w(lpRemoteName), lpPassword, debugstr_w(lpLocalName) ); - - SetLastError(WN_NO_NETWORK); - return WN_NO_NETWORK; + NETRESOURCEW resourcesW; + + memset(&resourcesW, 0, sizeof(resourcesW)); + resourcesW.lpRemoteName = (LPWSTR)lpRemoteName; + resourcesW.lpLocalName = (LPWSTR)lpLocalName; + return WNetUseConnectionW(NULL, &resourcesW, lpPassword, NULL, 0, NULL, 0, NULL); } /********************************************************************* @@ -1504,11 +1506,8 @@ LPCSTR lpPassword, LPCSTR lpUserID, DWORD dwFlags ) { - FIXME( "(%p, %p, %s, 0x%08X): stub\n", - lpNetResource, lpPassword, debugstr_a(lpUserID), dwFlags ); - - SetLastError(WN_NO_NETWORK); - return WN_NO_NETWORK; + return WNetUseConnectionA(NULL, lpNetResource, lpPassword, lpUserID, dwFlags, + NULL, 0, NULL); } /********************************************************************* @@ -1518,11 +1517,8 @@ LPCWSTR lpPassword, LPCWSTR lpUserID, DWORD dwFlags ) { - FIXME( "(%p, %p, %s, 0x%08X): stub\n", - lpNetResource, lpPassword, debugstr_w(lpUserID), dwFlags ); - - SetLastError(WN_NO_NETWORK); - return WN_NO_NETWORK; + return WNetUseConnectionW(NULL, lpNetResource, lpPassword, lpUserID, dwFlags, + NULL, 0, NULL); } /********************************************************************* @@ -1532,11 +1528,8 @@ LPCSTR lpPassword, LPCSTR lpUserID, DWORD dwFlags ) { - FIXME( "(%p, %p, %p, %s, 0x%08X), stub\n", - hwndOwner, lpNetResource, lpPassword, debugstr_a(lpUserID), dwFlags ); - - SetLastError(WN_NO_NETWORK); - return WN_NO_NETWORK; + return WNetUseConnectionA(hwndOwner, lpNetResource, lpPassword, lpUserID, + dwFlags, NULL, 0, NULL); } /********************************************************************* @@ -1546,11 +1539,8 @@ LPCWSTR lpPassword, LPCWSTR lpUserID, DWORD dwFlags ) { - FIXME( "(%p, %p, %p, %s, 0x%08X), stub\n", - hwndOwner, lpNetResource, lpPassword, debugstr_w(lpUserID), dwFlags ); - - SetLastError(WN_NO_NETWORK); - return WN_NO_NETWORK; + return WNetUseConnectionW(hwndOwner, lpNetResource, lpPassword, lpUserID, + dwFlags, NULL, 0, NULL); } /*****************************************************************
8 years, 11 months
1
0
0
0
[ion] 70618: [BOOTMGR]: Support for launching a recovery sequence. [BOOTMGR]: Stub support for boot errors. [BOOTMGR]: Stubplement support for device creation for boot applications (only for fully ...
by ion@svn.reactos.org
Author: ion Date: Tue Jan 19 18:21:54 2016 New Revision: 70618 URL:
http://svn.reactos.org/svn/reactos?rev=70618&view=rev
Log: [BOOTMGR]: Support for launching a recovery sequence. [BOOTMGR]: Stub support for boot errors. [BOOTMGR]: Stubplement support for device creation for boot applications (only for fully specified devices) [BOOTMGR]: Implement support for execution transfer, including recovery mode/sequence. [BOOTMGR]: Implement support for launching a boot entry. [BOOTLIB]: Support for EFI Firmware device enumeration, driver attachment, and comparison. [BOOTLIB]: Support for appending BOOLEAN or INTEGER BCD options. Next step is the PE loader. Modified: trunk/reactos/boot/environ/app/bootmgr/bootmgr.c trunk/reactos/boot/environ/include/bcd.h trunk/reactos/boot/environ/include/bl.h trunk/reactos/boot/environ/lib/firmware/efi/firmware.c trunk/reactos/boot/environ/lib/io/device.c trunk/reactos/boot/environ/lib/misc/bcdopt.c Modified: trunk/reactos/boot/environ/app/bootmgr/bootmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/app/bootmgr/b…
============================================================================== --- trunk/reactos/boot/environ/app/bootmgr/bootmgr.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/app/bootmgr/bootmgr.c [iso-8859-1] Tue Jan 19 18:21:54 2016 @@ -1,7 +1,7 @@ /* * COPYRIGHT: See COPYING.ARM in the top level directory * PROJECT: ReactOS UEFI Boot Manager - * FILE: boot/environ/app/bootmgr/bootmgr.c + * FILE: boot/environ/app/bootmgr/bootmgr.cla * PURPOSE: Boot Manager Entrypoint * PROGRAMMER: Alex Ionescu (alex.ionescu(a)reactos.org) */ @@ -2033,13 +2033,562 @@ BmpLaunchBootEntry ( _In_ PBL_LOADED_APPLICATION_ENTRY BootEntry, _Out_ PULONG EntryIndex, - _In_ ULONG Unknown, + _In_ ULONG LaunchCode, _In_ BOOLEAN LaunchWinRe - ) -{ - EfiPrintf(L"Boot launch not yet implemented\r\n"); - EfiStall(1000000000); + ); + +NTSTATUS +BmLaunchRecoverySequence ( + _In_ PBL_LOADED_APPLICATION_ENTRY BootEntry, + _In_ ULONG LaunchCode + ) +{ + NTSTATUS Status; + PBL_LOADED_APPLICATION_ENTRY RecoveryEntry; + HANDLE BcdHandle; + PGUID RecoverySequence; + ULONG Count, i, RecoveryIndex, SequenceCount; + PBL_LOADED_APPLICATION_ENTRY* Sequence; + + RecoveryIndex = 0; + Sequence = NULL; + RecoverySequence = NULL; + Count = 0; + BcdHandle = NULL; + + Status = BmOpenDataStore(&BcdHandle); + if (NT_SUCCESS(Status)) + { + Status = BlGetBootOptionGuidList(BootEntry->BcdData, + BcdLibraryObjectList_RecoverySequence, + &RecoverySequence, + &SequenceCount); + if (NT_SUCCESS(Status)) + { + Status = BmGetBootSequence(BcdHandle, + RecoverySequence, + SequenceCount, + BL_APPLICATION_ENTRY_RECOVERY, + &Sequence, + &Count); + if (NT_SUCCESS(Status)) + { + if (BcdHandle) + { + BmCloseDataStore(BcdHandle); + } + + for (i = 0; i < Count; ++i) + { + if (LaunchCode == 2 || LaunchCode == 5) + { + BlRemoveBootOption(Sequence[i]->BcdData, BcdLibraryInteger_DisplayMessageOverride); + BlAppendBootOptionInteger(Sequence[i], + BcdLibraryInteger_DisplayMessageOverride, + 4); + } + else if (LaunchCode == 3) + { + BlRemoveBootOption(Sequence[i]->BcdData, BcdLibraryInteger_DisplayMessageOverride); + BlAppendBootOptionInteger(Sequence[i], + BcdLibraryInteger_DisplayMessageOverride, + 10); + } + + Status = BmpLaunchBootEntry(Sequence[i], NULL, LaunchCode, FALSE); + if (!NT_SUCCESS(Status)) + { + break; + } + } + } + + if (Sequence) + { + for (RecoveryIndex = 0; RecoveryIndex < Count; RecoveryIndex++) + { + RecoveryEntry = Sequence[RecoveryIndex]; + if (RecoveryEntry) + { + BlDestroyBootEntry(RecoveryEntry); + } + } + BlMmFreeHeap(Sequence); + } + } + + if (RecoverySequence) + { + BlMmFreeHeap(RecoverySequence); + } + } + + return Status; +} + +ULONG +BmDisplayDumpError ( + _In_ PBL_LOADED_APPLICATION_ENTRY BootEntry, + _In_ ULONG LaunchCode + ) +{ + ULONG BootError; + NTSTATUS Status; + BOOLEAN Restart, NoError; + + BootError = 1; + + Status = BlGetBootOptionBoolean(BlpApplicationEntry.BcdData, + BcdLibraryBoolean_RestartOnFailure, + &Restart); + if ((NT_SUCCESS(Status)) && (Restart)) + { + return BootError; + } + + Status = BlGetBootOptionBoolean(BlpApplicationEntry.BcdData, + BcdBootMgrBoolean_NoErrorDisplay, + &NoError); + if ((NT_SUCCESS(Status)) && (NoError)) + { + return BootError; + } + + if (BmpInternalBootError) + { + return (ULONG)BmpInternalBootError; // ??? + } + + EfiPrintf(L"Error menu not yet implemented\r\n"); + return BootError; +} + +NTSTATUS +BmpCreateDevices ( + _In_ PBL_LOADED_APPLICATION_ENTRY BootEntry + ) +{ + ULONG NextOffset, DataOffset, ListOffset; + PBL_BCD_OPTION Option, ListOption; + BcdElementType ElementType; + PBCD_DEVICE_OPTION BcdDevice; + + NextOffset = 0; + do + { + Option = (PBL_BCD_OPTION)((ULONG_PTR)BootEntry->BcdData + NextOffset); + NextOffset = Option->NextEntryOffset; + + if (Option->Empty) + { + continue; + } + + ElementType.PackedValue = Option->Type; + if (ElementType.Format != BCD_TYPE_DEVICE) + { + continue; + } + + DataOffset = Option->DataOffset; + + BcdDevice = (PBCD_DEVICE_OPTION)((ULONG_PTR)BootEntry->BcdData + DataOffset); + if (!(BcdDevice->DeviceDescriptor.Flags & 1)) + { + continue; + } + + ListOption = NULL; + ListOffset = Option->ListOffset; + if (Option->ListOffset) + { + ListOption = (PBL_BCD_OPTION)((ULONG_PTR)BootEntry->BcdData + ListOffset); + } + + EfiPrintf(L"Unspecified devices not yet supported: %p\r\n", ListOption); + return STATUS_NOT_SUPPORTED; + } while (NextOffset != 0); + + return STATUS_SUCCESS; +} + +/* MOVE TO IMAGe.C */ +NTSTATUS +BlImgLoadBootApplication ( + _In_ PBL_LOADED_APPLICATION_ENTRY BootEntry, + _Out_ PHANDLE AppHandle + ) +{ + EfiPrintf(L"Loading application %p\r\n", BootEntry); + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +BlImgStartBootApplication ( + _In_ HANDLE AppHandle, + _Inout_ PBL_RETURN_ARGUMENTS ReturnArguments + ) +{ + EfiPrintf(L"Starting application %p\r\n", AppHandle); + + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +BlImgUnloadBootApplication ( + _In_ HANDLE AppHandle + ) +{ + EfiPrintf(L"Unloading application %p\r\n", AppHandle); + + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +BmpTransferExecution ( + _In_ PBL_LOADED_APPLICATION_ENTRY BootEntry, + _Out_ PULONG LaunchCode, + _Out_ PBOOLEAN Recover + ) +{ + PWCHAR AppPath; + NTSTATUS Status; + PBL_DEVICE_DESCRIPTOR AppDevice; + BL_RETURN_ARGUMENTS ReturnArgs; + BOOLEAN AdvancedOptions; + HANDLE AppHandle; + + Status = BlGetBootOptionString(BootEntry->BcdData, + BcdLibraryString_ApplicationPath, + &AppPath); + if (!NT_SUCCESS(Status)) + { + AppPath = NULL; + } + + if (BootEntry->Flags & BL_APPLICATION_ENTRY_STARTUP) + { +#if BL_NET_SUPPORT + Status = BlNetSoftReboot(BootEntry); +#else + EfiPrintf(L"Net boot not supported\r\n"); + Status = STATUS_NOT_SUPPORTED; +#endif + goto Quickie; + } + + do + { + Status = BlImgLoadBootApplication(BootEntry, &AppHandle); + if (Status == STATUS_NOT_FOUND) + { + Status = BlGetBootOptionDevice(BootEntry->BcdData, + BcdLibraryDevice_ApplicationDevice, + &AppDevice, + NULL); + if (NT_SUCCESS(Status)) + { + Status = BlFwEnumerateDevice(AppDevice); + } + + if (!NT_SUCCESS(Status)) + { + BmFatalErrorEx(2, (ULONG_PTR)AppPath, Status, 0, 0); + goto Quickie; + } + + Status = BlImgLoadBootApplication(BootEntry, &AppHandle); + } + + if (Status == STATUS_CANCELLED) + { + if ((BmGetBootMenuPolicy(BootEntry) != MenuPolicyStandard) || + !(MiscGetBootOption(BootEntry->BcdData, + BcdLibraryObjectList_RecoverySequence))) + { + goto Quickie; + } + + *LaunchCode = 4; + *Recover = TRUE; + goto Quickie; + } + + if (Status == 0xC0210000) + { + *LaunchCode = 4; + *Recover = TRUE; + goto Quickie; + } + + if (!NT_SUCCESS(Status)) + { + BmFatalErrorEx(2, (ULONG_PTR)AppPath, Status, 0, 0); + goto Quickie; + } + + RtlZeroMemory(&ReturnArgs, sizeof(ReturnArgs)); + //BmpLogApplicationLaunchEvent(&BootEntry->Guid, AppPath); + + Status = BlImgStartBootApplication(AppHandle, &ReturnArgs); + +#if BL_BITLOCKER_SUPPORT + BlFveSecureBootCheckpointAppReturn(BootEntry, &ReturnArgs); +#endif + + //BlBsdLogEntry(1, 0x12, &BootEntry->Guid, 0x14); + + BlImgUnloadBootApplication(AppHandle); + + } while (Status != 0xC0000453); + + *Recover = TRUE; + if (ReturnArgs.Flags & 1) + { + Status = BlGetBootOptionBoolean(BootEntry->BcdData, + BcdLibraryBoolean_DisplayAdvancedOptions, + &AdvancedOptions); + if ((NT_SUCCESS(Status)) && (AdvancedOptions)) + { + *LaunchCode = 2; + } + else + { + *LaunchCode = 1; + } + } + else if (ReturnArgs.Flags & 4) + { + *LaunchCode = 1; + } + else if (ReturnArgs.Flags & 8) + { + *LaunchCode = 5; + } + else if (ReturnArgs.Flags & 0x10) + { + *LaunchCode = 6; + } + else if (ReturnArgs.Flags & 0x20) + { + *LaunchCode = 7; + } + else if (ReturnArgs.Flags & 0x40) + { + *Recover = FALSE; + BmFatalErrorEx(11, Status, 0, 0, 0); + } + +Quickie: + if (AppPath) + { + BlMmFreeHeap(AppPath); + } + + return Status; +} + +NTSTATUS +BmpLaunchBootEntry ( + _In_ PBL_LOADED_APPLICATION_ENTRY BootEntry, + _Out_ PULONG EntryIndex, + _In_ ULONG LaunchCode, + _In_ BOOLEAN LaunchWinRe + ) +{ + HANDLE BcdHandle; + NTSTATUS Status; + GUID ObjectId; + BOOLEAN DoRecovery, AutoRecovery, DoRestart, RestartOnFailure; + ULONG ErrorCode; + BOOLEAN AdvancedOneTime, EditOneTime, Recover; + + if (BootEntry->Flags & BL_APPLICATION_ENTRY_WINLOAD) + { + if (MiscGetBootOption(BootEntry->BcdData, BcdOSLoaderBoolean_AdvancedOptionsOneTime)) + { + BcdHandle = NULL; + Status = BmOpenDataStore(BcdHandle); + if (NT_SUCCESS(Status)) + { + ObjectId = BootEntry->Guid; + BmPurgeOption(BcdHandle, &ObjectId, BcdOSLoaderBoolean_AdvancedOptionsOneTime); + BmCloseDataStore(BcdHandle); + } + } + if (MiscGetBootOption(BootEntry->BcdData, BcdOSLoaderBoolean_OptionsEditOneTime)) + { + BcdHandle = NULL; + Status = BmOpenDataStore(BcdHandle); + if (NT_SUCCESS(Status)) + { + ObjectId = BootEntry->Guid; + BmPurgeOption(BcdHandle, &ObjectId, BcdOSLoaderBoolean_OptionsEditOneTime); + BmCloseDataStore(BcdHandle); + } + } + } + +TryAgain: + DoRecovery = FALSE; + Recover = FALSE; + BmpSelectedBootEntry = BootEntry; + + Status = BmpCreateDevices(BootEntry); + if (!NT_SUCCESS(Status)) + { + if (!LaunchWinRe) + { + return Status; + } + + LaunchCode = 2; + goto Quickie; + } + + if (BootEntry->Flags & BL_APPLICATION_ENTRY_WINLOAD) + { + Status = BlGetBootOptionBoolean(BootEntry->BcdData, BcdOSLoaderBoolean_AdvancedOptionsOneTime, &AdvancedOneTime); + if (NT_SUCCESS(Status)) + { + if (AdvancedOneTime) + { + BlAppendBootOptionBoolean(BootEntry, BcdLibraryBoolean_DisplayAdvancedOptions); + } + else + { + BlRemoveBootOption(BootEntry->BcdData, BcdLibraryBoolean_DisplayAdvancedOptions); + } + + BlRemoveBootOption(BootEntry->BcdData, BcdOSLoaderBoolean_AdvancedOptionsOneTime); + } + + Status = BlGetBootOptionBoolean(BootEntry->BcdData, BcdOSLoaderBoolean_OptionsEditOneTime, &EditOneTime); + if (NT_SUCCESS(Status)) + { + if (AdvancedOneTime) + { + BlAppendBootOptionBoolean(BootEntry, BcdLibraryBoolean_DisplayOptionsEdit); + } + else + { + BlRemoveBootOption(BootEntry->BcdData, BcdLibraryBoolean_DisplayOptionsEdit); + } + + BlRemoveBootOption(BootEntry->BcdData, BcdOSLoaderBoolean_OptionsEditOneTime); + } + } + + Status = BmpTransferExecution(BootEntry, &LaunchCode, &Recover); + if (!LaunchWinRe) + { + return Status; + } + + DoRecovery = Recover; + + if (((NT_SUCCESS(Status)) || (Status == STATUS_CANCELLED)) && !(Recover)) + { + return Status; + } + + if (!Recover) + { + LaunchCode = 2; + goto Quickie; + } + +Quickie: + if (MiscGetBootOption(BootEntry->BcdData, BcdLibraryObjectList_RecoverySequence)) + { + if ((LaunchCode == 3) || (LaunchCode == 5) || (LaunchCode == 6)) + { + Status = BlGetBootOptionBoolean(BootEntry->BcdData, BcdLibraryBoolean_AutoRecoveryEnabled, &AutoRecovery); + if (NT_SUCCESS(Status)) + { + DoRecovery = AutoRecovery; + } + } + } + else + { + DoRecovery = FALSE; + } + + RestartOnFailure = FALSE; + BlGetBootOptionBoolean(BlpApplicationEntry.BcdData, BcdLibraryBoolean_RestartOnFailure, &RestartOnFailure); + DoRestart = RestartOnFailure ? FALSE : DoRecovery; + while (1) + { + if (DoRestart) + { + if (AutoRecovery) + { + //BlFveRegisterBootEntryForTrustedWimBoot(BootEntry, TRUE); + } + + Status = BmLaunchRecoverySequence(BootEntry, LaunchCode); + + if (AutoRecovery) + { + //BlFveRegisterBootEntryForTrustedWimBoot(BootEntry, FALSE); + AutoRecovery = FALSE; + } + + if (NT_SUCCESS(Status)) + { + return STATUS_SUCCESS; + } + + BlRemoveBootOption(BootEntry->BcdData, BcdLibraryObjectList_RecoverySequence); + } + + if (!BmpInternalBootError) + { + BmFatalErrorEx(4, Status, 0, 0, 0); + } + + ErrorCode = BmDisplayDumpError(BootEntry, LaunchCode); + BmErrorPurge(); + + switch (ErrorCode) + { + case 6: + goto TryAgain; + case 5: + break; + case 4: + return STATUS_CANCELLED; + case 3: + Status = BmOpenDataStore(BcdHandle); + if (NT_SUCCESS(Status)) + { + Status = BmProcessCustomAction(BcdHandle, NULL); + } + if (BcdHandle) + { + BmCloseDataStore(BcdHandle); + } + return Status; + case 7: + BlAppendBootOptionBoolean(BootEntry, BcdOSLoaderBoolean_AdvancedOptionsOneTime); + goto TryAgain; + case 8: + BlAppendBootOptionBoolean(BootEntry, BcdOSLoaderBoolean_OptionsEditOneTime); + goto TryAgain; + case 2: + DoRestart = TRUE; + LaunchCode = 1; + goto TryAgain; + default: + return STATUS_CANCELLED; + } + } + + + + return STATUS_SUCCESS; } /*++ Modified: trunk/reactos/boot/environ/include/bcd.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/include/bcd.h…
============================================================================== --- trunk/reactos/boot/environ/include/bcd.h [iso-8859-1] (original) +++ trunk/reactos/boot/environ/include/bcd.h [iso-8859-1] Tue Jan 19 18:21:54 2016 @@ -92,6 +92,8 @@ BcdLibraryInteger_FveBandId = 0x1500004C, BcdLibraryBoolean_ConsoleExtendedInput = 0x16000050, BcdLibraryInteger_GraphicsResolution = 0x15000052, + BcdLibraryInteger_DisplayMessage = 0x15000065, /* Undocumented */ + BcdLibraryInteger_DisplayMessageOverride = 0x15000066, /* Undocumented */ BcdLibraryBoolean_RestartOnFailure = 0x16000053, BcdLibraryBoolean_GraphicsForceHighestMode = 0x16000054, BcdLibraryBoolean_IsolatedExecutionContext = 0x16000060, @@ -151,6 +153,7 @@ BcdOSLoaderInteger_DriverLoadFailurePolicy = 0x250000c1, BcdOSLoaderInteger_BootMenuPolicy = 0x250000C2, BcdOSLoaderBoolean_AdvancedOptionsOneTime = 0x260000C3, + BcdOSLoaderBoolean_OptionsEditOneTime = 0x260000C4, /* Undocumented */ BcdOSLoaderInteger_BootStatusPolicy = 0x250000E0, BcdOSLoaderBoolean_DisableElamDrivers = 0x260000E1, BcdOSLoaderInteger_HypervisorLaunchType = 0x250000F0, Modified: trunk/reactos/boot/environ/include/bl.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/include/bl.h?…
============================================================================== --- trunk/reactos/boot/environ/include/bl.h [iso-8859-1] (original) +++ trunk/reactos/boot/environ/include/bl.h [iso-8859-1] Tue Jan 19 18:21:54 2016 @@ -77,6 +77,7 @@ #define BL_APPLICATION_ENTRY_BOOTMGR 0x1000 #define BL_APPLICATION_ENTRY_DISPLAY_ORDER 0x800000 #define BL_APPLICATION_ENTRY_FIXED_SEQUENCE 0x20000000 +#define BL_APPLICATION_ENTRY_RECOVERY 0x40000000 #define BL_CONTEXT_PAGING_ON 1 #define BL_CONTEXT_INTERRUPTS_ON 2 @@ -110,6 +111,8 @@ #define BL_FS_REGISTER_AT_HEAD_FLAG 1 #define BL_BLOCK_DEVICE_REMOVABLE_FLAG 0x01 +#define BL_BLOCK_DEVICE_PRESENT_FLAG 0x02 +#define BL_BLOCK_DEVICE_VIRTUAL_FLAG 0x04 #define BL_MEMORY_CLASS_SHIFT 28 @@ -685,7 +688,9 @@ { ULONG Version; NTSTATUS Status; - ULONG ReturnArgumentData[5]; + ULONG Flags; + ULONGLONG DataSize; + ULONGLONG DataPage; } BL_RETURN_ARGUMENTS, *PBL_RETURN_ARGUMENTS; typedef struct _BL_MEMORY_DESCRIPTOR @@ -794,8 +799,10 @@ LARGE_INTEGER ImageSize; ULONG ImageOffset; } RamDisk; + + ULONG File; // unknown for now }; -} BL_LOCAL_DEVICE; +} BL_LOCAL_DEVICE, *PBL_LOCAL_DEVICE; typedef struct _BL_DEVICE_DESCRIPTOR { @@ -1317,6 +1324,11 @@ ); NTSTATUS +BlFwEnumerateDevice ( + _In_ PBL_DEVICE_DESCRIPTOR Device + ); + +NTSTATUS EfiAllocatePages ( _In_ ULONG Type, _In_ ULONG Pages, @@ -1774,6 +1786,19 @@ BlCopyBootOptions ( _In_ PBL_BCD_OPTION OptionList, _Out_ PBL_BCD_OPTION *CopiedOptions + ); + +NTSTATUS +BlAppendBootOptionBoolean ( + _In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, + _In_ ULONG OptionId + ); + +NTSTATUS +BlAppendBootOptionInteger ( + _In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, + _In_ ULONG OptionId, + _In_ ULONGLONG Value ); NTSTATUS @@ -2140,6 +2165,14 @@ _In_ PWCHAR FileName, _In_ ULONG Flags, _Out_ PULONG FileId + ); + +/* BLOCK I/O ROUTINES *******************************************************/ + +NTSTATUS +BlockIoEfiCompareDevice ( + _In_ PBL_DEVICE_DESCRIPTOR Device, + _In_ EFI_HANDLE Handle ); /* INPUT CONSOLE ROUTINES ****************************************************/ Modified: trunk/reactos/boot/environ/lib/firmware/efi/firmware.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/firmware/…
============================================================================== --- trunk/reactos/boot/environ/lib/firmware/efi/firmware.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/firmware/efi/firmware.c [iso-8859-1] Tue Jan 19 18:21:54 2016 @@ -1047,6 +1047,42 @@ /* Call the EFI runtime */ EfiRT->ResetSystem(ResetType, EFI_SUCCESS, 0, NULL); +} + +NTSTATUS +EfiConnectController ( + _In_ EFI_HANDLE ControllerHandle + ) +{ + BL_ARCH_MODE OldMode; + EFI_STATUS EfiStatus; + + /* Is this EFI 1.02? */ + if (EfiST->Hdr.Revision == EFI_1_02_SYSTEM_TABLE_REVISION) + { + /* This function didn't exist back then */ + return STATUS_NOT_SUPPORTED; + } + + /* Are we in protected mode? */ + OldMode = CurrentExecutionContext->Mode; + if (OldMode != BlRealMode) + { + /* FIXME: Not yet implemented */ + return STATUS_NOT_IMPLEMENTED; + } + + /* Make the EFI call */ + EfiStatus = EfiBS->ConnectController(ControllerHandle, NULL, NULL, TRUE); + + /* Switch back to protected mode if we came from there */ + if (OldMode != BlRealMode) + { + BlpArchSwitchContext(OldMode); + } + + /* Convert the error to an NTSTATUS */ + return EfiGetNtStatusCode(EfiStatus); } NTSTATUS @@ -1748,6 +1784,91 @@ return Status; } +NTSTATUS +BlFwEnumerateDevice ( + _In_ PBL_DEVICE_DESCRIPTOR Device + ) +{ + NTSTATUS Status; + ULONG PathProtocols, BlockProtocols; + EFI_HANDLE* PathArray; + EFI_HANDLE* BlockArray; + + /* Initialize locals */ + BlockArray = NULL; + PathArray = NULL; + PathProtocols = 0; + BlockProtocols = 0; + + /* Enumeration only makes sense on disks or partitions */ + if ((Device->DeviceType != DiskDevice) && + (Device->DeviceType != LegacyPartitionDevice) && + (Device->DeviceType != PartitionDevice)) + { + return STATUS_NOT_SUPPORTED; + } + + /* Enumerate the list of device paths */ + Status = EfiLocateHandleBuffer(ByProtocol, + &EfiDevicePathProtocol, + &PathProtocols, + &PathArray); + if (NT_SUCCESS(Status)) + { + /* Loop through each one */ + Status = STATUS_NOT_FOUND; + while (PathProtocols) + { + /* Attempt to connect the driver for this device epath */ + Status = EfiConnectController(PathArray[--PathProtocols]); + if (NT_SUCCESS(Status)) + { + /* Now enumerate any block I/O devices the driver added */ + Status = EfiLocateHandleBuffer(ByProtocol, + &EfiBlockIoProtocol, + &BlockProtocols, + &BlockArray); + if (!NT_SUCCESS(Status)) + { + break; + } + + /* Loop through each one */ + while (BlockProtocols) + { + /* Check if one of the new devices is the one we want */ + Status = BlockIoEfiCompareDevice(Device, + BlockArray[--BlockProtocols]); + if (NT_SUCCESS(Status)) + { + /* Yep, all done */ + goto Quickie; + } + } + + /* Move on to the next device path */ + BlMmFreeHeap(BlockArray); + BlockArray = NULL; + } + } + } + +Quickie: + /* We're done -- free the array of device path protocols, if any */ + if (PathArray) + { + BlMmFreeHeap(PathArray); + } + + /* We're done -- free the array of block I/O protocols, if any */ + if (BlockArray) + { + BlMmFreeHeap(BlockArray); + } + + /* Return if we found the device or not */ + return Status; +} /*++ * @name EfiGetEfiStatusCode Modified: trunk/reactos/boot/environ/lib/io/device.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/device…
============================================================================== --- trunk/reactos/boot/environ/lib/io/device.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/io/device.c [iso-8859-1] Tue Jan 19 18:21:54 2016 @@ -371,7 +371,7 @@ ) { PBL_BLOCK_DEVICE BlockDevice; - PVOID ReadBuffer; // edi@1 + PVOID ReadBuffer; ULONGLONG OffsetEnd, AlignedOffsetEnd, Offset; NTSTATUS Status; @@ -532,24 +532,32 @@ PBL_BLOCK_DEVICE BlockDevice; NTSTATUS Status; + /* Get the device-specific data, which is our block device descriptor */ BlockDevice = DeviceEntry->DeviceSpecificData; + /* Make sure that the buffer and size is valid */ Status = BlockIopBlockInformationCheck(BlockDevice, &Size, BytesRead, &Size); if (NT_SUCCESS(Status)) { - if (BlockDevice->DeviceFlags & 4) - { + /* Check if this is a virtual device or a physical device */ + if (BlockDevice->DeviceFlags & BL_BLOCK_DEVICE_VIRTUAL_FLAG) + { + /* Do a virtual read or write */ Status = BlockIopReadWriteVirtualDevice(DeviceEntry, Buffer, Size, 0, BytesRead); } else { + /* Do a physical read or write */ Status = BlockIopReadPhysicalDevice(DeviceEntry, Buffer, Size, BytesRead); } } else if (BytesRead) { + /* We failed, if the caller wanted bytes read, return 0 */ *BytesRead = 0; } + + /* Return back to the caller */ return Status; } @@ -564,16 +572,25 @@ BlockDevice = DeviceEntry->DeviceSpecificData; - Offset = DeviceInformation->BlockDeviceInfo.Block * BlockDevice->BlockSize + DeviceInformation->BlockDeviceInfo.Offset; + /* Take the current block number and block-offset and conver to full offset */ + Offset = DeviceInformation->BlockDeviceInfo.Block * BlockDevice->BlockSize + + DeviceInformation->BlockDeviceInfo.Offset; + + /* Make sure that the full offset is still within the bounds of the device */ if (Offset > ((BlockDevice->LastBlock + 1) * BlockDevice->BlockSize - 1)) { - EfiPrintf(L"Invalid offset\r\n"); + EfiPrintf(L"Offset out of bounds\r\n"); return STATUS_INVALID_PARAMETER; } + /* Convery the full raw offset into a block number and block-offset */ BlockDevice->Block = Offset / BlockDevice->BlockSize; BlockDevice->Offset = Offset % BlockDevice->BlockSize; + + /* Return the unknown */ BlockDevice->Unknown = DeviceInformation->BlockDeviceInfo.Unknown; + + /* All done */ return STATUS_SUCCESS; } @@ -583,13 +600,12 @@ _Out_ PBL_DEVICE_INFORMATION DeviceInformation ) { - PBL_BLOCK_DEVICE BlockDevice; - - BlockDevice = DeviceEntry->DeviceSpecificData; - + /* Copy the device speciifc data into the block device information */ RtlCopyMemory(&DeviceInformation->BlockDeviceInfo, - BlockDevice, - sizeof(DeviceInformation->BlockDeviceInfo)); + DeviceEntry->DeviceSpecificData, + sizeof(DeviceInformation->BlockDeviceInfo)); + + /* Hardcode the device type */ DeviceInformation->DeviceType = DiskDevice; return STATUS_SUCCESS; } @@ -732,22 +748,28 @@ ) { NTSTATUS Status; - BL_DEVICE_INFORMATION DeviceInformation; - - Status = BlDeviceGetInformation(DeviceId, &DeviceInformation); + BL_DEVICE_INFORMATION DeviceInfo; + + /* Get the current block and offset */ + Status = BlDeviceGetInformation(DeviceId, &DeviceInfo); if (!NT_SUCCESS(Status)) { return Status; } - DeviceInformation.BlockDeviceInfo.Block = Offset / DeviceInformation.BlockDeviceInfo.BlockSize; - DeviceInformation.BlockDeviceInfo.Offset = Offset % DeviceInformation.BlockDeviceInfo.BlockSize; - Status = BlDeviceSetInformation(DeviceId, &DeviceInformation); + /* Get the block and block-offset based on the new raw offset */ + DeviceInfo.BlockDeviceInfo.Block = Offset / DeviceInfo.BlockDeviceInfo.BlockSize; + DeviceInfo.BlockDeviceInfo.Offset = Offset % DeviceInfo.BlockDeviceInfo.BlockSize; + + /* Update the block and offset */ + Status = BlDeviceSetInformation(DeviceId, &DeviceInfo); if (NT_SUCCESS(Status)) { + /* Now issue a read, with this block and offset configured */ Status = BlDeviceRead(DeviceId, Buffer, Size, BytesRead); } + /* All good, return the caller */ return Status; } @@ -828,7 +850,7 @@ } if (Media->MediaPresent) { - BlockDevice->DeviceFlags |= 2; + BlockDevice->DeviceFlags |= BL_BLOCK_DEVICE_PRESENT_FLAG; } /* No clue */ @@ -1212,6 +1234,158 @@ } NTSTATUS +BlockIoEfiCompareDevice ( + _In_ PBL_DEVICE_DESCRIPTOR Device, + _In_ EFI_HANDLE Handle + ) +{ + PBL_LOCAL_DEVICE LocalDeviceInfo, EfiLocalDeviceInfo; + PBL_DEVICE_ENTRY DeviceEntry; + PBL_DEVICE_DESCRIPTOR EfiDevice; + NTSTATUS Status; + + DeviceEntry = NULL; + + /* Check if no device was given */ + if (!Device) + { + /* Fail the comparison */ + Status = STATUS_INVALID_PARAMETER; + goto Quickie; + } + + /* Check if this is a local disk device */ + if (Device->DeviceType != DiskDevice) + { + /* Nope -- is it a partition device? */ + if ((Device->DeviceType != LegacyPartitionDevice) && + (Device->DeviceType != PartitionDevice)) + { + /* Nope, so we can't compare */ + Status = STATUS_INVALID_PARAMETER; + goto Quickie; + } + + /* If so, return the device information for the parent disk */ + LocalDeviceInfo = &Device->Partition.Disk; + } + else + { + /* Just return the disk information itself */ + LocalDeviceInfo = &Device->Local; + } + + /* Create an EFI device entry for the EFI device handle */ + Status = BlockIoEfiCreateDeviceEntry(&DeviceEntry, Handle); + if (!NT_SUCCESS(Status)) + { + goto Quickie; + } + + /* Read the descriptor and assume failure for now */ + EfiDevice = DeviceEntry->DeviceDescriptor; + Status = STATUS_UNSUCCESSFUL; + + /* Check if the EFI device is a disk */ + if (EfiDevice->DeviceType != DiskDevice) + { + /* Nope, is it a partition? */ + if ((EfiDevice->DeviceType != LegacyPartitionDevice) && + (EfiDevice->DeviceType != PartitionDevice)) + { + /* Neither, invalid handle so bail out */ + Status = STATUS_INVALID_PARAMETER; + goto Quickie; + } + + /* Yes, so get the information of the parent disk */ + EfiLocalDeviceInfo = &EfiDevice->Partition.Disk; + } + else + { + /* It's a disk, so get the disk information itself */ + EfiLocalDeviceInfo = &EfiDevice->Local; + } + + /* Are the two devices the same type? */ + if (EfiLocalDeviceInfo->Type != LocalDeviceInfo->Type) + { + /* Nope, that was easy */ + goto Quickie; + } + + /* Yes, what kind of device is the EFI side? */ + switch (EfiLocalDeviceInfo->Type) + { + case LocalDevice: + + /* Local hard drive, compare the signature */ + if (RtlCompareMemory(&EfiLocalDeviceInfo->HardDisk, + &LocalDeviceInfo->HardDisk, + sizeof(LocalDeviceInfo->HardDisk)) == + sizeof(LocalDeviceInfo->HardDisk)) + { + Status = STATUS_SUCCESS; + } + break; + + case FloppyDevice: + case CdRomDevice: + + /* Removable floppy or CD, compare the disk number */ + if (RtlCompareMemory(&EfiLocalDeviceInfo->FloppyDisk, + &LocalDeviceInfo->FloppyDisk, + sizeof(LocalDeviceInfo->FloppyDisk)) == + sizeof(LocalDeviceInfo->FloppyDisk)) + { + Status = STATUS_SUCCESS; + } + break; + + case RamDiskDevice: + + /* RAM disk, compare the size and base information */ + if (RtlCompareMemory(&EfiLocalDeviceInfo->RamDisk, + &LocalDeviceInfo->RamDisk, + sizeof(LocalDeviceInfo->RamDisk)) == + sizeof(LocalDeviceInfo->RamDisk)) + { + Status = STATUS_SUCCESS; + } + break; + + case FileDevice: + + /* File, compare the file identifier */ + if (RtlCompareMemory(&EfiLocalDeviceInfo->File, + &LocalDeviceInfo->File, + sizeof(LocalDeviceInfo->File)) == + sizeof(LocalDeviceInfo->File)) + { + Status = STATUS_SUCCESS; + } + break; + + /* Something else we don't support */ + default: + break; + } + +Quickie: + /* All done, did we have an EFI device entry? */ + if (DeviceEntry) + { + /* Free it, since we only needed it locally for comparison */ + BlMmFreeHeap(DeviceEntry->DeviceDescriptor); + BlockIopFreeAllocations(DeviceEntry->DeviceSpecificData); + BlMmFreeHeap(DeviceEntry); + } + + /* Return back to the caller */ + return Status; +} + +NTSTATUS BlockIoFirmwareOpen ( _In_ PBL_DEVICE_DESCRIPTOR Device, _In_ PBL_BLOCK_DEVICE BlockIoDevice Modified: trunk/reactos/boot/environ/lib/misc/bcdopt.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/misc/bcdo…
============================================================================== --- trunk/reactos/boot/environ/lib/misc/bcdopt.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/misc/bcdopt.c [iso-8859-1] Tue Jan 19 18:21:54 2016 @@ -622,6 +622,69 @@ } NTSTATUS +BlAppendBootOptionBoolean ( + _In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, + _In_ ULONG OptionId + ) +{ + NTSTATUS Status; + PBL_BCD_OPTION Option; + + /* Allocate space for the entry -- remember BOOLEANs are USHORTs in BCD */ + Option = BlMmAllocateHeap(sizeof(*Option) + sizeof(USHORT)); + if (!Option) + { + return STATUS_NO_MEMORY; + } + + /* Initialize it and set the boolean to TRUE */ + RtlZeroMemory(Option, sizeof(*Option) + sizeof(USHORT)); + Option->DataSize = sizeof(USHORT); + Option->Type = OptionId; + Option->DataOffset = sizeof(*Option); + *(PBOOLEAN)(Option + 1) = TRUE; + + /* Append it */ + Status = BlAppendBootOptions(AppEntry, Option); + + /* We're all done, free our initial option */ + BlMmFreeHeap(Option); + return Status; +} + +NTSTATUS +BlAppendBootOptionInteger ( + _In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, + _In_ ULONG OptionId, + _In_ ULONGLONG Value + ) +{ + NTSTATUS Status; + PBL_BCD_OPTION Option; + + /* Allocate space for the entry */ + Option = BlMmAllocateHeap(sizeof(*Option) + sizeof(Value)); + if (!Option) + { + return STATUS_NO_MEMORY; + } + + /* Initialize it and set the integer to the given value */ + RtlZeroMemory(Option, sizeof(*Option) + sizeof(Value)); + Option->DataSize = sizeof(Value); + Option->Type = OptionId; + Option->DataOffset = sizeof(*Option); + *(PULONGLONG)(Option + 1) = Value; + + /* Append it */ + Status = BlAppendBootOptions(AppEntry, Option); + + /* We're all done, free our initial option */ + BlMmFreeHeap(Option); + return Status; +} + +NTSTATUS BlAppendBootOptionString ( _In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, _In_ PWCHAR OptionString
8 years, 11 months
1
0
0
0
[akhaldi] 70617: [0.4.0] * Merge Erdem Ersoy's Turkish translation update in r70616 except mmc and userinit. CORE-10805
by akhaldi@svn.reactos.org
Author: akhaldi Date: Mon Jan 18 19:25:52 2016 New Revision: 70617 URL:
http://svn.reactos.org/svn/reactos?rev=70617&view=rev
Log: [0.4.0] * Merge Erdem Ersoy's Turkish translation update in r70616 except mmc and userinit. CORE-10805 Modified: branches/ros-branch-0_4_0/reactos/base/applications/calc/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/games/solitaire/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/games/spider/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/games/winmine/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/magnify/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/mplay32/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/mspaint/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/notepad/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/rapps/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/rapps_new/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/regedit/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/taskmgr/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/base/applications/wordpad/lang/tr-TR.rc branches/ros-branch-0_4_0/reactos/dll/win32/shimgvw/lang/tr-TR.rc Modified: branches/ros-branch-0_4_0/reactos/base/applications/calc/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/calc/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/calc/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -327,8 +327,8 @@ BEGIN POPUP "&Düzen" BEGIN - MENUITEM "&ÃoÄalt\tCtrl+C", IDM_EDIT_COPY - MENUITEM "&YapıÅtır\tCtrl+V", IDM_EDIT_PASTE + MENUITEM "&ÃoÄalt\tDenetim+C", IDM_EDIT_COPY + MENUITEM "&YapıÅtır\tDenetim+V", IDM_EDIT_PASTE END POPUP "&Görünüm" BEGIN @@ -336,14 +336,14 @@ MENUITEM "&Bilimlik", IDM_VIEW_SCIENTIFIC MENUITEM "&DönüÅtürme", IDM_VIEW_CONVERSION MENUITEM SEPARATOR - MENUITEM "&Onaltılık\tF5", IDM_VIEW_HEX, CHECKED - MENUITEM "O&nluk\tF6", IDM_VIEW_DEC, CHECKED - MENUITEM "&Sekizlik\tF7", IDM_VIEW_OCT, CHECKED - MENUITEM "&Ä°kilik\tF8", IDM_VIEW_BIN, CHECKED - MENUITEM SEPARATOR - MENUITEM "D&erece\tF2", IDM_VIEW_DEG, CHECKED - MENUITEM "&Radyan\tF3", IDM_VIEW_RAD, CHECKED - MENUITEM "&Gradyan\tF4", IDM_VIEW_GRAD, CHECKED + MENUITEM "&Onaltılık\tÄ°5", IDM_VIEW_HEX, CHECKED + MENUITEM "O&nluk\tÄ°6", IDM_VIEW_DEC, CHECKED + MENUITEM "&Sekizlik\tÄ°7", IDM_VIEW_OCT, CHECKED + MENUITEM "&Ä°kilik\tÄ°8", IDM_VIEW_BIN, CHECKED + MENUITEM SEPARATOR + MENUITEM "D&erece\tÄ°2", IDM_VIEW_DEG, CHECKED + MENUITEM "&Radyan\tÄ°3", IDM_VIEW_RAD, CHECKED + MENUITEM "&Gradyan\tÄ°4", IDM_VIEW_GRAD, CHECKED MENUITEM SEPARATOR MENUITEM "B&asamakları Takımla", IDM_VIEW_GROUP, CHECKED END @@ -359,8 +359,8 @@ BEGIN POPUP "&Düzen" BEGIN - MENUITEM "&ÃoÄalt\tCtrl+C", IDM_EDIT_COPY - MENUITEM "&YapıÅtır\tCtrl+V", IDM_EDIT_PASTE + MENUITEM "&ÃoÄalt\tDenetim+C", IDM_EDIT_COPY + MENUITEM "&YapıÅtır\tDenetim+V", IDM_EDIT_PASTE END POPUP "&Görünüm" BEGIN @@ -368,15 +368,15 @@ MENUITEM "&Bilimlik", IDM_VIEW_SCIENTIFIC MENUITEM "&DönüÅtürme", IDM_VIEW_CONVERSION MENUITEM SEPARATOR - MENUITEM "&Onaltılık\tF5", IDM_VIEW_HEX, CHECKED - MENUITEM "O&nluk\tF6", IDM_VIEW_DEC, CHECKED - MENUITEM "&Sekizlik\tF7", IDM_VIEW_OCT, CHECKED - MENUITEM "&Ä°kilik\tF8", IDM_VIEW_BIN, CHECKED - MENUITEM SEPARATOR - MENUITEM "Dö&rtlü Sözcük\tF12", IDM_VIEW_QWORD, CHECKED - MENUITEM "Ä°&kili Sözcük\tF2", IDM_VIEW_DWORD, CHECKED - MENUITEM "Sö&zcük\tF3", IDM_VIEW_WORD, CHECKED - MENUITEM "&Ãoklu\tF4", IDM_VIEW_BYTE, CHECKED + MENUITEM "&Onaltılık\tÄ°5", IDM_VIEW_HEX, CHECKED + MENUITEM "O&nluk\tÄ°6", IDM_VIEW_DEC, CHECKED + MENUITEM "&Sekizlik\tÄ°7", IDM_VIEW_OCT, CHECKED + MENUITEM "&Ä°kilik\tÄ°8", IDM_VIEW_BIN, CHECKED + MENUITEM SEPARATOR + MENUITEM "Dö&rtlü Sözcük\tÄ°12", IDM_VIEW_QWORD, CHECKED + MENUITEM "Ä°&kili Sözcük\tÄ°2", IDM_VIEW_DWORD, CHECKED + MENUITEM "Sö&zcük\tÄ°3", IDM_VIEW_WORD, CHECKED + MENUITEM "&Ãoklu\tÄ°4", IDM_VIEW_BYTE, CHECKED MENUITEM SEPARATOR MENUITEM "B&asamakları Takımla", IDM_VIEW_GROUP, CHECKED END @@ -392,8 +392,8 @@ BEGIN POPUP "&Düzen" BEGIN - MENUITEM "&ÃoÄalt\tCtrl+C", IDM_EDIT_COPY - MENUITEM "&YapıÅtır\tCtrl+V", IDM_EDIT_PASTE + MENUITEM "&ÃoÄalt\tDenetim+C", IDM_EDIT_COPY + MENUITEM "&YapıÅtır\tDenetim+V", IDM_EDIT_PASTE END POPUP "&Görünüm" BEGIN Modified: branches/ros-branch-0_4_0/reactos/base/applications/games/solitaire/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/games/solitaire/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/games/solitaire/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -3,7 +3,7 @@ * LICENSE: Freeware, permission to use under Public Domain * FILE: base/applications/games/solitaire/lang/tr-TR.rc * PURPOSE: Turkish Resource File for ReactOS Solitaire - * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) + * TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -69,7 +69,7 @@ BEGIN POPUP "&Oyun" BEGIN - MENUITEM "&DaÄıt\tF2", IDM_GAME_NEW + MENUITEM "&DaÄıt\tÄ°2", IDM_GAME_NEW MENUITEM SEPARATOR MENUITEM "D&esteler...", IDM_GAME_DECK MENUITEM "&Seçenekler...", IDM_GAME_OPTIONS @@ -78,7 +78,7 @@ END POPUP "&Yardım" BEGIN - MENUITEM "&İçindekiler\tF1", IDM_HELP_CONTENTS + MENUITEM "&İçindekiler\tÄ°1", IDM_HELP_CONTENTS MENUITEM "&Ãzerine...", IDM_HELP_ABOUT END END Modified: branches/ros-branch-0_4_0/reactos/base/applications/games/spider/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/games/spider/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/games/spider/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -3,7 +3,7 @@ * LICENSE: See COPYING in top level directory * FILE: base/applications/games/spider/lang/tr-TR.rc * PURPOSE: Turkish Resource File for ReactOS Spider Solitaire - * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) + * TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -60,7 +60,7 @@ BEGIN POPUP "&Oyun" BEGIN - MENUITEM "&DaÄıt\tF2", IDM_GAME_NEW + MENUITEM "&DaÄıt\tÄ°2", IDM_GAME_NEW MENUITEM SEPARATOR MENUITEM "D&esteler...", IDM_GAME_DECK MENUITEM SEPARATOR @@ -68,7 +68,7 @@ END POPUP "&Yardım" BEGIN - MENUITEM "&İçindekiler\tF1", IDM_HELP_CONTENTS + MENUITEM "&İçindekiler\tÄ°1", IDM_HELP_CONTENTS MENUITEM "&Ãzerine...", IDM_HELP_ABOUT END END Modified: branches/ros-branch-0_4_0/reactos/base/applications/games/winmine/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/games/winmine/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/games/winmine/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -1,4 +1,4 @@ -/* TRANSLATORS: 2006 Fatih AÅıcı, 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATORS: 2006 Fatih AÅıcı, 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -13,7 +13,7 @@ BEGIN POPUP "&Seçenekler" BEGIN - MENUITEM "&Yeni Oyun\tF2", IDM_NEW + MENUITEM "&Yeni Oyun\tÄ°2", IDM_NEW MENUITEM SEPARATOR MENUITEM "&Soru Ä°miyle Ä°mleme", IDM_MARKQ MENUITEM SEPARATOR @@ -22,7 +22,7 @@ MENUITEM "&Usta", IDM_EXPERT MENUITEM "&Husûsî...", IDM_CUSTOM MENUITEM SEPARATOR - MENUITEM "&ÃıkıÅ\tAlt+X", IDM_EXIT + MENUITEM "&ÃıkıÅ\tSeçenek+X", IDM_EXIT END POPUP "&Yardım" BEGIN Modified: branches/ros-branch-0_4_0/reactos/base/applications/magnify/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/magnify/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/magnify/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -3,7 +3,7 @@ * LICENSE: GPL - See COPYING in the top level directory * FILE: base/applications/magnify/lang/tr-TR.rc * PURPOSE: Turkish Resource File for RecatOS Magnifier - * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) + * TRANSLATOR: 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -41,7 +41,7 @@ CAPTION "Seçenekler" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - DEFPUSHBUTTON "&ÃıkıÅ", IDOK, 96, 161, 50, 14 + DEFPUSHBUTTON "Tamam", IDOK, 96, 161, 50, 14 PUSHBUTTON "&Yardım", IDC_BUTTON_HELP, 38, 161, 50, 14 LTEXT "&Büyütme Düzeyi:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP Modified: branches/ros-branch-0_4_0/reactos/base/applications/mplay32/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/mplay32/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/mplay32/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -6,17 +6,17 @@ BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Aç...\tCtrl+O", IDM_OPEN_FILE - MENUITEM "&Kapat\tCtrl+W", IDM_CLOSE_FILE + MENUITEM "&Aç...\tDenetim+O", IDM_OPEN_FILE + MENUITEM "&Kapat\tDenetim+W", IDM_CLOSE_FILE MENUITEM SEPARATOR MENUITEM "&ÃıkıÅ", IDM_EXIT END POPUP "&Oynat" BEGIN - MENUITEM "&Oynat ya da Duraklat\tCtrl+P", IDC_PLAY - MENUITEM "&Durdur\tCtrl+S", IDC_STOP + MENUITEM "&Oynat ya da Duraklat\tDenetim+P", IDC_PLAY + MENUITEM "&Durdur\tDenetim+S", IDC_STOP MENUITEM SEPARATOR - MENUITEM "&Yinele\tCtrl+T", IDM_REPEAT + MENUITEM "&Yinele\tDenetim+T", IDM_REPEAT END POPUP "&Görünüm" BEGIN Modified: branches/ros-branch-0_4_0/reactos/base/applications/mspaint/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/mspaint/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/mspaint/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -3,7 +3,7 @@ * LICENSE: LGPL * FILE: base/applications/mspaint/lang/tr-TR.rc * PURPOSE: Turkish Resource file for ReactOS Paint - * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) + * TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -12,40 +12,40 @@ BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Yeni\tCtrl+N", IDM_FILENEW - MENUITEM "&Aç...\tCtrl+O", IDM_FILEOPEN - MENUITEM "&Sakla\tCtrl+S", IDM_FILESAVE + MENUITEM "&Yeni\tDenetim+N", IDM_FILENEW + MENUITEM "&Aç...\tDenetim+O", IDM_FILEOPEN + MENUITEM "&Sakla\tDenetim+S", IDM_FILESAVE MENUITEM "Ay&rı Sakla...", IDM_FILESAVEAS MENUITEM SEPARATOR MENUITEM "Sayfa Görünümü", IDM_FILEPAGEVIEW MENUITEM "Sayfa Ayarla...", IDM_FILEPAGESETUP - MENUITEM "Yazdır...\tCtrl+P", IDM_FILEPRINT + MENUITEM "Yazdır...\tDenetim+P", IDM_FILEPRINT MENUITEM SEPARATOR MENUITEM "&DöÅeyerek Duvar KaÄıdı Yap", IDM_FILEASWALLPAPERPLANE MENUITEM "&Ortalayarak Duvar KaÄıdı Yap", IDM_FILEASWALLPAPERCENTERED MENUITEM "&Uzatarak Duvar KaÄıdı Yap", IDM_FILEASWALLPAPERSTRETCHED MENUITEM SEPARATOR - MENUITEM "&ÃıkıÅ\tAlt+F4", IDM_FILEEXIT + MENUITEM "&ÃıkıÅ\tSeçenek+F4", IDM_FILEEXIT END POPUP "&Düzen" BEGIN - MENUITEM "&Geri Al\tCtrl+Z", IDM_EDITUNDO - MENUITEM "&Yinele\tCtrl+Y", IDM_EDITREDO - MENUITEM SEPARATOR - MENUITEM "&Kes\tCtrl+X", IDM_EDITCUT - MENUITEM "Ã&oÄalt\tCtrl+C", IDM_EDITCOPY - MENUITEM "Y&apıÅtır\tCtrl+V", IDM_EDITPASTE - MENUITEM "&Seçimi Sil\tDel", IDM_EDITDELETESELECTION + MENUITEM "&Geri Al\tDenetim+Z", IDM_EDITUNDO + MENUITEM "&Yinele\tDenetim+Y", IDM_EDITREDO + MENUITEM SEPARATOR + MENUITEM "&Kes\tDenetim+X", IDM_EDITCUT + MENUITEM "Ã&oÄalt\tDenetim+C", IDM_EDITCOPY + MENUITEM "Y&apıÅtır\tDenetim+V", IDM_EDITPASTE + MENUITEM "&Seçimi Sil\tSil", IDM_EDITDELETESELECTION MENUITEM "S&eçimi Evir", IDM_EDITINVERTSELECTION - MENUITEM "&Tümünü Seç\tCtrl+A", IDM_EDITSELECTALL + MENUITEM "&Tümünü Seç\tDenetim+A", IDM_EDITSELECTALL MENUITEM SEPARATOR MENUITEM "Se&çimi Åuraya ÃoÄalt...", IDM_EDITCOPYTO MENUITEM "&Åuradan YapıÅtır...", IDM_EDITPASTEFROM END POPUP "&Görünüm" BEGIN - MENUITEM "&Araç ÃubuÄu\tCtrl+T", IDM_VIEWTOOLBOX, CHECKED - MENUITEM "&Renklik\tCtrl+L", IDM_VIEWCOLORPALETTE, CHECKED + MENUITEM "&Araç ÃubuÄu\tDenetim+T", IDM_VIEWTOOLBOX, CHECKED + MENUITEM "&Renklik\tDenetim+L", IDM_VIEWCOLORPALETTE, CHECKED MENUITEM "&Durum ÃubuÄu", IDM_VIEWSTATUSBAR, CHECKED MENUITEM "&Metin ÃubuÄu", IDM_FORMATICONBAR, CHECKED, GRAYED MENUITEM SEPARATOR @@ -62,19 +62,19 @@ MENUITEM "%800", IDM_VIEWZOOM800 END MENUITEM SEPARATOR - MENUITEM "K&ılavuzu Göster\tCtrl+G", IDM_VIEWSHOWGRID + MENUITEM "K&ılavuzu Göster\tDenetim+G", IDM_VIEWSHOWGRID MENUITEM "K&üçüÄünü Göster", IDM_VIEWSHOWMINIATURE END - MENUITEM "&Tüm Görüntülük\tCtrl+F", IDM_VIEWFULLSCREEN + MENUITEM "&Tüm Görüntülük\tDenetim+F", IDM_VIEWFULLSCREEN END POPUP "&Resim" BEGIN - MENUITEM "&Döndür ya da Evir...\tCtrl+R", IDM_IMAGEROTATEMIRROR - MENUITEM "&Yeniden Boyutlandır veyâ EÄ...\tCtrl+W", IDM_IMAGESTRETCHSKEW + MENUITEM "&Döndür ya da Evir...\tDenetim+R", IDM_IMAGEROTATEMIRROR + MENUITEM "&Yeniden Boyutlandır veyâ EÄ...\tDenetim+W", IDM_IMAGESTRETCHSKEW MENUITEM "&Kırp", IDM_IMAGECROP - MENUITEM "&Renkleri Evir\tCtrl+I", IDM_IMAGEINVERTCOLORS - MENUITEM "&Ãz Nitelikler...\tCtrl+E", IDM_IMAGEATTRIBUTES - MENUITEM "R&esmi Arıt\tCtrl+Shft+N", IDM_IMAGEDELETEIMAGE + MENUITEM "&Renkleri Evir\tDenetim+I", IDM_IMAGEINVERTCOLORS + MENUITEM "&Ãz Nitelikler...\tDenetim+E", IDM_IMAGEATTRIBUTES + MENUITEM "R&esmi Arıt\tDenetim+Ãst Damga+N", IDM_IMAGEDELETEIMAGE MENUITEM "D&onuk Ãiz", IDM_IMAGEDRAWOPAQUE END POPUP "R&enkler" Modified: branches/ros-branch-0_4_0/reactos/base/applications/notepad/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/notepad/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/notepad/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -1,4 +1,4 @@ -/* TRANSLATORS: 2012 Arda Tanrıkulu (ardatan) (ardatanrikulu(a)gmail.com), 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATORS: 2012 Arda Tanrıkulu (ardatan) (ardatanrikulu(a)gmail.com), 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -24,32 +24,32 @@ BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Yeni\tCtrl+N", CMD_NEW - MENUITEM "&Aç...\tCtrl+O", CMD_OPEN - MENUITEM "&Sakla\tCtrl+S", CMD_SAVE + MENUITEM "&Yeni\tDenetim+N", CMD_NEW + MENUITEM "&Aç...\tDenetim+O", CMD_OPEN + MENUITEM "&Sakla\tDenetim+S", CMD_SAVE MENUITEM "Ay&rı Sakla...", CMD_SAVE_AS MENUITEM SEPARATOR MENUITEM "Say&fa Ayarla...", CMD_PAGE_SETUP - MENUITEM "Ya&zdır...\tCtrl+P", CMD_PRINT + MENUITEM "Ya&zdır...\tDenetim+P", CMD_PRINT MENUITEM SEPARATOR MENUITEM "&ÃıkıÅ", CMD_EXIT END POPUP "&Düzen" BEGIN - MENUITEM "&Geri Al\tCtrl+Z", CMD_UNDO + MENUITEM "&Geri Al\tDenetim+Z", CMD_UNDO MENUITEM SEPARATOR - MENUITEM "&Kes\tCtrl+X", CMD_CUT - MENUITEM "&ÃoÄalt\tCtrl+C", CMD_COPY - MENUITEM "&YapıÅtır\tCtrl+V", CMD_PASTE - MENUITEM "&Sil\tDel", CMD_DELETE + MENUITEM "&Kes\tDenetim+X", CMD_CUT + MENUITEM "&ÃoÄalt\tDenetim+C", CMD_COPY + MENUITEM "&YapıÅtır\tDenetim+V", CMD_PASTE + MENUITEM "&Sil\tSil", CMD_DELETE MENUITEM SEPARATOR - MENUITEM "&Bul...\tCtrl+F", CMD_SEARCH - MENUITEM "S&onrakini Bul\tF3", CMD_SEARCH_NEXT - MENUITEM "&DeÄiÅtir...\tCtrl+H", CMD_REPLACE - MENUITEM "G&it...\tCtrl+G", CMD_GOTO + MENUITEM "&Bul...\tDenetim+F", CMD_SEARCH + MENUITEM "S&onrakini Bul\tÄ°3", CMD_SEARCH_NEXT + MENUITEM "&DeÄiÅtir...\tDenetim+H", CMD_REPLACE + MENUITEM "G&it...\tDenetim+G", CMD_GOTO MENUITEM SEPARATOR - MENUITEM "&Tümünü Seç\tCtrl+A", CMD_SELECT_ALL - MENUITEM "&Åimdiki Zamânı Koy\tF5", CMD_TIME_DATE + MENUITEM "&Tümünü Seç\tDenetim+A", CMD_SELECT_ALL + MENUITEM "&Åimdiki Zamânı Koy\tÄ°5", CMD_TIME_DATE END POPUP "&Biçim" BEGIN Modified: branches/ros-branch-0_4_0/reactos/base/applications/rapps/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/rapps/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/rapps/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -12,19 +12,19 @@ END POPUP "Y&azılım" BEGIN - MENUITEM "&Kur\tCtrl+Enter", ID_INSTALL - MENUITEM "K&aldır\tCtrl+Del", ID_UNINSTALL + MENUITEM "&Kur\tDenetim+GiriÅ", ID_INSTALL + MENUITEM "K&aldır\tDenetim+Sil", ID_UNINSTALL MENUITEM "&DeÄiÅtir", ID_MODIFY MENUITEM SEPARATOR MENUITEM "&GiriÅi DeÄer Defteri'nden Kaldır", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Yenile\tF5", ID_REFRESH - MENUITEM SEPARATOR - MENUITEM "Ya&zılım Veri Tabanını Yenile\tCtrl+F5", ID_RESETDB + MENUITEM "&Yenile\tÄ°5", ID_REFRESH + MENUITEM SEPARATOR + MENUITEM "Ya&zılım Veri Tabanını Yenile\tDenetim+Ä°5", ID_RESETDB END POPUP "&Yardım" BEGIN - MENUITEM "&Yardım\tF1", ID_HELP, GRAYED + MENUITEM "&Yardım\tÄ°1", ID_HELP, GRAYED MENUITEM "&Ãzerine...", ID_ABOUT END END @@ -42,15 +42,15 @@ BEGIN POPUP "popup" BEGIN - MENUITEM "&Kur\tCtrl+Enter", ID_INSTALL - MENUITEM "K&aldır\tCtrl+Del", ID_UNINSTALL + MENUITEM "&Kur\tDenetim+GiriÅ", ID_INSTALL + MENUITEM "K&aldır\tDenetim+Sil", ID_UNINSTALL MENUITEM "&DeÄiÅtir", ID_MODIFY MENUITEM SEPARATOR MENUITEM "&GiriÅi DeÄer Defteri'nden Kaldır", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Yenile\tF5", ID_REFRESH - MENUITEM SEPARATOR - MENUITEM "Ya&zılım Veri Tabanını Yenile\tCtrl+F5", ID_RESETDB + MENUITEM "&Yenile\tÄ°5", ID_REFRESH + MENUITEM SEPARATOR + MENUITEM "Ya&zılım Veri Tabanını Yenile\tDenetim+Ä°5", ID_RESETDB END END Modified: branches/ros-branch-0_4_0/reactos/base/applications/rapps_new/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/rapps_new/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/rapps_new/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -12,19 +12,19 @@ END POPUP "Y&azılım" BEGIN - MENUITEM "&Kur\tCtrl+Enter", ID_INSTALL - MENUITEM "K&aldır\tCtrl+Del", ID_UNINSTALL + MENUITEM "&Kur\tDenetim+GiriÅ", ID_INSTALL + MENUITEM "K&aldır\tDenetim+Sil", ID_UNINSTALL MENUITEM "&DeÄiÅtir", ID_MODIFY MENUITEM SEPARATOR MENUITEM "&GiriÅi DeÄer Defteri'nden Kaldır", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Yenile\tF5", ID_REFRESH - MENUITEM SEPARATOR - MENUITEM "Ya&zılım Veri Tabanını Yenile\tCtrl+F5", ID_RESETDB + MENUITEM "&Yenile\tÄ°5", ID_REFRESH + MENUITEM SEPARATOR + MENUITEM "Ya&zılım Veri Tabanını Yenile\tDenetim+Ä°5", ID_RESETDB END POPUP "&Yardım" BEGIN - MENUITEM "&Yardım\tF1", ID_HELP, GRAYED + MENUITEM "&Yardım\tÄ°1", ID_HELP, GRAYED MENUITEM "&Ãzerine...", ID_ABOUT END END @@ -42,15 +42,15 @@ BEGIN POPUP "popup" BEGIN - MENUITEM "&Kur\tCtrl+Enter", ID_INSTALL - MENUITEM "K&aldır\tCtrl+Del", ID_UNINSTALL + MENUITEM "&Kur\tDenetim+GiriÅ", ID_INSTALL + MENUITEM "K&aldır\tDenetim+Sil", ID_UNINSTALL MENUITEM "&DeÄiÅtir", ID_MODIFY MENUITEM SEPARATOR MENUITEM "&GiriÅi DeÄer Defteri'nden Kaldır", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Yenile\tF5", ID_REFRESH - MENUITEM SEPARATOR - MENUITEM "Ya&zılım Veri Tabanını Yenile\tCtrl+F5", ID_RESETDB + MENUITEM "&Yenile\tÄ°5", ID_REFRESH + MENUITEM SEPARATOR + MENUITEM "Ya&zılım Veri Tabanını Yenile\tDenetim+Ä°5", ID_RESETDB END END Modified: branches/ros-branch-0_4_0/reactos/base/applications/regedit/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/regedit/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/regedit/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -39,7 +39,7 @@ MENUITEM "A&Ädaki DeÄer Defteri'ne BaÄlan...", ID_REGISTRY_CONNECTNETWORKREGISTRY MENUITEM "AÄ&daki DeÄer Defteri'ne BaÄlantıyı Kes...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED MENUITEM SEPARATOR - MENUITEM "Ya&zdır...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED + MENUITEM "Ya&zdır...\tDenetim+P", ID_REGISTRY_PRINT, GRAYED MENUITEM SEPARATOR MENUITEM "&ÃıkıÅ", ID_REGISTRY_EXIT END @@ -60,13 +60,13 @@ MENUITEM SEPARATOR MENUITEM "&Ä°zinler...", ID_EDIT_PERMISSIONS MENUITEM SEPARATOR - MENUITEM "&Sil\tDel", ID_EDIT_DELETE + MENUITEM "&Sil\tSil", ID_EDIT_DELETE MENUITEM "&Adını DeÄiÅtir", ID_EDIT_RENAME MENUITEM SEPARATOR MENUITEM "Di&zin Yolunu ÃoÄalt", ID_EDIT_COPYKEYNAME MENUITEM SEPARATOR - MENUITEM "&Bul...\tCtrl+F", ID_EDIT_FIND - MENUITEM "S&onrakini Bul\tF3", ID_EDIT_FINDNEXT + MENUITEM "&Bul...\tDenetim+F", ID_EDIT_FIND + MENUITEM "S&onrakini Bul\tÄ°3", ID_EDIT_FINDNEXT END POPUP "&Görünüm" BEGIN @@ -74,7 +74,7 @@ MENUITEM SEPARATOR MENUITEM "&Böl", ID_VIEW_SPLIT MENUITEM SEPARATOR - MENUITEM "&Yenile\tF5", ID_VIEW_REFRESH + MENUITEM "&Yenile\tÄ°5", ID_VIEW_REFRESH END POPUP "Y&er Ä°mleri" BEGIN @@ -83,7 +83,7 @@ END POPUP "&Yardım" BEGIN - MENUITEM "&Yardım Konuları\tF1", ID_HELP_HELPTOPICS + MENUITEM "&Yardım Konuları\tÄ°1", ID_HELP_HELPTOPICS MENUITEM SEPARATOR MENUITEM "&DeÄer Defteri Düzenleyicisi Ãzerine...", ID_HELP_ABOUT END @@ -96,7 +96,7 @@ MENUITEM "&DeÄiÅtir...", ID_EDIT_MODIFY MENUITEM "&Ä°kili Veriyi DeÄiÅtir...", ID_EDIT_MODIFY_BIN MENUITEM SEPARATOR - MENUITEM "&Sil\tDel", ID_EDIT_DELETE + MENUITEM "&Sil\tSil", ID_EDIT_DELETE MENUITEM "&Adını DeÄiÅtir", ID_EDIT_RENAME END POPUP "" Modified: branches/ros-branch-0_4_0/reactos/base/applications/taskmgr/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/taskmgr/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/taskmgr/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -55,8 +55,8 @@ MENUITEM "&Kapat", ID_SHUTDOWN_POWEROFF MENUITEM "&Yeniden BaÅlat", ID_SHUTDOWN_REBOOT MENUITEM """%s"" &Oturumunu Kapat", ID_SHUTDOWN_LOGOFF - MENUITEM "Ku&llanıcı DeÄiÅtir\tWinKey+L", ID_SHUTDOWN_SWITCHUSER, GRAYED - MENUITEM "&Bilgisayarı Kilitle\tWinKey+L", ID_SHUTDOWN_LOCKCOMPUTER + MENUITEM "Ku&llanıcı DeÄiÅtir\tROS+L", ID_SHUTDOWN_SWITCHUSER, GRAYED + MENUITEM "&Bilgisayarı Kilitle\tROS+L", ID_SHUTDOWN_LOCKCOMPUTER MENUITEM "Ba&Älantıyı Kes", ID_SHUTDOWN_DISCONNECT, GRAYED MENUITEM "B&ilgisayarı Ãıkar", ID_SHUTDOWN_EJECT_COMPUTER, GRAYED END Modified: branches/ros-branch-0_4_0/reactos/base/applications/wordpad/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/base/a…
============================================================================== --- branches/ros-branch-0_4_0/reactos/base/applications/wordpad/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/base/applications/wordpad/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -1,7 +1,7 @@ /* * Turkish Resources for ReactOS Wordpad * - * Copyrights: 2006 Fatih AÅıcı (fasici(a)linux-sevenler.org), 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) + * Copyrights: 2006 Fatih AÅıcı (fasici(a)linux-sevenler.org), 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -24,12 +24,12 @@ BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Yeni...\tCtrl+N", ID_FILE_NEW - MENUITEM "&Aç...\tCtrl+O", ID_FILE_OPEN - MENUITEM "&Sakla\tCtrl+S", ID_FILE_SAVE + MENUITEM "&Yeni...\tDenetim+N", ID_FILE_NEW + MENUITEM "&Aç...\tDenetim+O", ID_FILE_OPEN + MENUITEM "&Sakla\tDenetim+S", ID_FILE_SAVE MENUITEM "Ay&rı Sakla...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "Ya&zdır...\tCtrl+P", ID_PRINT + MENUITEM "Ya&zdır...\tDenetim+P", ID_PRINT MENUITEM "Yaz&dırma Ãn Ä°zlemesi...", ID_PREVIEW MENUITEM "Say&fa Ayarla...", ID_PRINTSETUP MENUITEM SEPARATOR @@ -37,18 +37,18 @@ END POPUP "&Düzen" BEGIN - MENUITEM "&Geri Al\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "&Yinele\tCtrl+Y", ID_EDIT_REDO - MENUITEM SEPARATOR - MENUITEM "&Kes\tCtrl+X", ID_EDIT_CUT - MENUITEM "&ÃoÄalt\tCtrl+C", ID_EDIT_COPY - MENUITEM "Y&apıÅtır\tCtrl+V", ID_EDIT_PASTE - MENUITEM "&Sil\tDel", ID_EDIT_CLEAR - MENUITEM "&Tümünü Seç\tCtrl+A", ID_EDIT_SELECTALL - MENUITEM SEPARATOR - MENUITEM "&Bul...\tCtrl+F", ID_FIND - MENUITEM "S&onrakini Bul\tF3", ID_FIND_NEXT - MENUITEM "&DeÄiÅtir...\tCtrl+H", ID_REPLACE + MENUITEM "&Geri Al\tDenetim+Z", ID_EDIT_UNDO + MENUITEM "&Yinele\tDenetim+Y", ID_EDIT_REDO + MENUITEM SEPARATOR + MENUITEM "&Kes\tDenetim+X", ID_EDIT_CUT + MENUITEM "&ÃoÄalt\tDenetim+C", ID_EDIT_COPY + MENUITEM "Y&apıÅtır\tDenetim+V", ID_EDIT_PASTE + MENUITEM "&Sil\tSil", ID_EDIT_CLEAR + MENUITEM "&Tümünü Seç\tDenetim+A", ID_EDIT_SELECTALL + MENUITEM SEPARATOR + MENUITEM "&Bul...\tDenetim+F", ID_FIND + MENUITEM "S&onrakini Bul\tÄ°3", ID_FIND_NEXT + MENUITEM "&DeÄiÅtir...\tDenetim+H", ID_REPLACE MENUITEM SEPARATOR MENUITEM "Ya&lnızca Okunur", ID_EDIT_READONLY MENUITEM "D&eÄiÅtirilmiÅ", ID_EDIT_MODIFIED @@ -83,13 +83,13 @@ MENUITEM "&Sekme Durakları...", ID_TABSTOPS POPUP "&Arka Plan" BEGIN - MENUITEM "&Dizge Rengi\tCtrl+1", ID_BACK_1 - MENUITEM "&Sarımtırak\tCtrl+2", ID_BACK_2 + MENUITEM "&Dizge Rengi\tDenetim+1", ID_BACK_1 + MENUITEM "&Sarımtırak\tDenetim+2", ID_BACK_2 END END POPUP "&Yardım" BEGIN - MENUITEM "&ReactOS Wordpad Ãzerine...", ID_ABOUT + MENUITEM "&ReactOS Wordpad Ãzerine...", ID_ABOUT END END Modified: branches/ros-branch-0_4_0/reactos/dll/win32/shimgvw/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/dll/wi…
============================================================================== --- branches/ros-branch-0_4_0/reactos/dll/win32/shimgvw/lang/tr-TR.rc [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/dll/win32/shimgvw/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:25:52 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2014, 2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2014-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -23,7 +23,7 @@ IDS_EMF_FILE "EMF Resmi" IDS_GIF_FILE "GIF Resmi" IDS_JPG_FILE "JPEG Resmi" - IDS_BMP_FILE "Bitmap Resmi" + IDS_BMP_FILE "Bit EÅlem Resmi" IDS_PNG_FILE "PNG Resmi" IDS_TIF_FILE "TIF Resmi" IDS_WMF_FILE "WMF Resmi"
8 years, 11 months
1
0
0
0
[akhaldi] 70616: [TRANSLATIONS] Turkish translation update by Erdem Ersoy. CORE-10805
by akhaldi@svn.reactos.org
Author: akhaldi Date: Mon Jan 18 19:20:44 2016 New Revision: 70616 URL:
http://svn.reactos.org/svn/reactos?rev=70616&view=rev
Log: [TRANSLATIONS] Turkish translation update by Erdem Ersoy. CORE-10805 Modified: trunk/reactos/base/applications/calc/lang/tr-TR.rc trunk/reactos/base/applications/games/solitaire/lang/tr-TR.rc trunk/reactos/base/applications/games/spider/lang/tr-TR.rc trunk/reactos/base/applications/games/winmine/lang/tr-TR.rc trunk/reactos/base/applications/magnify/lang/tr-TR.rc trunk/reactos/base/applications/mmc/lang/tr-TR.rc trunk/reactos/base/applications/mplay32/lang/tr-TR.rc trunk/reactos/base/applications/mspaint/lang/tr-TR.rc trunk/reactos/base/applications/notepad/lang/tr-TR.rc trunk/reactos/base/applications/rapps/lang/tr-TR.rc trunk/reactos/base/applications/rapps_new/lang/tr-TR.rc trunk/reactos/base/applications/regedit/lang/tr-TR.rc trunk/reactos/base/applications/taskmgr/lang/tr-TR.rc trunk/reactos/base/applications/wordpad/lang/tr-TR.rc trunk/reactos/base/system/userinit/lang/tr-TR.rc trunk/reactos/dll/win32/shimgvw/lang/tr-TR.rc Modified: trunk/reactos/base/applications/calc/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/calc/lan…
============================================================================== --- trunk/reactos/base/applications/calc/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/calc/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -327,8 +327,8 @@ BEGIN POPUP "&Düzen" BEGIN - MENUITEM "&ÃoÄalt\tCtrl+C", IDM_EDIT_COPY - MENUITEM "&YapıÅtır\tCtrl+V", IDM_EDIT_PASTE + MENUITEM "&ÃoÄalt\tDenetim+C", IDM_EDIT_COPY + MENUITEM "&YapıÅtır\tDenetim+V", IDM_EDIT_PASTE END POPUP "&Görünüm" BEGIN @@ -336,14 +336,14 @@ MENUITEM "&Bilimlik", IDM_VIEW_SCIENTIFIC MENUITEM "&DönüÅtürme", IDM_VIEW_CONVERSION MENUITEM SEPARATOR - MENUITEM "&Onaltılık\tF5", IDM_VIEW_HEX, CHECKED - MENUITEM "O&nluk\tF6", IDM_VIEW_DEC, CHECKED - MENUITEM "&Sekizlik\tF7", IDM_VIEW_OCT, CHECKED - MENUITEM "&Ä°kilik\tF8", IDM_VIEW_BIN, CHECKED - MENUITEM SEPARATOR - MENUITEM "D&erece\tF2", IDM_VIEW_DEG, CHECKED - MENUITEM "&Radyan\tF3", IDM_VIEW_RAD, CHECKED - MENUITEM "&Gradyan\tF4", IDM_VIEW_GRAD, CHECKED + MENUITEM "&Onaltılık\tÄ°5", IDM_VIEW_HEX, CHECKED + MENUITEM "O&nluk\tÄ°6", IDM_VIEW_DEC, CHECKED + MENUITEM "&Sekizlik\tÄ°7", IDM_VIEW_OCT, CHECKED + MENUITEM "&Ä°kilik\tÄ°8", IDM_VIEW_BIN, CHECKED + MENUITEM SEPARATOR + MENUITEM "D&erece\tÄ°2", IDM_VIEW_DEG, CHECKED + MENUITEM "&Radyan\tÄ°3", IDM_VIEW_RAD, CHECKED + MENUITEM "&Gradyan\tÄ°4", IDM_VIEW_GRAD, CHECKED MENUITEM SEPARATOR MENUITEM "B&asamakları Takımla", IDM_VIEW_GROUP, CHECKED END @@ -359,8 +359,8 @@ BEGIN POPUP "&Düzen" BEGIN - MENUITEM "&ÃoÄalt\tCtrl+C", IDM_EDIT_COPY - MENUITEM "&YapıÅtır\tCtrl+V", IDM_EDIT_PASTE + MENUITEM "&ÃoÄalt\tDenetim+C", IDM_EDIT_COPY + MENUITEM "&YapıÅtır\tDenetim+V", IDM_EDIT_PASTE END POPUP "&Görünüm" BEGIN @@ -368,15 +368,15 @@ MENUITEM "&Bilimlik", IDM_VIEW_SCIENTIFIC MENUITEM "&DönüÅtürme", IDM_VIEW_CONVERSION MENUITEM SEPARATOR - MENUITEM "&Onaltılık\tF5", IDM_VIEW_HEX, CHECKED - MENUITEM "O&nluk\tF6", IDM_VIEW_DEC, CHECKED - MENUITEM "&Sekizlik\tF7", IDM_VIEW_OCT, CHECKED - MENUITEM "&Ä°kilik\tF8", IDM_VIEW_BIN, CHECKED - MENUITEM SEPARATOR - MENUITEM "Dö&rtlü Sözcük\tF12", IDM_VIEW_QWORD, CHECKED - MENUITEM "Ä°&kili Sözcük\tF2", IDM_VIEW_DWORD, CHECKED - MENUITEM "Sö&zcük\tF3", IDM_VIEW_WORD, CHECKED - MENUITEM "&Ãoklu\tF4", IDM_VIEW_BYTE, CHECKED + MENUITEM "&Onaltılık\tÄ°5", IDM_VIEW_HEX, CHECKED + MENUITEM "O&nluk\tÄ°6", IDM_VIEW_DEC, CHECKED + MENUITEM "&Sekizlik\tÄ°7", IDM_VIEW_OCT, CHECKED + MENUITEM "&Ä°kilik\tÄ°8", IDM_VIEW_BIN, CHECKED + MENUITEM SEPARATOR + MENUITEM "Dö&rtlü Sözcük\tÄ°12", IDM_VIEW_QWORD, CHECKED + MENUITEM "Ä°&kili Sözcük\tÄ°2", IDM_VIEW_DWORD, CHECKED + MENUITEM "Sö&zcük\tÄ°3", IDM_VIEW_WORD, CHECKED + MENUITEM "&Ãoklu\tÄ°4", IDM_VIEW_BYTE, CHECKED MENUITEM SEPARATOR MENUITEM "B&asamakları Takımla", IDM_VIEW_GROUP, CHECKED END @@ -392,8 +392,8 @@ BEGIN POPUP "&Düzen" BEGIN - MENUITEM "&ÃoÄalt\tCtrl+C", IDM_EDIT_COPY - MENUITEM "&YapıÅtır\tCtrl+V", IDM_EDIT_PASTE + MENUITEM "&ÃoÄalt\tDenetim+C", IDM_EDIT_COPY + MENUITEM "&YapıÅtır\tDenetim+V", IDM_EDIT_PASTE END POPUP "&Görünüm" BEGIN Modified: trunk/reactos/base/applications/games/solitaire/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
============================================================================== --- trunk/reactos/base/applications/games/solitaire/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/games/solitaire/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -3,7 +3,7 @@ * LICENSE: Freeware, permission to use under Public Domain * FILE: base/applications/games/solitaire/lang/tr-TR.rc * PURPOSE: Turkish Resource File for ReactOS Solitaire - * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) + * TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -69,7 +69,7 @@ BEGIN POPUP "&Oyun" BEGIN - MENUITEM "&DaÄıt\tF2", IDM_GAME_NEW + MENUITEM "&DaÄıt\tÄ°2", IDM_GAME_NEW MENUITEM SEPARATOR MENUITEM "D&esteler...", IDM_GAME_DECK MENUITEM "&Seçenekler...", IDM_GAME_OPTIONS @@ -78,7 +78,7 @@ END POPUP "&Yardım" BEGIN - MENUITEM "&İçindekiler\tF1", IDM_HELP_CONTENTS + MENUITEM "&İçindekiler\tÄ°1", IDM_HELP_CONTENTS MENUITEM "&Ãzerine...", IDM_HELP_ABOUT END END Modified: trunk/reactos/base/applications/games/spider/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/sp…
============================================================================== --- trunk/reactos/base/applications/games/spider/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/games/spider/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -3,7 +3,7 @@ * LICENSE: See COPYING in top level directory * FILE: base/applications/games/spider/lang/tr-TR.rc * PURPOSE: Turkish Resource File for ReactOS Spider Solitaire - * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) + * TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -60,7 +60,7 @@ BEGIN POPUP "&Oyun" BEGIN - MENUITEM "&DaÄıt\tF2", IDM_GAME_NEW + MENUITEM "&DaÄıt\tÄ°2", IDM_GAME_NEW MENUITEM SEPARATOR MENUITEM "D&esteler...", IDM_GAME_DECK MENUITEM SEPARATOR @@ -68,7 +68,7 @@ END POPUP "&Yardım" BEGIN - MENUITEM "&İçindekiler\tF1", IDM_HELP_CONTENTS + MENUITEM "&İçindekiler\tÄ°1", IDM_HELP_CONTENTS MENUITEM "&Ãzerine...", IDM_HELP_ABOUT END END Modified: trunk/reactos/base/applications/games/winmine/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/wi…
============================================================================== --- trunk/reactos/base/applications/games/winmine/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/games/winmine/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -1,4 +1,4 @@ -/* TRANSLATORS: 2006 Fatih AÅıcı, 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATORS: 2006 Fatih AÅıcı, 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -13,7 +13,7 @@ BEGIN POPUP "&Seçenekler" BEGIN - MENUITEM "&Yeni Oyun\tF2", IDM_NEW + MENUITEM "&Yeni Oyun\tÄ°2", IDM_NEW MENUITEM SEPARATOR MENUITEM "&Soru Ä°miyle Ä°mleme", IDM_MARKQ MENUITEM SEPARATOR @@ -22,7 +22,7 @@ MENUITEM "&Usta", IDM_EXPERT MENUITEM "&Husûsî...", IDM_CUSTOM MENUITEM SEPARATOR - MENUITEM "&ÃıkıÅ\tAlt+X", IDM_EXIT + MENUITEM "&ÃıkıÅ\tSeçenek+X", IDM_EXIT END POPUP "&Yardım" BEGIN Modified: trunk/reactos/base/applications/magnify/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -3,7 +3,7 @@ * LICENSE: GPL - See COPYING in the top level directory * FILE: base/applications/magnify/lang/tr-TR.rc * PURPOSE: Turkish Resource File for RecatOS Magnifier - * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) + * TRANSLATOR: 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -41,7 +41,7 @@ CAPTION "Seçenekler" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - DEFPUSHBUTTON "&ÃıkıÅ", IDOK, 96, 161, 50, 14 + DEFPUSHBUTTON "Tamam", IDOK, 96, 161, 50, 14 PUSHBUTTON "&Yardım", IDC_BUTTON_HELP, 38, 161, 50, 14 LTEXT "&Büyütme Düzeyi:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP Modified: trunk/reactos/base/applications/mmc/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mmc/lang…
============================================================================== --- trunk/reactos/base/applications/mmc/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mmc/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -6,10 +6,10 @@ BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Yeni\tCtrl+N", IDM_FILE_NEW - MENUITEM "Open\tStrg+O", IDM_FILE_OPEN + MENUITEM "&Yeni\tDenetim+N", IDM_FILE_NEW + MENUITEM "&Aç\tDenetim+O", IDM_FILE_OPEN MENUITEM SEPARATOR - MENUITEM "&ÃıkıÅ\tAlt+F4", IDM_FILE_EXIT + MENUITEM "&ÃıkıÅ\tSeçenek+Ä°4", IDM_FILE_EXIT END POPUP "&Yardım" BEGIN @@ -21,12 +21,12 @@ BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Yeni\tCtrl+N", IDM_FILE_NEW - MENUITEM "Open\tStrg+O", IDM_FILE_OPEN - MENUITEM "Save", IDM_FILE_SAVE - MENUITEM "Save as...", IDM_FILE_SAVEAS + MENUITEM "&Yeni\tDenetim+N", IDM_FILE_NEW + MENUITEM "&Aç\tDenetim+O", IDM_FILE_OPEN + MENUITEM "&Sakla", IDM_FILE_SAVE + MENUITEM "Ay&rı Sakla...", IDM_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "&ÃıkıÅ\tAlt+F4", IDM_FILE_EXIT + MENUITEM "&ÃıkıÅ\tSeçenek+Ä°4", IDM_FILE_EXIT END POPUP "&Pencereler" BEGIN Modified: trunk/reactos/base/applications/mplay32/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mplay32/…
============================================================================== --- trunk/reactos/base/applications/mplay32/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mplay32/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -6,17 +6,17 @@ BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Aç...\tCtrl+O", IDM_OPEN_FILE - MENUITEM "&Kapat\tCtrl+W", IDM_CLOSE_FILE + MENUITEM "&Aç...\tDenetim+O", IDM_OPEN_FILE + MENUITEM "&Kapat\tDenetim+W", IDM_CLOSE_FILE MENUITEM SEPARATOR MENUITEM "&ÃıkıÅ", IDM_EXIT END POPUP "&Oynat" BEGIN - MENUITEM "&Oynat ya da Duraklat\tCtrl+P", IDC_PLAY - MENUITEM "&Durdur\tCtrl+S", IDC_STOP + MENUITEM "&Oynat ya da Duraklat\tDenetim+P", IDC_PLAY + MENUITEM "&Durdur\tDenetim+S", IDC_STOP MENUITEM SEPARATOR - MENUITEM "&Yinele\tCtrl+T", IDM_REPEAT + MENUITEM "&Yinele\tDenetim+T", IDM_REPEAT END POPUP "&Görünüm" BEGIN Modified: trunk/reactos/base/applications/mspaint/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -3,7 +3,7 @@ * LICENSE: LGPL * FILE: base/applications/mspaint/lang/tr-TR.rc * PURPOSE: Turkish Resource file for ReactOS Paint - * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) + * TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -12,40 +12,40 @@ BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Yeni\tCtrl+N", IDM_FILENEW - MENUITEM "&Aç...\tCtrl+O", IDM_FILEOPEN - MENUITEM "&Sakla\tCtrl+S", IDM_FILESAVE + MENUITEM "&Yeni\tDenetim+N", IDM_FILENEW + MENUITEM "&Aç...\tDenetim+O", IDM_FILEOPEN + MENUITEM "&Sakla\tDenetim+S", IDM_FILESAVE MENUITEM "Ay&rı Sakla...", IDM_FILESAVEAS MENUITEM SEPARATOR MENUITEM "Sayfa Görünümü", IDM_FILEPAGEVIEW MENUITEM "Sayfa Ayarla...", IDM_FILEPAGESETUP - MENUITEM "Yazdır...\tCtrl+P", IDM_FILEPRINT + MENUITEM "Yazdır...\tDenetim+P", IDM_FILEPRINT MENUITEM SEPARATOR MENUITEM "&DöÅeyerek Duvar KaÄıdı Yap", IDM_FILEASWALLPAPERPLANE MENUITEM "&Ortalayarak Duvar KaÄıdı Yap", IDM_FILEASWALLPAPERCENTERED MENUITEM "&Uzatarak Duvar KaÄıdı Yap", IDM_FILEASWALLPAPERSTRETCHED MENUITEM SEPARATOR - MENUITEM "&ÃıkıÅ\tAlt+F4", IDM_FILEEXIT + MENUITEM "&ÃıkıÅ\tSeçenek+F4", IDM_FILEEXIT END POPUP "&Düzen" BEGIN - MENUITEM "&Geri Al\tCtrl+Z", IDM_EDITUNDO - MENUITEM "&Yinele\tCtrl+Y", IDM_EDITREDO - MENUITEM SEPARATOR - MENUITEM "&Kes\tCtrl+X", IDM_EDITCUT - MENUITEM "Ã&oÄalt\tCtrl+C", IDM_EDITCOPY - MENUITEM "Y&apıÅtır\tCtrl+V", IDM_EDITPASTE - MENUITEM "&Seçimi Sil\tDel", IDM_EDITDELETESELECTION + MENUITEM "&Geri Al\tDenetim+Z", IDM_EDITUNDO + MENUITEM "&Yinele\tDenetim+Y", IDM_EDITREDO + MENUITEM SEPARATOR + MENUITEM "&Kes\tDenetim+X", IDM_EDITCUT + MENUITEM "Ã&oÄalt\tDenetim+C", IDM_EDITCOPY + MENUITEM "Y&apıÅtır\tDenetim+V", IDM_EDITPASTE + MENUITEM "&Seçimi Sil\tSil", IDM_EDITDELETESELECTION MENUITEM "S&eçimi Evir", IDM_EDITINVERTSELECTION - MENUITEM "&Tümünü Seç\tCtrl+A", IDM_EDITSELECTALL + MENUITEM "&Tümünü Seç\tDenetim+A", IDM_EDITSELECTALL MENUITEM SEPARATOR MENUITEM "Se&çimi Åuraya ÃoÄalt...", IDM_EDITCOPYTO MENUITEM "&Åuradan YapıÅtır...", IDM_EDITPASTEFROM END POPUP "&Görünüm" BEGIN - MENUITEM "&Araç ÃubuÄu\tCtrl+T", IDM_VIEWTOOLBOX, CHECKED - MENUITEM "&Renklik\tCtrl+L", IDM_VIEWCOLORPALETTE, CHECKED + MENUITEM "&Araç ÃubuÄu\tDenetim+T", IDM_VIEWTOOLBOX, CHECKED + MENUITEM "&Renklik\tDenetim+L", IDM_VIEWCOLORPALETTE, CHECKED MENUITEM "&Durum ÃubuÄu", IDM_VIEWSTATUSBAR, CHECKED MENUITEM "&Metin ÃubuÄu", IDM_FORMATICONBAR, CHECKED, GRAYED MENUITEM SEPARATOR @@ -62,19 +62,19 @@ MENUITEM "%800", IDM_VIEWZOOM800 END MENUITEM SEPARATOR - MENUITEM "K&ılavuzu Göster\tCtrl+G", IDM_VIEWSHOWGRID + MENUITEM "K&ılavuzu Göster\tDenetim+G", IDM_VIEWSHOWGRID MENUITEM "K&üçüÄünü Göster", IDM_VIEWSHOWMINIATURE END - MENUITEM "&Tüm Görüntülük\tCtrl+F", IDM_VIEWFULLSCREEN + MENUITEM "&Tüm Görüntülük\tDenetim+F", IDM_VIEWFULLSCREEN END POPUP "&Resim" BEGIN - MENUITEM "&Döndür ya da Evir...\tCtrl+R", IDM_IMAGEROTATEMIRROR - MENUITEM "&Yeniden Boyutlandır veyâ EÄ...\tCtrl+W", IDM_IMAGESTRETCHSKEW + MENUITEM "&Döndür ya da Evir...\tDenetim+R", IDM_IMAGEROTATEMIRROR + MENUITEM "&Yeniden Boyutlandır veyâ EÄ...\tDenetim+W", IDM_IMAGESTRETCHSKEW MENUITEM "&Kırp", IDM_IMAGECROP - MENUITEM "&Renkleri Evir\tCtrl+I", IDM_IMAGEINVERTCOLORS - MENUITEM "&Ãz Nitelikler...\tCtrl+E", IDM_IMAGEATTRIBUTES - MENUITEM "R&esmi Arıt\tCtrl+Shft+N", IDM_IMAGEDELETEIMAGE + MENUITEM "&Renkleri Evir\tDenetim+I", IDM_IMAGEINVERTCOLORS + MENUITEM "&Ãz Nitelikler...\tDenetim+E", IDM_IMAGEATTRIBUTES + MENUITEM "R&esmi Arıt\tDenetim+Ãst Damga+N", IDM_IMAGEDELETEIMAGE MENUITEM "D&onuk Ãiz", IDM_IMAGEDRAWOPAQUE END POPUP "R&enkler" Modified: trunk/reactos/base/applications/notepad/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/notepad/…
============================================================================== --- trunk/reactos/base/applications/notepad/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/notepad/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -1,4 +1,4 @@ -/* TRANSLATORS: 2012 Arda Tanrıkulu (ardatan) (ardatanrikulu(a)gmail.com), 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATORS: 2012 Arda Tanrıkulu (ardatan) (ardatanrikulu(a)gmail.com), 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -24,32 +24,32 @@ BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Yeni\tCtrl+N", CMD_NEW - MENUITEM "&Aç...\tCtrl+O", CMD_OPEN - MENUITEM "&Sakla\tCtrl+S", CMD_SAVE + MENUITEM "&Yeni\tDenetim+N", CMD_NEW + MENUITEM "&Aç...\tDenetim+O", CMD_OPEN + MENUITEM "&Sakla\tDenetim+S", CMD_SAVE MENUITEM "Ay&rı Sakla...", CMD_SAVE_AS MENUITEM SEPARATOR MENUITEM "Say&fa Ayarla...", CMD_PAGE_SETUP - MENUITEM "Ya&zdır...\tCtrl+P", CMD_PRINT + MENUITEM "Ya&zdır...\tDenetim+P", CMD_PRINT MENUITEM SEPARATOR MENUITEM "&ÃıkıÅ", CMD_EXIT END POPUP "&Düzen" BEGIN - MENUITEM "&Geri Al\tCtrl+Z", CMD_UNDO + MENUITEM "&Geri Al\tDenetim+Z", CMD_UNDO MENUITEM SEPARATOR - MENUITEM "&Kes\tCtrl+X", CMD_CUT - MENUITEM "&ÃoÄalt\tCtrl+C", CMD_COPY - MENUITEM "&YapıÅtır\tCtrl+V", CMD_PASTE - MENUITEM "&Sil\tDel", CMD_DELETE + MENUITEM "&Kes\tDenetim+X", CMD_CUT + MENUITEM "&ÃoÄalt\tDenetim+C", CMD_COPY + MENUITEM "&YapıÅtır\tDenetim+V", CMD_PASTE + MENUITEM "&Sil\tSil", CMD_DELETE MENUITEM SEPARATOR - MENUITEM "&Bul...\tCtrl+F", CMD_SEARCH - MENUITEM "S&onrakini Bul\tF3", CMD_SEARCH_NEXT - MENUITEM "&DeÄiÅtir...\tCtrl+H", CMD_REPLACE - MENUITEM "G&it...\tCtrl+G", CMD_GOTO + MENUITEM "&Bul...\tDenetim+F", CMD_SEARCH + MENUITEM "S&onrakini Bul\tÄ°3", CMD_SEARCH_NEXT + MENUITEM "&DeÄiÅtir...\tDenetim+H", CMD_REPLACE + MENUITEM "G&it...\tDenetim+G", CMD_GOTO MENUITEM SEPARATOR - MENUITEM "&Tümünü Seç\tCtrl+A", CMD_SELECT_ALL - MENUITEM "&Åimdiki Zamânı Koy\tF5", CMD_TIME_DATE + MENUITEM "&Tümünü Seç\tDenetim+A", CMD_SELECT_ALL + MENUITEM "&Åimdiki Zamânı Koy\tÄ°5", CMD_TIME_DATE END POPUP "&Biçim" BEGIN Modified: trunk/reactos/base/applications/rapps/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/la…
============================================================================== --- trunk/reactos/base/applications/rapps/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -12,19 +12,19 @@ END POPUP "Y&azılım" BEGIN - MENUITEM "&Kur\tCtrl+Enter", ID_INSTALL - MENUITEM "K&aldır\tCtrl+Del", ID_UNINSTALL + MENUITEM "&Kur\tDenetim+GiriÅ", ID_INSTALL + MENUITEM "K&aldır\tDenetim+Sil", ID_UNINSTALL MENUITEM "&DeÄiÅtir", ID_MODIFY MENUITEM SEPARATOR MENUITEM "&GiriÅi DeÄer Defteri'nden Kaldır", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Yenile\tF5", ID_REFRESH - MENUITEM SEPARATOR - MENUITEM "Ya&zılım Veri Tabanını Yenile\tCtrl+F5", ID_RESETDB + MENUITEM "&Yenile\tÄ°5", ID_REFRESH + MENUITEM SEPARATOR + MENUITEM "Ya&zılım Veri Tabanını Yenile\tDenetim+Ä°5", ID_RESETDB END POPUP "&Yardım" BEGIN - MENUITEM "&Yardım\tF1", ID_HELP, GRAYED + MENUITEM "&Yardım\tÄ°1", ID_HELP, GRAYED MENUITEM "&Ãzerine...", ID_ABOUT END END @@ -42,15 +42,15 @@ BEGIN POPUP "popup" BEGIN - MENUITEM "&Kur\tCtrl+Enter", ID_INSTALL - MENUITEM "K&aldır\tCtrl+Del", ID_UNINSTALL + MENUITEM "&Kur\tDenetim+GiriÅ", ID_INSTALL + MENUITEM "K&aldır\tDenetim+Sil", ID_UNINSTALL MENUITEM "&DeÄiÅtir", ID_MODIFY MENUITEM SEPARATOR MENUITEM "&GiriÅi DeÄer Defteri'nden Kaldır", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Yenile\tF5", ID_REFRESH - MENUITEM SEPARATOR - MENUITEM "Ya&zılım Veri Tabanını Yenile\tCtrl+F5", ID_RESETDB + MENUITEM "&Yenile\tÄ°5", ID_REFRESH + MENUITEM SEPARATOR + MENUITEM "Ya&zılım Veri Tabanını Yenile\tDenetim+Ä°5", ID_RESETDB END END Modified: trunk/reactos/base/applications/rapps_new/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps_ne…
============================================================================== --- trunk/reactos/base/applications/rapps_new/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps_new/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -12,19 +12,19 @@ END POPUP "Y&azılım" BEGIN - MENUITEM "&Kur\tCtrl+Enter", ID_INSTALL - MENUITEM "K&aldır\tCtrl+Del", ID_UNINSTALL + MENUITEM "&Kur\tDenetim+GiriÅ", ID_INSTALL + MENUITEM "K&aldır\tDenetim+Sil", ID_UNINSTALL MENUITEM "&DeÄiÅtir", ID_MODIFY MENUITEM SEPARATOR MENUITEM "&GiriÅi DeÄer Defteri'nden Kaldır", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Yenile\tF5", ID_REFRESH - MENUITEM SEPARATOR - MENUITEM "Ya&zılım Veri Tabanını Yenile\tCtrl+F5", ID_RESETDB + MENUITEM "&Yenile\tÄ°5", ID_REFRESH + MENUITEM SEPARATOR + MENUITEM "Ya&zılım Veri Tabanını Yenile\tDenetim+Ä°5", ID_RESETDB END POPUP "&Yardım" BEGIN - MENUITEM "&Yardım\tF1", ID_HELP, GRAYED + MENUITEM "&Yardım\tÄ°1", ID_HELP, GRAYED MENUITEM "&Ãzerine...", ID_ABOUT END END @@ -42,15 +42,15 @@ BEGIN POPUP "popup" BEGIN - MENUITEM "&Kur\tCtrl+Enter", ID_INSTALL - MENUITEM "K&aldır\tCtrl+Del", ID_UNINSTALL + MENUITEM "&Kur\tDenetim+GiriÅ", ID_INSTALL + MENUITEM "K&aldır\tDenetim+Sil", ID_UNINSTALL MENUITEM "&DeÄiÅtir", ID_MODIFY MENUITEM SEPARATOR MENUITEM "&GiriÅi DeÄer Defteri'nden Kaldır", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Yenile\tF5", ID_REFRESH - MENUITEM SEPARATOR - MENUITEM "Ya&zılım Veri Tabanını Yenile\tCtrl+F5", ID_RESETDB + MENUITEM "&Yenile\tÄ°5", ID_REFRESH + MENUITEM SEPARATOR + MENUITEM "Ya&zılım Veri Tabanını Yenile\tDenetim+Ä°5", ID_RESETDB END END Modified: trunk/reactos/base/applications/regedit/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/regedit/…
============================================================================== --- trunk/reactos/base/applications/regedit/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/regedit/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -39,7 +39,7 @@ MENUITEM "A&Ädaki DeÄer Defteri'ne BaÄlan...", ID_REGISTRY_CONNECTNETWORKREGISTRY MENUITEM "AÄ&daki DeÄer Defteri'ne BaÄlantıyı Kes...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED MENUITEM SEPARATOR - MENUITEM "Ya&zdır...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED + MENUITEM "Ya&zdır...\tDenetim+P", ID_REGISTRY_PRINT, GRAYED MENUITEM SEPARATOR MENUITEM "&ÃıkıÅ", ID_REGISTRY_EXIT END @@ -60,13 +60,13 @@ MENUITEM SEPARATOR MENUITEM "&Ä°zinler...", ID_EDIT_PERMISSIONS MENUITEM SEPARATOR - MENUITEM "&Sil\tDel", ID_EDIT_DELETE + MENUITEM "&Sil\tSil", ID_EDIT_DELETE MENUITEM "&Adını DeÄiÅtir", ID_EDIT_RENAME MENUITEM SEPARATOR MENUITEM "Di&zin Yolunu ÃoÄalt", ID_EDIT_COPYKEYNAME MENUITEM SEPARATOR - MENUITEM "&Bul...\tCtrl+F", ID_EDIT_FIND - MENUITEM "S&onrakini Bul\tF3", ID_EDIT_FINDNEXT + MENUITEM "&Bul...\tDenetim+F", ID_EDIT_FIND + MENUITEM "S&onrakini Bul\tÄ°3", ID_EDIT_FINDNEXT END POPUP "&Görünüm" BEGIN @@ -74,7 +74,7 @@ MENUITEM SEPARATOR MENUITEM "&Böl", ID_VIEW_SPLIT MENUITEM SEPARATOR - MENUITEM "&Yenile\tF5", ID_VIEW_REFRESH + MENUITEM "&Yenile\tÄ°5", ID_VIEW_REFRESH END POPUP "Y&er Ä°mleri" BEGIN @@ -83,7 +83,7 @@ END POPUP "&Yardım" BEGIN - MENUITEM "&Yardım Konuları\tF1", ID_HELP_HELPTOPICS + MENUITEM "&Yardım Konuları\tÄ°1", ID_HELP_HELPTOPICS MENUITEM SEPARATOR MENUITEM "&DeÄer Defteri Düzenleyicisi Ãzerine...", ID_HELP_ABOUT END @@ -96,7 +96,7 @@ MENUITEM "&DeÄiÅtir...", ID_EDIT_MODIFY MENUITEM "&Ä°kili Veriyi DeÄiÅtir...", ID_EDIT_MODIFY_BIN MENUITEM SEPARATOR - MENUITEM "&Sil\tDel", ID_EDIT_DELETE + MENUITEM "&Sil\tSil", ID_EDIT_DELETE MENUITEM "&Adını DeÄiÅtir", ID_EDIT_RENAME END POPUP "" Modified: trunk/reactos/base/applications/taskmgr/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/…
============================================================================== --- trunk/reactos/base/applications/taskmgr/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/taskmgr/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -55,8 +55,8 @@ MENUITEM "&Kapat", ID_SHUTDOWN_POWEROFF MENUITEM "&Yeniden BaÅlat", ID_SHUTDOWN_REBOOT MENUITEM """%s"" &Oturumunu Kapat", ID_SHUTDOWN_LOGOFF - MENUITEM "Ku&llanıcı DeÄiÅtir\tWinKey+L", ID_SHUTDOWN_SWITCHUSER, GRAYED - MENUITEM "&Bilgisayarı Kilitle\tWinKey+L", ID_SHUTDOWN_LOCKCOMPUTER + MENUITEM "Ku&llanıcı DeÄiÅtir\tROS+L", ID_SHUTDOWN_SWITCHUSER, GRAYED + MENUITEM "&Bilgisayarı Kilitle\tROS+L", ID_SHUTDOWN_LOCKCOMPUTER MENUITEM "Ba&Älantıyı Kes", ID_SHUTDOWN_DISCONNECT, GRAYED MENUITEM "B&ilgisayarı Ãıkar", ID_SHUTDOWN_EJECT_COMPUTER, GRAYED END Modified: trunk/reactos/base/applications/wordpad/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/wordpad/…
============================================================================== --- trunk/reactos/base/applications/wordpad/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/wordpad/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -1,7 +1,7 @@ /* * Turkish Resources for ReactOS Wordpad * - * Copyrights: 2006 Fatih AÅıcı (fasici(a)linux-sevenler.org), 2013-2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) + * Copyrights: 2006 Fatih AÅıcı (fasici(a)linux-sevenler.org), 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -24,12 +24,12 @@ BEGIN POPUP "&Kütük" BEGIN - MENUITEM "&Yeni...\tCtrl+N", ID_FILE_NEW - MENUITEM "&Aç...\tCtrl+O", ID_FILE_OPEN - MENUITEM "&Sakla\tCtrl+S", ID_FILE_SAVE + MENUITEM "&Yeni...\tDenetim+N", ID_FILE_NEW + MENUITEM "&Aç...\tDenetim+O", ID_FILE_OPEN + MENUITEM "&Sakla\tDenetim+S", ID_FILE_SAVE MENUITEM "Ay&rı Sakla...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "Ya&zdır...\tCtrl+P", ID_PRINT + MENUITEM "Ya&zdır...\tDenetim+P", ID_PRINT MENUITEM "Yaz&dırma Ãn Ä°zlemesi...", ID_PREVIEW MENUITEM "Say&fa Ayarla...", ID_PRINTSETUP MENUITEM SEPARATOR @@ -37,18 +37,18 @@ END POPUP "&Düzen" BEGIN - MENUITEM "&Geri Al\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "&Yinele\tCtrl+Y", ID_EDIT_REDO - MENUITEM SEPARATOR - MENUITEM "&Kes\tCtrl+X", ID_EDIT_CUT - MENUITEM "&ÃoÄalt\tCtrl+C", ID_EDIT_COPY - MENUITEM "Y&apıÅtır\tCtrl+V", ID_EDIT_PASTE - MENUITEM "&Sil\tDel", ID_EDIT_CLEAR - MENUITEM "&Tümünü Seç\tCtrl+A", ID_EDIT_SELECTALL - MENUITEM SEPARATOR - MENUITEM "&Bul...\tCtrl+F", ID_FIND - MENUITEM "S&onrakini Bul\tF3", ID_FIND_NEXT - MENUITEM "&DeÄiÅtir...\tCtrl+H", ID_REPLACE + MENUITEM "&Geri Al\tDenetim+Z", ID_EDIT_UNDO + MENUITEM "&Yinele\tDenetim+Y", ID_EDIT_REDO + MENUITEM SEPARATOR + MENUITEM "&Kes\tDenetim+X", ID_EDIT_CUT + MENUITEM "&ÃoÄalt\tDenetim+C", ID_EDIT_COPY + MENUITEM "Y&apıÅtır\tDenetim+V", ID_EDIT_PASTE + MENUITEM "&Sil\tSil", ID_EDIT_CLEAR + MENUITEM "&Tümünü Seç\tDenetim+A", ID_EDIT_SELECTALL + MENUITEM SEPARATOR + MENUITEM "&Bul...\tDenetim+F", ID_FIND + MENUITEM "S&onrakini Bul\tÄ°3", ID_FIND_NEXT + MENUITEM "&DeÄiÅtir...\tDenetim+H", ID_REPLACE MENUITEM SEPARATOR MENUITEM "Ya&lnızca Okunur", ID_EDIT_READONLY MENUITEM "D&eÄiÅtirilmiÅ", ID_EDIT_MODIFIED @@ -83,13 +83,13 @@ MENUITEM "&Sekme Durakları...", ID_TABSTOPS POPUP "&Arka Plan" BEGIN - MENUITEM "&Dizge Rengi\tCtrl+1", ID_BACK_1 - MENUITEM "&Sarımtırak\tCtrl+2", ID_BACK_2 + MENUITEM "&Dizge Rengi\tDenetim+1", ID_BACK_1 + MENUITEM "&Sarımtırak\tDenetim+2", ID_BACK_2 END END POPUP "&Yardım" BEGIN - MENUITEM "&ReactOS Wordpad Ãzerine...", ID_ABOUT + MENUITEM "&ReactOS Wordpad Ãzerine...", ID_ABOUT END END Modified: trunk/reactos/base/system/userinit/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/userinit/lang/…
============================================================================== --- trunk/reactos/base/system/userinit/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/system/userinit/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -1,47 +1,47 @@ -/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION -CAPTION "ReactOS LiveCD" +CAPTION "ReactOS ÃalıÅan CD" FONT 8, "MS Shell Dlg" BEGIN CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99 - RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP + RTEXT "Dil:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP - RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP + RTEXT "DüÄme Takımı Düzeni:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP - LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8 + LTEXT "Dilinizi ve düÄme takımı dizininizi seçiniz ve sürdürmek için Ä°leri'ye tıklayınız.", IDC_STATIC, 7, 152, 300, 8 GROUPBOX "", IDC_STATIC, 0, 165, 317, 1 - DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14 - PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14 + DEFPUSHBUTTON "Ä°leri", IDOK, 205, 172, 50, 14 + PUSHBUTTON "Ä°ptal", IDCANCEL, 260, 172, 50, 14 END IDD_STARTPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION -CAPTION "ReactOS LiveCD" +CAPTION "ReactOS ÃalıÅan CD" FONT 8, "MS Shell Dlg" BEGIN CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99 - DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21 - PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21 + DEFPUSHBUTTON "&ReactOS ÃalıÅan CD'yi ÃalıÅtır", IDC_RUN, 71, 102, 175, 21 + PUSHBUTTON "R&eactOS'u Kur", IDC_INSTALL, 71, 130, 175, 21 LTEXT "", IDC_STATIC, 7, 152, 300, 8 GROUPBOX "", IDC_STATIC, 0, 165, 317, 1 - PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14 - PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14 + PUSHBUTTON "Geri", IDOK, 205, 172, 50, 14 + PUSHBUTTON "Ä°ptal", IDCANCEL, 260, 172, 50, 14 END STRINGTABLE BEGIN IDS_SHELL_FAIL "Userinit, kabuÄu baÅlatmada baÅarısız oldu!\n" - IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n" + IDS_INSTALLER_FAIL "Userinit, Kur'u baÅlatmada baÅarısız oldu!\n" END STRINGTABLE BEGIN - IDS_SPAIN "Spanish (Spain)" + IDS_SPAIN "Ä°spanyolca (Ä°spanya)" END Modified: trunk/reactos/dll/win32/shimgvw/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shimgvw/lang/tr-…
============================================================================== --- trunk/reactos/dll/win32/shimgvw/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shimgvw/lang/tr-TR.rc [iso-8859-1] Mon Jan 18 19:20:44 2016 @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2014, 2015 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ +/* TRANSLATOR: 2014-2016 Erdem Ersoy (eersoy93) (erdemersoy(a)live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -23,7 +23,7 @@ IDS_EMF_FILE "EMF Resmi" IDS_GIF_FILE "GIF Resmi" IDS_JPG_FILE "JPEG Resmi" - IDS_BMP_FILE "Bitmap Resmi" + IDS_BMP_FILE "Bit EÅlem Resmi" IDS_PNG_FILE "PNG Resmi" IDS_TIF_FILE "TIF Resmi" IDS_WMF_FILE "WMF Resmi"
8 years, 11 months
1
0
0
0
[ion] 70615: [BOOTMGR]: Implement support for getting the default boot entry, the current boot menu policy, and finish implementation of getting the selected boot entry. [BOOTMGR]: Stubplement supp...
by ion@svn.reactos.org
Author: ion Date: Mon Jan 18 18:16:49 2016 New Revision: 70615 URL:
http://svn.reactos.org/svn/reactos?rev=70615&view=rev
Log: [BOOTMGR]: Implement support for getting the default boot entry, the current boot menu policy, and finish implementation of getting the selected boot entry. [BOOTMGR]: Stubplement support for catching keystrokes right before boot (such as F8, F10). No key input is actually read. Boot Manager now attempts to load the winload entry as part of BmpLaunchBootEntry. Modified: trunk/reactos/boot/environ/app/bootmgr/bootmgr.c trunk/reactos/boot/environ/include/bcd.h trunk/reactos/boot/environ/include/bl.h Modified: trunk/reactos/boot/environ/app/bootmgr/bootmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/app/bootmgr/b…
============================================================================== --- trunk/reactos/boot/environ/app/bootmgr/bootmgr.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/app/bootmgr/bootmgr.c [iso-8859-1] Mon Jan 18 18:16:49 2016 @@ -32,6 +32,10 @@ PWCHAR ParentFileName = L""; BOOLEAN BmDisplayStateCached; +PBL_LOADED_APPLICATION_ENTRY* BmpFailedBootEntries; +PBL_LOADED_APPLICATION_ENTRY BmpSelectedBootEntry; +BOOLEAN BmBootEntryOverridePresent; +BOOLEAN BmpDisplayBootMenu; /* FUNCTIONS *****************************************************************/ @@ -1652,10 +1656,186 @@ return Status; } +VOID +BmpGetDefaultBootEntry ( + _In_ PBL_LOADED_APPLICATION_ENTRY* Sequence, + _In_ ULONG Count, + _Out_ PBL_LOADED_APPLICATION_ENTRY* DefaultEntry, + _Out_ PULONG DefaultIndex + ) +{ + GUID DefaultObject; + NTSTATUS Status; + ULONG BootIndex; + + /* Assume no default */ + *DefaultEntry = *Sequence; + *DefaultIndex = 0; + + /* Nothing to do if there's just one entry */ + if (Count == 1) + { + return; + } + + /* Get the default object, bail out if there isn't one */ + Status = BlGetBootOptionGuid(BlpApplicationEntry.BcdData, + BcdBootMgrObject_DefaultObject, + &DefaultObject); + if (!(NT_SUCCESS(Status)) || !(Count)) + { + return; + } + + /* Scan the boot sequence */ + for (BootIndex = 0; BootIndex < Count; BootIndex++) + { + /* Find one that matches the default */ + if (RtlEqualMemory(&Sequence[BootIndex]->Guid, + &DefaultObject, + sizeof(GUID))) + { + /* Return it */ + *DefaultEntry = Sequence[BootIndex]; + *DefaultIndex = BootIndex; + return; + } + } +} + +BL_MENU_POLICY +BmGetBootMenuPolicy ( + _In_ PBL_LOADED_APPLICATION_ENTRY BootEntry + ) +{ + NTSTATUS Status; + BOOLEAN EmsEnabled; + ULONGLONG BootMenuPolicy; + ULONG OptionId; + + /* Check if EMS is enabled */ + Status = BlGetBootOptionBoolean(BlpApplicationEntry.BcdData, + BcdOSLoaderBoolean_EmsEnabled, + &EmsEnabled); + if ((NT_SUCCESS(Status)) && (EmsEnabled)) + { + /* No boot menu */ + return MenuPolicyLegacy; + } + + /* Check what entry we are looking at */ + if (!BootEntry) + { + /* No entry, pick the selected one */ + BootEntry = BmpSelectedBootEntry; + } + + /* Do we still not have an entry? */ + if (!BootEntry) + { + /* Show the menu */ + return MenuPolicyStandard; + } + + /* Check if this is an OS loader */ + BootMenuPolicy = 0; + if (BootEntry->Flags & BL_APPLICATION_ENTRY_WINLOAD) + { + /* Use the correct option ID */ + OptionId = BcdOSLoaderInteger_BootMenuPolicy; + } + else + { + /* Check if this is an OS resumer */ + if (!(BootEntry->Flags & BL_APPLICATION_ENTRY_WINRESUME)) + { + /* Nope, so no reason for a menu */ + return MenuPolicyLegacy; + } + + /* Use the correct opetion ID */ + OptionId = BcdResumeInteger_BootMenuPolicy; + } + + /* Check the option ID for the boot menu policy */ + Status = BlGetBootOptionInteger(BootEntry->BcdData, + OptionId, + &BootMenuPolicy); + if (NT_SUCCESS(Status)) + { + /* We have one, return it */ + return BootMenuPolicy; + } + + /* No policy, so assume no menu */ + return MenuPolicyLegacy; +} + +VOID +BmDisplayGetBootMenuStatus ( + _Out_ PL_MENU_STATUS MenuStatus + ) +{ + /* For now, don't support key input at all */ + MenuStatus->AsULong = 0; + MenuStatus->OemKey = UNICODE_NULL; + MenuStatus->BootIndex = -1; +} + +NTSTATUS +BmProcessCustomAction ( + _In_ HANDLE BcdHandle, + _In_ PWCHAR ActionKey + ) +{ + EfiPrintf(L"Custom actions not yet handled\r\n"); + return STATUS_NOT_IMPLEMENTED; +} + +VOID +BmpProcessBootEntry ( + _In_ HANDLE BcdHandle, + _In_ PBL_LOADED_APPLICATION_ENTRY BootEntry, + _Out_ PBOOLEAN ExitBootManager + ) +{ + BL_MENU_STATUS MenuStatus; + + /* Don't exit */ + *ExitBootManager = FALSE; + + /* If the legacy menu must be shown, or if we have a boot entry */ + if ((BmGetBootMenuPolicy(BootEntry) != MenuPolicyStandard) || (BootEntry)) + { + /* Check if any key has been presseed */ + BmDisplayGetBootMenuStatus(&MenuStatus); + if (MenuStatus.AnyKey) + { + /* Was the exit key pressed? */ + if (MenuStatus.Exit) + { + /* Don't display a menu, and exit */ + *ExitBootManager = TRUE; + BmpDisplayBootMenu = FALSE; + } + else if (MenuStatus.OemKey) + { + /* Process the OEM key action */ + BmProcessCustomAction(BcdHandle, &MenuStatus.KeyValue); + } + else + { + /* Process other keys */ + EfiPrintf(L"TODO\r\n"); + } + } + } +} + NTSTATUS BmpGetSelectedBootEntry ( _In_ HANDLE BcdHandle, - _Out_ PBL_LOADED_APPLICATION_ENTRY *SelectedBootEntry, + _Out_ PBL_LOADED_APPLICATION_ENTRY* SelectedBootEntry, _Out_ PULONG EntryIndex, _Out_ PBOOLEAN ExitBootManager ) @@ -1663,7 +1843,9 @@ NTSTATUS Status; PBL_LOADED_APPLICATION_ENTRY* Sequence; PBL_LOADED_APPLICATION_ENTRY Entry, SelectedEntry; - ULONG Count, BootIndex; + ULONG Count, BootIndex, SelectedIndex; + // BOOLEAN FoundFailedEntry; + ULONGLONG Timeout; /* Initialize locals */ BootIndex = 0; @@ -1688,7 +1870,128 @@ goto Quickie; } - EfiPrintf(L"Boot selection not yet implemented. %d entries found\r\n", Count); + /* Check if we don't yet have an array of failed boot entries */ + if (!BmpFailedBootEntries) + { + /* Allocate it */ + BmpFailedBootEntries = BlMmAllocateHeap(Count); + if (BmpFailedBootEntries) + { + /* Zero it out */ + RtlZeroMemory(BmpFailedBootEntries, Count); + } + } + + /* Check if we have a hardcoded boot override */ + if (BmBootEntryOverridePresent) + { + EfiPrintf(L"Hard-coded boot override mode not supported\r\n"); + } + + /* Log the OS count */ + //BlLogEtwWrite(BOOT_BOOTMGR_MULTI_OS_COUNT); + + /* Check if the display is already active and cached */ + if (!BmDisplayStateCached) + { + /* Check if we should display a boot menu */ + Status = BlGetBootOptionBoolean(BlpApplicationEntry.BcdData, + BcdBootMgrBoolean_DisplayBootMenu, + &BmpDisplayBootMenu); + if (!NT_SUCCESS(Status)) + { + /* Assume not */ + BmpDisplayBootMenu = FALSE; + } + } + + /* Check if there's only one entry to boot anyway */ + if (Count == 1) + { + /* Read it */ + SelectedEntry = *Sequence; + + /* Process it */ + BmpProcessBootEntry(BcdHandle, SelectedEntry, ExitBootManager); + + /* Check if we're not displaying a boot menu */ + if (!BmpDisplayBootMenu) + { + /* Now we are */ + BmpDisplayBootMenu = TRUE; + + /* Return the entry and its index back */ + *EntryIndex = 0; + *SelectedBootEntry = SelectedEntry; + Status = STATUS_SUCCESS; + goto Quickie; + } + } + else + { + /* Get the default boot entry */ + BmpGetDefaultBootEntry(Sequence, Count, &SelectedEntry, &SelectedIndex); + + /* Check if we have a failed boot entry array allocated */ + //FoundFailedEntry = FALSE; + if (BmpFailedBootEntries) + { + /* Check if the default entry failed to boot */ + if (BmpFailedBootEntries[SelectedIndex]) + { + /* Loop through the current boot sequence */ + for (SelectedIndex = 0; SelectedIndex < Count; SelectedIndex++) + { + /* Check if there's no sequence for this index, or it failed */ + while (!(Sequence[SelectedIndex]) || + (BmpFailedBootEntries[SelectedIndex])) + { + /* Remember that this is a failed entry */ + SelectedEntry = Sequence[SelectedIndex]; + //FoundFailedEntry = TRUE; + BmpDisplayBootMenu = FALSE; + } + } + } + } + + /* Check if the entry is an OS loader */ + if (SelectedEntry->Flags & BL_APPLICATION_ENTRY_WINLOAD) + { + // todo + EfiPrintf(L"todo path\r\n"); + } + + /* Check if there's no timeout */ + Status = BlGetBootOptionInteger(BlpApplicationEntry.BcdData, + BcdBootMgrInteger_Timeout, + &Timeout); + if ((NT_SUCCESS(Status) && !(Timeout))) + { + /* There isn't, so just process the default entry right away */ + BmpProcessBootEntry(BcdHandle, SelectedEntry, ExitBootManager); + + /* Check if we're not displaying a boot menu */ + if (!BmpDisplayBootMenu) + { + /* Now we are */ + BmpDisplayBootMenu = TRUE; + + /* Return the entry and its index back */ + *EntryIndex = 0; + *SelectedBootEntry = SelectedEntry; + Status = STATUS_SUCCESS; + goto Quickie; + } + + /* Remove the timeout for this boot instance */ + BlRemoveBootOption(BlpApplicationEntry.BcdData, + BcdBootMgrInteger_Timeout); + } + } + + /* Here is where we display the menu and list of tools */ + EfiPrintf(L"Tool selection not yet implemented\r\n"); EfiStall(10000000); *SelectedBootEntry = NULL; @@ -1735,6 +2038,7 @@ ) { EfiPrintf(L"Boot launch not yet implemented\r\n"); + EfiStall(1000000000); return STATUS_NOT_IMPLEMENTED; } Modified: trunk/reactos/boot/environ/include/bcd.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/include/bcd.h…
============================================================================== --- trunk/reactos/boot/environ/include/bcd.h [iso-8859-1] (original) +++ trunk/reactos/boot/environ/include/bcd.h [iso-8859-1] Mon Jan 18 18:16:49 2016 @@ -191,6 +191,15 @@ BcdBootMgrBoolean_PersistBootSequence = 0x26000031 } BcdBootMgrElementTypes; +typedef enum _BcdResumeElementTypes { + Reserved1 = 0x21000001, + Reserved2 = 0x22000002, + BcdResumeBoolean_UseCustomSettings = 0x26000003, + BcdResumeDevice_AssociatedOsDevice = 0x21000005, + BcdResumeBoolean_DebugOptionEnabled = 0x26000006, + BcdResumeInteger_BootMenuPolicy = 0x25000008 +} BcdResumeElementTypes; + /* Undocumented */ typedef enum BcdStartupElementTypes { Modified: trunk/reactos/boot/environ/include/bl.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/include/bl.h?…
============================================================================== --- trunk/reactos/boot/environ/include/bl.h [iso-8859-1] (original) +++ trunk/reactos/boot/environ/include/bl.h [iso-8859-1] Mon Jan 18 18:16:49 2016 @@ -161,6 +161,12 @@ Yellow, White } BL_COLOR, *PBL_COLOR; + +typedef enum _BL_MENU_POLICY +{ + MenuPolicyLegacy = 0, + MenuPolicyStandard = 1 +} BL_MENU_POLICY; typedef enum _BL_MEMORY_DESCRIPTOR_TYPE { @@ -728,6 +734,25 @@ GUID Guid; PBL_BCD_OPTION BcdData; } BL_LOADED_APPLICATION_ENTRY, *PBL_LOADED_APPLICATION_ENTRY; + +typedef struct _BL_MENU_STATUS +{ + union + { + struct + { + ULONG AnyKey : 1; + ULONG AdvancedOptions : 1; + ULONG BootOptions : 1; + ULONG OemKey : 1; + ULONG Exit : 1; + ULONG Reserved : 27; + }; + ULONG AsULong; + }; + ULONG BootIndex; + WCHAR KeyValue; +} BL_MENU_STATUS, *PL_MENU_STATUS; typedef struct _BL_HARDDISK_DEVICE {
8 years, 11 months
1
0
0
0
[ion] 70614: [HIVEBCD]: Fix wrong element type for application device element. [BOOTMGR]: Implement boot sequence population. We correctly detect our winload.efi entry in the BCD hive. [BOOTMGR]: D...
by ion@svn.reactos.org
Author: ion Date: Mon Jan 18 16:54:44 2016 New Revision: 70614 URL:
http://svn.reactos.org/svn/reactos?rev=70614&view=rev
Log: [HIVEBCD]: Fix wrong element type for application device element. [BOOTMGR]: Implement boot sequence population. We correctly detect our winload.efi entry in the BCD hive. [BOOTMGR]: Document more application entry flags. [BOOTLIB]: Document and implement BCD object description parsing. Based off BCD Reference Guide / Geoff Chappel's website. [BOOTLIB]: Add support for appending a boot option to an entry. Modified: trunk/reactos/boot/bootdata/hivebcd.inf trunk/reactos/boot/environ/app/bootmgr/bootmgr.c trunk/reactos/boot/environ/include/bcd.h trunk/reactos/boot/environ/include/bl.h trunk/reactos/boot/environ/lib/misc/bcd.c trunk/reactos/boot/environ/lib/misc/bcdopt.c trunk/reactos/boot/environ/lib/misc/bootreg.c Modified: trunk/reactos/boot/bootdata/hivebcd.inf URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivebcd.inf?…
============================================================================== --- trunk/reactos/boot/bootdata/hivebcd.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivebcd.inf [iso-8859-1] Mon Jan 18 16:54:44 2016 @@ -22,7 +22,7 @@ ; ReactOS Boot Loader ; BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Description","Type",0x00010001,0x10200003 ; identifier={winload} -BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\11000011","Element",0x1,\ ; device=boot +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\11000001","Element",0x1,\ ; device=boot 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 05,00,00,00,\ 00,00,00,00,\ @@ -45,7 +45,7 @@ ; ReactOS Memory Tester ; BCD,"BCD00000000\Objects\{b2721d73-1db4-4c62-bf78-c548a880142d}\Description","Type",0x00010001,0x10200005 ; identifier={memdiag} -BCD,"BCD00000000\Objects\{b2721d73-1db4-4c62-bf78-c548a880142d}\Elements\11000011","Element",0x1,\ ; device=boot +BCD,"BCD00000000\Objects\{b2721d73-1db4-4c62-bf78-c548a880142d}\Elements\11000001","Element",0x1,\ ; device=boot 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 05,00,00,00,\ 00,00,00,00,\ Modified: trunk/reactos/boot/environ/app/bootmgr/bootmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/app/bootmgr/b…
============================================================================== --- trunk/reactos/boot/environ/app/bootmgr/bootmgr.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/app/bootmgr/bootmgr.c [iso-8859-1] Mon Jan 18 16:54:44 2016 @@ -121,7 +121,6 @@ /* Start going through each option */ PreviousOption = NULL; Option = Options; - EfiPrintf(L"BCD Options found: %d\r\n", ElementCount); for (i = 0; i < ElementCount; i++) { /* Read the header and type */ @@ -1231,6 +1230,40 @@ } NTSTATUS +BmGetEntryDescription ( + _In_ HANDLE BcdHandle, + _In_ PGUID ObjectId, + _Out_ PBCD_OBJECT_DESCRIPTION Description + ) +{ + NTSTATUS Status; + HANDLE ObjectHandle; + + /* Open the BCD object */ + Status = BcdOpenObject(BcdHandle, ObjectId, &ObjectHandle); + if (NT_SUCCESS(Status)) + { + /* Make sure the caller passed this argument in */ + if (!Description) + { + /* Fail otherwise */ + Status = STATUS_INVALID_PARAMETER; + } + else + { + /* Query the description from the BCD interface */ + Status = BiGetObjectDescription(ObjectHandle, Description); + } + + /* Close the object key */ + BiCloseKey(ObjectHandle); + } + + /* Return the result back */ + return Status; +} + +NTSTATUS BmpPopulateBootEntryList ( _In_ HANDLE BcdHandle, _In_ PGUID SequenceList, @@ -1239,10 +1272,211 @@ _Out_ PULONG SequenceCount ) { - EfiPrintf(L"Boot population not yet supported\r\n"); - *SequenceCount = 0; - *BootSequence = NULL; - return STATUS_NOT_IMPLEMENTED; + NTSTATUS Status; + ULONG BootIndex, i, OptionSize; + PBL_LOADED_APPLICATION_ENTRY BootEntry; + PBL_BCD_OPTION Options; + BCD_OBJECT_DESCRIPTION Description; + BcdObjectType ObjectType; + BOOLEAN HavePath, IsWinPe, SoftReboot; + PWCHAR LoaderPath; + + /* Initialize locals */ + Options = NULL; + BootIndex = 0; + Status = STATUS_NOT_FOUND; + + /* Loop through every element in the sequence */ + for (i = 0; i < *SequenceCount; i++) + { + /* Assume failure */ + BootEntry = NULL; + + /* Get the options for the sequence element */ + Status = BmGetOptionList(BcdHandle, SequenceList, &Options); + if (!NT_SUCCESS(Status)) + { + EfiPrintf(L"option list failed: %lx\r\n", Status); + goto LoopQuickie; + } + + /* Make sure there's at least a path and description */ + if (!(MiscGetBootOption(Options, BcdLibraryDevice_ApplicationDevice)) || + !(MiscGetBootOption(Options, BcdLibraryString_Description))) + { + Status = STATUS_UNSUCCESSFUL; + EfiPrintf(L"missing list failed: %lx\r\n", Status); + goto LoopQuickie; + } + + /* Get the size of the BCD options and allocate a large enough entry */ + OptionSize = BlGetBootOptionListSize(Options); + BootEntry = BlMmAllocateHeap(sizeof(*BootEntry) + OptionSize); + if (!BootEntry) + { + Status = STATUS_NO_MEMORY; + goto Quickie; + } + + /* Save it as part of the sequence */ + BootSequence[BootIndex] = BootEntry; + + /* Initialize it, and copy the BCD data */ + RtlZeroMemory(BootEntry, sizeof(*BootEntry)); + BootEntry->Guid = *SequenceList; + BootEntry->BcdData = (PBL_BCD_OPTION)(BootEntry + 1); + BootEntry->Flags = Flags; + RtlCopyMemory(BootEntry->BcdData, Options, OptionSize); + + /* Get the object descriptor to find out what kind of entry it is */ + Status = BmGetEntryDescription(BcdHandle, + &BootEntry->Guid, + &Description); + if (!NT_SUCCESS(Status)) + { + EfiPrintf(L"missing desc failed: %lx\r\n", Status); + goto LoopQuickie; + } + + /* Check if a path was given or not */ + HavePath = MiscGetBootOption(Options, BcdLibraryString_ApplicationPath) ? + TRUE : FALSE; + + /* Now select based on what type of object this is -- must be an app */ + ObjectType.PackedValue = Description.Type; + if (ObjectType.Application.ObjectCode == BCD_OBJECT_TYPE_APPLICATION) + { + /* Then select based on what kind of app it is */ + switch (ObjectType.Application.ApplicationCode) + { + /* Another boot manager */ + case BCD_APPLICATION_TYPE_BOOTMGR: + BootEntry->Flags |= BCD_APPLICATION_TYPE_BOOTMGR; + break; + + /* An OS loader */ + case BCD_APPLICATION_TYPE_OSLOADER: + BootEntry->Flags |= BL_APPLICATION_ENTRY_WINLOAD; + + /* Do we have a path for it? */ + if (!HavePath) + { + /* We'll try to make one up. Is this WinPE? */ + IsWinPe = FALSE; + Status = BlGetBootOptionBoolean(Options, + BcdOSLoaderBoolean_WinPEMode, + &IsWinPe); + if (!(NT_SUCCESS(Status)) && (Status != STATUS_NOT_FOUND)) + { + goto Quickie; + } + + /* Use the appropriate path for WinPE or local install */ + LoaderPath = IsWinPe ? + L"\\Windows\\System32\\boot\\winload.efi" : + L"\\Windows\\System32\\winload.efi"; + + /* Add the path to the boot entry */ + Status = BlAppendBootOptionString(BootEntry, LoaderPath); + if (!NT_SUCCESS(Status)) + { + goto Quickie; + } + + /* We have a path now */ + HavePath = TRUE; + } + break; + + /* A hibernate-resume application */ + case BCD_APPLICATION_TYPE_RESUME: + BootEntry->Flags |= BL_APPLICATION_ENTRY_WINRESUME; + break; + + /* An older OS NTLDR */ + case BCD_APPLICATION_TYPE_NTLDR: + BootEntry->Flags |= BL_APPLICATION_ENTRY_NTLDR; + break; + + /* An older OS SETUPLDR */ + case BCD_APPLICATION_TYPE_SETUPLDR: + BootEntry->Flags |= BL_APPLICATION_ENTRY_SETUPLDR; + break; + + /* A 3rd party/Win9x boot sector */ + case BCD_APPLICATION_TYPE_BOOTSECTOR: + BootEntry->Flags |= BL_APPLICATION_ENTRY_BOOTSECTOR; + break; + + /* Something else entirely */ + default: + break; + } + } + + /* We better have a path by now */ + if (!HavePath) + { + Status = STATUS_UNSUCCESSFUL; + goto LoopQuickie; + } + + /* Check if this is a real mode
startup.com
*/ + if ((ObjectType.Application.ObjectCode == BCD_OBJECT_TYPE_APPLICATION) && + (ObjectType.Application.ImageCode = BCD_IMAGE_TYPE_REAL_MODE) && + (ObjectType.Application.ApplicationCode == BCD_APPLICATION_TYPE_STARTUPCOM)) + { + /* Check if PXE soft reboot will occur */ + Status = BlGetBootOptionBoolean(Options, + BcdStartupBoolean_PxeSoftReboot, + &SoftReboot); + if ((NT_SUCCESS(Status)) && (SoftReboot)) + { + /* Then it's a valid
startup.com
entry */ + BootEntry->Flags |= BL_APPLICATION_ENTRY_STARTUP; + } + } + +LoopQuickie: + /* All done with this entry -- did we have BCD options? */ + if (Options) + { + /* Free them, they're part of the entry now */ + BlMmFreeHeap(Options); + Options = NULL; + } + + /* Did we fail anywhere? */ + if (!NT_SUCCESS(Status)) + { + /* Yep -- did we fail with an active boot entry? */ + if (BootEntry) + { + /* Destroy it */ + BlDestroyBootEntry(BootEntry); + BootSequence[BootIndex] = NULL; + } + } + else + { + /* It worked, so populate the next index now */ + BootIndex++; + } + + /* And move to the next GUID in the sequence list */ + SequenceList++; + } + +Quickie: + /* All done now -- did we have any BCD options? */ + if (Options) + { + /* Free them */ + BlMmFreeHeap(Options); + } + + /* Return the status */ + return Status; } NTSTATUS @@ -1363,7 +1597,7 @@ /* Populate the list of bootable entries */ Status = BmpPopulateBootEntryList(BcdHandle, DisplayOrder, - 0x800000, + BL_APPLICATION_ENTRY_DISPLAY_ORDER, Sequence, &BcdCount); if (!NT_SUCCESS(Status)) @@ -1454,7 +1688,8 @@ goto Quickie; } - EfiPrintf(L"Boot selection not yet implemented\r\n"); + EfiPrintf(L"Boot selection not yet implemented. %d entries found\r\n", Count); + EfiStall(10000000); *SelectedBootEntry = NULL; Quickie: @@ -1772,7 +2007,7 @@ Status = BmGetBootSequence(BcdHandle, SequenceList, SequenceListCount, - 0x20000000, + BL_APPLICATION_ENTRY_FIXED_SEQUENCE, &BootSequence, &SequenceCount); if (NT_SUCCESS(Status)) Modified: trunk/reactos/boot/environ/include/bcd.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/include/bcd.h…
============================================================================== --- trunk/reactos/boot/environ/include/bcd.h [iso-8859-1] (original) +++ trunk/reactos/boot/environ/include/bcd.h [iso-8859-1] Mon Jan 18 16:54:44 2016 @@ -25,6 +25,25 @@ #define BCD_TYPE_INTEGER 0x05 #define BCD_TYPE_BOOLEAN 0x06 #define BCD_TYPE_INTEGER_LIST 0x07 + +#define BCD_IMAGE_TYPE_FIRMWARE 0x01 +#define BCD_IMAGE_TYPE_BOOT_APP 0x02 +#define BCD_IMAGE_TYPE_NTLDR 0x03 +#define BCD_IMAGE_TYPE_REAL_MODE 0x04 + +#define BCD_APPLICATION_TYPE_FWBOOTMGR 0x01 +#define BCD_APPLICATION_TYPE_BOOTMGR 0x02 +#define BCD_APPLICATION_TYPE_OSLOADER 0x03 +#define BCD_APPLICATION_TYPE_RESUME 0x04 +#define BCD_APPLICATION_TYPE_MEMDIAG 0x05 +#define BCD_APPLICATION_TYPE_NTLDR 0x06 +#define BCD_APPLICATION_TYPE_SETUPLDR 0x07 +#define BCD_APPLICATION_TYPE_BOOTSECTOR 0x08 +#define BCD_APPLICATION_TYPE_STARTUPCOM 0x09 + +#define BCD_OBJECT_TYPE_APPLICATION 0x01 +#define BCD_OBJECT_TYPE_INHEREIT 0x02 +#define BCD_OBJECT_TYPE_DEVICE 0x03 typedef enum BcdLibraryElementTypes { @@ -172,13 +191,20 @@ BcdBootMgrBoolean_PersistBootSequence = 0x26000031 } BcdBootMgrElementTypes; +/* Undocumented */ +typedef enum BcdStartupElementTypes +{ + BcdStartupBoolean_PxeSoftReboot = 0x26000001, + BcdStartupString_PxeApplicationName = 0x22000002, +} BcdStartupElementTypes; + /* DATA STRUCTURES ***********************************************************/ typedef struct { union { - ULONG PackedValue; + ULONG PackedValue; struct { ULONG SubType : 24; @@ -188,6 +214,36 @@ }; } BcdElementType; +typedef struct +{ + union + { + ULONG PackedValue; + union + { + struct + { + ULONG ApplicationCode : 20; + ULONG ImageCode : 4; + ULONG Reserved : 4; + ULONG ObjectCode : 4; + } Application; + struct + { + ULONG Value : 20; + ULONG ClassCode : 4; + ULONG Reserved : 4; + ULONG ObjectCode : 4; + } Inherit; + struct + { + ULONG Reserved:28; + ULONG ObjectCode : 4; + } Device; + }; + }; +} BcdObjectType; + typedef struct _BCD_ELEMENT_HEADER { ULONG Version; @@ -214,6 +270,12 @@ GUID AssociatedEntry; BL_DEVICE_DESCRIPTOR DeviceDescriptor; } BCD_DEVICE_OPTION, *PBCD_DEVICE_OPTION; + +typedef struct _BCD_OBJECT_DESCRIPTION +{ + ULONG Valid; + ULONG Type; +} BCD_OBJECT_DESCRIPTION, *PBCD_OBJECT_DESCRIPTION;; /* FUNCTIONS ******************************************************************/ @@ -260,4 +322,10 @@ _Out_ PULONG ElementCount ); +NTSTATUS +BiGetObjectDescription ( + _In_ HANDLE ObjectHandle, + _Out_ PBCD_OBJECT_DESCRIPTION Description + ); + #endif Modified: trunk/reactos/boot/environ/include/bl.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/include/bl.h?…
============================================================================== --- trunk/reactos/boot/environ/include/bl.h [iso-8859-1] (original) +++ trunk/reactos/boot/environ/include/bl.h [iso-8859-1] Mon Jan 18 16:54:44 2016 @@ -66,8 +66,17 @@ #define BL_APPLICATION_ENTRY_FLAG_NO_GUID 0x01 #define BL_APPLICATION_ENTRY_BCD_OPTIONS_INTERNAL 0x02 +#define BL_APPLICATION_ENTRY_WINLOAD 0x04 +#define BL_APPLICATION_ENTRY_STARTUP 0x08 #define BL_APPLICATION_ENTRY_REBOOT_ON_ERROR 0x20 +#define BL_APPLICATION_ENTRY_NTLDR 0x40 #define BL_APPLICATION_ENTRY_BCD_OPTIONS_EXTERNAL 0x80 +#define BL_APPLICATION_ENTRY_WINRESUME 0x100 +#define BL_APPLICATION_ENTRY_SETUPLDR 0x200 +#define BL_APPLICATION_ENTRY_BOOTSECTOR 0x400 +#define BL_APPLICATION_ENTRY_BOOTMGR 0x1000 +#define BL_APPLICATION_ENTRY_DISPLAY_ORDER 0x800000 +#define BL_APPLICATION_ENTRY_FIXED_SEQUENCE 0x20000000 #define BL_CONTEXT_PAGING_ON 1 #define BL_CONTEXT_INTERRUPTS_ON 2 @@ -1743,6 +1752,12 @@ ); NTSTATUS +BlAppendBootOptionString ( + _In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, + _In_ PWCHAR OptionString + ); + +NTSTATUS BlAppendBootOptions ( _In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, _In_ PBL_BCD_OPTION Options @@ -1784,7 +1799,6 @@ BiGetRegistryValue ( _In_ HANDLE KeyHandle, _In_ PWCHAR ValueName, - _In_ PWCHAR KeyName, _In_ ULONG Type, _Out_ PVOID* Buffer, _Out_ PULONG ValueLength Modified: trunk/reactos/boot/environ/lib/misc/bcd.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/misc/bcd.…
============================================================================== --- trunk/reactos/boot/environ/lib/misc/bcd.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/misc/bcd.c [iso-8859-1] Mon Jan 18 16:54:44 2016 @@ -881,7 +881,6 @@ /* Read the appropriate registry value type for this element */ Status = BiGetRegistryValue(ElementHandle, L"Element", - NULL, BiConvertElementFormatToValueType( ElementType.Format), &RegistryElementData, @@ -1177,6 +1176,69 @@ } NTSTATUS +BiGetObjectDescription ( + _In_ HANDLE ObjectHandle, + _Out_ PBCD_OBJECT_DESCRIPTION Description + ) +{ + NTSTATUS Status; + HANDLE DescriptionHandle; + PULONG Data; + ULONG Length; + + /* Initialize locals */ + Data = NULL; + DescriptionHandle = NULL; + + /* Open the description key */ + Status = BiOpenKey(ObjectHandle, L"Description", &DescriptionHandle); + if (NT_SUCCESS(Status)) + { + /* It exists */ + Description->Valid = TRUE; + + /* Read the type */ + Length = 0; + Status = BiGetRegistryValue(DescriptionHandle, + L"Type", + REG_DWORD, + (PVOID*)&Data, + &Length); + if (NT_SUCCESS(Status)) + { + /* Make sure it's the length we expected it to be */ + if (Length == sizeof(Data)) + { + /* Return the type that is stored there */ + Description->Type = *Data; + } + else + { + /* Invalid type value */ + Status = STATUS_OBJECT_TYPE_MISMATCH; + } + } + } + + /* Did we have a handle open? */ + if (DescriptionHandle) + { + /* Close it */ + BiCloseKey(DescriptionHandle); + } + + /* Did we have data allocated? */ + if (Data) + { + /* Free it */ + BlMmFreeHeap(Data); + } + + /* Return back to caller */ + return Status; +} + +NTSTATUS BcdEnumerateAndUnpackElements ( _In_ HANDLE BcdHandle, _In_ HANDLE ObjectHandle, Modified: trunk/reactos/boot/environ/lib/misc/bcdopt.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/misc/bcdo…
============================================================================== --- trunk/reactos/boot/environ/lib/misc/bcdopt.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/misc/bcdopt.c [iso-8859-1] Mon Jan 18 16:54:44 2016 @@ -622,6 +622,53 @@ } NTSTATUS +BlAppendBootOptionString ( + _In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, + _In_ PWCHAR OptionString + ) +{ + NTSTATUS Status; + ULONG StringSize; + PBL_BCD_OPTION Option; + + /* Get the length in bytes */ + Status = RtlULongLongToULong(wcslen(OptionString) * sizeof(WCHAR), + &StringSize); + if (!NT_SUCCESS(Status)) + { + return Status; + } + + /* Add a NULL-terminator */ + Status = RtlULongAdd(StringSize, sizeof(UNICODE_NULL), &StringSize); + if (!NT_SUCCESS(Status)) + { + return Status; + } + + /* Allocate space for the entry */ + Option = BlMmAllocateHeap(sizeof(*Option) + StringSize); + if (!Option) + { + return STATUS_NO_MEMORY; + } + + /* Initialize it and copy the string value */ + RtlZeroMemory(Option, sizeof(*Option) + StringSize); + Option->DataSize = StringSize; + Option->Type = BcdLibraryString_ApplicationPath; + Option->DataOffset = sizeof(*Option); + wcsncpy((PWCHAR)Option + 1, OptionString, StringSize / sizeof(WCHAR)); + + /* Append it */ + Status = BlAppendBootOptions(AppEntry, Option); + + /* We're all done, free our initial option */ + BlMmFreeHeap(Option); + return Status; +} + +NTSTATUS BlAppendBootOptions ( _In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, _In_ PBL_BCD_OPTION Options Modified: trunk/reactos/boot/environ/lib/misc/bootreg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/misc/boot…
============================================================================== --- trunk/reactos/boot/environ/lib/misc/bootreg.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/misc/bootreg.c [iso-8859-1] Mon Jan 18 16:54:44 2016 @@ -655,7 +655,6 @@ BiGetRegistryValue ( _In_ HANDLE KeyHandle, _In_ PWCHAR ValueName, - _In_ PWCHAR KeyName, _In_ ULONG Type, _Out_ PVOID* Buffer, _Out_ PULONG ValueLength
8 years, 11 months
1
0
0
0
[akhaldi] 70613: [0.4.0] * And of course we need Hermès' lovely New Year celebration in r70477 ;)
by akhaldi@svn.reactos.org
Author: akhaldi Date: Mon Jan 18 13:17:43 2016 New Revision: 70613 URL:
http://svn.reactos.org/svn/reactos?rev=70613&view=rev
Log: [0.4.0] * And of course we need Hermès' lovely New Year celebration in r70477 ;) Modified: branches/ros-branch-0_4_0/ (props changed) branches/ros-branch-0_4_0/reactos/ (props changed) branches/ros-branch-0_4_0/reactos/dll/win32/msgina/resources/reactos.bmp branches/ros-branch-0_4_0/reactos/dll/win32/msgina/resources/reactos.svg branches/ros-branch-0_4_0/reactos/dll/win32/shell32/res/bitmaps/reactos.bmp branches/ros-branch-0_4_0/reactos/include/reactos/version.cmake branches/ros-branch-0_4_0/reactos/include/reactos/version.h.cmake branches/ros-branch-0_4_0/reactos/ntoskrnl/inbv/logo/1.bmp Propchange: branches/ros-branch-0_4_0/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Jan 18 13:17:43 2016 @@ -1 +1 @@ -/trunk:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70433-70437,70443,70445-70449,70454,70464,70468,70470,70480,70497,70499-70501,70507-70510,70512-70513,70523,70527-70530,70536-70537,70545-70548,70552-70554,70557-70558,70576-70578,70583,70597,70606 +/trunk:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70433-70437,70443,70445-70449,70454,70464,70468,70470,70477,70480,70497,70499-70501,70507-70510,70512-70513,70523,70527-70530,70536-70537,70545-70548,70552-70554,70557-70558,70576-70578,70583,70597,70606 Propchange: branches/ros-branch-0_4_0/reactos/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Jan 18 13:17:43 2016 @@ -20,4 +20,4 @@ /branches/usb-bringup:51335,51337,51341-51343,51348,51350,51353,51355,51365-51369,51372,51384-54388,54396-54398,54736-54737,54752-54754,54756-54760,54762,54764-54765,54767-54768,54772,54774-54777,54781,54787,54790-54792,54797-54798,54806,54808,54834-54838,54843,54850,54852,54856,54858-54859 /branches/usb-bringup-trunk:55019-55543,55548-55554,55556-55567 /branches/wlan-bringup:54809-54998 -/trunk/reactos:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70433-70437,70443,70445-70449,70454,70464,70468,70470,70480,70497,70501,70507-70510,70523,70527-70530,70536-70537,70545-70548,70552-70554,70557-70558,70576-70578,70583,70597,70606 +/trunk/reactos:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70433-70437,70443,70445-70449,70454,70464,70468,70470,70477,70480,70497,70501,70507-70510,70523,70527-70530,70536-70537,70545-70548,70552-70554,70557-70558,70576-70578,70583,70597,70606 Modified: branches/ros-branch-0_4_0/reactos/dll/win32/msgina/resources/reactos.bmp URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/dll/wi…
============================================================================== Binary files - no diff available. Modified: branches/ros-branch-0_4_0/reactos/dll/win32/msgina/resources/reactos.svg URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/dll/wi…
============================================================================== --- branches/ros-branch-0_4_0/reactos/dll/win32/msgina/resources/reactos.svg [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/dll/win32/msgina/resources/reactos.svg [iso-8859-1] Mon Jan 18 13:17:43 2016 @@ -1930,7 +1930,7 @@ x="5.59375" y="1047.7255" style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#1e2122;fill-opacity:1;font-family:Lucida Sans Unicode;-inkscape-font-specification:Lucida Sans Unicode" - id="tspan3618">Copyright © 1996-2015 ReactOS Team & Contributors</tspan></text> + id="tspan3618">Copyright © 1996-2016 ReactOS Team & Contributors</tspan></text> <g transform="matrix(0.16958533,0,0,0.16958533,89.849943,981.79073)" id="g15501"> Modified: branches/ros-branch-0_4_0/reactos/dll/win32/shell32/res/bitmaps/reactos.bmp URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/dll/wi…
============================================================================== Binary files - no diff available. Modified: branches/ros-branch-0_4_0/reactos/include/reactos/version.cmake URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/includ…
============================================================================== --- branches/ros-branch-0_4_0/reactos/include/reactos/version.cmake [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/include/reactos/version.cmake [iso-8859-1] Mon Jan 18 13:17:43 2016 @@ -19,7 +19,7 @@ set(KERNEL_VERSION_MAJOR "0") set(KERNEL_VERSION_MINOR "4") set(KERNEL_VERSION_PATCH_LEVEL "0") -set(COPYRIGHT_YEAR "2015") +set(COPYRIGHT_YEAR "2016") # KERNEL_VERSION_BUILD_TYPE is "SVN", "RC1", "RC2" or "" (for the release) set(KERNEL_VERSION_BUILD_TYPE "") Modified: branches/ros-branch-0_4_0/reactos/include/reactos/version.h.cmake URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/includ…
============================================================================== --- branches/ros-branch-0_4_0/reactos/include/reactos/version.h.cmake [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/include/reactos/version.h.cmake [iso-8859-1] Mon Jan 18 13:17:43 2016 @@ -25,7 +25,6 @@ /* KERNEL_VERSION_BUILD_TYPE is L"SVN", L"RC1", L"RC2" or L"" (for the release) */ #define KERNEL_VERSION_BUILD_TYPE "@KERNEL_VERSION_BUILD_TYPE@" - #endif /* EOF */ Modified: branches/ros-branch-0_4_0/reactos/ntoskrnl/inbv/logo/1.bmp URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/ntoskr…
============================================================================== Binary files - no diff available.
8 years, 11 months
1
0
0
0
[akhaldi] 70612: [0.4.0] * Merge floppy driver fix by Sylvain in r70606. CORE-10761
by akhaldi@svn.reactos.org
Author: akhaldi Date: Mon Jan 18 09:28:44 2016 New Revision: 70612 URL:
http://svn.reactos.org/svn/reactos?rev=70612&view=rev
Log: [0.4.0] * Merge floppy driver fix by Sylvain in r70606. CORE-10761 Modified: branches/ros-branch-0_4_0/ (props changed) branches/ros-branch-0_4_0/reactos/ (props changed) branches/ros-branch-0_4_0/reactos/drivers/storage/floppy/floppy.c Propchange: branches/ros-branch-0_4_0/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Jan 18 09:28:44 2016 @@ -1 +1 @@ -/trunk:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70433-70437,70443,70445-70449,70454,70464,70468,70470,70480,70497,70499-70501,70507-70510,70512-70513,70523,70527-70530,70536-70537,70545-70548,70552-70554,70557-70558,70576-70578,70583,70597 +/trunk:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70433-70437,70443,70445-70449,70454,70464,70468,70470,70480,70497,70499-70501,70507-70510,70512-70513,70523,70527-70530,70536-70537,70545-70548,70552-70554,70557-70558,70576-70578,70583,70597,70606 Propchange: branches/ros-branch-0_4_0/reactos/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Jan 18 09:28:44 2016 @@ -20,4 +20,4 @@ /branches/usb-bringup:51335,51337,51341-51343,51348,51350,51353,51355,51365-51369,51372,51384-54388,54396-54398,54736-54737,54752-54754,54756-54760,54762,54764-54765,54767-54768,54772,54774-54777,54781,54787,54790-54792,54797-54798,54806,54808,54834-54838,54843,54850,54852,54856,54858-54859 /branches/usb-bringup-trunk:55019-55543,55548-55554,55556-55567 /branches/wlan-bringup:54809-54998 -/trunk/reactos:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70433-70437,70443,70445-70449,70454,70464,70468,70470,70480,70497,70501,70507-70510,70523,70527-70530,70536-70537,70545-70548,70552-70554,70557-70558,70576-70578,70583,70597 +/trunk/reactos:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70433-70437,70443,70445-70449,70454,70464,70468,70470,70480,70497,70501,70507-70510,70523,70527-70530,70536-70537,70545-70548,70552-70554,70557-70558,70576-70578,70583,70597,70606 Modified: branches/ros-branch-0_4_0/reactos/drivers/storage/floppy/floppy.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/driver…
============================================================================== --- branches/ros-branch-0_4_0/reactos/drivers/storage/floppy/floppy.c [iso-8859-1] (original) +++ branches/ros-branch-0_4_0/reactos/drivers/storage/floppy/floppy.c [iso-8859-1] Mon Jan 18 09:28:44 2016 @@ -680,7 +680,11 @@ TRACE_(FLOPPY, "InitController called with Controller 0x%p\n", ControllerInfo); /* Get controller in a known state */ - HwConfigure(ControllerInfo, FALSE, TRUE, TRUE, 0, 0); + if(HwConfigure(ControllerInfo, FALSE, TRUE, TRUE, 0, 0) != STATUS_SUCCESS) + { + WARN_(FLOPPY, "InitController: unable to configure controller\n"); + return STATUS_IO_DEVICE_ERROR; + } /* Get the controller version */ ControllerVersion = HwGetVersion(ControllerInfo);
8 years, 11 months
1
0
0
0
[ion] 70611: [BOOTMGFW]: Implement BmEnumerateBootEntries. [BOOTLIB]: Implement BlGetOptionGuid. All BCD option APIs should now be implemented. [BOOTLIB]: Fix memory corruption + out-of-bounds bugs...
by ion@svn.reactos.org
Author: ion Date: Mon Jan 18 05:26:10 2016 New Revision: 70611 URL:
http://svn.reactos.org/svn/reactos?rev=70611&view=rev
Log: [BOOTMGFW]: Implement BmEnumerateBootEntries. [BOOTLIB]: Implement BlGetOptionGuid. All BCD option APIs should now be implemented. [BOOTLIB]: Fix memory corruption + out-of-bounds bugs in BlAppendBootOptions, which made the BCD options remain empty. Modified: trunk/reactos/boot/environ/app/bootmgr/bootmgr.c trunk/reactos/boot/environ/include/bl.h trunk/reactos/boot/environ/lib/misc/bcdopt.c Modified: trunk/reactos/boot/environ/app/bootmgr/bootmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/app/bootmgr/b…
============================================================================== --- trunk/reactos/boot/environ/app/bootmgr/bootmgr.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/app/bootmgr/bootmgr.c [iso-8859-1] Mon Jan 18 05:26:10 2016 @@ -696,7 +696,7 @@ /* Check if boot.ini data needs to be freed */ if (BmBootIniUsed) { - EfiPrintf(L"Not handled\r\n"); + EfiPrintf(L"Boot.ini not handled\r\n"); } /* Dereference the hive and close the key */ @@ -756,7 +756,7 @@ if (NT_SUCCESS(Status)) { /* We don't handle custom BCDs yet */ - EfiPrintf(L"Not handled: %s\r\n", BcdPath); + EfiPrintf(L"Custom BCD Not handled: %s\r\n", BcdPath); Status = STATUS_NOT_IMPLEMENTED; goto Quickie; } @@ -765,7 +765,7 @@ if (BcdDevice->DeviceType == UdpDevice) { /* Nope. Nope. Nope */ - EfiPrintf(L"Not handled\r\n"); + EfiPrintf(L"UDP device Not handled\r\n"); Status = STATUS_NOT_IMPLEMENTED; goto Quickie; } @@ -920,7 +920,7 @@ /* The BSD is open. Start doing stuff to it */ EfiPrintf(L"Unimplemented BSD path\r\n"); - Status = STATUS_NOT_IMPLEMENTED; + Status = STATUS_NOT_IMPLEMENTED; FailurePath: /* Close the BSD if we had it open */ @@ -1239,7 +1239,7 @@ _Out_ PULONG SequenceCount ) { - EfiPrintf(L"Fixed sequences not yet supported\r\n"); + EfiPrintf(L"Boot population not yet supported\r\n"); *SequenceCount = 0; *BootSequence = NULL; return STATUS_NOT_IMPLEMENTED; @@ -1292,14 +1292,130 @@ NTSTATUS BmEnumerateBootEntries ( _In_ HANDLE BcdHandle, - _Out_ PBL_LOADED_APPLICATION_ENTRY **Sequence, + _Out_ PBL_LOADED_APPLICATION_ENTRY **BootSequence, _Out_ PULONG SequenceCount ) { - EfiPrintf(L"Boot enumeration not yet implemented\r\n"); - *Sequence = NULL; - *SequenceCount = 0; - return STATUS_NOT_IMPLEMENTED; + NTSTATUS Status; + ULONG BootIndex, BootIniCount, BootEntryCount, BcdCount; + PBL_LOADED_APPLICATION_ENTRY* Sequence; + PGUID DisplayOrder; + GUID DefaultObject; + BOOLEAN UseDisplayList; + + /* Initialize locals */ + BootIndex = 0; + + /* First try to get the display list, if any */ + UseDisplayList = TRUE; + Status = BlGetBootOptionGuidList(BlpApplicationEntry.BcdData, + BcdBootMgrObjectList_DisplayOrder, + &DisplayOrder, + &BcdCount); + if (!NT_SUCCESS(Status)) + { + /* No list, get the default entry instead */ + Status = BlGetBootOptionGuid(BlpApplicationEntry.BcdData, + BcdBootMgrObject_DefaultObject, + &DefaultObject); + if (NT_SUCCESS(Status)) + { + /* Set the array to just our entry */ + UseDisplayList = FALSE; + BcdCount = 1; + DisplayOrder = &DefaultObject; + } + else + { + /* No default list either, return success but no entries */ + *BootSequence = NULL; + *SequenceCount = 0; + Status = STATUS_SUCCESS; + DisplayOrder = NULL; + goto Quickie; + } + } + + /* Check if boot.ini was used */ + BootIniCount = 0; + if (BmBootIniUsed) + { + /* Get the entries from it */ + EfiPrintf(L"Boot.ini not supported\r\n"); + BootIniCount = 0;//BmBootIniGetEntryCount(); + } + + /* Allocate an array large enough for the combined boot entries */ + BootEntryCount = BootIniCount + BcdCount; + Sequence = BlMmAllocateHeap(BootEntryCount * sizeof(*Sequence)); + if (!Sequence) + { + Status = STATUS_NO_MEMORY; + goto Quickie; + } + + /* Zero it out */ + RtlZeroMemory(Sequence, BootEntryCount * sizeof(*Sequence)); + + /* Check if we had BCD entries */ + if (BcdCount) + { + /* Populate the list of bootable entries */ + Status = BmpPopulateBootEntryList(BcdHandle, + DisplayOrder, + 0x800000, + Sequence, + &BcdCount); + if (!NT_SUCCESS(Status)) + { + /* Bail out */ + goto Quickie; + } + } + + /* Check if we had boot.ini entries */ + if (BootIniCount) + { + /* TODO */ + EfiPrintf(L"Boot.ini not supported\r\n"); + } + + /* Return success and the sequence + count populated */ + Status = STATUS_SUCCESS; + *BootSequence = Sequence; + *SequenceCount = BootIniCount + BcdCount; + +Quickie: + /* Check if we had allocated a GUID list */ + if ((UseDisplayList) && (DisplayOrder)) + { + /* Free it */ + BlMmFreeHeap(DisplayOrder); + } + + /* Check if this is the failure path */ + if (!(NT_SUCCESS(Status)) && (Sequence)) + { + /* Loop the remaining boot entries */ + while (BootIndex < BootEntryCount) + { + /* Check if it had been allocated */ + if (Sequence[BootIndex]) + { + /* Free it */ + BlMmFreeHeap(Sequence[BootIndex]); + } + + /* Next*/ + BootIndex++; + } + + /* Free the whole sequence now */ + BlMmFreeHeap(Sequence); + } + + /* All done, return the result */ + return Status; } NTSTATUS Modified: trunk/reactos/boot/environ/include/bl.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/include/bl.h?…
============================================================================== --- trunk/reactos/boot/environ/include/bl.h [iso-8859-1] (original) +++ trunk/reactos/boot/environ/include/bl.h [iso-8859-1] Mon Jan 18 05:26:10 2016 @@ -1719,6 +1719,13 @@ _In_ ULONG Type, _Out_ PBL_DEVICE_DESCRIPTOR* Value, _In_opt_ PBL_BCD_OPTION* ExtraOptions + ); + +NTSTATUS +BlGetBootOptionGuid ( + _In_ PBL_BCD_OPTION List, + _In_ ULONG Type, + _Out_ PGUID Value ); NTSTATUS Modified: trunk/reactos/boot/environ/lib/misc/bcdopt.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/misc/bcdo…
============================================================================== --- trunk/reactos/boot/environ/lib/misc/bcdopt.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/misc/bcdopt.c [iso-8859-1] Mon Jan 18 05:26:10 2016 @@ -225,6 +225,44 @@ } NTSTATUS +BlGetBootOptionGuid ( + _In_ PBL_BCD_OPTION List, + _In_ ULONG Type, + _Out_ PGUID Value + ) +{ + NTSTATUS Status; + PBL_BCD_OPTION Option; + PGUID Guid; + BcdElementType ElementType; + + /* Make sure this is a BCD_TYPE_OBJECT */ + ElementType.PackedValue = Type; + if (ElementType.Format != BCD_TYPE_OBJECT) + { + return STATUS_INVALID_PARAMETER; + } + + /* Return the data */ + Option = MiscGetBootOption(List, Type); + if (!Option) + { + /* Set failure if no data exists */ + Status = STATUS_NOT_FOUND; + } + else + { + /* Copy the GUID */ + Guid = (PGUID)((ULONG_PTR)Option + Option->DataOffset); + RtlCopyMemory(Value, Guid, Option->DataSize); + Status = STATUS_SUCCESS; + } + + /* All good */ + return Status; +} + +NTSTATUS BlGetBootOptionGuidList ( _In_ PBL_BCD_OPTION List, _In_ ULONG Type, @@ -610,7 +648,9 @@ /* Copy the old options, and the ones to be added */ RtlCopyMemory(NewOptions, CurrentOptions, CurrentSize); - RtlCopyMemory(&NewOptions[OptionsSize], Options, OptionsSize); + RtlCopyMemory((PVOID)((ULONG_PTR)NewOptions + CurrentSize), + Options, + OptionsSize); /* We made it! */ Status = STATUS_SUCCESS; @@ -626,7 +666,7 @@ /* Every other option now has to have its offset adjusted */ do { - NextOption->NextEntryOffset += OptionsSize; + NextOption->NextEntryOffset += CurrentSize; NextOption = (PBL_BCD_OPTION)((ULONG_PTR)NewOptions + NextOption->NextEntryOffset); } while (NextOption->NextEntryOffset);
8 years, 11 months
1
0
0
0
[ion] 70610: [HIVEBCD]: Implement an entire wholeseome BCD boot hive, including multiple levels of inheritance (globalsettings, dbgsettings, emssettings, bootloadersettings), plus entries for {memd...
by ion@svn.reactos.org
Author: ion Date: Mon Jan 18 04:18:12 2016 New Revision: 70610 URL:
http://svn.reactos.org/svn/reactos?rev=70610&view=rev
Log: [HIVEBCD]: Implement an entire wholeseome BCD boot hive, including multiple levels of inheritance (globalsettings, dbgsettings, emssettings, bootloadersettings), plus entries for {memdiag}, {bootmgr} and {winload}. [BOOTLIB]: Fix a bug in BCD parsing which was causing massive heap corruption. Became evident with the increased complexity of the new BCD hive. Modified: trunk/reactos/boot/bootdata/hivebcd.inf trunk/reactos/boot/environ/lib/misc/bcd.c Modified: trunk/reactos/boot/bootdata/hivebcd.inf URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivebcd.inf?…
============================================================================== --- trunk/reactos/boot/bootdata/hivebcd.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivebcd.inf [iso-8859-1] Mon Jan 18 04:18:12 2016 @@ -2,15 +2,89 @@ Signature = "$ReactOS$" [AddReg] +BCD,"BCD00000000\Description\Control","System",0x00010001,1 +BCD,"BCD00000000\Description\Control","TreatAtSystem",0x00010001,1 +BCD,"BCD00000000\Description\Control","KeyName",,"BCD00000000" -BCD,"BCD00000000\Description\Control","System",0x00010003,1 -BCD,"BCD00000000\Description\Control","TreatAtSystem",0x00010003,1 -BCD,"BCD00000000\Description\Control","KeyName",2,"BCD00000000" +; +; ReactOS Boot Manager +; +BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Description","Type",0x00010001,0x10100002 ; identifier={bootmgr} +BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\12000004","Element",,"ReactOS Boot Manager" ; description +BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\12000005","Element",,"en-US" ; locale="en-US" +BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\14000006","Element",0x10000,"{7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}" ; inherit={globalsettings} +BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\23000003","Element",,"{7619dcc9-fafe-11d9-b411-000476eba25f}" ; default={winload} +BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\24000001","Element",0x10000,"{7619dcc9-fafe-11d9-b411-000476eba25f}" ; displayorder={winload} +BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\24000010","Element",0x10000,"{b2721d73-1db4-4c62-bf78-c548a880142d}" ; toolsdisplayorder={memdiag} +BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\25000004","Element",0x1,0x1e ; timeout=30 -BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Description","Type",0x00010003,0x10100002 +; +; ReactOS Boot Loader +; +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Description","Type",0x00010001,0x10200003 ; identifier={winload} +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\11000011","Element",0x1,\ ; device=boot + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 05,00,00,00,\ + 00,00,00,00,\ + 48,00,00,00,\ + 00,00,00,00,\ + 00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\12000002","Element",,"\windows\system32\boot\winload.efi" ; path +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\12000004","Element",,"ReactOS Setup" ; description +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\12000005","Element",,"en-US" ; locale="en-US" +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\14000006","Element",0x10000,"{6efb52bf-1766-41db-a6b3-0ee5eff72bd7}" ; inherit={bootloadersettings} +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\16000060","Element",0x1,0x01 ; isolatedcontext=Yes +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\22000002","Element",,"\windows" ; systemroot=\Windows +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\26000010","Element",0x1,0x01 ; detecthal=Yes +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\26000022","Element",0x1,0x01 ; winpe=Yes +BCD,"BCD00000000\Objects\{7619dcc9-fafe-11d9-b411-000476eba25f}\Elements\260000b0","Element",0x1,0x01 ; ems=Yes -BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\12000002","Element",2,"\EFI\BOOT\BOOTIA32.EFI" -BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\12000004","Element",2,"ReactOS Boot Manager" -BCD,"BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\12000005","Element",2,"en-US" +; +; ReactOS Memory Tester +; +BCD,"BCD00000000\Objects\{b2721d73-1db4-4c62-bf78-c548a880142d}\Description","Type",0x00010001,0x10200005 ; identifier={memdiag} +BCD,"BCD00000000\Objects\{b2721d73-1db4-4c62-bf78-c548a880142d}\Elements\11000011","Element",0x1,\ ; device=boot + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 05,00,00,00,\ + 00,00,00,00,\ + 48,00,00,00,\ + 00,00,00,00,\ + 00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +BCD,"BCD00000000\Objects\{b2721d73-1db4-4c62-bf78-c548a880142d}\Elements\12000002","Element",,"\EFI\BOOT\MEMTEST.EFI" ; path +BCD,"BCD00000000\Objects\{b2721d73-1db4-4c62-bf78-c548a880142d}\Elements\12000004","Element",,"ReactOS Memory Diagnostics" ; description +BCD,"BCD00000000\Objects\{b2721d73-1db4-4c62-bf78-c548a880142d}\Elements\12000005","Element",,"en-US" ; locale="en-US" +BCD,"BCD00000000\Objects\{b2721d73-1db4-4c62-bf78-c548a880142d}\Elements\14000006","Element",0x10000,"{7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}" ; inherit={globalsettings} +BCD,"BCD00000000\Objects\{b2721d73-1db4-4c62-bf78-c548a880142d}\Elements\1600000b","Element",0x1,0x01 ; allowbadmemoryaccess=Yes + +; +; Global Settings +; +BCD,"BCD00000000\Objects\{7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}\Description","Type",0x00010001,0x20100000 ; identifier={globalsettings} +BCD,"BCD00000000\Objects\{7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}\Elements\14000006","Element",0x10000,"{4636856e-540f-4170-a130-a84776f4c654}", \ + "{0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9}" ; inherit={dbgsettings,emssettings} + +; +; Boot Loader Settings +; +BCD,"BCD00000000\Objects\{6efb52bf-1766-41db-a6b3-0ee5eff72bd7}\Description","Type",0x00010001,0x20200003 ; identifier={bootloadersettings} +BCD,"BCD00000000\Objects\{6efb52bf-1766-41db-a6b3-0ee5eff72bd7}\Elements\14000006","Element",0x10000,"{7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}" ; inherit={globalsettings} + +; +; EMS Settings +; +BCD,"BCD00000000\Objects\{0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9}\Description","Type",0x00010001,0x20100000 ; identifier={dbgsettings} +BCD,"BCD00000000\Objects\{0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9}\Elements\16000020","Element",0x1,0x01 ; bootems=Yes + +; +; Debugger Settings +; +BCD,"BCD00000000\Objects\{4636856e-540f-4170-a130-a84776f4c654}\Description","Type",0x00010001,0x20100000 ; identifier={dbgsettings} +BCD,"BCD00000000\Objects\{4636856e-540f-4170-a130-a84776f4c654}\Elements\15000011","Element",0x1,0x00 ; debugtype=Serial +BCD,"BCD00000000\Objects\{4636856e-540f-4170-a130-a84776f4c654}\Elements\15000013","Element",0x1,0x01 ; debugport=1 +BCD,"BCD00000000\Objects\{4636856e-540f-4170-a130-a84776f4c654}\Elements\15000014","Element",0x1,0x00,0xc2,0x01 ; baudrate=115200 ; EOF Modified: trunk/reactos/boot/environ/lib/misc/bcd.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/misc/bcd.…
============================================================================== --- trunk/reactos/boot/environ/lib/misc/bcd.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/misc/bcd.c [iso-8859-1] Mon Jan 18 04:18:12 2016 @@ -24,7 +24,7 @@ UNREFERENCED_PARAMETER(ObjectHandle); UNREFERENCED_PARAMETER(ElementName); UNREFERENCED_PARAMETER(Status); - EfiPrintf(L"Error in BiNotify\r\n"); + EfiPrintf(L"Error in BiNotify: %lx for element %s\r\n", Status, ElementName); } ULONG @@ -818,7 +818,7 @@ ULONG i; PVOID ElementData, SubObjectList, RegistryElementData; BcdElementType ElementType; - PBCD_PACKED_ELEMENT PreviousElement; + PBCD_PACKED_ELEMENT PreviousElement, ElementsStart; ULONG SubElementCount, SubKeyCount, SubObjectCount, ElementDataLength; PWCHAR ElementName; PWCHAR* SubKeys; @@ -839,6 +839,7 @@ ElementDataLength = 0; SubObjectCount = 0; RemainingLength = 0; + ElementsStart = Elements; /* Open the root object key's elements */ Status = BiOpenKey(ObjectHandle, L"Elements", &ElementsHandle); @@ -862,6 +863,8 @@ Status = BiOpenKey(ElementsHandle, ElementName, &ElementHandle); if (!NT_SUCCESS(Status)) { + EfiPrintf(L"ELEMENT ERROR: %lx\r\n", Status); + EfiStall(100000); break; } @@ -869,7 +872,7 @@ ElementType.PackedValue = wcstoul(SubKeys[i], NULL, 16); if (!(ElementType.PackedValue) || (ElementType.PackedValue == -1)) { - EfiPrintf(L"Value invald\r\n"); + EfiPrintf(L"Value invalid\r\n"); BiCloseKey(ElementHandle); ElementHandle = 0; continue; @@ -885,6 +888,7 @@ &RegistryElementDataLength); if (!NT_SUCCESS(Status)) { + EfiPrintf(L"Element invalid\r\n"); break; } @@ -945,7 +949,7 @@ if (RemainingLength >= TotalLength) { /* Set the next pointer */ - Elements->NextEntry = (PBCD_PACKED_ELEMENT)((ULONG_PTR)Elements + TotalLength); + Elements->NextEntry = (PBCD_PACKED_ELEMENT)((ULONG_PTR)ElementsStart + TotalLength); /* Fill this one out */ Elements->RootType.PackedValue = RootElementType; @@ -1005,7 +1009,7 @@ /* Link the subelements into the chain */ PreviousElement = Elements; PreviousElement->NextEntry = - (PBCD_PACKED_ELEMENT)((ULONG_PTR)Elements + + (PBCD_PACKED_ELEMENT)((ULONG_PTR)ElementsStart + TotalLength); Elements = PreviousElement->NextEntry; }
8 years, 11 months
1
0
0
0
← Newer
1
2
3
4
5
6
7
8
9
...
20
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Results per page:
10
25
50
100
200