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
July 2010
----- 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
17 participants
467 discussions
Start a n
N
ew thread
[sir_richard] 48256: [CMAKE]: Add a makefile to build the IDL files. Not perfect, but gets the job done. [CMAKE]: Add a mignw32 toolchain file, right now it's pretty hacked for my system only, but it works.
by sir_richard@svn.reactos.org
Author: sir_richard Date: Sun Jul 25 17:03:07 2010 New Revision: 48256 URL:
http://svn.reactos.org/svn/reactos?rev=48256&view=rev
Log: [CMAKE]: Add a makefile to build the IDL files. Not perfect, but gets the job done. [CMAKE]: Add a mignw32 toolchain file, right now it's pretty hacked for my system only, but it works. Added: branches/cmake-bringup/include/psdk/CMakeLists.txt (with props) branches/cmake-bringup/toolchain-mingw32.cmake (with props) Added: branches/cmake-bringup/include/psdk/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/include/psdk/CMak…
============================================================================== --- branches/cmake-bringup/include/psdk/CMakeLists.txt (added) +++ branches/cmake-bringup/include/psdk/CMakeLists.txt [iso-8859-1] Sun Jul 25 17:03:07 2010 @@ -1,0 +1,51 @@ + +MACRO (MACRO_ADD_INTERFACES) + + FOREACH(_in_FILE ${ARGN}) + + GET_FILENAME_COMPONENT(FILE ${_in_FILE} NAME_WE) + + ADD_CUSTOM_COMMAND( + OUTPUT ${REACTOS_SOURCE_DIR}/include/psdk/${FILE}.h + COMMAND widl -I${REACTOS_SOURCE_DIR}/include/dxsdk -I. -I${REACTOS_SOURCE_DIR}/include -I${REACTOS_SOURCE_DIR}/include/psdk -m32 --win32 -h -H ${REACTOS_SOURCE_DIR}/include/psdk/${FILE}.h ${REACTOS_SOURCE_DIR}/include/psdk/${FILE}.idl + DEPENDS widl + ) + + SET_SOURCE_FILES_PROPERTIES( + ${REACTOS_SOURCE_DIR}/include/psdk/${FILE}.h + PROPERTIES + GENERATED TRUE + ) + + ADD_CUSTOM_TARGET(build_${FILE}_idl ALL DEPENDS ${REACTOS_SOURCE_DIR}/include/psdk/${FILE}.h) + + ENDFOREACH(_in_FILE ${ARGN}) + +ENDMACRO (MACRO_ADD_INTERFACES) + +file(GLOB_RECURSE SOURCE "*.idl") +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/access.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/asynot.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/asysta.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/binres.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/cmdbas.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/cmdtxt.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/crtrow.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbccmd.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbcses.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbdsad.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbinit.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/vmrender.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/sesprp.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/rstloc.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/rstbas.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/rstinf.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/rowchg.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/row.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/opnrst.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dyngraph.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbs.idl) +LIST(REMOVE_ITEM SOURCE ${REACTOS_SOURCE_DIR}/include/psdk/dbprop.idl) + +MACRO_ADD_INTERFACES(${SOURCE}) + Propchange: branches/cmake-bringup/include/psdk/CMakeLists.txt ------------------------------------------------------------------------------ svn:eol-style = native Added: branches/cmake-bringup/toolchain-mingw32.cmake URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/toolchain-mingw32…
============================================================================== --- branches/cmake-bringup/toolchain-mingw32.cmake (added) +++ branches/cmake-bringup/toolchain-mingw32.cmake [iso-8859-1] Sun Jul 25 17:03:07 2010 @@ -1,0 +1,16 @@ +# the name of the target operating system +SET(CMAKE_SYSTEM_NAME Windows) + +# which compilers to use for C and C++ +SET(CMAKE_C_COMPILER mingw32-gcc) +SET(CMAKE_CXX_COMPILER mingw32-g++) + +# here is the target environment located +SET(CMAKE_FIND_ROOT_PATH /usr/local/RosBE ) + +# adjust the default behaviour of the FIND_XXX() commands: +# search headers and libraries in the target environment, search +# programs in the host environment +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) Propchange: branches/cmake-bringup/toolchain-mingw32.cmake ------------------------------------------------------------------------------ svn:eol-style = native
14 years, 5 months
1
0
0
0
[jgardou] 48255: sync with trunk (r48253)
by jgardou@svn.reactos.org
Author: jgardou Date: Sun Jul 25 16:44:57 2010 New Revision: 48255 URL:
http://svn.reactos.org/svn/reactos?rev=48255&view=rev
Log: sync with trunk (r48253) Modified: branches/reactos-yarotows/ (props changed) branches/reactos-yarotows/base/applications/network/ipconfig/ipconfig.c branches/reactos-yarotows/base/setup/usetup/inffile.c branches/reactos-yarotows/base/setup/usetup/inffile.h branches/reactos-yarotows/base/setup/usetup/usetup.h branches/reactos-yarotows/dll/win32/jscript/jscript_Si.rc (props changed) branches/reactos-yarotows/include/psdk/ntdef.h branches/reactos-yarotows/include/psdk/winnt.h branches/reactos-yarotows/include/psdk/wspiapi.h branches/reactos-yarotows/lib/3rdparty/mingw/tlsmcrt.c branches/reactos-yarotows/lib/drivers/oskittcp/include/freebsd/src/sys/sys/kernel.h branches/reactos-yarotows/lib/inflib/infget.c branches/reactos-yarotows/lib/inflib/infpriv.h branches/reactos-yarotows/lib/inflib/infros.h branches/reactos-yarotows/lib/inflib/infrosget.c branches/reactos-yarotows/lib/newinflib/infget.c branches/reactos-yarotows/lib/newinflib/infhost.h branches/reactos-yarotows/lib/newinflib/infhostget.c branches/reactos-yarotows/lib/newinflib/infpriv.h branches/reactos-yarotows/lib/newinflib/infros.h branches/reactos-yarotows/lib/newinflib/infrosget.c branches/reactos-yarotows/lib/sdk/crt/time/asctime.c branches/reactos-yarotows/ntoskrnl/include/internal/amd64/mm.h branches/reactos-yarotows/ntoskrnl/include/internal/i386/mm.h branches/reactos-yarotows/ntoskrnl/include/internal/lpc_x.h branches/reactos-yarotows/ntoskrnl/mm/ARM3/largepag.c branches/reactos-yarotows/ntoskrnl/mm/ARM3/miarm.h branches/reactos-yarotows/ntoskrnl/mm/ARM3/mmsup.c branches/reactos-yarotows/ntoskrnl/mm/ARM3/procsup.c branches/reactos-yarotows/ntoskrnl/mm/amd64/page.c branches/reactos-yarotows/ntoskrnl/mm/i386/page.c branches/reactos-yarotows/subsystems/win32/csrss/win32csr/ (props changed) Propchange: branches/reactos-yarotows/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sun Jul 25 16:44:57 2010 @@ -1,4 +1,4 @@ /branches/header-work:45691-47721 /branches/ros-amd64-bringup:36852 -/branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34770,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36393,36397,36445,36475,36502-36503,36505,36570,36614,36852,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36987-36988,36990,36992,37019,37322-37323,37333-37334,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40120,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40926-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479-41480,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43451,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43852,43857-43858,43860,43905-43907,43952,43954,43965,43969,43979,43981,43992,44002,44036-44037,44039-44040,44044-44045,44053,44065,44095,44123,44143-44144,44205,44238,44257,44259,44294,44338-44339,44385,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44634,44639,44772,44818,45124,45126-45127,45430,46394,46404,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805,46868,47472,47846-47847,47878,47882 -/trunk/reactos:45219-48237 +/branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34770,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36393,36397,36443,36445,36475,36502-36503,36505,36570,36614,36852,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36987-36988,36990,36992,37019,37322-37323,37333-37334,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40120,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40926-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479-41480,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43451,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43852,43857-43858,43860,43905-43907,43952,43954,43965,43969,43979,43981,43992,44002,44036-44037,44039-44040,44044-44045,44053,44065,44095,44123,44143-44144,44205,44238,44257,44259,44294,44338-44339,44385,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44634,44639,44772,44818,45124,45126-45127,45430,46394,46404,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805,46868,47472,47846-47847,47878,47882 +/trunk/reactos:45219-48253 Modified: branches/reactos-yarotows/base/applications/network/ipconfig/ipconfig.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/applicati…
============================================================================== --- branches/reactos-yarotows/base/applications/network/ipconfig/ipconfig.c [iso-8859-1] (original) +++ branches/reactos-yarotows/base/applications/network/ipconfig/ipconfig.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -359,6 +359,7 @@ VOID ShowInfo(BOOL bAll) { + MIB_IFROW mibEntry; PIP_ADAPTER_INFO pAdapterInfo = NULL; PIP_ADAPTER_INFO pAdapter = NULL; ULONG adaptOutBufLen = 0; @@ -441,6 +442,9 @@ { LPTSTR IntType, myConType; + mibEntry.dwIndex = pAdapter->Index; + GetIfEntry(&mibEntry); + IntType = GetInterfaceTypeName(pAdapter->Type); myConType = GetConnectionType(pAdapter->AdapterName); @@ -449,7 +453,7 @@ if (myConType != NULL) HeapFree(ProcessHeap, 0, myConType); /* check if the adapter is connected to the media */ - if (_tcscmp(pAdapter->IpAddressList.IpAddress.String, "0.0.0.0") == 0) + if (mibEntry.dwOperStatus != MIB_IF_OPER_STATUS_CONNECTED && mibEntry.dwOperStatus != MIB_IF_OPER_STATUS_OPERATIONAL) { _tprintf(_T("\tMedia State . . . . . . . . . . . : Media disconnected\n")); pAdapter = pAdapter->Next; Modified: branches/reactos-yarotows/base/setup/usetup/inffile.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/setup/use…
============================================================================== --- branches/reactos-yarotows/base/setup/usetup/inffile.c [iso-8859-1] (original) +++ branches/reactos-yarotows/base/setup/usetup/inffile.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -66,46 +66,6 @@ } BOOL WINAPI -InfpFindNextLine( - IN PINFCONTEXT ContextIn, - OUT PINFCONTEXT ContextOut) -{ - return InfFindNextLine(ContextIn, ContextOut); -} - -BOOL WINAPI -InfpGetBinaryField( - IN PINFCONTEXT Context, - IN ULONG FieldIndex, - IN OUT BYTE* ReturnBuffer, - IN ULONG ReturnBufferSize, - OUT PULONG RequiredSize) -{ - return InfGetBinaryField(Context, FieldIndex, ReturnBuffer, ReturnBufferSize, RequiredSize); -} - -DWORD WINAPI -InfpGetFieldCount( - IN PINFCONTEXT Context) -{ - return (DWORD)InfGetFieldCount(Context); -} - -BOOL WINAPI -InfpGetIntField( - IN PINFCONTEXT Context, - IN DWORD FieldIndex, - OUT PINT IntegerValue) -{ - LONG IntegerValueL; - BOOL ret; - - ret = InfGetIntField(Context, FieldIndex, &IntegerValueL); - *IntegerValue = (INT)IntegerValueL; - return ret; -} - -BOOL WINAPI InfpGetMultiSzFieldW( IN PINFCONTEXT Context, IN ULONG FieldIndex, Modified: branches/reactos-yarotows/base/setup/usetup/inffile.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/setup/use…
============================================================================== --- branches/reactos-yarotows/base/setup/usetup/inffile.h [iso-8859-1] (original) +++ branches/reactos-yarotows/base/setup/usetup/inffile.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -36,10 +36,10 @@ #define SetupCloseInfFile InfpCloseInfFile #define SetupFindFirstLineW InfpFindFirstLineW -#define SetupFindNextLine InfpFindNextLine -#define SetupGetBinaryField InfpGetBinaryField -#define SetupGetFieldCount InfpGetFieldCount -#define SetupGetIntField InfpGetIntField +#define SetupFindNextLine InfFindNextLine +#define SetupGetBinaryField InfGetBinaryField +#define SetupGetFieldCount InfGetFieldCount +#define SetupGetIntField InfGetIntField #define SetupGetMultiSzFieldW InfpGetMultiSzFieldW #define SetupGetStringFieldW InfpGetStringFieldW #define SetupOpenInfFileW InfpOpenInfFileW @@ -65,29 +65,6 @@ IN PCWSTR Section, IN PCWSTR Key, IN OUT PINFCONTEXT Context); - -BOOL WINAPI -InfpFindNextLine( - IN PINFCONTEXT ContextIn, - OUT PINFCONTEXT ContextOut); - -BOOL WINAPI -InfpGetBinaryField( - IN PINFCONTEXT Context, - IN ULONG FieldIndex, - IN OUT BYTE* ReturnBuffer, - IN ULONG ReturnBufferSize, - OUT PULONG RequiredSize); - -DWORD WINAPI -InfpGetFieldCount( - IN PINFCONTEXT Context); - -BOOL WINAPI -InfpGetIntField( - IN PINFCONTEXT Context, - IN DWORD FieldIndex, - OUT PINT IntegerValue); BOOL WINAPI InfpGetMultiSzFieldW( Modified: branches/reactos-yarotows/base/setup/usetup/usetup.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/setup/use…
============================================================================== --- branches/reactos-yarotows/base/setup/usetup/usetup.h [iso-8859-1] (original) +++ branches/reactos-yarotows/base/setup/usetup/usetup.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -50,6 +50,7 @@ /* Internal Headers */ #include "interface/consup.h" #include "partlist.h" +#include "infros.h" #include "inffile.h" #include "inicache.h" #include "progress.h" Propchange: branches/reactos-yarotows/dll/win32/jscript/jscript_Si.rc ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sun Jul 25 16:44:57 2010 @@ -2,4 +2,4 @@ /branches/reactos-yarotows/dll/win32/jscript/jscript_Si.rc:46848,46966,47800 /branches/ros-amd64-bringup/dll/win32/jscript/jscript_Si.rc:36852 /branches/ros-amd64-bringup/reactos/dll/win32/jscript/jscript_Si.rc:34711-34712,34741,34743,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36397,36445,36502-36503,36505,36570,36614,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40927-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43857-43858,43860,43905-43907,43969,44002,44036-44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338-44339,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44772,45124,45126-45127,46394,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805 -/trunk/reactos/dll/win32/jscript/jscript_Si.rc:47414-48237 +/trunk/reactos/dll/win32/jscript/jscript_Si.rc:47414-48253 Modified: branches/reactos-yarotows/include/psdk/ntdef.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/include/psdk/n…
============================================================================== --- branches/reactos-yarotows/include/psdk/ntdef.h [iso-8859-1] (original) +++ branches/reactos-yarotows/include/psdk/ntdef.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -240,7 +240,7 @@ #elif (_MSC_VER) #define FORCEINLINE __inline #else -#define FORCEINLINE static __inline__ __attribute__((always_inline)) +#define FORCEINLINE extern __inline__ __attribute__((always_inline)) #endif #endif Modified: branches/reactos-yarotows/include/psdk/winnt.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/include/psdk/w…
============================================================================== --- branches/reactos-yarotows/include/psdk/winnt.h [iso-8859-1] (original) +++ branches/reactos-yarotows/include/psdk/winnt.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -79,7 +79,7 @@ #elif (_MSC_VER) #define FORCEINLINE __inline #else -#define FORCEINLINE static __inline__ __attribute__((always_inline)) +#define FORCEINLINE extern __inline__ __attribute__((always_inline)) #endif #endif @@ -5112,7 +5112,7 @@ #endif #if defined(_M_IX86) -static __inline__ struct _TEB * NtCurrentTeb(void) +extern __inline__ struct _TEB * NtCurrentTeb(void) { struct _TEB *ret; @@ -5137,12 +5137,12 @@ return (struct _TEB *)__readgsqword(FIELD_OFFSET(NT_TIB, Self)); } #elif defined(_M_PPC) -static __inline__ struct _TEB * NtCurrentTeb(void) +extern __inline__ struct _TEB * NtCurrentTeb(void) { return __readfsdword_winnt(0x18); } #else -static __inline__ struct _TEB * NtCurrentTeb(void) +extern __inline__ struct _TEB * NtCurrentTeb(void) { return __readfsdword_winnt(0x18); } Modified: branches/reactos-yarotows/include/psdk/wspiapi.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/include/psdk/w…
============================================================================== --- branches/reactos-yarotows/include/psdk/wspiapi.h [iso-8859-1] (original) +++ branches/reactos-yarotows/include/psdk/wspiapi.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -236,7 +236,7 @@ return 0; } -FORCEINLINE +static __inline void WINAPI WspiapiLegacyFreeAddrInfo( @@ -252,7 +252,7 @@ } } -FORCEINLINE +static __inline int WINAPI WspiapiLegacyGetAddrInfo( @@ -352,7 +352,7 @@ return (iError); } -FORCEINLINE +static __inline int WINAPI WspiapiLegacyGetNameInfo( Modified: branches/reactos-yarotows/lib/3rdparty/mingw/tlsmcrt.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/3rdparty/m…
============================================================================== --- branches/reactos-yarotows/lib/3rdparty/mingw/tlsmcrt.c [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/3rdparty/mingw/tlsmcrt.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -11,3 +11,34 @@ we do tls cleanup in runtime and _CRT_MT has value 2. */ int _CRT_MT = 2; +// HACK around broken imports from libmingwex, until RosBE64 is updated +#ifdef _M_AMD64 + +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include <windows.h> +#include <stdlib.h> + +int __mingwthr_key_dtor (DWORD key, void (*dtor)(void *)); +int __mingwthr_remove_key_dtor (DWORD key); + +extern int ___w64_mingwthr_remove_key_dtor (DWORD key); +extern int ___w64_mingwthr_add_key_dtor (DWORD key, void (*dtor)(void *)); + +int +__mingwthr_remove_key_dtor (DWORD key) +{ + return ___w64_mingwthr_remove_key_dtor (key); +} + +int +__mingwthr_key_dtor (DWORD key, void (*dtor)(void *)) +{ + if (dtor) + return ___w64_mingwthr_add_key_dtor (key, dtor); + + return 0; +} +#endif + Modified: branches/reactos-yarotows/lib/drivers/oskittcp/include/freebsd/src/sys/sys/kernel.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/drivers/os…
============================================================================== --- branches/reactos-yarotows/lib/drivers/oskittcp/include/freebsd/src/sys/sys/kernel.h [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/drivers/oskittcp/include/freebsd/src/sys/sys/kernel.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -83,8 +83,13 @@ #ifdef _MSC_VER #define MAKE_SET(set, sym, type) #else +#if defined(_M_AMD64) +#define MAKE_SET(set, sym, type) \ + asm(".stabs \"" #set "\", " #type ", 0, 0, " #sym) +#else #define MAKE_SET(set, sym, type) \ asm(".stabs \"_" #set "\", " #type ", 0, 0, _" #sym) +#endif #endif #define TEXT_SET(set, sym) MAKE_SET(set, sym, 23) #define DATA_SET(set, sym) MAKE_SET(set, sym, 25) Modified: branches/reactos-yarotows/lib/inflib/infget.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/inflib/inf…
============================================================================== --- branches/reactos-yarotows/lib/inflib/infget.c [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/inflib/infget.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -271,7 +271,7 @@ INFSTATUS InfpGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue) + INT* IntegerValue) { PINFCACHELINE CacheLine; PINFCACHEFIELD CacheField; Modified: branches/reactos-yarotows/lib/inflib/infpriv.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/inflib/inf…
============================================================================== --- branches/reactos-yarotows/lib/inflib/infpriv.h [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/inflib/infpriv.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -115,7 +115,7 @@ PULONG RequiredSize); extern INFSTATUS InfpGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue); + INT* IntegerValue); extern INFSTATUS InfpGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, PTSTR ReturnBuffer, Modified: branches/reactos-yarotows/lib/inflib/infros.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/inflib/inf…
============================================================================== --- branches/reactos-yarotows/lib/inflib/infros.h [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/inflib/infros.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -48,7 +48,7 @@ PULONG RequiredSize); extern BOOLEAN InfGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue); + PINT IntegerValue); extern BOOLEAN InfGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, PWSTR ReturnBuffer, Modified: branches/reactos-yarotows/lib/inflib/infrosget.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/inflib/inf…
============================================================================== --- branches/reactos-yarotows/lib/inflib/infrosget.c [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/inflib/infrosget.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -84,7 +84,7 @@ BOOLEAN InfGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue) + PINT IntegerValue) { return INF_SUCCESS(InfpGetIntField(Context, FieldIndex, IntegerValue)); } Modified: branches/reactos-yarotows/lib/newinflib/infget.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/newinflib/…
============================================================================== --- branches/reactos-yarotows/lib/newinflib/infget.c [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/newinflib/infget.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -416,7 +416,7 @@ INFSTATUS InfpGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue) + INT *IntegerValue) { PINFCACHELINE CacheLine; PINFCACHEFIELD CacheField; Modified: branches/reactos-yarotows/lib/newinflib/infhost.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/newinflib/…
============================================================================== --- branches/reactos-yarotows/lib/newinflib/infhost.h [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/newinflib/infhost.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -49,7 +49,7 @@ ULONG *RequiredSize); extern int InfHostGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - ULONG *IntegerValue); + INT *IntegerValue); extern int InfHostGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, WCHAR *ReturnBuffer, Modified: branches/reactos-yarotows/lib/newinflib/infhostget.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/newinflib/…
============================================================================== --- branches/reactos-yarotows/lib/newinflib/infhostget.c [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/newinflib/infhostget.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -138,11 +138,11 @@ int InfHostGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - ULONG *IntegerValue) -{ - INFSTATUS Status; - - Status = InfpGetIntField(Context, FieldIndex, (PLONG)IntegerValue); + INT *IntegerValue) +{ + INFSTATUS Status; + + Status = InfpGetIntField(Context, FieldIndex, IntegerValue); if (INF_SUCCESS(Status)) { return 0; Modified: branches/reactos-yarotows/lib/newinflib/infpriv.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/newinflib/…
============================================================================== --- branches/reactos-yarotows/lib/newinflib/infpriv.h [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/newinflib/infpriv.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -116,7 +116,7 @@ PULONG RequiredSize); extern INFSTATUS InfpGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue); + INT *IntegerValue); extern INFSTATUS InfpGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, PWSTR ReturnBuffer, Modified: branches/reactos-yarotows/lib/newinflib/infros.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/newinflib/…
============================================================================== --- branches/reactos-yarotows/lib/newinflib/infros.h [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/newinflib/infros.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -50,7 +50,7 @@ PULONG RequiredSize); extern BOOLEAN InfGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue); + INT *IntegerValue); extern BOOLEAN InfGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, PWSTR ReturnBuffer, Modified: branches/reactos-yarotows/lib/newinflib/infrosget.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/newinflib/…
============================================================================== --- branches/reactos-yarotows/lib/newinflib/infrosget.c [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/newinflib/infrosget.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -84,7 +84,7 @@ BOOLEAN InfGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue) + INT *IntegerValue) { return INF_SUCCESS(InfpGetIntField(Context, FieldIndex, IntegerValue)); } Modified: branches/reactos-yarotows/lib/sdk/crt/time/asctime.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/sdk/crt/ti…
============================================================================== --- branches/reactos-yarotows/lib/sdk/crt/time/asctime.c [iso-8859-1] (original) +++ branches/reactos-yarotows/lib/sdk/crt/time/asctime.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -73,7 +73,7 @@ return u.char2; } -FORCEINLINE +static __inline void FillBuf(timebuf_t *buf, const struct tm *ptm) { Modified: branches/reactos-yarotows/ntoskrnl/include/internal/amd64/mm.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/inclu…
============================================================================== --- branches/reactos-yarotows/ntoskrnl/include/internal/amd64/mm.h [iso-8859-1] (original) +++ branches/reactos-yarotows/ntoskrnl/include/internal/amd64/mm.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -3,6 +3,8 @@ */ #pragma once + +#define _MI_PAGING_LEVELS 4 /* Helper macros */ #define PAGE_MASK(x) ((x)&(~0xfff)) @@ -106,12 +108,17 @@ FORCEINLINE MiAddressToPti(PVOID Address) { - ULONG64 Pti = (ULONG64)Address >> PTI_SHIFT; - Pti &= PTI_MASK_AMD64; - return Pti; -} - -#define MiAddressToPteOffset(x) MiAddressToPti(x) + return ((((ULONG64)Address) >> PTI_SHIFT) & 0x1FF); +} +#define MiAddressToPteOffset(x) MiAddressToPti(x) // FIXME: bad name + +ULONG +FORCEINLINE +MiAddressToPxi(PVOID Address) +{ + return ((((ULONG64)Address) >> PXI_SHIFT) & 0x1FF); +} + /* Convert a PTE into a corresponding address */ PVOID Modified: branches/reactos-yarotows/ntoskrnl/include/internal/i386/mm.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/inclu…
============================================================================== --- branches/reactos-yarotows/ntoskrnl/include/internal/i386/mm.h [iso-8859-1] (original) +++ branches/reactos-yarotows/ntoskrnl/include/internal/i386/mm.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -6,6 +6,12 @@ struct _EPROCESS; PULONG MmGetPageDirectory(VOID); + +#ifdef _PAE_ +#define _MI_PAGING_LEVELS 3 +#else +#define _MI_PAGING_LEVELS 2 +#endif #define PAGE_MASK(x) ((x)&(~0xfff)) #define PAE_PAGE_MASK(x) ((x)&(~0xfffLL)) Modified: branches/reactos-yarotows/ntoskrnl/include/internal/lpc_x.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/inclu…
============================================================================== --- branches/reactos-yarotows/ntoskrnl/include/internal/lpc_x.h [iso-8859-1] (original) +++ branches/reactos-yarotows/ntoskrnl/include/internal/lpc_x.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -95,7 +95,7 @@ // // Allocates a new message // -FORCEINLINE +static __inline PLPCP_MESSAGE LpcpAllocateFromPortZone(VOID) { Modified: branches/reactos-yarotows/ntoskrnl/mm/ARM3/largepag.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/mm/AR…
============================================================================== --- branches/reactos-yarotows/ntoskrnl/mm/ARM3/largepag.c [iso-8859-1] (original) +++ branches/reactos-yarotows/ntoskrnl/mm/ARM3/largepag.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -34,7 +34,8 @@ MiInitializeLargePageSupport(VOID) { #if _MI_PAGING_LEVELS > 2 -#error "PAE/x64 Not Implemented" + DPRINT1("PAE/x64 Not Implemented\n"); + ASSERT(FALSE); #else /* Initialize the large-page hyperspace PTE used for initial mapping */ MiLargePageHyperPte = MiReserveSystemPtes(1, SystemPteSpace); Modified: branches/reactos-yarotows/ntoskrnl/mm/ARM3/miarm.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/mm/AR…
============================================================================== --- branches/reactos-yarotows/ntoskrnl/mm/ARM3/miarm.h [iso-8859-1] (original) +++ branches/reactos-yarotows/ntoskrnl/mm/ARM3/miarm.h [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -139,56 +139,9 @@ #else #error Define these please! #endif -static const -ULONG -MmProtectToPteMask[32] = -{ - // - // These are the base MM_ protection flags - // - 0, - PTE_READONLY | PTE_ENABLE_CACHE, - PTE_EXECUTE | PTE_ENABLE_CACHE, - PTE_EXECUTE_READ | PTE_ENABLE_CACHE, - PTE_READWRITE | PTE_ENABLE_CACHE, - PTE_WRITECOPY | PTE_ENABLE_CACHE, - PTE_EXECUTE_READWRITE | PTE_ENABLE_CACHE, - PTE_EXECUTE_WRITECOPY | PTE_ENABLE_CACHE, - // - // These OR in the MM_NOCACHE flag - // - 0, - PTE_READONLY | PTE_DISABLE_CACHE, - PTE_EXECUTE | PTE_DISABLE_CACHE, - PTE_EXECUTE_READ | PTE_DISABLE_CACHE, - PTE_READWRITE | PTE_DISABLE_CACHE, - PTE_WRITECOPY | PTE_DISABLE_CACHE, - PTE_EXECUTE_READWRITE | PTE_DISABLE_CACHE, - PTE_EXECUTE_WRITECOPY | PTE_DISABLE_CACHE, - // - // These OR in the MM_DECOMMIT flag, which doesn't seem supported on x86/64/ARM - // - 0, - PTE_READONLY | PTE_ENABLE_CACHE, - PTE_EXECUTE | PTE_ENABLE_CACHE, - PTE_EXECUTE_READ | PTE_ENABLE_CACHE, - PTE_READWRITE | PTE_ENABLE_CACHE, - PTE_WRITECOPY | PTE_ENABLE_CACHE, - PTE_EXECUTE_READWRITE | PTE_ENABLE_CACHE, - PTE_EXECUTE_WRITECOPY | PTE_ENABLE_CACHE, - // - // These OR in the MM_NOACCESS flag, which seems to enable WriteCombining? - // - 0, - PTE_READONLY | PTE_WRITECOMBINED_CACHE, - PTE_EXECUTE | PTE_WRITECOMBINED_CACHE, - PTE_EXECUTE_READ | PTE_WRITECOMBINED_CACHE, - PTE_READWRITE | PTE_WRITECOMBINED_CACHE, - PTE_WRITECOPY | PTE_WRITECOMBINED_CACHE, - PTE_EXECUTE_READWRITE | PTE_WRITECOMBINED_CACHE, - PTE_EXECUTE_WRITECOPY | PTE_WRITECOMBINED_CACHE, -}; - + +extern const ULONG MmProtectToPteMask[32]; + // // Assertions for session images, addresses, and PTEs // Modified: branches/reactos-yarotows/ntoskrnl/mm/ARM3/mmsup.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/mm/AR…
============================================================================== --- branches/reactos-yarotows/ntoskrnl/mm/ARM3/mmsup.c [iso-8859-1] (original) +++ branches/reactos-yarotows/ntoskrnl/mm/ARM3/mmsup.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -64,22 +64,26 @@ NTAPI MmIsAddressValid(IN PVOID VirtualAddress) { - // - // Just check the Valid bit in the Address' PDE and PTE - // - if ((MiAddressToPde(VirtualAddress)->u.Hard.Valid == 0) || - (MiAddressToPte(VirtualAddress)->u.Hard.Valid == 0)) - { - // - // Attempting to access this page is guranteed to result in a page fault - // - return FALSE; - } +#if _MI_PAGING_LEVELS >= 4 + /* Check if the PXE is valid */ + if (MiAddressToPxe(VirtualAddress)->u.Hard.Valid == 0) return FALSE; +#endif - // - // This address is valid now, but it will only stay so if the caller holds - // the PFN lock - // +#if _MI_PAGING_LEVELS >= 3 + /* Check if the PPE is valid */ + if (MiAddressToPpe(VirtualAddress)->u.Hard.Valid == 0) return FALSE; +#endif + +#if _MI_PAGING_LEVELS >= 2 + /* Check if the PDE is valid */ + if (MiAddressToPde(VirtualAddress)->u.Hard.Valid == 0) return FALSE; +#endif + + /* Check if the PTE is valid */ + if (MiAddressToPte(VirtualAddress)->u.Hard.Valid == 0) return FALSE; + + /* This address is valid now, but it will only stay so if the caller holds + * the PFN lock */ return TRUE; } Modified: branches/reactos-yarotows/ntoskrnl/mm/ARM3/procsup.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/mm/AR…
============================================================================== --- branches/reactos-yarotows/ntoskrnl/mm/ARM3/procsup.c [iso-8859-1] (original) +++ branches/reactos-yarotows/ntoskrnl/mm/ARM3/procsup.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -1040,6 +1040,7 @@ return STATUS_SUCCESS; } +#ifdef _M_IX86 /* FIXME: Evaluate ways to make this portable yet arch-specific */ BOOLEAN NTAPI @@ -1131,6 +1132,7 @@ MiReleaseSystemPtes(PointerPte, 1, SystemPteSpace); return TRUE; } +#endif VOID NTAPI Modified: branches/reactos-yarotows/ntoskrnl/mm/amd64/page.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/mm/am…
============================================================================== --- branches/reactos-yarotows/ntoskrnl/mm/amd64/page.c [iso-8859-1] (original) +++ branches/reactos-yarotows/ntoskrnl/mm/amd64/page.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -5,6 +5,7 @@ * PURPOSE: Low level memory managment manipulation * * PROGRAMMER: Timo Kreuzer (timo.kreuzer(a)reactos.org) + * ReactOS Portable Systems Group */ /* INCLUDES ***************************************************************/ @@ -12,6 +13,7 @@ #include <ntoskrnl.h> #define NDEBUG #include <debug.h> +#include "../ARM3/miarm.h" #undef InterlockedExchangePte #define InterlockedExchangePte(pte1, pte2) \ @@ -25,6 +27,55 @@ /* GLOBALS *****************************************************************/ +const +ULONG +MmProtectToPteMask[32] = +{ + // + // These are the base MM_ protection flags + // + 0, + PTE_READONLY | PTE_ENABLE_CACHE, + PTE_EXECUTE | PTE_ENABLE_CACHE, + PTE_EXECUTE_READ | PTE_ENABLE_CACHE, + PTE_READWRITE | PTE_ENABLE_CACHE, + PTE_WRITECOPY | PTE_ENABLE_CACHE, + PTE_EXECUTE_READWRITE | PTE_ENABLE_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_ENABLE_CACHE, + // + // These OR in the MM_NOCACHE flag + // + 0, + PTE_READONLY | PTE_DISABLE_CACHE, + PTE_EXECUTE | PTE_DISABLE_CACHE, + PTE_EXECUTE_READ | PTE_DISABLE_CACHE, + PTE_READWRITE | PTE_DISABLE_CACHE, + PTE_WRITECOPY | PTE_DISABLE_CACHE, + PTE_EXECUTE_READWRITE | PTE_DISABLE_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_DISABLE_CACHE, + // + // These OR in the MM_DECOMMIT flag, which doesn't seem supported on x86/64/ARM + // + 0, + PTE_READONLY | PTE_ENABLE_CACHE, + PTE_EXECUTE | PTE_ENABLE_CACHE, + PTE_EXECUTE_READ | PTE_ENABLE_CACHE, + PTE_READWRITE | PTE_ENABLE_CACHE, + PTE_WRITECOPY | PTE_ENABLE_CACHE, + PTE_EXECUTE_READWRITE | PTE_ENABLE_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_ENABLE_CACHE, + // + // These OR in the MM_NOACCESS flag, which seems to enable WriteCombining? + // + 0, + PTE_READONLY | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE_READ | PTE_WRITECOMBINED_CACHE, + PTE_READWRITE | PTE_WRITECOMBINED_CACHE, + PTE_WRITECOPY | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE_READWRITE | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_WRITECOMBINED_CACHE, +}; /* PRIVATE FUNCTIONS *******************************************************/ @@ -489,46 +540,95 @@ return MmCreateVirtualMappingUnsafe(Process, Address, Protect, Pages, PageCount); } -NTSTATUS -NTAPI -MmInitializeHandBuiltProcess(IN PEPROCESS Process, - IN PULONG_PTR DirectoryTableBase) -{ - /* Share the directory base with the idle process */ - DirectoryTableBase[0] = PsGetCurrentProcess()->Pcb.DirectoryTableBase[0]; - DirectoryTableBase[1] = PsGetCurrentProcess()->Pcb.DirectoryTableBase[1]; - - /* Initialize the Addresss Space */ - KeInitializeGuardedMutex(&Process->AddressCreationLock); - Process->Vm.WorkingSetExpansionLinks.Flink = NULL; - ASSERT(Process->VadRoot.NumberGenericTableElements == 0); - Process->VadRoot.BalancedRoot.u1.Parent = &Process->VadRoot.BalancedRoot; - - /* The process now has an address space */ - Process->HasAddressSpace = TRUE; - return STATUS_SUCCESS; -} - BOOLEAN NTAPI MmCreateProcessAddressSpace(IN ULONG MinWs, IN PEPROCESS Process, - IN PULONG_PTR DirectoryTableBase) -{ - UNIMPLEMENTED; - return 0; -} - -BOOLEAN -NTAPI -_MmIsAddressValid(IN PVOID VirtualAddress) -{ - /* Check all four page table levels */ - return (MiAddressToPxe(VirtualAddress)->u.Hard.Valid != 0 && - MiAddressToPpe(VirtualAddress)->u.Hard.Valid != 0 && - MiAddressToPde(VirtualAddress)->u.Hard.Valid != 0 && - MiAddressToPte(VirtualAddress)->u.Hard.Valid != 0); -} - + OUT PULONG_PTR DirectoryTableBase) +{ + KIRQL OldIrql; + PFN_NUMBER TableBasePfn, HyperPfn; + PMMPTE PointerPte; + MMPTE TempPte, PdePte; + ULONG TableIndex; + PMMPTE SystemTable; + + /* No page colors yet */ + Process->NextPageColor = 0; + + /* Setup the hyperspace lock */ + KeInitializeSpinLock(&Process->HyperSpaceLock); + + /* Lock PFN database */ + OldIrql = KeAcquireQueuedSpinLock(LockQueuePfnLock); + + /* Get a page for the table base and for hyperspace */ + TableBasePfn = MiRemoveAnyPage(0); + HyperPfn = MiRemoveAnyPage(0); + + /* Release PFN lock */ + KeReleaseQueuedSpinLock(LockQueuePfnLock, OldIrql); + + /* Zero both pages */ + MiZeroPhysicalPage(TableBasePfn); + MiZeroPhysicalPage(HyperPfn); + + /* Set the base directory pointers */ + DirectoryTableBase[0] = TableBasePfn << PAGE_SHIFT; + DirectoryTableBase[1] = HyperPfn << PAGE_SHIFT; + + /* Make sure we don't already have a page directory setup */ + ASSERT(Process->Pcb.DirectoryTableBase[0] == 0); + + /* Insert us into the Mm process list */ + InsertTailList(&MmProcessList, &Process->MmProcessLinks); + + /* Get a PTE to map the page directory */ + PointerPte = MiReserveSystemPtes(1, SystemPteSpace); + ASSERT(PointerPte != NULL); + + /* Build it */ + MI_MAKE_HARDWARE_PTE_KERNEL(&PdePte, + PointerPte, + MM_READWRITE, + TableBasePfn); + + /* Set it dirty and map it */ + PdePte.u.Hard.Dirty = TRUE; + MI_WRITE_VALID_PTE(PointerPte, PdePte); + + /* Now get the page directory (which we'll double map, so call it a page table */ + SystemTable = MiPteToAddress(PointerPte); + + /* Copy all the kernel mappings */ + TableIndex = MiAddressToPxi(MmSystemRangeStart); + + RtlCopyMemory(&SystemTable[TableIndex], + MiAddressToPxe(MmSystemRangeStart), + PAGE_SIZE - TableIndex * sizeof(MMPTE)); + + /* Now write the PTE/PDE entry for hyperspace itself */ + TempPte = ValidKernelPte; + TempPte.u.Hard.PageFrameNumber = HyperPfn; + TableIndex = MiAddressToPxi(HYPER_SPACE); + SystemTable[TableIndex] = TempPte; + + /* Sanity check */ + ASSERT(MiAddressToPxi(MmHyperSpaceEnd) > TableIndex); + + /* Now do the x86 trick of making the PDE a page table itself */ + TableIndex = MiAddressToPxi(PTE_BASE); + TempPte.u.Hard.PageFrameNumber = TableBasePfn; + SystemTable[TableIndex] = TempPte; + + /* Let go of the system PTE */ + MiReleaseSystemPtes(PointerPte, 1, SystemPteSpace); + + /* Switch to phase 1 initialization */ + ASSERT(Process->AddressSpaceInitialized == 0); + Process->AddressSpaceInitialized = 1; + + return TRUE; +} /* EOF */ Modified: branches/reactos-yarotows/ntoskrnl/mm/i386/page.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/mm/i3…
============================================================================== --- branches/reactos-yarotows/ntoskrnl/mm/i386/page.c [iso-8859-1] (original) +++ branches/reactos-yarotows/ntoskrnl/mm/i386/page.c [iso-8859-1] Sun Jul 25 16:44:57 2010 @@ -12,6 +12,7 @@ #include <ntoskrnl.h> #define NDEBUG #include <debug.h> +#include "../ARM3/miarm.h" #if defined (ALLOC_PRAGMA) #pragma alloc_text(INIT, MmInitGlobalKernelPageDirectory) @@ -57,6 +58,56 @@ return dummy; } #endif + +const +ULONG +MmProtectToPteMask[32] = +{ + // + // These are the base MM_ protection flags + // + 0, + PTE_READONLY | PTE_ENABLE_CACHE, + PTE_EXECUTE | PTE_ENABLE_CACHE, + PTE_EXECUTE_READ | PTE_ENABLE_CACHE, + PTE_READWRITE | PTE_ENABLE_CACHE, + PTE_WRITECOPY | PTE_ENABLE_CACHE, + PTE_EXECUTE_READWRITE | PTE_ENABLE_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_ENABLE_CACHE, + // + // These OR in the MM_NOCACHE flag + // + 0, + PTE_READONLY | PTE_DISABLE_CACHE, + PTE_EXECUTE | PTE_DISABLE_CACHE, + PTE_EXECUTE_READ | PTE_DISABLE_CACHE, + PTE_READWRITE | PTE_DISABLE_CACHE, + PTE_WRITECOPY | PTE_DISABLE_CACHE, + PTE_EXECUTE_READWRITE | PTE_DISABLE_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_DISABLE_CACHE, + // + // These OR in the MM_DECOMMIT flag, which doesn't seem supported on x86/64/ARM + // + 0, + PTE_READONLY | PTE_ENABLE_CACHE, + PTE_EXECUTE | PTE_ENABLE_CACHE, + PTE_EXECUTE_READ | PTE_ENABLE_CACHE, + PTE_READWRITE | PTE_ENABLE_CACHE, + PTE_WRITECOPY | PTE_ENABLE_CACHE, + PTE_EXECUTE_READWRITE | PTE_ENABLE_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_ENABLE_CACHE, + // + // These OR in the MM_NOACCESS flag, which seems to enable WriteCombining? + // + 0, + PTE_READONLY | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE_READ | PTE_WRITECOMBINED_CACHE, + PTE_READWRITE | PTE_WRITECOMBINED_CACHE, + PTE_WRITECOPY | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE_READWRITE | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_WRITECOMBINED_CACHE, +}; /* FUNCTIONS ***************************************************************/ Propchange: branches/reactos-yarotows/subsystems/win32/csrss/win32csr/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sun Jul 25 16:44:57 2010 @@ -1,4 +1,4 @@ /branches/header-work/subsystems/win32/csrss/win32csr:45691-46463 /branches/ros-amd64-bringup/reactos/subsystems/win32/csrss/win32csr:34711-34712,34741,34743,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36397,36445,36502-36503,36505,36570,36614,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40122-40123,40125,40128,40155,40247,40324,40753,40927-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43857-43858,43860,43905-43907,43969,44002,44036-44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338-44339,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44772,45124,45126-45127,46394,46478,46511,46524,46526,46534-46535,46537-46539,46589 /branches/ros-amd64-bringup/subsystems/win32/csrss/win32csr:36852 -/trunk/reactos/subsystems/win32/csrss/win32csr:45219-48237 +/trunk/reactos/subsystems/win32/csrss/win32csr:45219-48253
14 years, 5 months
1
0
0
0
[akhaldi] 48254: Ukrainian translation patch for taskmgr, explorer and shell32. By Igor Paliychuk.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Sun Jul 25 16:15:27 2010 New Revision: 48254 URL:
http://svn.reactos.org/svn/reactos?rev=48254&view=rev
Log: Ukrainian translation patch for taskmgr, explorer and shell32. By Igor Paliychuk. Modified: trunk/reactos/base/applications/taskmgr/lang/uk-UA.rc trunk/reactos/base/shell/explorer/explorer-uk.rc trunk/reactos/dll/win32/shell32/lang/uk-UA.rc Modified: trunk/reactos/base/applications/taskmgr/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/taskmgr/…
============================================================================== --- trunk/reactos/base/applications/taskmgr/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/taskmgr/lang/uk-UA.rc [iso-8859-1] Sun Jul 25 16:15:27 2010 @@ -338,65 +338,65 @@ WS_DISABLED | WS_TABSTOP,175,119,41,10 END -IDD_COLUMNS_DIALOG DIALOGEX DISCARDABLE 0, 0, 195, 199 +IDD_COLUMNS_DIALOG DIALOGEX DISCARDABLE 0, 0, 227, 199 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Âèá³ð ñòîâïö³â" FONT 8, "MS Shell Dlg" BEGIN - DEFPUSHBUTTON "Òàê",IDOK,84,178,50,14 - PUSHBUTTON "ͳ",IDCANCEL,138,178,50,14 - LTEXT "Âèáåð³òü ñòîâïö³, ÿê³ ñë³ä â³äîáðàæàòè íà âêëàäö³ Ïðîöåñ äèñïåò÷åðà çàâäàíü.", + DEFPUSHBUTTON "ÎÊ",IDOK,116,178,50,14 + PUSHBUTTON "Ñêàñóâàòè",IDCANCEL,170,178,50,14 + LTEXT "Âèáåð³òü ñòîâïö³, ÿê³ ñë³ä â³äîáðàæàòè íà âêëàäö³ Ïðîöåñè äèñïåò÷åðà çàâäàíü.", IDC_STATIC,7,7,181,17 CONTROL "&²ì'ÿ îáðàçó",IDC_IMAGENAME,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,28,56,10 CONTROL "²äåíòè&ô. ïðîöåñó (PID)",IDC_PID,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,7,39,88,10 + BS_AUTOCHECKBOX | WS_TABSTOP,7,39,91,10 CONTROL "&Âèêîðèñòàííÿ ÖÏ",IDC_CPUUSAGE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,7,50,53,10 + WS_TABSTOP,7,50,71,10 CONTROL "&×àñ ÖÏ",IDC_CPUTIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,61,48,10 CONTROL "&Ïàì'ÿòü - âèêîðèñòàííÿ",IDC_MEMORYUSAGE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,7,72,63,10 + WS_TABSTOP,7,72,92,10 CONTROL "Ïàì'ÿòü - çì³&íà",IDC_MEMORYUSAGEDELTA,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,7,83,82,10 CONTROL "Ïàì'ÿòü - &ìàêñèìóì",IDC_PEAKMEMORYUSAGE,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,7,94,82,10 CONTROL "Ï&îìèëîê ñòîð³íêè",IDC_PAGEFAULTS,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,7,105,53,10 + WS_TABSTOP,7,105,73,10 CONTROL "Î&á'ºêòè USER",IDC_USEROBJECTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,116,62,10 CONTROL "ʳëüê³ñòü ÷èòàíü",IDC_IOREADS,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,7,127,49,10 + WS_TABSTOP,7,127,68,10 CONTROL "Ïðî÷èòàíî áàéò³â",IDC_IOREADBYTES,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,7,138,65,10 + BS_AUTOCHECKBOX | WS_TABSTOP,7,138,72,10 CONTROL "Êîä ñå&àíñó",IDC_SESSIONID,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,149,50,10 CONTROL "²ì'&ÿ êîðèñòóâà÷à",IDC_USERNAME,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,7,160,51,10 + WS_TABSTOP,7,160,70,10 CONTROL "Ïîìèëîê &ñòîð³íêè - çì³íà",IDC_PAGEFAULTSDELTA,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,107,28,72,10 CONTROL "Îá'ºì â³ðòóàë&üíî¿ ïàì'ÿò³",IDC_VIRTUALMEMORYSIZE,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,107,39,77,10 + BS_AUTOCHECKBOX | WS_TABSTOP,107,39,100,10 CONTROL "Âèâàíòà&æóâàíèé ïóë",IDC_PAGEDPOOL,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,107,50,53,10 + WS_TABSTOP,107,50,88,10 CONTROL "Íåâèâàíòàæ&óâàíèé ïóë",IDC_NONPAGEDPOOL,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,107,61,67,10 + BS_AUTOCHECKBOX | WS_TABSTOP,107,61,96,10 CONTROL "Áàçîâè&é ïð³îðèòåò",IDC_BASEPRIORITY,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,107,72,55,10 + BS_AUTOCHECKBOX | WS_TABSTOP,107,72,75,10 CONTROL "˳÷èëüíèê &äåñêðèïòîð³â",IDC_HANDLECOUNT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,107,83,59,10 + WS_TABSTOP,107,83,98,10 CONTROL "&˳÷èëüíèê ïîòîê³â",IDC_THREADCOUNT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,107,94,59,10 + WS_TABSTOP,107,94,79,10 CONTROL "Îá'&ºêòè GDI",IDC_GDIOBJECTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,105,55,10 CONTROL "ʳëüê³ñòü çàïèñ³â",IDC_IOWRITES,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,107,116,49,10 + WS_TABSTOP,107,116,73,10 CONTROL "Çàïèñàíî áàéò³â",IDC_IOWRITEBYTES,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,107,127,65,10 + BS_AUTOCHECKBOX | WS_TABSTOP,107,127,67,10 CONTROL "²íøèé ââ³ä-âèâ³ä",IDC_IOOTHER,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,107,138,46,10 - CONTROL "²íøèõ áàéò³â ï³ä ÷àñ ââîäó-âèâîäó",IDC_IOOTHERBYTES,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,107,149,65,10 + WS_TABSTOP,107,138,71,10 + CONTROL "²íøèõ áàéò³â ïðè ââîä³-âèâîä³",IDC_IOOTHERBYTES,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,107,149,114,10 END @@ -522,7 +522,7 @@ BEGIN IDS_APP_TITLE "Äèñïåò÷åð çàâäàíü" IDC_TASKMGR "Äèñïåò÷åð çàâäàíü" - IDS_IDLE_PROCESS "Íåä³ÿííÿ ñèñòåìè" + IDS_IDLE_PROCESS "Áåçä³ÿëüí³ñòü ñèñòåìè" END STRINGTABLE DISCARDABLE Modified: trunk/reactos/base/shell/explorer/explorer-uk.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/explor…
============================================================================== --- trunk/reactos/base/shell/explorer/explorer-uk.rc [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/explorer-uk.rc [iso-8859-1] Sun Jul 25 16:15:27 2010 @@ -145,7 +145,7 @@ CONTROL "&Êîìàíäà:",-1,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,3, 18,60,10 EDITTEXT 201,3,29,134,12,ES_AUTOHSCROLL - CONTROL "As &Symbol",214,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,3, + CONTROL "&ßê Ñèìâîë",214,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,3, 45,71,12 DEFPUSHBUTTON "&OK",1,158,6,47,14 PUSHBUTTON "&Ñêàñóâàòè",2,158,23,47,14 @@ -169,7 +169,7 @@ IDD_DESKBAR_DESKTOP DIALOGEX DISCARDABLE 0, 0, 212, 194 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Âëàñòèâîñò³ ðîáî÷îãî ñòîëà" +CAPTION "Âëàñòèâîñò³ ðîáî÷îãî ñòîëó" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Îáåð³òü íàéá³ëüø çðó÷íèé äëÿ âàñ àëãîðèòì âèð³âíþâàííÿ çíà÷ê³â:", @@ -268,11 +268,11 @@ BS_AUTORADIOBUTTON,7,62,118,10 CONTROL 170,IDC_STATIC,"Static",SS_BITMAP,145,23,15,13 CONTROL 171,IDC_STATIC,"Static",SS_BITMAP,145,57,15,13 - CONTROL "³äêðèâàòè ï³äïàïêè â î&êðåìèõ â³êíàõ", + CONTROL "³äêðèâàòè ï³äòåêè â î&êðåìèõ â³êíàõ", IDC_SEPARATE_SUBFOLDERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,90,135,10 - LTEXT "Ö³ íàñòðîéêè áóäóòü âèêîðèñòàí³ ÿê çíà÷åííÿ çà çàìîâ÷óâàííÿì äëÿ âñ³õ â³êîí ïðîâ³äíèêà â ìàéáóòíüîìó.", - IDC_STATIC,7,111,174,22 + LTEXT "Ö³ ïàðàìåòðè áóäóòü âèêîðèñòàí³ ÿê çíà÷åííÿ çà çàìîâ÷óâàííÿì äëÿ âñ³õ â³êîí ïðîâ³äíèêà â ìàéáóòíüîìó.", + IDC_STATIC,7,109,174,24 DEFPUSHBUTTON "&OK",IDOK,29,136,50,14,WS_GROUP PUSHBUTTON "&Ñêàñóâàòè",IDCANCEL,106,136,50,14 END Modified: trunk/reactos/dll/win32/shell32/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/uk-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/uk-UA.rc [iso-8859-1] Sun Jul 25 16:15:27 2010 @@ -156,7 +156,7 @@ BEGIN ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE LTEXT "Ââåä³òü ³ì'ÿ ïðîãðàìè, òåêè, äîêóìåíòà àáî ðåñóðñó ²íòåðíåòó, ³ ReactOS â³äêðèº ¿õ.", 12289, 36, 11, 182, 18 - LTEXT "&³äêðèòè:", 12305, 3, 39, 29, 10 + LTEXT "&³äêðèòè:", 12305, 3, 39, 32, 10 CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100 DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 116, 63, 50, 14, WS_TABSTOP
14 years, 5 months
1
0
0
0
[akhaldi] 48253: Fix build.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Sun Jul 25 14:20:03 2010 New Revision: 48253 URL:
http://svn.reactos.org/svn/reactos?rev=48253&view=rev
Log: Fix build. Modified: trunk/reactos/lib/newinflib/infhost.h Modified: trunk/reactos/lib/newinflib/infhost.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/newinflib/infhost.h?re…
============================================================================== --- trunk/reactos/lib/newinflib/infhost.h [iso-8859-1] (original) +++ trunk/reactos/lib/newinflib/infhost.h [iso-8859-1] Sun Jul 25 14:20:03 2010 @@ -49,7 +49,7 @@ ULONG *RequiredSize); extern int InfHostGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - ULONG *IntegerValue); + INT *IntegerValue); extern int InfHostGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, WCHAR *ReturnBuffer,
14 years, 5 months
1
0
0
0
[tkreuzer] 48252: [NEWINFLIB] PINT -> INT*
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Sun Jul 25 14:09:08 2010 New Revision: 48252 URL:
http://svn.reactos.org/svn/reactos?rev=48252&view=rev
Log: [NEWINFLIB] PINT -> INT* Modified: trunk/reactos/lib/newinflib/infget.c trunk/reactos/lib/newinflib/infhostget.c trunk/reactos/lib/newinflib/infpriv.h trunk/reactos/lib/newinflib/infros.h trunk/reactos/lib/newinflib/infrosget.c Modified: trunk/reactos/lib/newinflib/infget.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/newinflib/infget.c?rev…
============================================================================== --- trunk/reactos/lib/newinflib/infget.c [iso-8859-1] (original) +++ trunk/reactos/lib/newinflib/infget.c [iso-8859-1] Sun Jul 25 14:09:08 2010 @@ -416,7 +416,7 @@ INFSTATUS InfpGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PINT IntegerValue) + INT *IntegerValue) { PINFCACHELINE CacheLine; PINFCACHEFIELD CacheField; Modified: trunk/reactos/lib/newinflib/infhostget.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/newinflib/infhostget.c…
============================================================================== --- trunk/reactos/lib/newinflib/infhostget.c [iso-8859-1] (original) +++ trunk/reactos/lib/newinflib/infhostget.c [iso-8859-1] Sun Jul 25 14:09:08 2010 @@ -138,7 +138,7 @@ int InfHostGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PINT IntegerValue) + INT *IntegerValue) { INFSTATUS Status; Modified: trunk/reactos/lib/newinflib/infpriv.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/newinflib/infpriv.h?re…
============================================================================== --- trunk/reactos/lib/newinflib/infpriv.h [iso-8859-1] (original) +++ trunk/reactos/lib/newinflib/infpriv.h [iso-8859-1] Sun Jul 25 14:09:08 2010 @@ -116,7 +116,7 @@ PULONG RequiredSize); extern INFSTATUS InfpGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PINT IntegerValue); + INT *IntegerValue); extern INFSTATUS InfpGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, PWSTR ReturnBuffer, Modified: trunk/reactos/lib/newinflib/infros.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/newinflib/infros.h?rev…
============================================================================== --- trunk/reactos/lib/newinflib/infros.h [iso-8859-1] (original) +++ trunk/reactos/lib/newinflib/infros.h [iso-8859-1] Sun Jul 25 14:09:08 2010 @@ -50,7 +50,7 @@ PULONG RequiredSize); extern BOOLEAN InfGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PINT IntegerValue); + INT *IntegerValue); extern BOOLEAN InfGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, PWSTR ReturnBuffer, Modified: trunk/reactos/lib/newinflib/infrosget.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/newinflib/infrosget.c?…
============================================================================== --- trunk/reactos/lib/newinflib/infrosget.c [iso-8859-1] (original) +++ trunk/reactos/lib/newinflib/infrosget.c [iso-8859-1] Sun Jul 25 14:09:08 2010 @@ -84,7 +84,7 @@ BOOLEAN InfGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PINT IntegerValue) + INT *IntegerValue) { return INF_SUCCESS(InfpGetIntField(Context, FieldIndex, IntegerValue)); }
14 years, 5 months
1
0
0
0
[tkreuzer] 48251: [USETUP] / [INFLIB] Merge r36443 from amd64 branch: Remove references to Infp Functions that collide with inflib names, call the actual functions instead of making small functions that shared the same parameters and just called into inflib anyway, with no changes whatsoever. Make InfpGetIntField's 3rd parameter an INT* (Samuel Serapion)
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Sun Jul 25 13:46:54 2010 New Revision: 48251 URL:
http://svn.reactos.org/svn/reactos?rev=48251&view=rev
Log: [USETUP] / [INFLIB] Merge r36443 from amd64 branch: Remove references to Infp Functions that collide with inflib names, call the actual functions instead of making small functions that shared the same parameters and just called into inflib anyway, with no changes whatsoever. Make InfpGetIntField's 3rd parameter an INT* (Samuel Serapion) Modified: trunk/reactos/ (props changed) trunk/reactos/base/setup/usetup/inffile.c trunk/reactos/base/setup/usetup/inffile.h trunk/reactos/base/setup/usetup/usetup.h trunk/reactos/lib/inflib/infget.c trunk/reactos/lib/inflib/infpriv.h trunk/reactos/lib/inflib/infros.h trunk/reactos/lib/inflib/infrosget.c trunk/reactos/lib/newinflib/infget.c trunk/reactos/lib/newinflib/infhostget.c trunk/reactos/lib/newinflib/infpriv.h trunk/reactos/lib/newinflib/infros.h trunk/reactos/lib/newinflib/infrosget.c Propchange: trunk/reactos/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sun Jul 25 13:46:54 2010 @@ -1,4 +1,4 @@ /branches/header-work:45691-47721 /branches/reactos-yarotows:46372,46848,46966,47800,48026,48064 /branches/ros-amd64-bringup:36852 -/branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34770,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36393,36397,36445,36475,36502-36503,36505,36570,36614,36852,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36987-36988,36990,36992,37019,37322-37323,37333-37334,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40120,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40926-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479-41480,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43451,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43852,43857-43858,43860,43905-43907,43952,43954,43965,43969,43979,43981,43992,44002,44036-44037,44039-44040,44044-44045,44053,44065,44095,44123,44143-44144,44205,44238,44257,44259,44294,44338-44339,44385,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44634,44639,44772,44818,45124,45126-45127,45430,46394,46404,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805,46868,47472,47846-47847,47878,47882 +/branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34770,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36393,36397,36443,36445,36475,36502-36503,36505,36570,36614,36852,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36987-36988,36990,36992,37019,37322-37323,37333-37334,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40120,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40926-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479-41480,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43451,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43852,43857-43858,43860,43905-43907,43952,43954,43965,43969,43979,43981,43992,44002,44036-44037,44039-44040,44044-44045,44053,44065,44095,44123,44143-44144,44205,44238,44257,44259,44294,44338-44339,44385,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44634,44639,44772,44818,45124,45126-45127,45430,46394,46404,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805,46868,47472,47846-47847,47878,47882 Modified: trunk/reactos/base/setup/usetup/inffile.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/inffile.…
============================================================================== --- trunk/reactos/base/setup/usetup/inffile.c [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/inffile.c [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -66,46 +66,6 @@ } BOOL WINAPI -InfpFindNextLine( - IN PINFCONTEXT ContextIn, - OUT PINFCONTEXT ContextOut) -{ - return InfFindNextLine(ContextIn, ContextOut); -} - -BOOL WINAPI -InfpGetBinaryField( - IN PINFCONTEXT Context, - IN ULONG FieldIndex, - IN OUT BYTE* ReturnBuffer, - IN ULONG ReturnBufferSize, - OUT PULONG RequiredSize) -{ - return InfGetBinaryField(Context, FieldIndex, ReturnBuffer, ReturnBufferSize, RequiredSize); -} - -DWORD WINAPI -InfpGetFieldCount( - IN PINFCONTEXT Context) -{ - return (DWORD)InfGetFieldCount(Context); -} - -BOOL WINAPI -InfpGetIntField( - IN PINFCONTEXT Context, - IN DWORD FieldIndex, - OUT PINT IntegerValue) -{ - LONG IntegerValueL; - BOOL ret; - - ret = InfGetIntField(Context, FieldIndex, &IntegerValueL); - *IntegerValue = (INT)IntegerValueL; - return ret; -} - -BOOL WINAPI InfpGetMultiSzFieldW( IN PINFCONTEXT Context, IN ULONG FieldIndex, Modified: trunk/reactos/base/setup/usetup/inffile.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/inffile.…
============================================================================== --- trunk/reactos/base/setup/usetup/inffile.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/inffile.h [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -36,10 +36,10 @@ #define SetupCloseInfFile InfpCloseInfFile #define SetupFindFirstLineW InfpFindFirstLineW -#define SetupFindNextLine InfpFindNextLine -#define SetupGetBinaryField InfpGetBinaryField -#define SetupGetFieldCount InfpGetFieldCount -#define SetupGetIntField InfpGetIntField +#define SetupFindNextLine InfFindNextLine +#define SetupGetBinaryField InfGetBinaryField +#define SetupGetFieldCount InfGetFieldCount +#define SetupGetIntField InfGetIntField #define SetupGetMultiSzFieldW InfpGetMultiSzFieldW #define SetupGetStringFieldW InfpGetStringFieldW #define SetupOpenInfFileW InfpOpenInfFileW @@ -65,29 +65,6 @@ IN PCWSTR Section, IN PCWSTR Key, IN OUT PINFCONTEXT Context); - -BOOL WINAPI -InfpFindNextLine( - IN PINFCONTEXT ContextIn, - OUT PINFCONTEXT ContextOut); - -BOOL WINAPI -InfpGetBinaryField( - IN PINFCONTEXT Context, - IN ULONG FieldIndex, - IN OUT BYTE* ReturnBuffer, - IN ULONG ReturnBufferSize, - OUT PULONG RequiredSize); - -DWORD WINAPI -InfpGetFieldCount( - IN PINFCONTEXT Context); - -BOOL WINAPI -InfpGetIntField( - IN PINFCONTEXT Context, - IN DWORD FieldIndex, - OUT PINT IntegerValue); BOOL WINAPI InfpGetMultiSzFieldW( Modified: trunk/reactos/base/setup/usetup/usetup.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/usetup.h…
============================================================================== --- trunk/reactos/base/setup/usetup/usetup.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/usetup.h [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -50,6 +50,7 @@ /* Internal Headers */ #include "interface/consup.h" #include "partlist.h" +#include "infros.h" #include "inffile.h" #include "inicache.h" #include "progress.h" Modified: trunk/reactos/lib/inflib/infget.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/inflib/infget.c?rev=48…
============================================================================== --- trunk/reactos/lib/inflib/infget.c [iso-8859-1] (original) +++ trunk/reactos/lib/inflib/infget.c [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -271,7 +271,7 @@ INFSTATUS InfpGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue) + INT* IntegerValue) { PINFCACHELINE CacheLine; PINFCACHEFIELD CacheField; Modified: trunk/reactos/lib/inflib/infpriv.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/inflib/infpriv.h?rev=4…
============================================================================== --- trunk/reactos/lib/inflib/infpriv.h [iso-8859-1] (original) +++ trunk/reactos/lib/inflib/infpriv.h [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -115,7 +115,7 @@ PULONG RequiredSize); extern INFSTATUS InfpGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue); + INT* IntegerValue); extern INFSTATUS InfpGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, PTSTR ReturnBuffer, Modified: trunk/reactos/lib/inflib/infros.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/inflib/infros.h?rev=48…
============================================================================== --- trunk/reactos/lib/inflib/infros.h [iso-8859-1] (original) +++ trunk/reactos/lib/inflib/infros.h [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -48,7 +48,7 @@ PULONG RequiredSize); extern BOOLEAN InfGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue); + PINT IntegerValue); extern BOOLEAN InfGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, PWSTR ReturnBuffer, Modified: trunk/reactos/lib/inflib/infrosget.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/inflib/infrosget.c?rev…
============================================================================== --- trunk/reactos/lib/inflib/infrosget.c [iso-8859-1] (original) +++ trunk/reactos/lib/inflib/infrosget.c [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -84,7 +84,7 @@ BOOLEAN InfGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue) + PINT IntegerValue) { return INF_SUCCESS(InfpGetIntField(Context, FieldIndex, IntegerValue)); } Modified: trunk/reactos/lib/newinflib/infget.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/newinflib/infget.c?rev…
============================================================================== --- trunk/reactos/lib/newinflib/infget.c [iso-8859-1] (original) +++ trunk/reactos/lib/newinflib/infget.c [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -416,7 +416,7 @@ INFSTATUS InfpGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue) + PINT IntegerValue) { PINFCACHELINE CacheLine; PINFCACHEFIELD CacheField; Modified: trunk/reactos/lib/newinflib/infhostget.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/newinflib/infhostget.c…
============================================================================== --- trunk/reactos/lib/newinflib/infhostget.c [iso-8859-1] (original) +++ trunk/reactos/lib/newinflib/infhostget.c [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -138,11 +138,11 @@ int InfHostGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - ULONG *IntegerValue) -{ - INFSTATUS Status; - - Status = InfpGetIntField(Context, FieldIndex, (PLONG)IntegerValue); + PINT IntegerValue) +{ + INFSTATUS Status; + + Status = InfpGetIntField(Context, FieldIndex, IntegerValue); if (INF_SUCCESS(Status)) { return 0; Modified: trunk/reactos/lib/newinflib/infpriv.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/newinflib/infpriv.h?re…
============================================================================== --- trunk/reactos/lib/newinflib/infpriv.h [iso-8859-1] (original) +++ trunk/reactos/lib/newinflib/infpriv.h [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -116,7 +116,7 @@ PULONG RequiredSize); extern INFSTATUS InfpGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue); + PINT IntegerValue); extern INFSTATUS InfpGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, PWSTR ReturnBuffer, Modified: trunk/reactos/lib/newinflib/infros.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/newinflib/infros.h?rev…
============================================================================== --- trunk/reactos/lib/newinflib/infros.h [iso-8859-1] (original) +++ trunk/reactos/lib/newinflib/infros.h [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -50,7 +50,7 @@ PULONG RequiredSize); extern BOOLEAN InfGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue); + PINT IntegerValue); extern BOOLEAN InfGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, PWSTR ReturnBuffer, Modified: trunk/reactos/lib/newinflib/infrosget.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/newinflib/infrosget.c?…
============================================================================== --- trunk/reactos/lib/newinflib/infrosget.c [iso-8859-1] (original) +++ trunk/reactos/lib/newinflib/infrosget.c [iso-8859-1] Sun Jul 25 13:46:54 2010 @@ -84,7 +84,7 @@ BOOLEAN InfGetIntField(PINFCONTEXT Context, ULONG FieldIndex, - PLONG IntegerValue) + PINT IntegerValue) { return INF_SUCCESS(InfpGetIntField(Context, FieldIndex, IntegerValue)); }
14 years, 5 months
1
0
0
0
[tkreuzer] 48250: [OSKITTCP] Don't add leading underscores to symbols on amd64 builds
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Sun Jul 25 12:34:56 2010 New Revision: 48250 URL:
http://svn.reactos.org/svn/reactos?rev=48250&view=rev
Log: [OSKITTCP] Don't add leading underscores to symbols on amd64 builds Modified: trunk/reactos/lib/drivers/oskittcp/include/freebsd/src/sys/sys/kernel.h Modified: trunk/reactos/lib/drivers/oskittcp/include/freebsd/src/sys/sys/kernel.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/oskittcp/inclu…
============================================================================== --- trunk/reactos/lib/drivers/oskittcp/include/freebsd/src/sys/sys/kernel.h [iso-8859-1] (original) +++ trunk/reactos/lib/drivers/oskittcp/include/freebsd/src/sys/sys/kernel.h [iso-8859-1] Sun Jul 25 12:34:56 2010 @@ -83,8 +83,13 @@ #ifdef _MSC_VER #define MAKE_SET(set, sym, type) #else +#if defined(_M_AMD64) +#define MAKE_SET(set, sym, type) \ + asm(".stabs \"" #set "\", " #type ", 0, 0, " #sym) +#else #define MAKE_SET(set, sym, type) \ asm(".stabs \"_" #set "\", " #type ", 0, 0, _" #sym) +#endif #endif #define TEXT_SET(set, sym) MAKE_SET(set, sym, 23) #define DATA_SET(set, sym) MAKE_SET(set, sym, 25)
14 years, 5 months
1
0
0
0
[tkreuzer] 48249: [NTOSKRNL] - Fix MiAddressToPti and implement MiAddressToPxi for amd64 - Replace #error with DPRINT and ASSERT(FALSE) in MiInitializeLargePageSupport - Implement amd64 specific MmCreateProcessAddressSpace - Add MmProtectToPteMask for amd64 (copied from x86) - Remove amd64 version of MmInitializeHandBuiltProcess
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Sun Jul 25 12:00:26 2010 New Revision: 48249 URL:
http://svn.reactos.org/svn/reactos?rev=48249&view=rev
Log: [NTOSKRNL] - Fix MiAddressToPti and implement MiAddressToPxi for amd64 - Replace #error with DPRINT and ASSERT(FALSE) in MiInitializeLargePageSupport - Implement amd64 specific MmCreateProcessAddressSpace - Add MmProtectToPteMask for amd64 (copied from x86) - Remove amd64 version of MmInitializeHandBuiltProcess Modified: trunk/reactos/ntoskrnl/include/internal/amd64/mm.h trunk/reactos/ntoskrnl/mm/ARM3/largepag.c trunk/reactos/ntoskrnl/mm/ARM3/procsup.c trunk/reactos/ntoskrnl/mm/amd64/page.c Modified: trunk/reactos/ntoskrnl/include/internal/amd64/mm.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/amd64/mm.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/amd64/mm.h [iso-8859-1] Sun Jul 25 12:00:26 2010 @@ -108,12 +108,17 @@ FORCEINLINE MiAddressToPti(PVOID Address) { - ULONG64 Pti = (ULONG64)Address >> PTI_SHIFT; - Pti &= PTI_MASK_AMD64; - return Pti; -} - -#define MiAddressToPteOffset(x) MiAddressToPti(x) + return ((((ULONG64)Address) >> PTI_SHIFT) & 0x1FF); +} +#define MiAddressToPteOffset(x) MiAddressToPti(x) // FIXME: bad name + +ULONG +FORCEINLINE +MiAddressToPxi(PVOID Address) +{ + return ((((ULONG64)Address) >> PXI_SHIFT) & 0x1FF); +} + /* Convert a PTE into a corresponding address */ PVOID Modified: trunk/reactos/ntoskrnl/mm/ARM3/largepag.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/largepag.…
============================================================================== --- trunk/reactos/ntoskrnl/mm/ARM3/largepag.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/ARM3/largepag.c [iso-8859-1] Sun Jul 25 12:00:26 2010 @@ -34,7 +34,8 @@ MiInitializeLargePageSupport(VOID) { #if _MI_PAGING_LEVELS > 2 -#error "PAE/x64 Not Implemented" + DPRINT1("PAE/x64 Not Implemented\n"); + ASSERT(FALSE); #else /* Initialize the large-page hyperspace PTE used for initial mapping */ MiLargePageHyperPte = MiReserveSystemPtes(1, SystemPteSpace); Modified: trunk/reactos/ntoskrnl/mm/ARM3/procsup.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/procsup.c…
============================================================================== --- trunk/reactos/ntoskrnl/mm/ARM3/procsup.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/ARM3/procsup.c [iso-8859-1] Sun Jul 25 12:00:26 2010 @@ -1040,6 +1040,7 @@ return STATUS_SUCCESS; } +#ifdef _M_IX86 /* FIXME: Evaluate ways to make this portable yet arch-specific */ BOOLEAN NTAPI @@ -1131,6 +1132,7 @@ MiReleaseSystemPtes(PointerPte, 1, SystemPteSpace); return TRUE; } +#endif VOID NTAPI Modified: trunk/reactos/ntoskrnl/mm/amd64/page.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/amd64/page.c?r…
============================================================================== --- trunk/reactos/ntoskrnl/mm/amd64/page.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/amd64/page.c [iso-8859-1] Sun Jul 25 12:00:26 2010 @@ -5,6 +5,7 @@ * PURPOSE: Low level memory managment manipulation * * PROGRAMMER: Timo Kreuzer (timo.kreuzer(a)reactos.org) + * ReactOS Portable Systems Group */ /* INCLUDES ***************************************************************/ @@ -12,6 +13,7 @@ #include <ntoskrnl.h> #define NDEBUG #include <debug.h> +#include "../ARM3/miarm.h" #undef InterlockedExchangePte #define InterlockedExchangePte(pte1, pte2) \ @@ -25,6 +27,55 @@ /* GLOBALS *****************************************************************/ +const +ULONG +MmProtectToPteMask[32] = +{ + // + // These are the base MM_ protection flags + // + 0, + PTE_READONLY | PTE_ENABLE_CACHE, + PTE_EXECUTE | PTE_ENABLE_CACHE, + PTE_EXECUTE_READ | PTE_ENABLE_CACHE, + PTE_READWRITE | PTE_ENABLE_CACHE, + PTE_WRITECOPY | PTE_ENABLE_CACHE, + PTE_EXECUTE_READWRITE | PTE_ENABLE_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_ENABLE_CACHE, + // + // These OR in the MM_NOCACHE flag + // + 0, + PTE_READONLY | PTE_DISABLE_CACHE, + PTE_EXECUTE | PTE_DISABLE_CACHE, + PTE_EXECUTE_READ | PTE_DISABLE_CACHE, + PTE_READWRITE | PTE_DISABLE_CACHE, + PTE_WRITECOPY | PTE_DISABLE_CACHE, + PTE_EXECUTE_READWRITE | PTE_DISABLE_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_DISABLE_CACHE, + // + // These OR in the MM_DECOMMIT flag, which doesn't seem supported on x86/64/ARM + // + 0, + PTE_READONLY | PTE_ENABLE_CACHE, + PTE_EXECUTE | PTE_ENABLE_CACHE, + PTE_EXECUTE_READ | PTE_ENABLE_CACHE, + PTE_READWRITE | PTE_ENABLE_CACHE, + PTE_WRITECOPY | PTE_ENABLE_CACHE, + PTE_EXECUTE_READWRITE | PTE_ENABLE_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_ENABLE_CACHE, + // + // These OR in the MM_NOACCESS flag, which seems to enable WriteCombining? + // + 0, + PTE_READONLY | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE_READ | PTE_WRITECOMBINED_CACHE, + PTE_READWRITE | PTE_WRITECOMBINED_CACHE, + PTE_WRITECOPY | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE_READWRITE | PTE_WRITECOMBINED_CACHE, + PTE_EXECUTE_WRITECOPY | PTE_WRITECOMBINED_CACHE, +}; /* PRIVATE FUNCTIONS *******************************************************/ @@ -489,34 +540,95 @@ return MmCreateVirtualMappingUnsafe(Process, Address, Protect, Pages, PageCount); } -NTSTATUS -NTAPI -MmInitializeHandBuiltProcess(IN PEPROCESS Process, - IN PULONG_PTR DirectoryTableBase) -{ - /* Share the directory base with the idle process */ - DirectoryTableBase[0] = PsGetCurrentProcess()->Pcb.DirectoryTableBase[0]; - DirectoryTableBase[1] = PsGetCurrentProcess()->Pcb.DirectoryTableBase[1]; - - /* Initialize the Addresss Space */ - KeInitializeGuardedMutex(&Process->AddressCreationLock); - Process->Vm.WorkingSetExpansionLinks.Flink = NULL; - ASSERT(Process->VadRoot.NumberGenericTableElements == 0); - Process->VadRoot.BalancedRoot.u1.Parent = &Process->VadRoot.BalancedRoot; - - /* The process now has an address space */ - Process->HasAddressSpace = TRUE; - return STATUS_SUCCESS; -} - BOOLEAN NTAPI MmCreateProcessAddressSpace(IN ULONG MinWs, IN PEPROCESS Process, - IN PULONG_PTR DirectoryTableBase) -{ - UNIMPLEMENTED; - return 0; + OUT PULONG_PTR DirectoryTableBase) +{ + KIRQL OldIrql; + PFN_NUMBER TableBasePfn, HyperPfn; + PMMPTE PointerPte; + MMPTE TempPte, PdePte; + ULONG TableIndex; + PMMPTE SystemTable; + + /* No page colors yet */ + Process->NextPageColor = 0; + + /* Setup the hyperspace lock */ + KeInitializeSpinLock(&Process->HyperSpaceLock); + + /* Lock PFN database */ + OldIrql = KeAcquireQueuedSpinLock(LockQueuePfnLock); + + /* Get a page for the table base and for hyperspace */ + TableBasePfn = MiRemoveAnyPage(0); + HyperPfn = MiRemoveAnyPage(0); + + /* Release PFN lock */ + KeReleaseQueuedSpinLock(LockQueuePfnLock, OldIrql); + + /* Zero both pages */ + MiZeroPhysicalPage(TableBasePfn); + MiZeroPhysicalPage(HyperPfn); + + /* Set the base directory pointers */ + DirectoryTableBase[0] = TableBasePfn << PAGE_SHIFT; + DirectoryTableBase[1] = HyperPfn << PAGE_SHIFT; + + /* Make sure we don't already have a page directory setup */ + ASSERT(Process->Pcb.DirectoryTableBase[0] == 0); + + /* Insert us into the Mm process list */ + InsertTailList(&MmProcessList, &Process->MmProcessLinks); + + /* Get a PTE to map the page directory */ + PointerPte = MiReserveSystemPtes(1, SystemPteSpace); + ASSERT(PointerPte != NULL); + + /* Build it */ + MI_MAKE_HARDWARE_PTE_KERNEL(&PdePte, + PointerPte, + MM_READWRITE, + TableBasePfn); + + /* Set it dirty and map it */ + PdePte.u.Hard.Dirty = TRUE; + MI_WRITE_VALID_PTE(PointerPte, PdePte); + + /* Now get the page directory (which we'll double map, so call it a page table */ + SystemTable = MiPteToAddress(PointerPte); + + /* Copy all the kernel mappings */ + TableIndex = MiAddressToPxi(MmSystemRangeStart); + + RtlCopyMemory(&SystemTable[TableIndex], + MiAddressToPxe(MmSystemRangeStart), + PAGE_SIZE - TableIndex * sizeof(MMPTE)); + + /* Now write the PTE/PDE entry for hyperspace itself */ + TempPte = ValidKernelPte; + TempPte.u.Hard.PageFrameNumber = HyperPfn; + TableIndex = MiAddressToPxi(HYPER_SPACE); + SystemTable[TableIndex] = TempPte; + + /* Sanity check */ + ASSERT(MiAddressToPxi(MmHyperSpaceEnd) > TableIndex); + + /* Now do the x86 trick of making the PDE a page table itself */ + TableIndex = MiAddressToPxi(PTE_BASE); + TempPte.u.Hard.PageFrameNumber = TableBasePfn; + SystemTable[TableIndex] = TempPte; + + /* Let go of the system PTE */ + MiReleaseSystemPtes(PointerPte, 1, SystemPteSpace); + + /* Switch to phase 1 initialization */ + ASSERT(Process->AddressSpaceInitialized == 0); + Process->AddressSpaceInitialized = 1; + + return TRUE; } /* EOF */
14 years, 5 months
1
0
0
0
[jgardou] 48248: [WIN32K] - More BITMAPINFO->BITMAPV5INFO - Do not use PAL_BITFIELDS when creating the DIB palette and we know that it's RGB - PSEH-ize NtGdiCreateDIBSection
by jgardou@svn.reactos.org
Author: jgardou Date: Sun Jul 25 11:35:45 2010 New Revision: 48248 URL:
http://svn.reactos.org/svn/reactos?rev=48248&view=rev
Log: [WIN32K] - More BITMAPINFO->BITMAPV5INFO - Do not use PAL_BITFIELDS when creating the DIB palette and we know that it's RGB - PSEH-ize NtGdiCreateDIBSection Modified: branches/reactos-yarotows/subsystems/win32/win32k/include/dib.h branches/reactos-yarotows/subsystems/win32/win32k/ntuser/clipboard.c branches/reactos-yarotows/subsystems/win32/win32k/objects/bitmaps.c branches/reactos-yarotows/subsystems/win32/win32k/objects/dibobj.c Modified: branches/reactos-yarotows/subsystems/win32/win32k/include/dib.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/include/dib.h [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/include/dib.h [iso-8859-1] Sun Jul 25 11:35:45 2010 @@ -5,7 +5,7 @@ INT FASTCALL DIB_BitmapInfoSize (const BITMAPINFO * info, WORD coloruse); HBITMAP APIENTRY -DIB_CreateDIBSection (PDC dc, PBITMAPINFO bmi, UINT usage, LPVOID *bits, HANDLE section, DWORD offset, DWORD ovr_pitch); +DIB_CreateDIBSection (PDC dc, CONST BITMAPV5INFO *bmi, UINT usage, LPVOID *bits, HANDLE section, DWORD offset, DWORD ovr_pitch); INT APIENTRY DIB_GetBitmapInfo( const BITMAPINFOHEADER *header, PLONG width, PLONG height, PWORD planes, PWORD bpp, PLONG compr, PLONG size ); INT APIENTRY @@ -13,7 +13,7 @@ INT FASTCALL DIB_GetDIBWidthBytes (INT width, INT depth); RGBQUAD * FASTCALL -DIB_MapPaletteColors(PDC dc, CONST BITMAPINFO* lpbmi); +DIB_MapPaletteColors(PDC dc, CONST BITMAPV5INFO* lpbmi); HPALETTE FASTCALL BuildDIBPalette (CONST BITMAPINFO *bmi, PINT paletteType); Modified: branches/reactos-yarotows/subsystems/win32/win32k/ntuser/clipboard.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/ntuser/clipboard.c [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/ntuser/clipboard.c [iso-8859-1] Sun Jul 25 11:35:45 2010 @@ -247,7 +247,7 @@ { HDC hdc; HBITMAP hbitmap; - unsigned int offset; + unsigned int offset = 0; /* Stupid compiler */ BITMAPV5INFO bmi; NTSTATUS Status ; Modified: branches/reactos-yarotows/subsystems/win32/win32k/objects/bitmaps.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/objects/bitmaps.c [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/objects/bitmaps.c [iso-8859-1] Sun Jul 25 11:35:45 2010 @@ -291,7 +291,7 @@ PSURFACE psurfBmp; size.cx = abs(Width); size.cy = abs(Height); - Bmp = GreCreateBitmap(abs(Width), + Bmp = GreCreateBitmap(abs(Width), abs(Height), 1, dibs.dsBm.bmBitsPixel, @@ -309,73 +309,61 @@ else { /* A DIB section is selected in the DC */ - BITMAPINFO *bi; + BITMAPV5INFO bi; PVOID Bits; - /* Allocate memory for a BITMAPINFOHEADER structure and a - color table. The maximum number of colors in a color table - is 256 which corresponds to a bitmap with depth 8. - Bitmaps with higher depths don't have color tables. */ - bi = ExAllocatePoolWithTag(PagedPool, - sizeof(BITMAPINFOHEADER) + - 256 * sizeof(RGBQUAD), - TAG_TEMP); - - if (bi) + RtlZeroMemory(&bi.bmiHeader, sizeof(bi.bmiHeader)); + bi.bmiHeader.bV5Size = sizeof(bi.bmiHeader); + bi.bmiHeader.bV5Width = Width; + bi.bmiHeader.bV5Height = Height; + bi.bmiHeader.bV5Planes = dibs.dsBmih.biPlanes; + bi.bmiHeader.bV5BitCount = dibs.dsBmih.biBitCount; + bi.bmiHeader.bV5Compression = dibs.dsBmih.biCompression; + bi.bmiHeader.bV5SizeImage = 0; + bi.bmiHeader.bV5XPelsPerMeter = dibs.dsBmih.biXPelsPerMeter; + bi.bmiHeader.bV5YPelsPerMeter = dibs.dsBmih.biYPelsPerMeter; + bi.bmiHeader.bV5ClrUsed = dibs.dsBmih.biClrUsed; + bi.bmiHeader.bV5ClrImportant = dibs.dsBmih.biClrImportant; + + if (bi.bmiHeader.bV5Compression == BI_BITFIELDS) { - bi->bmiHeader.biSize = sizeof(bi->bmiHeader); - bi->bmiHeader.biWidth = Width; - bi->bmiHeader.biHeight = Height; - bi->bmiHeader.biPlanes = dibs.dsBmih.biPlanes; - bi->bmiHeader.biBitCount = dibs.dsBmih.biBitCount; - bi->bmiHeader.biCompression = dibs.dsBmih.biCompression; - bi->bmiHeader.biSizeImage = 0; - bi->bmiHeader.biXPelsPerMeter = dibs.dsBmih.biXPelsPerMeter; - bi->bmiHeader.biYPelsPerMeter = dibs.dsBmih.biYPelsPerMeter; - bi->bmiHeader.biClrUsed = dibs.dsBmih.biClrUsed; - bi->bmiHeader.biClrImportant = dibs.dsBmih.biClrImportant; - - if (bi->bmiHeader.biCompression == BI_BITFIELDS) + /* Copy the color masks */ + bi.bmiHeader.bV5RedMask = dibs.dsBitfields[0]; + bi.bmiHeader.bV5GreenMask = dibs.dsBitfields[1]; + bi.bmiHeader.bV5BlueMask = dibs.dsBitfields[2]; + } + else if (bi.bmiHeader.bV5BitCount <= 8) + { + /* Copy the color table */ + UINT Index; + PPALETTE PalGDI; + + if (!psurf->ppal) { - /* Copy the color masks */ - RtlCopyMemory(bi->bmiColors, dibs.dsBitfields, 3 * sizeof(DWORD)); + SetLastWin32Error(ERROR_INVALID_HANDLE); + return 0; } - else if (bi->bmiHeader.biBitCount <= 8) + + PalGDI = PALETTE_LockPalette(psurf->ppal->BaseObject.hHmgr); + + for (Index = 0; + Index < 256 && Index < PalGDI->NumColors; + Index++) { - /* Copy the color table */ - UINT Index; - PPALETTE PalGDI; - - if (!psurf->ppal) - { - ExFreePoolWithTag(bi, TAG_TEMP); - SetLastWin32Error(ERROR_INVALID_HANDLE); - return 0; - } - - PalGDI = PALETTE_LockPalette(psurf->ppal->BaseObject.hHmgr); - - for (Index = 0; - Index < 256 && Index < PalGDI->NumColors; - Index++) - { - bi->bmiColors[Index].rgbRed = PalGDI->IndexedColors[Index].peRed; - bi->bmiColors[Index].rgbGreen = PalGDI->IndexedColors[Index].peGreen; - bi->bmiColors[Index].rgbBlue = PalGDI->IndexedColors[Index].peBlue; - bi->bmiColors[Index].rgbReserved = 0; - } - PALETTE_UnlockPalette(PalGDI); + bi.bmiColors[Index].rgbRed = PalGDI->IndexedColors[Index].peRed; + bi.bmiColors[Index].rgbGreen = PalGDI->IndexedColors[Index].peGreen; + bi.bmiColors[Index].rgbBlue = PalGDI->IndexedColors[Index].peBlue; + bi.bmiColors[Index].rgbReserved = 0; } + PALETTE_UnlockPalette(PalGDI); Bmp = DIB_CreateDIBSection(Dc, - bi, + &bi, DIB_RGB_COLORS, &Bits, NULL, 0, 0); - - ExFreePoolWithTag(bi, TAG_TEMP); return Bmp; } } Modified: branches/reactos-yarotows/subsystems/win32/win32k/objects/dibobj.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/objects/dibobj.c [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/objects/dibobj.c [iso-8859-1] Sun Jul 25 11:35:45 2010 @@ -218,7 +218,7 @@ UINT StartScan, UINT ScanLines, CONST VOID *Bits, - CONST BITMAPINFO *bmi, + CONST BITMAPV5INFO *bmi, UINT ColorUse) { SURFACE *bitmap; @@ -251,16 +251,16 @@ DestSurf = &bitmap->SurfObj; // Create source surface - SourceSize.cx = bmi->bmiHeader.biWidth; + SourceSize.cx = bmi->bmiHeader.bV5Width; SourceSize.cy = ScanLines; // Determine width of DIB - DIBWidth = DIB_GetDIBWidthBytes(SourceSize.cx, bmi->bmiHeader.biBitCount); + DIBWidth = DIB_GetDIBWidthBytes(SourceSize.cx, bmi->bmiHeader.bV5BitCount); SourceBitmap = EngCreateBitmap(SourceSize, DIBWidth, - BitmapFormat(bmi->bmiHeader.biBitCount, bmi->bmiHeader.biCompression), - bmi->bmiHeader.biHeight < 0 ? BMF_TOPDOWN : 0, + BitmapFormat(bmi->bmiHeader.bV5BitCount, bmi->bmiHeader.bV5Compression), + bmi->bmiHeader.bV5Height < 0 ? BMF_TOPDOWN : 0, (PVOID) Bits); if (0 == SourceBitmap) { @@ -281,7 +281,7 @@ ASSERT(bitmap->ppal); // Source palette obtained from the BITMAPINFO - DIB_Palette = BuildDIBPalette(bmi, (PINT)&DIB_Palette_Type); + DIB_Palette = BuildDIBPalette((BITMAPINFO*)bmi, (PINT)&DIB_Palette_Type); if (NULL == DIB_Palette) { EngUnlockSurface(SourceSurf); @@ -302,7 +302,7 @@ // Determine destination rectangle DestRect.left = 0; - DestRect.top = abs(bmi->bmiHeader.biHeight) - StartScan - ScanLines; + DestRect.top = abs(bmi->bmiHeader.bV5Height) - StartScan - ScanLines; DestRect.right = SourceSize.cx; DestRect.bottom = DestRect.top + ScanLines; @@ -380,7 +380,7 @@ return 0; } - Ret = IntSetDIBits(Dc, hBitmap, StartScan, ScanLines, Bits, (PBITMAPINFO)&bmiLocal, ColorUse); + Ret = IntSetDIBits(Dc, hBitmap, StartScan, ScanLines, Bits, &bmiLocal, ColorUse); DC_UnlockDc(Dc); @@ -1019,7 +1019,7 @@ * a INT, so we need make the negtive value to positve and that make the * count correct for negtive bitmap, TODO : we need testcase for this api */ IntSetDIBits(pDC, hBitmap, 0, abs(bmiLocal.bmiHeader.bV5Height), Bits, - (PBITMAPINFO)&bmiLocal, Usage); + &bmiLocal, Usage); DC_UnlockDc(pDC); } @@ -1107,7 +1107,7 @@ if (NULL != handle && CBM_INIT == init) { - IntSetDIBits(Dc, handle, 0, height, bits, (BITMAPINFO*)data, coloruse); + IntSetDIBits(Dc, handle, 0, height, bits, data, coloruse); } return handle; @@ -1231,8 +1231,26 @@ HBITMAP hbitmap = 0; DC *dc; BOOL bDesktopDC = FALSE; + BITMAPV5INFO bmiLocal; + NTSTATUS Status; if (!bmi) return hbitmap; // Make sure. + + _SEH2_TRY + { + Status = ProbeAndConvertToBitmapV5Info(&bmiLocal, bmi, Usage, 0); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + Status = _SEH2_GetExceptionCode(); + } + _SEH2_END + + if(!NT_SUCCESS(Status)) + { + SetLastNtError(Status); + return NULL; + } // If the reference hdc is null, take the desktop dc if (hDC == 0) @@ -1244,7 +1262,7 @@ if ((dc = DC_LockDc(hDC))) { hbitmap = DIB_CreateDIBSection(dc, - (BITMAPINFO*)bmi, + &bmiLocal, Usage, Bits, hSection, @@ -1267,7 +1285,7 @@ APIENTRY DIB_CreateDIBSection( PDC dc, - BITMAPINFO *bmi, + CONST BITMAPV5INFO *bmi, UINT usage, LPVOID *bits, HANDLE section, @@ -1278,42 +1296,43 @@ SURFACE *bmp = NULL; void *mapBits = NULL; HPALETTE hpal ; + ULONG palMode = PAL_INDEXED; // Fill BITMAP32 structure with DIB data - BITMAPINFOHEADER *bi = &bmi->bmiHeader; + CONST BITMAPV5HEADER *bi = &bmi->bmiHeader; INT effHeight; ULONG totalSize; BITMAP bm; SIZEL Size; - RGBQUAD *lpRGB; + CONST RGBQUAD *lpRGB = NULL; HANDLE hSecure; DWORD dsBitfields[3] = {0}; ULONG ColorCount; DPRINT("format (%ld,%ld), planes %d, bpp %d, size %ld, colors %ld (%s)\n", - bi->biWidth, bi->biHeight, bi->biPlanes, bi->biBitCount, - bi->biSizeImage, bi->biClrUsed, usage == DIB_PAL_COLORS? "PAL" : "RGB"); + bi->bV5Width, bi->bV5Height, bi->bV5Planes, bi->bV5BitCount, + bi->bV5SizeImage, bi->bV5ClrUsed, usage == DIB_PAL_COLORS? "PAL" : "RGB"); /* CreateDIBSection should fail for compressed formats */ - if (bi->biCompression == BI_RLE4 || bi->biCompression == BI_RLE8) + if (bi->bV5Compression == BI_RLE4 || bi->bV5Compression == BI_RLE8) { return (HBITMAP)NULL; } - effHeight = bi->biHeight >= 0 ? bi->biHeight : -bi->biHeight; + effHeight = bi->bV5Height >= 0 ? bi->bV5Height : -bi->bV5Height; bm.bmType = 0; - bm.bmWidth = bi->biWidth; + bm.bmWidth = bi->bV5Width; bm.bmHeight = effHeight; - bm.bmWidthBytes = ovr_pitch ? ovr_pitch : (ULONG) DIB_GetDIBWidthBytes(bm.bmWidth, bi->biBitCount); - - bm.bmPlanes = bi->biPlanes; - bm.bmBitsPixel = bi->biBitCount; + bm.bmWidthBytes = ovr_pitch ? ovr_pitch : (ULONG) DIB_GetDIBWidthBytes(bm.bmWidth, bi->bV5BitCount); + + bm.bmPlanes = bi->bV5Planes; + bm.bmBitsPixel = bi->bV5BitCount; bm.bmBits = NULL; // Get storage location for DIB bits. Only use biSizeImage if it's valid and // we're dealing with a compressed bitmap. Otherwise, use width * height. - totalSize = bi->biSizeImage && bi->biCompression != BI_RGB - ? bi->biSizeImage : (ULONG)(bm.bmWidthBytes * effHeight); + totalSize = bi->bV5SizeImage && bi->bV5Compression != BI_RGB + ? bi->bV5SizeImage : (ULONG)(bm.bmWidthBytes * effHeight); if (section) { @@ -1333,7 +1352,7 @@ } mapOffset = offset - (offset % Sbi.AllocationGranularity); - mapSize = bi->biSizeImage + (offset - mapOffset); + mapSize = bi->bV5SizeImage + (offset - mapOffset); SectionOffset.LowPart = mapOffset; SectionOffset.HighPart = 0; @@ -1362,6 +1381,7 @@ { offset = 0; bm.bmBits = EngAllocUserMem(totalSize, 0); + if(!bm.bmBits) goto cleanup; } // hSecure = MmSecureVirtualMemory(bm.bmBits, totalSize, PAGE_READWRITE); @@ -1370,52 +1390,54 @@ if (usage == DIB_PAL_COLORS) { lpRGB = DIB_MapPaletteColors(dc, bmi); - ColorCount = bi->biClrUsed; + ColorCount = bi->bV5ClrUsed; if (ColorCount == 0) { - ColorCount = 1 << bi->biBitCount; - } - } - else + ColorCount = max(1 << bi->bV5BitCount, 256); + } + } + else if(bi->bV5BitCount <= 8) { lpRGB = bmi->bmiColors; - ColorCount = 1 << bi->biBitCount; - } + ColorCount = 1 << bi->bV5BitCount; + } + else + { + lpRGB = NULL; + ColorCount = 0; + } /* Set dsBitfields values */ - if (usage == DIB_PAL_COLORS || bi->biBitCount <= 8) + if (usage == DIB_PAL_COLORS || bi->bV5BitCount <= 8) { dsBitfields[0] = dsBitfields[1] = dsBitfields[2] = 0; - } - else if (bi->biCompression == BI_RGB) - { - switch (bi->biBitCount) + palMode = PAL_INDEXED; + } + else if (bi->bV5Compression == BI_RGB) + { + dsBitfields[0] = dsBitfields[1] = dsBitfields[2] = 0; + switch (bi->bV5BitCount) { case 15: - dsBitfields[0] = 0x7c00; - dsBitfields[1] = 0x03e0; - dsBitfields[2] = 0x001f; - break; + palMode = PAL_RGB16_555; + break; case 16: - dsBitfields[0] = 0xF800; - dsBitfields[1] = 0x07e0; - dsBitfields[2] = 0x001f; + palMode = PAL_RGB16_565; break; case 24: case 32: - dsBitfields[0] = 0xff0000; - dsBitfields[1] = 0x00ff00; - dsBitfields[2] = 0x0000ff; + palMode = PAL_RGB; break; } } else { - dsBitfields[0] = ((DWORD*)bmi->bmiColors)[0]; - dsBitfields[1] = ((DWORD*)bmi->bmiColors)[1]; - dsBitfields[2] = ((DWORD*)bmi->bmiColors)[2]; + dsBitfields[0] = bi->bV5RedMask; + dsBitfields[1] = bi->bV5GreenMask; + dsBitfields[2] = bi->bV5BlueMask; + palMode = PAL_BITFIELDS; } // Create Device Dependent Bitmap and add DIB pointer @@ -1424,45 +1446,27 @@ res = GreCreateBitmapEx(bm.bmWidth, abs(bm.bmHeight), bm.bmWidthBytes, - BitmapFormat(bi->biBitCount * bi->biPlanes, bi->biCompression), + BitmapFormat(bi->bV5BitCount * bi->bV5Planes, bi->bV5Compression), BMF_DONTCACHE | BMF_USERMEM | BMF_NOZEROINIT | - (bi->biHeight < 0 ? BMF_TOPDOWN : 0), - bi->biSizeImage, + (bi->bV5Height < 0 ? BMF_TOPDOWN : 0), + bi->bV5SizeImage, bm.bmBits); if (!res) { - if (lpRGB != bmi->bmiColors) - { - ExFreePoolWithTag(lpRGB, TAG_COLORMAP); - } SetLastWin32Error(ERROR_NO_SYSTEM_RESOURCES); - return NULL; + goto cleanup; } bmp = SURFACE_LockSurface(res); if (NULL == bmp) { - if (lpRGB != bmi->bmiColors) - { - ExFreePoolWithTag(lpRGB, TAG_COLORMAP); - } - SetLastWin32Error(ERROR_INVALID_HANDLE); - GreDeleteObject(res); - return NULL; + SetLastWin32Error(ERROR_INVALID_HANDLE); + goto cleanup; } /* WINE NOTE: WINE makes use of a colormap, which is a color translation table between the DIB and the X physical device. Obviously, this is left out of the ReactOS implementation. Instead, we call NtGdiSetDIBColorTable. */ - if (bi->biBitCount <= 8) - { - bi->biClrUsed = 1 << bi->biBitCount; - } - else - { - bi->biClrUsed = 0; - } - bmp->hDIBSection = section; bmp->hSecure = hSecure; bmp->dwOffset = offset; @@ -1470,26 +1474,20 @@ bmp->dsBitfields[0] = dsBitfields[0]; bmp->dsBitfields[1] = dsBitfields[1]; bmp->dsBitfields[2] = dsBitfields[2]; - bmp->biClrUsed = bi->biClrUsed; - bmp->biClrImportant = bi->biClrImportant; - - if (bi->biClrUsed != 0) - { - hpal = PALETTE_AllocPaletteIndexedRGB(ColorCount, lpRGB); - } - else - { - hpal = PALETTE_AllocPalette(PAL_BITFIELDS, 0, NULL, + bmp->biClrUsed = ColorCount; + bmp->biClrImportant = bi->bV5ClrImportant; + + hpal = PALETTE_AllocPalette(palMode, ColorCount, (ULONG*)lpRGB, dsBitfields[0], dsBitfields[1], dsBitfields[2]); - } bmp->ppal = PALETTE_ShareLockPalette(hpal); /* Lazy delete hpal, it will be freed at surface release */ GreDeleteObject(hpal); // Clean up in case of errors +cleanup: if (!res || !bmp || !bm.bmBits) { DPRINT("got an error res=%08x, bmp=%p, bm.bmBits=%p\n", res, bmp, bm.bmBits); @@ -1516,9 +1514,9 @@ } } - if (lpRGB != bmi->bmiColors) - { - ExFreePoolWithTag(lpRGB, TAG_COLORMAP); + if (lpRGB != bmi->bmiColors && lpRGB) + { + ExFreePoolWithTag((PVOID)lpRGB, TAG_COLORMAP); } if (bmp) @@ -1586,7 +1584,7 @@ RGBQUAD * FASTCALL -DIB_MapPaletteColors(PDC dc, CONST BITMAPINFO* lpbmi) +DIB_MapPaletteColors(PDC dc, CONST BITMAPV5INFO* lpbmi) { RGBQUAD *lpRGB; ULONG nNumColors,i; @@ -1606,10 +1604,10 @@ return NULL; } - nNumColors = 1 << lpbmi->bmiHeader.biBitCount; - if (lpbmi->bmiHeader.biClrUsed) - { - nNumColors = min(nNumColors, lpbmi->bmiHeader.biClrUsed); + nNumColors = 1 << lpbmi->bmiHeader.bV5BitCount; + if (lpbmi->bmiHeader.bV5ClrUsed) + { + nNumColors = min(nNumColors, lpbmi->bmiHeader.bV5ClrUsed); } lpRGB = (RGBQUAD *)ExAllocatePoolWithTag(PagedPool, sizeof(RGBQUAD) * nNumColors, TAG_COLORMAP); @@ -1767,6 +1765,8 @@ dwSize = pbmiUnsafe->bmiHeader.biSize; /* At least dwSize bytes must be valids */ ProbeForRead(pbmiUnsafe, max(dwSize, MaxSize), 1); + if(!MaxSize) + ProbeForRead(pbmiUnsafe, DIB_BitmapInfoSize(pbmiUnsafe, dwColorUse), 1); /* Check the size */ // FIXME: are intermediate sizes allowed? As what are they interpreted?
14 years, 5 months
1
0
0
0
[jgardou] 48247: One leftover from sync
by jgardou@svn.reactos.org
Author: jgardou Date: Sun Jul 25 11:19:21 2010 New Revision: 48247 URL:
http://svn.reactos.org/svn/reactos?rev=48247&view=rev
Log: One leftover from sync Removed: branches/reactos-yarotows/lib/rtl/austin/
14 years, 5 months
1
0
0
0
← Newer
1
...
11
12
13
14
15
16
17
...
47
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Results per page:
10
25
50
100
200