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
August 2008
----- 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
27 participants
853 discussions
Start a n
N
ew thread
[sserapion] 35655: Remove unneeded msvcrt dependancies(all win32 modules depend on msvcrt already) dbghelp: Don't use old style parameter lists. kernel32: Remove stdcall decorations from amd64 asm. user32: Convert to spec file. console: Convert to spec file. Misc WIN64 fixes.
by sserapion@svn.reactos.org
Author: sserapion Date: Mon Aug 25 21:19:29 2008 New Revision: 35655 URL:
http://svn.reactos.org/svn/reactos?rev=35655&view=rev
Log: Remove unneeded msvcrt dependancies(all win32 modules depend on msvcrt already) dbghelp: Don't use old style parameter lists. kernel32: Remove stdcall decorations from amd64 asm. user32: Convert to spec file. console: Convert to spec file. Misc WIN64 fixes. Added: branches/ros-amd64-bringup/reactos/dll/cpl/console/console.spec (with props) branches/ros-amd64-bringup/reactos/dll/win32/user32/user32.spec (with props) branches/ros-amd64-bringup/reactos/dll/win32/ws2_32/ws2_32.spec (with props) Removed: branches/ros-amd64-bringup/reactos/dll/cpl/console/console.def branches/ros-amd64-bringup/reactos/dll/win32/user32/user32.def Modified: branches/ros-amd64-bringup/reactos/dll/3rdparty/mesa32/mesa32.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/appwiz-new/appwiz.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/appwiz/appwiz.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/desk/desk.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/input/input.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/intl/intl.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/joy/joy.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/main/main.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/mmsys/mmsys.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/odbccp32/odbccp32.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/powercfg/powercfg.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/sysdm/sysdm.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/telephon/telephon.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/timedate/timedate.rbuild branches/ros-amd64-bringup/reactos/dll/cpl/usrmgr/usrmgr.rbuild branches/ros-amd64-bringup/reactos/dll/directx/ddraw/ddraw.rbuild branches/ros-amd64-bringup/reactos/dll/directx/directx.rbuild branches/ros-amd64-bringup/reactos/dll/directx/dsound/dsound.rbuild branches/ros-amd64-bringup/reactos/dll/ntdll/def/ntdll_amd64.def branches/ros-amd64-bringup/reactos/dll/shellext/deskadp/deskadp.rbuild branches/ros-amd64-bringup/reactos/dll/shellext/deskmon/deskmon.rbuild branches/ros-amd64-bringup/reactos/dll/shellext/fontext/fontext.rbuild branches/ros-amd64-bringup/reactos/dll/win32/advapi32/advapi32.spec branches/ros-amd64-bringup/reactos/dll/win32/advapi32/sec/misc.c branches/ros-amd64-bringup/reactos/dll/win32/dbghelp/regex.c branches/ros-amd64-bringup/reactos/dll/win32/dhcpcsvc/dhcpcsvc.rbuild branches/ros-amd64-bringup/reactos/dll/win32/dnsapi/dnsapi.rbuild branches/ros-amd64-bringup/reactos/dll/win32/gdi32/gdi32.rbuild branches/ros-amd64-bringup/reactos/dll/win32/glu32/glu32.rbuild branches/ros-amd64-bringup/reactos/dll/win32/icmp/icmp.rbuild branches/ros-amd64-bringup/reactos/dll/win32/kernel32/kernel32.spec branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/dllmain.c branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/errormsg.c branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/toolhelp.c branches/ros-amd64-bringup/reactos/dll/win32/kernel32/synch/critical.c branches/ros-amd64-bringup/reactos/dll/win32/kernel32/thread/amd64/fiber.S branches/ros-amd64-bringup/reactos/dll/win32/kernel32/thread/amd64/thread.S branches/ros-amd64-bringup/reactos/dll/win32/msvcrt/msvcrt.def branches/ros-amd64-bringup/reactos/dll/win32/opengl32/opengl32.h branches/ros-amd64-bringup/reactos/dll/win32/shell32/autocomplete.c branches/ros-amd64-bringup/reactos/dll/win32/shell32/changenotify.c branches/ros-amd64-bringup/reactos/dll/win32/user32/include/dde_private.h branches/ros-amd64-bringup/reactos/dll/win32/user32/include/user32.h branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/dde.c branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/ddeserver.c branches/ros-amd64-bringup/reactos/dll/win32/user32/user32.rbuild branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/draw.c branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/menu.c branches/ros-amd64-bringup/reactos/dll/win32/winmm/midimap/midimap.rbuild branches/ros-amd64-bringup/reactos/dll/win32/ws2_32/misc/stubs.c branches/ros-amd64-bringup/reactos/dll/win32/ws2_32/ws2_32.rbuild [This mail would be too long, it was shortened to contain the URLs only.] Modified: branches/ros-amd64-bringup/reactos/dll/3rdparty/mesa32/mesa32.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/3…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/appwiz-new/appwiz.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/appwiz/appwiz.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Removed: branches/ros-amd64-bringup/reactos/dll/cpl/console/console.def URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Added: branches/ros-amd64-bringup/reactos/dll/cpl/console/console.spec URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/desk/desk.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/input/input.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/intl/intl.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/joy/joy.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/main/main.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/mmsys/mmsys.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/odbccp32/odbccp32.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/powercfg/powercfg.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/sysdm/sysdm.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/telephon/telephon.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/timedate/timedate.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/cpl/usrmgr/usrmgr.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/c…
Modified: branches/ros-amd64-bringup/reactos/dll/directx/ddraw/ddraw.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/d…
Modified: branches/ros-amd64-bringup/reactos/dll/directx/directx.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/d…
Modified: branches/ros-amd64-bringup/reactos/dll/directx/dsound/dsound.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/d…
Modified: branches/ros-amd64-bringup/reactos/dll/ntdll/def/ntdll_amd64.def URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/n…
Modified: branches/ros-amd64-bringup/reactos/dll/shellext/deskadp/deskadp.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/s…
Modified: branches/ros-amd64-bringup/reactos/dll/shellext/deskmon/deskmon.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/s…
Modified: branches/ros-amd64-bringup/reactos/dll/shellext/fontext/fontext.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/s…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/advapi32/advapi32.spec URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/advapi32/sec/misc.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/dbghelp/regex.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/dhcpcsvc/dhcpcsvc.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/dnsapi/dnsapi.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/gdi32/gdi32.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/glu32/glu32.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/icmp/icmp.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/kernel32.spec URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/dllmain.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/errormsg.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/toolhelp.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/synch/critical.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/thread/amd64/fiber.S URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/thread/amd64/thread.S URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/msvcrt/msvcrt.def URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/opengl32/opengl32.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/shell32/autocomplete.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/shell32/changenotify.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/include/dde_private.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/include/user32.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/dde.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/ddeserver.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Removed: branches/ros-amd64-bringup/reactos/dll/win32/user32/user32.def URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/user32.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Added: branches/ros-amd64-bringup/reactos/dll/win32/user32/user32.spec URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/draw.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/menu.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/winmm/midimap/midimap.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/ws2_32/misc/stubs.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Modified: branches/ros-amd64-bringup/reactos/dll/win32/ws2_32/ws2_32.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
Added: branches/ros-amd64-bringup/reactos/dll/win32/ws2_32/ws2_32.spec URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
16 years, 4 months
1
0
0
0
[cgutman] 35654: - Merge r35653 from aicom-network-fixes - Fixes a major leak when closing Firefox
by cgutman@svn.reactos.org
Author: cgutman Date: Mon Aug 25 21:11:40 2008 New Revision: 35654 URL:
http://svn.reactos.org/svn/reactos?rev=35654&view=rev
Log: - Merge r35653 from aicom-network-fixes - Fixes a major leak when closing Firefox Modified: trunk/reactos/lib/drivers/ip/transport/tcp/tcp.c Modified: trunk/reactos/lib/drivers/ip/transport/tcp/tcp.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/ip/transport/t…
============================================================================== --- trunk/reactos/lib/drivers/ip/transport/tcp/tcp.c [iso-8859-1] (original) +++ trunk/reactos/lib/drivers/ip/transport/tcp/tcp.c [iso-8859-1] Mon Aug 25 21:11:40 2008 @@ -836,6 +836,7 @@ if( Bucket->Request.RequestContext == Irp ) { RemoveEntryList( &Bucket->Entry ); + PoolFreeBuffer( Bucket ); break; } }
16 years, 4 months
1
0
0
0
[cgutman] 35653: - Fix a memory leak
by cgutman@svn.reactos.org
Author: cgutman Date: Mon Aug 25 19:47:22 2008 New Revision: 35653 URL:
http://svn.reactos.org/svn/reactos?rev=35653&view=rev
Log: - Fix a memory leak Modified: branches/aicom-network-fixes/lib/drivers/ip/transport/tcp/tcp.c Modified: branches/aicom-network-fixes/lib/drivers/ip/transport/tcp/tcp.c URL:
http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/lib/drivers…
============================================================================== --- branches/aicom-network-fixes/lib/drivers/ip/transport/tcp/tcp.c [iso-8859-1] (original) +++ branches/aicom-network-fixes/lib/drivers/ip/transport/tcp/tcp.c [iso-8859-1] Mon Aug 25 19:47:22 2008 @@ -836,6 +836,7 @@ if( Bucket->Request.RequestContext == Irp ) { RemoveEntryList( &Bucket->Entry ); + PoolFreeBuffer( Bucket ); break; } }
16 years, 4 months
1
0
0
0
[sserapion] 35652: More header fixes.
by sserapion@svn.reactos.org
Author: sserapion Date: Mon Aug 25 19:26:42 2008 New Revision: 35652 URL:
http://svn.reactos.org/svn/reactos?rev=35652&view=rev
Log: More header fixes. Modified: branches/ros-amd64-bringup/reactos/include/psdk/prsht.h branches/ros-amd64-bringup/reactos/include/psdk/shellapi.h Modified: branches/ros-amd64-bringup/reactos/include/psdk/prsht.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/inclu…
============================================================================== --- branches/ros-amd64-bringup/reactos/include/psdk/prsht.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/include/psdk/prsht.h [iso-8859-1] Mon Aug 25 19:26:42 2008 @@ -287,8 +287,8 @@ HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA); HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW); BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE); -int WINAPI PropertySheetA(LPCPROPSHEETHEADERA); -int WINAPI PropertySheetW(LPCPROPSHEETHEADERW); +INT_PTR WINAPI PropertySheetA(LPCPROPSHEETHEADERA); +INT_PTR WINAPI PropertySheetW(LPCPROPSHEETHEADERW); #define PropSheet_AddPage(d,p) SendMessage(d,PSM_ADDPAGE,0,(LPARAM)p) #define PropSheet_Apply(d) SendMessage(d,PSM_APPLY,0,0) #define PropSheet_CancelToClose(d) SendMessage(d,PSM_CANCELTOCLOSE,0,0) Modified: branches/ros-amd64-bringup/reactos/include/psdk/shellapi.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/inclu…
============================================================================== --- branches/ros-amd64-bringup/reactos/include/psdk/shellapi.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/include/psdk/shellapi.h [iso-8859-1] Mon Aug 25 19:26:42 2008 @@ -334,8 +334,8 @@ int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA); int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW); void WINAPI SHFreeNameMappings(HANDLE); -DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT); -DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT); +DWORD_PTR WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT); +DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT); BOOL WINAPI SHGetNewLinkInfoA(LPCSTR,LPCSTR,LPSTR,BOOL*,UINT); BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR,LPCWSTR,LPWSTR,BOOL*,UINT); HRESULT WINAPI SHQueryRecycleBinA(LPCSTR, LPSHQUERYRBINFO);
16 years, 4 months
1
0
0
0
[sserapion] 35651: Don't error on non-32bit builds. Still needs port.
by sserapion@svn.reactos.org
Author: sserapion Date: Mon Aug 25 18:57:51 2008 New Revision: 35651 URL:
http://svn.reactos.org/svn/reactos?rev=35651&view=rev
Log: Don't error on non-32bit builds. Still needs port. Modified: branches/ros-amd64-bringup/reactos/tools/widl/server.c Modified: branches/ros-amd64-bringup/reactos/tools/widl/server.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/tools…
============================================================================== --- branches/ros-amd64-bringup/reactos/tools/widl/server.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/tools/widl/server.c [iso-8859-1] Mon Aug 25 18:57:51 2008 @@ -442,7 +442,7 @@ write_function_stubs(iface->iface, &proc_offset); print_server("#if !defined(__RPC_WIN32__)\n"); - print_server("#error Invalid build platform for this stub.\n"); + print_server("//#error Invalid build platform for this stub.\n"); print_server("#endif\n"); fprintf(server, "\n");
16 years, 4 months
1
0
0
0
[sserapion] 35650: Don't add stdcall decorations to amd64 syscalls.
by sserapion@svn.reactos.org
Author: sserapion Date: Mon Aug 25 18:55:29 2008 New Revision: 35650 URL:
http://svn.reactos.org/svn/reactos?rev=35650&view=rev
Log: Don't add stdcall decorations to amd64 syscalls. Modified: branches/ros-amd64-bringup/reactos/tools/nci/ncitool.c Modified: branches/ros-amd64-bringup/reactos/tools/nci/ncitool.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/tools…
============================================================================== --- branches/ros-amd64-bringup/reactos/tools/nci/ncitool.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/tools/nci/ncitool.c [iso-8859-1] Mon Aug 25 18:55:29 2008 @@ -140,7 +140,7 @@ { "i386", 4, KernelModeStub_x86, UserModeStub_x86, ".global _%s@%d\n", "_%s@%d:\n" }, { "amd64", 4, KernelModeStub_amd64, UserModeStub_amd64, - ".global _%s@%d\n", "_%s@%d:\n" }, + ".global _%s\n", "_%s:\n" }, { "powerpc", 4, KernelModeStub_ppc, UserModeStub_ppc, "\t.globl %s\n", "%s:\n" }, { "mips", 4, KernelModeStub_mips, UserModeStub_mips,
16 years, 4 months
1
0
0
0
[jmorlan] 35649: cmd_set: - When given a name with no value, show all variables that start with that name. - Implement /P switch - Set nErrorLevel on failure - Make syntax more compatible with Windows (allow any control character to act as space; implement quoting)
by jmorlan@svn.reactos.org
Author: jmorlan Date: Mon Aug 25 18:48:18 2008 New Revision: 35649 URL:
http://svn.reactos.org/svn/reactos?rev=35649&view=rev
Log: cmd_set: - When given a name with no value, show all variables that start with that name. - Implement /P switch - Set nErrorLevel on failure - Make syntax more compatible with Windows (allow any control character to act as space; implement quoting) Modified: trunk/reactos/base/shell/cmd/set.c Modified: trunk/reactos/base/shell/cmd/set.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/set.c?rev=3…
============================================================================== --- trunk/reactos/base/shell/cmd/set.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/set.c [iso-8859-1] Mon Aug 25 18:48:18 2008 @@ -48,12 +48,33 @@ static LPCTSTR skip_ws ( LPCTSTR p ) { - return p + _tcsspn ( p, _T(" \t") ); + while (*p && *p <= _T(' ')) + p++; + return p; +} + +/* Used to check for and handle: + * SET "var=value", SET /P "var=prompt", and SET /P var="prompt" */ +static LPTSTR +GetQuotedString(TCHAR *p) +{ + TCHAR *end; + if (*p == _T('"')) + { + p = (LPTSTR)skip_ws(p + 1); + /* If a matching quote is found, truncate the string */ + end = _tcsrchr(p, _T('"')); + if (end) + *end = _T('\0'); + } + return p; } INT cmd_set (LPTSTR param) { LPTSTR p; + LPTSTR lpEnv; + LPTSTR lpOutput; if ( !_tcsncmp (param, _T("/?"), 2) ) { @@ -61,26 +82,20 @@ return 0; } + param = (LPTSTR)skip_ws(param); + /* if no parameters, show the environment */ if (param[0] == _T('\0')) { - LPTSTR lpEnv; - LPTSTR lpOutput; - INT len; - lpEnv = (LPTSTR)GetEnvironmentStrings (); if (lpEnv) { lpOutput = lpEnv; while (*lpOutput) { - len = _tcslen(lpOutput); - if (len) - { - if (*lpOutput != _T('=')) - ConOutPuts (lpOutput); - lpOutput += (len + 1); - } + if (*lpOutput != _T('=')) + ConOutPuts(lpOutput); + lpOutput += _tcslen(lpOutput) + 1; } FreeEnvironmentStrings (lpEnv); } @@ -97,15 +112,34 @@ /*might seem random but this is what windows xp does */ nErrorLevel = 9165; } - /* TODO FIXME - what are we supposed to return? */ - return Success; - } - - if ( !_tcsnicmp (param, _T("/"), 1) ) - { - ConErrResPrintf (STRING_SYNTAX_COMMAND_INCORRECT, param); + return !Success; + } + + if (!_tcsnicmp(param, _T("/P"), 2)) + { + TCHAR value[1023]; + param = GetQuotedString((LPTSTR)skip_ws(param + 2)); + p = _tcschr(param, _T('=')); + if (!p) + { + ConErrResPuts(STRING_SYNTAX_COMMAND_INCORRECT); + nErrorLevel = 1; + return 1; + } + + *p++ = _T('\0'); + ConOutPrintf(_T("%s"), GetQuotedString(p)); + ConInString(value, 1023); + + if (!*value || !SetEnvironmentVariable(param, value)) + { + nErrorLevel = 1; + return 1; + } return 0; } + + param = GetQuotedString(param); p = _tcschr (param, _T('=')); if (p) @@ -114,41 +148,53 @@ if (p == param) { /* handle set =val case */ - ConErrResPrintf (STRING_SYNTAX_COMMAND_INCORRECT, param); - return 0; - } - + ConErrResPuts(STRING_SYNTAX_COMMAND_INCORRECT); + nErrorLevel = 1; + return 1; + } + + *p++ = _T('\0'); + if (!SetEnvironmentVariable(param, p)) + { + nErrorLevel = 1; + return 1; + } + } + else + { + /* display all environment variable with the given prefix */ + BOOL bFound = FALSE; + + while (_istspace(*param) || *param == _T(',') || *param == _T(';')) + param++; + + p = _tcsrchr(param, _T(' ')); + if (!p) + p = param + _tcslen(param); *p = _T('\0'); - p++; - if (*p == _T('\0')) - { - p = NULL; - } - SetEnvironmentVariable (param, p); - } - else - { - /* display environment variable */ - LPTSTR pszBuffer; - DWORD dwBuffer; - - pszBuffer = (LPTSTR)cmd_alloc (ENV_BUFFER_SIZE * sizeof(TCHAR)); - dwBuffer = GetEnvironmentVariable (param, pszBuffer, ENV_BUFFER_SIZE); - if (dwBuffer == 0) + + lpEnv = GetEnvironmentStrings(); + if (lpEnv) + { + lpOutput = lpEnv; + while (*lpOutput) + { + if (!_tcsnicmp(lpOutput, param, p - param)) + { + ConOutPuts(lpOutput); + bFound = TRUE; + } + lpOutput += _tcslen(lpOutput) + 1; + } + FreeEnvironmentStrings(lpEnv); + } + + if (!bFound) { ConErrResPrintf (STRING_PATH_ERROR, param); - return 0; - } - else if (dwBuffer > ENV_BUFFER_SIZE) - { - pszBuffer = (LPTSTR)cmd_realloc (pszBuffer, dwBuffer * sizeof (TCHAR)); - GetEnvironmentVariable (param, pszBuffer, dwBuffer); - } - ConOutPrintf (_T("%s\n"), pszBuffer); - - cmd_free (pszBuffer); - - return 0; + nErrorLevel = 1; + return 1; + } } return 0;
16 years, 4 months
1
0
0
0
[jmorlan] 35647: Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: - a hack in cmd_mkdir that was already obsolete a decade ago - to distinguish "echo" from "echo.", but that is the wrong way to implement this anyway. There's nothing particularly special about the period, "echo" is just one of those commands that is lenient about where its parameters begin, and when it echos a line, the first character (u
by jmorlan@svn.reactos.org
Author: jmorlan Date: Mon Aug 25 18:22:03 2008 New Revision: 35647 URL:
http://svn.reactos.org/svn/reactos?rev=35647&view=rev
Log: Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: - a hack in cmd_mkdir that was already obsolete a decade ago - to distinguish "echo" from "echo.", but that is the wrong way to implement this anyway. There's nothing particularly special about the period, "echo" is just one of those commands that is lenient about where its parameters begin, and when it echos a line, the first character (usually a space, but in the case of "echo." a period) is skipped. Modified: trunk/reactos/base/shell/cmd/alias.c trunk/reactos/base/shell/cmd/attrib.c trunk/reactos/base/shell/cmd/beep.c trunk/reactos/base/shell/cmd/call.c trunk/reactos/base/shell/cmd/chcp.c trunk/reactos/base/shell/cmd/choice.c trunk/reactos/base/shell/cmd/cls.c trunk/reactos/base/shell/cmd/cmd.c trunk/reactos/base/shell/cmd/cmd.h trunk/reactos/base/shell/cmd/cmdtable.c trunk/reactos/base/shell/cmd/color.c trunk/reactos/base/shell/cmd/copy.c trunk/reactos/base/shell/cmd/date.c trunk/reactos/base/shell/cmd/del.c trunk/reactos/base/shell/cmd/delay.c trunk/reactos/base/shell/cmd/dir.c trunk/reactos/base/shell/cmd/dirstack.c trunk/reactos/base/shell/cmd/echo.c trunk/reactos/base/shell/cmd/for.c trunk/reactos/base/shell/cmd/free.c trunk/reactos/base/shell/cmd/goto.c trunk/reactos/base/shell/cmd/history.c trunk/reactos/base/shell/cmd/if.c trunk/reactos/base/shell/cmd/internal.c trunk/reactos/base/shell/cmd/label.c trunk/reactos/base/shell/cmd/memory.c trunk/reactos/base/shell/cmd/move.c trunk/reactos/base/shell/cmd/msgbox.c trunk/reactos/base/shell/cmd/path.c trunk/reactos/base/shell/cmd/pause.c trunk/reactos/base/shell/cmd/prompt.c trunk/reactos/base/shell/cmd/ren.c trunk/reactos/base/shell/cmd/replace.c trunk/reactos/base/shell/cmd/screen.c trunk/reactos/base/shell/cmd/set.c trunk/reactos/base/shell/cmd/setlocal.c trunk/reactos/base/shell/cmd/shift.c trunk/reactos/base/shell/cmd/start.c trunk/reactos/base/shell/cmd/time.c trunk/reactos/base/shell/cmd/timer.c trunk/reactos/base/shell/cmd/title.c trunk/reactos/base/shell/cmd/type.c trunk/reactos/base/shell/cmd/ver.c trunk/reactos/base/shell/cmd/verify.c trunk/reactos/base/shell/cmd/vol.c trunk/reactos/base/shell/cmd/window.c Modified: trunk/reactos/base/shell/cmd/alias.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/alias.c?rev…
============================================================================== --- trunk/reactos/base/shell/cmd/alias.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/alias.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -139,7 +139,7 @@ } -INT CommandAlias (LPTSTR cmd, LPTSTR param) +INT CommandAlias (LPTSTR param) { LPTSTR ptr; Modified: trunk/reactos/base/shell/cmd/attrib.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/attrib.c?re…
============================================================================== --- trunk/reactos/base/shell/cmd/attrib.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/attrib.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -188,7 +188,7 @@ } -INT CommandAttrib (LPTSTR cmd, LPTSTR param) +INT CommandAttrib (LPTSTR param) { LPTSTR *arg; INT argc, i; Modified: trunk/reactos/base/shell/cmd/beep.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/beep.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/beep.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/beep.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -29,7 +29,7 @@ #ifdef INCLUDE_CMD_BEEP -INT cmd_beep (LPTSTR cmd, LPTSTR param) +INT cmd_beep (LPTSTR param) { if (_tcsncmp (param, _T("/?"), 2) == 0) { Modified: trunk/reactos/base/shell/cmd/call.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/call.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/call.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/call.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -40,11 +40,11 @@ * context block. */ -INT cmd_call (LPTSTR cmd, LPTSTR param) +INT cmd_call (LPTSTR param) { LPBATCH_CONTEXT n = NULL; - TRACE ("cmd_call: (\'%s\',\'%s\')\n", debugstr_aw(cmd), debugstr_aw(param)); + TRACE ("cmd_call: (\'%s\')\n", debugstr_aw(param)); if (!_tcsncmp (param, _T("/?"), 2)) { ConOutResPaging(TRUE,STRING_CALL_HELP); @@ -54,7 +54,7 @@ if (*param == _T(':') && (bc)) { bc->lCallPosition = SetFilePointer(bc->hBatchFile, 0, &bc->lCallPositionHigh, FILE_CURRENT); - cmd_goto(_T("goto"), param); + cmd_goto(param); return 0; } Modified: trunk/reactos/base/shell/cmd/chcp.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/chcp.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/chcp.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/chcp.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -17,7 +17,7 @@ #ifdef INCLUDE_CMD_CHCP -INT CommandChcp (LPTSTR cmd, LPTSTR param) +INT CommandChcp (LPTSTR param) { LPTSTR *arg; INT args; Modified: trunk/reactos/base/shell/cmd/choice.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/choice.c?re…
============================================================================== --- trunk/reactos/base/shell/cmd/choice.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/choice.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -100,7 +100,7 @@ INT -CommandChoice (LPTSTR cmd, LPTSTR param) +CommandChoice (LPTSTR param) { LPTSTR lpOptions; TCHAR Options[6]; Modified: trunk/reactos/base/shell/cmd/cls.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/cls.c?rev=3…
============================================================================== --- trunk/reactos/base/shell/cmd/cls.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/cls.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -30,7 +30,7 @@ #ifdef INCLUDE_CMD_CLS -INT cmd_cls (LPTSTR cmd, LPTSTR param) +INT cmd_cls (LPTSTR param) { CONSOLE_SCREEN_BUFFER_INFO csbi; COORD coPos; Modified: trunk/reactos/base/shell/cmd/cmd.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/cmd.c?rev=3…
============================================================================== --- trunk/reactos/base/shell/cmd/cmd.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/cmd.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -648,7 +648,7 @@ if (!_tcscmp (com, cmdptr->name)) { - cmdptr->func (com, rest); + cmdptr->func (rest); break; } @@ -669,11 +669,8 @@ { /* OK its one of the specials...*/ - /* Terminate first word properly */ - com[cl] = _T('\0'); - /* Call with new rest */ - cmdptr->func (com, cstart + cl); + cmdptr->func (cstart + cl); break; } } @@ -1541,10 +1538,10 @@ if (!IsExistingFile (_T("\\autoexec.bat"))) { #ifdef INCLUDE_CMD_DATE - cmd_date (_T(""), _T("")); + cmd_date (_T("")); #endif #ifdef INCLUDE_CMD_TIME - cmd_time (_T(""), _T("")); + cmd_time (_T("")); #endif } else Modified: trunk/reactos/base/shell/cmd/cmd.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/cmd.h?rev=3…
============================================================================== --- trunk/reactos/base/shell/cmd/cmd.h [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/cmd.h [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -68,30 +68,30 @@ /* Prototypes for ALIAS.C */ VOID ExpandAlias (LPTSTR, INT); -INT CommandAlias (LPTSTR, LPTSTR); +INT CommandAlias (LPTSTR); /* Prototypes for ATTRIB.C */ -INT CommandAttrib (LPTSTR, LPTSTR); +INT CommandAttrib (LPTSTR); /* Prototypes for BEEP.C */ -INT cmd_beep (LPTSTR, LPTSTR); +INT cmd_beep (LPTSTR); /* Prototypes for CALL.C */ -INT cmd_call (LPTSTR, LPTSTR); +INT cmd_call (LPTSTR); /* Prototypes for CHCP.C */ -INT CommandChcp (LPTSTR, LPTSTR); +INT CommandChcp (LPTSTR); /* Prototypes for CHOICE.C */ -INT CommandChoice (LPTSTR, LPTSTR); +INT CommandChoice (LPTSTR); /* Prototypes for CLS.C */ -INT cmd_cls (LPTSTR, LPTSTR); +INT cmd_cls (LPTSTR); /* Prototypes for CMD.C */ @@ -122,7 +122,7 @@ { LPTSTR name; INT flags; - INT (*func) (LPTSTR, LPTSTR); + INT (*func)(LPTSTR); } COMMAND, *LPCOMMAND; extern COMMAND cmds[]; /* The internal command table */ @@ -135,7 +135,7 @@ /* Prototypes for COLOR.C */ VOID SetScreenColor(WORD wArgColor, BOOL bFill); -INT CommandColor (LPTSTR, LPTSTR); +INT CommandColor (LPTSTR); VOID ConInDummy (VOID); VOID ConInDisable (VOID); @@ -169,39 +169,39 @@ VOID ConOutResPaging(BOOL NewPage, UINT resID); /* Prototypes for COPY.C */ -INT cmd_copy (LPTSTR, LPTSTR); +INT cmd_copy (LPTSTR); /* Prototypes for DATE.C */ -INT cmd_date (LPTSTR, LPTSTR); +INT cmd_date (LPTSTR); /* Prototypes for DEL.C */ -INT CommandDelete (LPTSTR, LPTSTR); +INT CommandDelete (LPTSTR); /* Prototypes for DELAY.C */ -INT CommandDelay (LPTSTR, LPTSTR); +INT CommandDelay (LPTSTR); /* Prototypes for DIR.C */ -INT CommandDir (LPTSTR, LPTSTR); +INT CommandDir (LPTSTR); /* Prototypes for DIRSTACK.C */ VOID InitDirectoryStack (VOID); VOID DestroyDirectoryStack (VOID); INT GetDirectoryStackDepth (VOID); -INT CommandPushd (LPTSTR, LPTSTR); -INT CommandPopd (LPTSTR, LPTSTR); -INT CommandDirs (LPTSTR, LPTSTR); +INT CommandPushd (LPTSTR); +INT CommandPopd (LPTSTR); +INT CommandDirs (LPTSTR); /* Prototypes for ECHO.C */ -INT CommandEcho (LPTSTR, LPTSTR); -INT CommandEchos (LPTSTR, LPTSTR); -INT CommandEchoerr (LPTSTR, LPTSTR); -INT CommandEchoserr (LPTSTR, LPTSTR); +INT CommandEcho (LPTSTR); +INT CommandEchos (LPTSTR); +INT CommandEchoerr (LPTSTR); +INT CommandEchoserr (LPTSTR); /* Prototypes for ERROR.C */ @@ -235,15 +235,15 @@ /* Prototypes for FOR.C */ -INT cmd_for (LPTSTR, LPTSTR); +INT cmd_for (LPTSTR); /* Prototypes for FREE.C */ -INT CommandFree (LPTSTR, LPTSTR); +INT CommandFree (LPTSTR); /* Prototypes for GOTO.C */ -INT cmd_goto (LPTSTR, LPTSTR); +INT cmd_goto (LPTSTR); /* Prototypes for HISTORY.C */ @@ -254,23 +254,23 @@ VOID InitHistory(VOID); VOID CleanHistory(VOID); VOID History_del_current_entry(LPTSTR str);/*CTRL-D*/ -INT CommandHistory (LPTSTR cmd, LPTSTR param); +INT CommandHistory (LPTSTR param); #endif /* Prototypes for INTERNAL.C */ VOID InitLastPath (VOID); VOID FreeLastPath (VOID); -INT cmd_chdir (LPTSTR, LPTSTR); -INT cmd_mkdir (LPTSTR, LPTSTR); -INT cmd_rmdir (LPTSTR, LPTSTR); -INT CommandExit (LPTSTR, LPTSTR); -INT CommandRem (LPTSTR, LPTSTR); -INT CommandShowCommands (LPTSTR, LPTSTR); -INT CommandShowCommandsDetail (LPTSTR, LPTSTR); +INT cmd_chdir (LPTSTR); +INT cmd_mkdir (LPTSTR); +INT cmd_rmdir (LPTSTR); +INT CommandExit (LPTSTR); +INT CommandRem (LPTSTR); +INT CommandShowCommands (LPTSTR); +INT CommandShowCommandsDetail (LPTSTR); /* Prototypes for LABEL.C */ -INT cmd_label (LPTSTR, LPTSTR); +INT cmd_label (LPTSTR); /* Prototypes for LOCALE.C */ @@ -292,7 +292,7 @@ extern UINT OutputCodePage; /* Prototypes for MEMORY.C */ -INT CommandMemory (LPTSTR, LPTSTR); +INT CommandMemory (LPTSTR); /* Prototypes for MISC.C */ @@ -322,11 +322,11 @@ /* Prototypes for MOVE.C */ -INT cmd_move (LPTSTR, LPTSTR); +INT cmd_move (LPTSTR); /* Prototypes for MSGBOX.C */ -INT CommandMsgbox (LPTSTR, LPTSTR); +INT CommandMsgbox (LPTSTR); /* Prototypes from PARSER.C */ @@ -346,12 +346,12 @@ /* Prototypes from PATH.C */ -INT cmd_path (LPTSTR, LPTSTR); +INT cmd_path (LPTSTR); /* Prototypes from PROMPT.C */ VOID PrintPrompt (VOID); -INT cmd_prompt (LPTSTR, LPTSTR); +INT cmd_prompt (LPTSTR); /* Prototypes for REDIR.C */ @@ -371,24 +371,24 @@ /* Prototypes for REN.C */ -INT cmd_rename (LPTSTR, LPTSTR); +INT cmd_rename (LPTSTR); /* Prototypes for REN.C */ -INT cmd_replace (LPTSTR, LPTSTR); +INT cmd_replace (LPTSTR); /* Prototypes for SCREEN.C */ -INT CommandScreen (LPTSTR, LPTSTR); +INT CommandScreen (LPTSTR); /* Prototypes for SET.C */ -INT cmd_set (LPTSTR, LPTSTR); +INT cmd_set (LPTSTR); /* Prototypes for SETLOCAL.C */ -INT cmd_setlocal (LPTSTR, LPTSTR); -INT cmd_endlocal (LPTSTR, LPTSTR); +INT cmd_setlocal (LPTSTR); +INT cmd_endlocal (LPTSTR); /* Prototypes for START.C */ -INT cmd_start (LPTSTR, LPTSTR); +INT cmd_start (LPTSTR); /* Prototypes for STRTOCLR.C */ @@ -396,45 +396,45 @@ /* Prototypes for TIME.C */ -INT cmd_time (LPTSTR, LPTSTR); +INT cmd_time (LPTSTR); /* Prototypes for TIMER.C */ -INT CommandTimer (LPTSTR cmd, LPTSTR param); +INT CommandTimer (LPTSTR param); /* Prototypes for TITLE.C */ -INT cmd_title (LPTSTR, LPTSTR); +INT cmd_title (LPTSTR); /* Prototypes for TYPE.C */ -INT cmd_type (LPTSTR, LPTSTR); +INT cmd_type (LPTSTR); /* Prototypes for VER.C */ VOID ShortVersion (VOID); -INT cmd_ver (LPTSTR, LPTSTR); +INT cmd_ver (LPTSTR); /* Prototypes for VERIFY.C */ -INT cmd_verify (LPTSTR, LPTSTR); +INT cmd_verify (LPTSTR); /* Prototypes for VOL.C */ -INT cmd_vol (LPTSTR, LPTSTR); +INT cmd_vol (LPTSTR); /* Prototypes for WHERE.C */ BOOL SearchForExecutable (LPCTSTR, LPTSTR); /* Prototypes for WINDOW.C */ -INT CommandActivate (LPTSTR, LPTSTR); -INT CommandWindow (LPTSTR, LPTSTR); +INT CommandActivate (LPTSTR); +INT CommandWindow (LPTSTR); /* The MSDOS Batch Commands [MS-DOS 5.0 User's Guide and Reference p359] */ -int cmd_if(TCHAR *, TCHAR *); -int cmd_pause(TCHAR *, TCHAR *); -int cmd_shift(TCHAR *, TCHAR *); +int cmd_if(TCHAR *); +int cmd_pause(TCHAR *); +int cmd_shift(TCHAR *); #endif /* _CMD_H_INCLUDED_ */ Modified: trunk/reactos/base/shell/cmd/cmdtable.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/cmdtable.c?…
============================================================================== --- trunk/reactos/base/shell/cmd/cmdtable.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/cmdtable.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -93,11 +93,9 @@ {_T("dirs"), 0, CommandDirs}, #endif - {_T("echo"), 0, CommandEcho}, - {_T("echo."), CMD_HIDE, CommandEcho}, + {_T("echo"), CMD_SPECIAL, CommandEcho}, {_T("echos"), 0, CommandEchos}, - {_T("echoerr"), 0, CommandEchoerr}, - {_T("echoerr."), CMD_HIDE, CommandEchoerr}, + {_T("echoerr"), CMD_SPECIAL, CommandEchoerr}, {_T("echoserr"), 0, CommandEchoserr}, {_T("endlocal"), 0, cmd_endlocal}, Modified: trunk/reactos/base/shell/cmd/color.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/color.c?rev…
============================================================================== --- trunk/reactos/base/shell/cmd/color.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/color.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -63,7 +63,7 @@ * * internal dir command */ -INT CommandColor (LPTSTR first, LPTSTR rest) +INT CommandColor (LPTSTR rest) { if (_tcsncmp (rest, _T("/?"), 2) == 0) { Modified: trunk/reactos/base/shell/cmd/copy.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/copy.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/copy.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/copy.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -290,7 +290,7 @@ } -INT cmd_copy (LPTSTR cmd, LPTSTR param) +INT cmd_copy (LPTSTR param) { LPTSTR *arg; INT argc, i, nFiles, nOverwrite = 0, nSrc = -1, nDes = -1; Modified: trunk/reactos/base/shell/cmd/date.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/date.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/date.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/date.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -176,7 +176,7 @@ } -INT cmd_date (LPTSTR cmd, LPTSTR param) +INT cmd_date (LPTSTR param) { LPTSTR *arg; INT argc; Modified: trunk/reactos/base/shell/cmd/del.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/del.c?rev=3…
============================================================================== --- trunk/reactos/base/shell/cmd/del.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/del.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -354,7 +354,7 @@ -INT CommandDelete (LPTSTR cmd, LPTSTR param) +INT CommandDelete (LPTSTR param) { /*cmd is the command that was given, in this case it will always be "del" or "delete" param is whatever is given after the command*/ Modified: trunk/reactos/base/shell/cmd/delay.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/delay.c?rev…
============================================================================== --- trunk/reactos/base/shell/cmd/delay.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/delay.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -14,7 +14,7 @@ #ifdef INCLUDE_CMD_DELAY -INT CommandDelay (LPTSTR cmd, LPTSTR param) +INT CommandDelay (LPTSTR param) { DWORD val; DWORD mul=1000; Modified: trunk/reactos/base/shell/cmd/dir.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/dir.c?rev=3…
============================================================================== --- trunk/reactos/base/shell/cmd/dir.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/dir.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -1789,7 +1789,7 @@ * internal dir command */ INT -CommandDir(LPTSTR first, LPTSTR rest) +CommandDir(LPTSTR rest) { TCHAR dircmd[256]; /* A variable to store the DIRCMD enviroment variable */ TCHAR path[MAX_PATH]; Modified: trunk/reactos/base/shell/cmd/dirstack.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/dirstack.c?…
============================================================================== --- trunk/reactos/base/shell/cmd/dirstack.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/dirstack.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -140,7 +140,7 @@ /* * pushd command */ -INT CommandPushd (LPTSTR first, LPTSTR rest) +INT CommandPushd (LPTSTR rest) { TCHAR curPath[MAX_PATH]; TCHAR newPath[MAX_PATH]; @@ -174,7 +174,7 @@ /* * popd command */ -INT CommandPopd (LPTSTR first, LPTSTR rest) +INT CommandPopd (LPTSTR rest) { TCHAR szPath[MAX_PATH]; @@ -201,7 +201,7 @@ /* * dirs command */ -INT CommandDirs (LPTSTR first, LPTSTR rest) +INT CommandDirs (LPTSTR rest) { LPDIRENTRY lpDir; Modified: trunk/reactos/base/shell/cmd/echo.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/echo.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/echo.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/echo.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -29,24 +29,11 @@ #include <precomp.h> -INT CommandEcho (LPTSTR cmd, LPTSTR param) +INT CommandEcho (LPTSTR param) { LPTSTR p1, p2; - TRACE ("CommandEcho '%s' : '%s'\n", debugstr_aw(cmd), debugstr_aw(param)); - - if (_tcsicmp (cmd, _T("echo.")) == 0) - { - if (param[0] == 0) - ConOutChar (_T('\n')); - else - ConOutPuts (param); - } - else - { - /* skip the first delimiter */ - if (_istspace(*param)) - param++; + TRACE ("CommandEcho: '%s'\n", debugstr_aw(param)); /* skip all spaces for the check of '/?', 'ON' and 'OFF' */ p1 = param; @@ -83,22 +70,22 @@ } if (*p1 != _T('\0')) { - ConOutPuts (param); + /* skip the first character */ + ConOutPuts(param + 1); } else { ConOutResPrintf(STRING_ECHO_HELP5, bEcho ? D_ON : D_OFF); } - } return 0; } -INT CommandEchos (LPTSTR cmd, LPTSTR param) +INT CommandEchos (LPTSTR param) { - TRACE ("CommandEchos '%s' : '%s'\n", debugstr_aw(cmd), debugstr_aw(param)); + TRACE ("CommandEchos: '%s'\n", debugstr_aw(param)); if (!_tcsncmp (param, _T("/?"), 2)) { @@ -113,10 +100,10 @@ } -INT CommandEchoerr (LPTSTR cmd, LPTSTR param) +INT CommandEchoerr (LPTSTR param) { - TRACE ("CommandEchoerr '%s' : '%s'\n", debugstr_aw(cmd), debugstr_aw(param)); + TRACE ("CommandEchoerr: '%s'\n", debugstr_aw(param)); if (!_tcsncmp (param, _T("/?"), 2)) { @@ -124,26 +111,16 @@ return 0; } - if (_tcsicmp (cmd, _T("echoerr.")) == 0) - { - if (param[0] == 0) - ConErrChar (_T('\n')); - else - ConErrPuts (param); - } - else if (*param) - { - ConErrPuts (param); - } + ConErrPuts (param); return 0; } -INT CommandEchoserr (LPTSTR cmd, LPTSTR param) +INT CommandEchoserr (LPTSTR param) { - TRACE ("CommandEchoserr '%s' : '%s'\n", debugstr_aw(cmd), debugstr_aw(param)); + TRACE ("CommandEchoserr: '%s'\n", debugstr_aw(param)); if (!_tcsncmp (param, _T("/?"), 2)) { Modified: trunk/reactos/base/shell/cmd/for.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/for.c?rev=3…
============================================================================== --- trunk/reactos/base/shell/cmd/for.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/for.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -47,14 +47,14 @@ * per list element. */ -INT cmd_for (LPTSTR cmd, LPTSTR param) +INT cmd_for (LPTSTR param) { LPBATCH_CONTEXT lpNew; LPTSTR pp; TCHAR var; TCHAR szMsg[RC_STRING_MAX_SIZE]; - TRACE ("cmd_for (\'%s\', \'%s\'\n", debugstr_aw(cmd), debugstr_aw(param)); + TRACE ("cmd_for (\'%s\')\n", debugstr_aw(param)); if (!_tcsncmp (param, _T("/?"), 2)) { Modified: trunk/reactos/base/shell/cmd/free.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/free.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/free.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/free.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -84,7 +84,7 @@ } -INT CommandFree (LPTSTR cmd, LPTSTR param) +INT CommandFree (LPTSTR param) { LPTSTR szParam; TCHAR szDefPath[MAX_PATH]; Modified: trunk/reactos/base/shell/cmd/goto.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/goto.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/goto.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/goto.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -36,13 +36,13 @@ * */ -INT cmd_goto (LPTSTR cmd, LPTSTR param) +INT cmd_goto (LPTSTR param) { TCHAR szMsg[RC_STRING_MAX_SIZE]; LPTSTR tmp, tmp2; LONG lNewPosHigh = 0; - TRACE ("cmd_goto (\'%s\', \'%s\'\n", debugstr_aw(cmd), debugstr_aw(param)); + TRACE ("cmd_goto (\'%s\')\n", debugstr_aw(param)); if (!_tcsncmp (param, _T("/?"), 2)) { Modified: trunk/reactos/base/shell/cmd/history.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/history.c?r…
============================================================================== --- trunk/reactos/base/shell/cmd/history.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/history.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -74,7 +74,7 @@ -INT CommandHistory (LPTSTR cmd, LPTSTR param) +INT CommandHistory (LPTSTR param) { LPTSTR tmp; INT tmp_int; Modified: trunk/reactos/base/shell/cmd/if.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/if.c?rev=35…
============================================================================== --- trunk/reactos/base/shell/cmd/if.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/if.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -36,12 +36,12 @@ #define X_EXEC 1 #define X_EMPTY 0x80 -INT cmd_if (LPTSTR cmd, LPTSTR param) +INT cmd_if (LPTSTR param) { INT x_flag = 0; /* when set cause 'then' clause to be executed */ LPTSTR pp; - TRACE ("cmd_if: (\'%s\', \'%s\')\n", debugstr_aw(cmd), debugstr_aw(param)); + TRACE ("cmd_if: (\'%s\')\n", debugstr_aw(param)); if (!_tcsncmp (param, _T("/?"), 2)) { Modified: trunk/reactos/base/shell/cmd/internal.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/internal.c?…
============================================================================== --- trunk/reactos/base/shell/cmd/internal.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/internal.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -267,7 +267,7 @@ * CD / CHDIR * */ -INT cmd_chdir (LPTSTR cmd, LPTSTR param) +INT cmd_chdir (LPTSTR param) { WIN32_FIND_DATA f; @@ -455,10 +455,9 @@ * MD / MKDIR * */ -INT cmd_mkdir (LPTSTR cmd, LPTSTR param) +INT cmd_mkdir (LPTSTR param) { LPTSTR dir; /* pointer to the directory to change to */ - LPTSTR place; /* used to search for the \ when no space is used */ LPTSTR *p = NULL; INT argc; nErrorLevel = 0; @@ -469,28 +468,6 @@ } - /* check if there is no space between the command and the path */ - if (param[0] == _T('\0')) - { - /* search for the \ or . so that both short & long names will work */ - for (place = cmd; *place; place++) - if (*place == _T('.') || *place == _T('\\')) - break; - - if (*place) - { - argc = 0; - if (add_entry(&argc, &p, place)) - dir = place; - else - dir = NULL; - } - else - /* signal that there are no parameters */ - dir = NULL; - } - else - { p = split (param, &argc, FALSE); if (argc > 1) { @@ -501,7 +478,6 @@ } else dir = p[0]; - } if (!dir) { @@ -573,7 +549,7 @@ } return RemoveDirectory(FileName); } -INT cmd_rmdir (LPTSTR cmd, LPTSTR param) +INT cmd_rmdir (LPTSTR param) { TCHAR dir[MAX_PATH]; /* pointer to the directory to change to */ TCHAR ch; @@ -707,7 +683,7 @@ * set the exitflag to true * */ -INT CommandExit (LPTSTR cmd, LPTSTR param) +INT CommandExit (LPTSTR param) { if (!_tcsncmp (param, _T("/?"), 2)) { @@ -741,7 +717,7 @@ * does nothing * */ -INT CommandRem (LPTSTR cmd, LPTSTR param) +INT CommandRem (LPTSTR param) { if (!_tcsncmp (param, _T("/?"), 2)) { @@ -753,13 +729,13 @@ #endif /* INCLUDE_CMD_REM */ -INT CommandShowCommands (LPTSTR cmd, LPTSTR param) +INT CommandShowCommands (LPTSTR param) { PrintCommandList (); return 0; } -INT CommandShowCommandsDetail (LPTSTR cmd, LPTSTR param) +INT CommandShowCommandsDetail (LPTSTR param) { /* If a param was send, display help of correspondent command */ if (_tcslen(param)) Modified: trunk/reactos/base/shell/cmd/label.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/label.c?rev…
============================================================================== --- trunk/reactos/base/shell/cmd/label.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/label.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -22,7 +22,7 @@ #ifdef INCLUDE_CMD_LABEL -INT cmd_label (LPTSTR cmd, LPTSTR param) +INT cmd_label (LPTSTR param) { TCHAR szRootPath[] = _T("A:\\"); TCHAR szLabel[80]; Modified: trunk/reactos/base/shell/cmd/memory.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/memory.c?re…
============================================================================== --- trunk/reactos/base/shell/cmd/memory.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/memory.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -32,7 +32,7 @@ } -INT CommandMemory (LPTSTR cmd, LPTSTR param) +INT CommandMemory (LPTSTR param) { MEMORYSTATUS ms; TCHAR szMemoryLoad[20]; Modified: trunk/reactos/base/shell/cmd/move.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/move.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/move.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/move.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -83,7 +83,7 @@ } -INT cmd_move (LPTSTR cmd, LPTSTR param) +INT cmd_move (LPTSTR param) { LPTSTR *arg; INT argc, i, nFiles; Modified: trunk/reactos/base/shell/cmd/msgbox.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/msgbox.c?re…
============================================================================== --- trunk/reactos/base/shell/cmd/msgbox.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/msgbox.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -22,7 +22,7 @@ #define _SYNTAX_CHECK -INT CommandMsgbox (LPTSTR cmd, LPTSTR param) +INT CommandMsgbox (LPTSTR param) { //used to parse command line Modified: trunk/reactos/base/shell/cmd/path.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/path.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/path.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/path.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -33,7 +33,7 @@ #define ENV_BUFFER_SIZE 1024 -INT cmd_path (LPTSTR cmd, LPTSTR param) +INT cmd_path (LPTSTR param) { if (!_tcsncmp (param, _T("/?"), 2)) Modified: trunk/reactos/base/shell/cmd/pause.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/pause.c?rev…
============================================================================== --- trunk/reactos/base/shell/cmd/pause.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/pause.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -34,10 +34,10 @@ * Remove all hardcode string to En.rc */ -INT cmd_pause (LPTSTR cmd, LPTSTR param) +INT cmd_pause (LPTSTR param) { - TRACE ("cmd_pause: \'%s\' : \'%s\')\n", debugstr_aw(cmd), debugstr_aw(param)); + TRACE ("cmd_pause: \'%s\')\n", debugstr_aw(param)); if (!_tcsncmp (param, _T("/?"), 2)) { Modified: trunk/reactos/base/shell/cmd/prompt.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/prompt.c?re…
============================================================================== --- trunk/reactos/base/shell/cmd/prompt.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/prompt.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -190,7 +190,7 @@ #ifdef INCLUDE_CMD_PROMPT -INT cmd_prompt (LPTSTR cmd, LPTSTR param) +INT cmd_prompt (LPTSTR param) { if (!_tcsncmp (param, _T("/?"), 2)) { Modified: trunk/reactos/base/shell/cmd/ren.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/ren.c?rev=3…
============================================================================== --- trunk/reactos/base/shell/cmd/ren.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/ren.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -40,7 +40,7 @@ * file rename internal command. * */ -INT cmd_rename (LPTSTR cmd, LPTSTR param) +INT cmd_rename (LPTSTR param) { LPTSTR *arg = NULL; INT args = 0; Modified: trunk/reactos/base/shell/cmd/replace.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/replace.c?r…
============================================================================== --- trunk/reactos/base/shell/cmd/replace.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/replace.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -358,7 +358,7 @@ return filesReplaced; } -INT cmd_replace (LPTSTR cmd, LPTSTR param) +INT cmd_replace (LPTSTR param) { LPTSTR *arg; INT argc, i,filesReplaced = 0, nFiles, srcIndex = -1, destIndex = -1; Modified: trunk/reactos/base/shell/cmd/screen.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/screen.c?re…
============================================================================== --- trunk/reactos/base/shell/cmd/screen.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/screen.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -16,7 +16,7 @@ #ifdef INCLUDE_CMD_SCREEN -INT CommandScreen (LPTSTR cmd, LPTSTR param) +INT CommandScreen (LPTSTR param) { SHORT x,y; BOOL bSkipText = FALSE; Modified: trunk/reactos/base/shell/cmd/set.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/set.c?rev=3…
============================================================================== --- trunk/reactos/base/shell/cmd/set.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/set.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -51,7 +51,7 @@ return p + _tcsspn ( p, _T(" \t") ); } -INT cmd_set (LPTSTR cmd, LPTSTR param) +INT cmd_set (LPTSTR param) { LPTSTR p; Modified: trunk/reactos/base/shell/cmd/setlocal.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/setlocal.c?…
============================================================================== --- trunk/reactos/base/shell/cmd/setlocal.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/setlocal.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -14,13 +14,13 @@ /* our current default is delayedexpansion */ -INT cmd_setlocal (LPTSTR cmd, LPTSTR param) +INT cmd_setlocal (LPTSTR param) { return 0; } /* endlocal doesn't take any params */ -INT cmd_endlocal (LPTSTR cmd, LPTSTR param) +INT cmd_endlocal (LPTSTR param) { return 0; } Modified: trunk/reactos/base/shell/cmd/shift.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/shift.c?rev…
============================================================================== --- trunk/reactos/base/shell/cmd/shift.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/shift.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -36,10 +36,10 @@ * */ -INT cmd_shift (LPTSTR cmd, LPTSTR param) +INT cmd_shift (LPTSTR param) { - TRACE ("cmd_shift: (\'%s\', \'%s\')\n", debugstr_aw(cmd), debugstr_aw(param)); + TRACE ("cmd_shift: (\'%s\')\n", debugstr_aw(param)); if (!_tcsncmp (param, _T("/?"), 2)) { Modified: trunk/reactos/base/shell/cmd/start.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/start.c?rev…
============================================================================== --- trunk/reactos/base/shell/cmd/start.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/start.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -34,7 +34,7 @@ return start - 1; } -INT cmd_start (LPTSTR First, LPTSTR Rest) +INT cmd_start (LPTSTR Rest) { TCHAR szFullName[CMDLINE_LENGTH]; TCHAR rest[CMDLINE_LENGTH]; Modified: trunk/reactos/base/shell/cmd/time.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/time.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/time.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/time.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -129,7 +129,7 @@ } -INT cmd_time (LPTSTR cmd, LPTSTR param) +INT cmd_time (LPTSTR param) { LPTSTR *arg; INT argc; Modified: trunk/reactos/base/shell/cmd/timer.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/timer.c?rev…
============================================================================== --- trunk/reactos/base/shell/cmd/timer.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/timer.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -60,7 +60,7 @@ } -INT CommandTimer (LPTSTR cmd, LPTSTR param) +INT CommandTimer (LPTSTR param) { // all timers are kept static DWORD clksT[10]; Modified: trunk/reactos/base/shell/cmd/title.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/title.c?rev…
============================================================================== --- trunk/reactos/base/shell/cmd/title.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/title.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -14,7 +14,7 @@ #ifdef INCLUDE_CMD_TITLE -INT cmd_title (LPTSTR cmd, LPTSTR param) +INT cmd_title (LPTSTR param) { /* Do nothing if no args */ Modified: trunk/reactos/base/shell/cmd/type.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/type.c?rev=…
============================================================================== --- trunk/reactos/base/shell/cmd/type.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/type.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -31,7 +31,7 @@ #ifdef INCLUDE_CMD_TYPE -INT cmd_type (LPTSTR cmd, LPTSTR param) +INT cmd_type (LPTSTR param) { TCHAR buff[256]; HANDLE hFile, hConsoleOut; Modified: trunk/reactos/base/shell/cmd/ver.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/ver.c?rev=3…
============================================================================== --- trunk/reactos/base/shell/cmd/ver.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/ver.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -57,7 +57,7 @@ * * */ -INT cmd_ver (LPTSTR cmd, LPTSTR param) +INT cmd_ver (LPTSTR param) { INT i; Modified: trunk/reactos/base/shell/cmd/verify.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/verify.c?re…
============================================================================== --- trunk/reactos/base/shell/cmd/verify.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/verify.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -27,7 +27,7 @@ static BOOL bVerify = FALSE; -INT cmd_verify (LPTSTR cmd, LPTSTR param) +INT cmd_verify (LPTSTR param) { if (!_tcsncmp (param, _T("/?"), 2)) { Modified: trunk/reactos/base/shell/cmd/vol.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/vol.c?rev=3…
============================================================================== --- trunk/reactos/base/shell/cmd/vol.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/vol.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -61,7 +61,7 @@ } -INT cmd_vol (LPTSTR cmd, LPTSTR param) +INT cmd_vol (LPTSTR param) { TCHAR szRootPath[] = _T("A:\\"); TCHAR szPath[MAX_PATH]; Modified: trunk/reactos/base/shell/cmd/window.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/window.c?re…
============================================================================== --- trunk/reactos/base/shell/cmd/window.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/window.c [iso-8859-1] Mon Aug 25 18:22:03 2008 @@ -173,7 +173,7 @@ -INT CommandWindow (LPTSTR cmd, LPTSTR param) +INT CommandWindow (LPTSTR param) { HWND hwnd; @@ -189,7 +189,7 @@ } -INT CommandActivate (LPTSTR cmd, LPTSTR param) +INT CommandActivate (LPTSTR param) { HWND hwnd; LPTSTR *arg;
16 years, 4 months
1
0
0
0
[tkreuzer] 35646: Merge 34739 - 34769, 34796 - 34905, 34916 - 34967, 34970 - 35135, 35167, 35325, 35326, 35443 - 35506, 35510 - 35546, 35587, 35616, 35644 from ros-amd64-bringup branch: - Update AMD64 intrinsic Interlocked functions - Add _InterlockedExchange64 to intin_x86.h -Fix definitions of IsBadHugeReadPtr, IsBadHugeWritePtr, IsBadReadPtr, IsBadStringPtrA, IsBadStringPtrW, IsBadWritePtr and SetProcessWorkingSetSize - Define CONTEXT and XMM_SAVE_AREA32, taken from WINE - Include _M_AMD64 fo
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Mon Aug 25 16:57:13 2008 New Revision: 35646 URL:
http://svn.reactos.org/svn/reactos?rev=35646&view=rev
Log: Merge 34739 - 34769, 34796 - 34905, 34916 - 34967, 34970 - 35135, 35167, 35325, 35326, 35443 - 35506, 35510 - 35546, 35587, 35616, 35644 from ros-amd64-bringup branch: - Update AMD64 intrinsic Interlocked functions - Add _InterlockedExchange64 to intin_x86.h -Fix definitions of IsBadHugeReadPtr, IsBadHugeWritePtr, IsBadReadPtr, IsBadStringPtrA, IsBadStringPtrW, IsBadWritePtr and SetProcessWorkingSetSize - Define CONTEXT and XMM_SAVE_AREA32, taken from WINE - Include _M_AMD64 for defintitions in ioaccess.h - Add Interlocked intrinisc definitions for AMD64 platform - Add KI_USER_SHARED_DATA and KeGetCurrentIrql() prototype to winddh - Fix prototypes for KfAcquireSpinLock, KfReleaseSpinLock, KeAcquireInStackQueuedSpinLock and KeReleaseInStackQueuedSpinLock on amd64 - Fix rotl declaration, add mysteriously missing rotr. winnt.h: - Fix CONTEXT_AMD64 and friends, add various constants. - Define RUNTIME_FUNCTION, RtlCaptureContext, RtlRestoreContext, RtlAddFunctionTable, RtlInstallFunctionTableCallback, RtlDeleteFunctionTable. - Fix definitions for EXCEPTION_RECORD and friends to support amd64. - Define IMAGE_THUNK_DATA64 and related constants. - Define IMAGE_TLS_DIRECTORY64 and related constants. - Remove WINEisms - Remove multiple declarations and minor fixes. - Fix KESEG0_BASE for amd64 - Fix definition for NdisCopyLookaheadData on amd64 - Only add function prototypes if NO_INTERLOCKED_INTRINSICS is defined - Move the inlined InterlockedAnd/Or from rtl to winbase.h and rename it to InterlockedAnd/Or_Inline - Fix TreeView_EnsureVisible macro. - Add missing 64 bit intrinsic Interlocked functions - Fix _InterlockedDecrement64 - Fix InterlockedExchangeAddSizeT - Fix __writecrx instrinsics - Fix ExQueryPoolBlockSize prototype - Make KI_USER_SHARED_DATA and IMAGE_ORDINAL_FLAG64 a ULONGLONG - Fix definition if IMAGE_OPTIONAL_HEADER64 - Add KPCR structure - Add __readcrx intrinsics - Ad some definitions to winddk.h - Add a field for a DbgPrint function pointer to the ROS_LOADER_PARAMETER_BLOCK for early debug prints in ntoskrnl - Update KPCR and KIPCR - Add KeGetPcr() and update KeGetCurrentProcessorNumber - Fix SECURITY_DESCRIPTOR_RELATIVE and KDPC_DATA - Implement byteswap intrinsics - Add macro definitions for KeQuerySystemTime, KeQueryTickCount and KeQueryInterruptTime to ddk - Add NtCurrentTeb inline function - Update amd64 prototypes for KeGetCurrentIrql, KfRaiseIrql, KfLowerIrql, KeRaiseIrqlToDpcLevel, KeRaiseIrqlToSynchLevel, KeLowerIrql, KeRaiseIrql - Implement __readcr8, __writecr8, __lidt and __sidt intrinsics. - Implement KeGetCurrentIrql as intrinsic. - Make KeGetCurrentIrql, KeLowerIrql, KfRaiseIrql, KeRaiseIrql, KeRaiseIrqlToDpcLevel and KeRaiseIrqlToSynchLevel intrinsics as in the WDK 2008. - Fix _interlockedbittest intrinsics - Fix __readmsr and __writemsr on amd64 - Fix __readgsqword, it was using a long internally. Add volatile keyword to segment addressing intrinsics. Add "memory" to clobber list on all those that do write. - Merge __readcr and __writecr x86 / x64 definitions, because they are the same. Implement __readdr and __writedr for x64. - __readcr3() returns an unsigned __int64, fix x86 MmGetPageDirectory accordingly. Modified: trunk/reactos/include/ddk/ioaccess.h trunk/reactos/include/ddk/ndis.h trunk/reactos/include/ddk/ntifs.h trunk/reactos/include/ddk/winddk.h trunk/reactos/include/ndk/psfuncs.h trunk/reactos/include/psdk/commctrl.h trunk/reactos/include/psdk/intrin_x86.h trunk/reactos/include/psdk/winbase.h trunk/reactos/include/psdk/windef.h trunk/reactos/include/psdk/winnt.h trunk/reactos/include/reactos/rosldr.h trunk/reactos/include/reactos/wine/port.h trunk/reactos/lib/rtl/srw.c trunk/reactos/ntoskrnl/mm/i386/page.c Modified: trunk/reactos/include/ddk/ioaccess.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ioaccess.h?rev…
============================================================================== --- trunk/reactos/include/ddk/ioaccess.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/ioaccess.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -31,7 +31,7 @@ #ifndef NO_PORT_MACROS -#if defined(_X86_) +#if defined(_X86_) || defined(_M_AMD64) #define READ_REGISTER_UCHAR(r) (*(volatile UCHAR *)(r)) #define READ_REGISTER_USHORT(r) (*(volatile USHORT *)(r)) #define READ_REGISTER_ULONG(r) (*(volatile ULONG *)(r)) Modified: trunk/reactos/include/ddk/ndis.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ndis.h?rev=356…
============================================================================== --- trunk/reactos/include/ddk/ndis.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/ndis.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -1589,7 +1589,7 @@ * IN ULONG ReceiveFlags); */ -#ifdef _M_IX86 +#if defined(_M_IX86) || defined(_M_AMD64) #define NdisCopyLookaheadData(Destination, Source, Length, MacOptions) \ RtlCopyMemory(Destination, Source, Length) #else Modified: trunk/reactos/include/ddk/ntifs.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntifs.h?rev=35…
============================================================================== --- trunk/reactos/include/ddk/ntifs.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/ntifs.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -2499,7 +2499,7 @@ ); NTKERNELAPI -ULONG +SIZE_T NTAPI ExQueryPoolBlockSize ( IN PVOID PoolBlock, Modified: trunk/reactos/include/ddk/winddk.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/winddk.h?rev=3…
============================================================================== --- trunk/reactos/include/ddk/winddk.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/winddk.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -769,27 +769,6 @@ IN PVOID MapRegisterBase, IN PVOID Context); - -typedef struct _EXCEPTION_RECORD32 -{ - NTSTATUS ExceptionCode; - ULONG ExceptionFlags; - ULONG ExceptionRecord; - ULONG ExceptionAddress; - ULONG NumberParameters; - ULONG ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; -} EXCEPTION_RECORD32, *PEXCEPTION_RECORD32; - -typedef struct _EXCEPTION_RECORD64 -{ - NTSTATUS ExceptionCode; - ULONG ExceptionFlags; - ULONG64 ExceptionRecord; - ULONG64 ExceptionAddress; - ULONG NumberParameters; - ULONG __unusedAlignment; - ULONG64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; -} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64; typedef EXCEPTION_DISPOSITION (DDKAPI *PEXCEPTION_ROUTINE)( @@ -5510,9 +5489,116 @@ #elif defined(__x86_64__) +#define PASSIVE_LEVEL 0 +#define LOW_LEVEL 0 +#define APC_LEVEL 1 +#define DISPATCH_LEVEL 2 +#define CLOCK_LEVEL 13 +#define IPI_LEVEL 14 +#define POWER_LEVEL 14 +#define PROFILE_LEVEL 15 +#define HIGH_LEVEL 15 + +#define PAGE_SIZE 0x1000 +#define PAGE_SHIFT 12L +#define PTI_SHIFT 12L +#define PDI_SHIFT 21L +#define PPI_SHIFT 30L +#define PXI_SHIFT 39L +#define PTE_PER_PAGE 512 +#define PDE_PER_PAGE 512 +#define PPE_PER_PAGE 512 +#define PXE_PER_PAGE 512 +#define PTI_MASK_AMD64 (PTE_PER_PAGE - 1) +#define PDI_MASK_AMD64 (PDE_PER_PAGE - 1) +#define PPI_MASK (PPE_PER_PAGE - 1) +#define PXI_MASK (PXE_PER_PAGE - 1) + +#define PXE_BASE 0xFFFFF6FB7DBED000ULL +#define PXE_SELFMAP 0xFFFFF6FB7DBEDF68ULL +#define PPE_BASE 0xFFFFF6FB7DA00000ULL +#define PDE_BASE 0xFFFFF6FB40000000ULL +#define PTE_BASE 0xFFFFF68000000000ULL +#define PXE_TOP 0xFFFFF6FB7DBEDFFFULL +#define PPE_TOP 0xFFFFF6FB7DBFFFFFULL +#define PDE_TOP 0xFFFFF6FB7FFFFFFFULL +#define PTE_TOP 0xFFFFF6FFFFFFFFFFULL + +#define MM_LOWEST_USER_ADDRESS (PVOID)0x10000 +#define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xFFFF080000000000ULL +#define KI_USER_SHARED_DATA 0xFFFFF78000000000ULL + +#define SharedUserData ((PKUSER_SHARED_DATA const)KI_USER_SHARED_DATA) +#define SharedInterruptTime (&SharedUserData->InterruptTime) +#define SharedSystemTime (&SharedUserData->SystemTime) +#define SharedTickCount (&SharedUserData->TickCount) + +#define KeQueryInterruptTime() \ + (*(volatile ULONG64*)SharedInterruptTime) +#define KeQuerySystemTime(CurrentCount) \ + *(ULONG64*)(CurrentCount) = *(volatile ULONG64*)SharedSystemTime +#define KeQueryTickCount(CurrentCount) \ + *(ULONG64*)(CurrentCount) = *(volatile ULONG64*)SharedTickCount + +typedef struct _KPCR +{ + union + { + NT_TIB NtTib; + struct + { + union _KGDTENTRY64 *GdtBase; + struct _KTSS64 *TssBase; + ULONG64 UserRsp; + struct _KPCR *Self; + struct _KPRCB *CurrentPrcb; + PKSPIN_LOCK_QUEUE LockArray; + PVOID Used_Self; + }; + }; + union _KIDTENTRY64 *IdtBase; + ULONG64 Unused[2]; + KIRQL Irql; + UCHAR SecondLevelCacheAssociativity; + UCHAR ObsoleteNumber; + UCHAR Fill0; + ULONG Unused0[3]; + USHORT MajorVersion; + USHORT MinorVersion; + ULONG StallScaleFactor; + PVOID Unused1[3]; + ULONG KernelReserved[15]; + ULONG SecondLevelCacheSize; + ULONG HalReserved[16]; + ULONG Unused2; + PVOID KdVersionBlock; + PVOID Unused3; + ULONG PcrAlign1[24]; +} KPCR, *PKPCR; + typedef struct _KFLOATING_SAVE { ULONG Dummy; } KFLOATING_SAVE, *PKFLOATING_SAVE; + +NTKERNELAPI +PRKTHREAD +NTAPI +KeGetCurrentThread( + VOID); + +FORCEINLINE +PKPCR +KeGetPcr(VOID) +{ + return (PKPCR)__readgsqword(FIELD_OFFSET(KPCR, Self)); +} + +FORCEINLINE +ULONG +KeGetCurrentProcessorNumber(VOID) +{ + return (ULONG)__readgsword(0x184); +} #elif defined(__PowerPC__) @@ -5704,6 +5790,8 @@ #if !defined(__INTERLOCKED_DECLARED) #define __INTERLOCKED_DECLARED +#if defined (_X86_) +#if defined(NO_INTERLOCKED_INTRINSICS) NTKERNELAPI LONG FASTCALL @@ -5738,18 +5826,30 @@ IN OUT LONG volatile *Addend, IN LONG Value); +#else // !defined(NO_INTERLOCKED_INTRINSICS) + +#define InterlockedExchange _InterlockedExchange +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedExchangeAdd _InterlockedExchangeAdd +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedOr _InterlockedOr +#define InterlockedAnd _InterlockedAnd +#define InterlockedXor _InterlockedXor + +#endif // !defined(NO_INTERLOCKED_INTRINSICS) + +#endif // defined (_X86_) + +#if !defined (_WIN64) /* * PVOID * InterlockedExchangePointer( * IN OUT PVOID VOLATILE *Target, * IN PVOID Value) */ -#if defined (_M_AMD64) -#define InterlockedExchangePointer _InterlockedExchangePointer -#else #define InterlockedExchangePointer(Target, Value) \ ((PVOID) InterlockedExchange((PLONG) Target, (LONG) Value)) -#endif /* * PVOID @@ -5758,17 +5858,54 @@ * IN PVOID Exchange, * IN PVOID Comparand) */ -#if defined (_M_AMD64) -#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer -#else #define InterlockedCompareExchangePointer(Destination, Exchange, Comparand) \ ((PVOID) InterlockedCompareExchange((PLONG) Destination, (LONG) Exchange, (LONG) Comparand)) -#endif #define InterlockedExchangeAddSizeT(a, b) InterlockedExchangeAdd((LONG *)a, b) #define InterlockedIncrementSizeT(a) InterlockedIncrement((LONG *)a) #define InterlockedDecrementSizeT(a) InterlockedDecrement((LONG *)a) +#endif // !defined (_WIN64) + +#if defined (_M_AMD64) + +#define InterlockedExchangeAddSizeT(a, b) InterlockedExchangeAdd64((LONGLONG *)a, (LONGLONG)b) +#define InterlockedIncrementSizeT(a) InterlockedIncrement64((LONGLONG *)a) +#define InterlockedDecrementSizeT(a) InterlockedDecrement64((LONGLONG *)a) +#define InterlockedAnd _InterlockedAnd +#define InterlockedOr _InterlockedOr +#define InterlockedXor _InterlockedXor +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedAdd _InterlockedAdd +#define InterlockedExchange _InterlockedExchange +#define InterlockedExchangeAdd _InterlockedExchangeAdd +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedAnd64 _InterlockedAnd64 +#define InterlockedOr64 _InterlockedOr64 +#define InterlockedXor64 _InterlockedXor64 +#define InterlockedIncrement64 _InterlockedIncrement64 +#define InterlockedDecrement64 _InterlockedDecrement64 +#define InterlockedAdd64 _InterlockedAdd64 +#define InterlockedExchange64 _InterlockedExchange64 +#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64 +#define InterlockedCompareExchange64 _InterlockedCompareExchange64 +#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer +#define InterlockedExchangePointer _InterlockedExchangePointer + +#define ExInterlockedPopEntrySList(Head, Lock) ExpInterlockedPopEntrySList(Head) +#define ExInterlockedPushEntrySList(Head, Entry, Lock) ExpInterlockedPushEntrySList(Head, Entry) +#define ExInterlockedFlushSList(Head) ExpInterlockedFlushSList(Head) + +#if !defined(_WINBASE_) +#define InterlockedPopEntrySList(Head) ExpInterlockedPopEntrySList(Head) +#define InterlockedPushEntrySList(Head, Entry) ExpInterlockedPushEntrySList(Head, Entry) +#define InterlockedFlushSList(Head) ExpInterlockedFlushSList(Head) +#define QueryDepthSList(Head) ExQueryDepthSList(Head) +#endif // !defined(_WINBASE_ + +#endif // _M_AMD64 + #endif /* !__INTERLOCKED_DECLARED */ NTKERNELAPI @@ -5783,6 +5920,20 @@ KefReleaseSpinLockFromDpcLevel( IN PKSPIN_LOCK SpinLock); +#if defined(_M_AMD64) +NTKERNELAPI +KIRQL +FASTCALL +KfAcquireSpinLock( + IN PKSPIN_LOCK SpinLock); + +NTKERNELAPI +VOID +FASTCALL +KfReleaseSpinLock( + IN PKSPIN_LOCK SpinLock, + IN KIRQL NewIrql); +#else NTHALAPI KIRQL FASTCALL @@ -5795,6 +5946,7 @@ KfReleaseSpinLock( IN PKSPIN_LOCK SpinLock, IN KIRQL NewIrql); +#endif NTKERNELAPI BOOLEAN @@ -9288,12 +9440,33 @@ /** Kernel routines **/ -NTHALAPI +#if defined (_M_AMD64) +NTKERNELAPI VOID FASTCALL KeAcquireInStackQueuedSpinLock( IN PKSPIN_LOCK SpinLock, IN PKLOCK_QUEUE_HANDLE LockHandle); + +NTKERNELAPI +VOID +FASTCALL +KeReleaseInStackQueuedSpinLock( + IN PKLOCK_QUEUE_HANDLE LockHandle); +#else +NTHALAPI +VOID +FASTCALL +KeAcquireInStackQueuedSpinLock( + IN PKSPIN_LOCK SpinLock, + IN PKLOCK_QUEUE_HANDLE LockHandle); + +NTHALAPI +VOID +FASTCALL +KeReleaseInStackQueuedSpinLock( + IN PKLOCK_QUEUE_HANDLE LockHandle); +#endif NTKERNELAPI VOID @@ -9481,24 +9654,25 @@ IN KPRIORITY Increment, IN BOOLEAN Wait); +NTHALAPI +LARGE_INTEGER +NTAPI +KeQueryPerformanceCounter( + OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL); + +NTKERNELAPI +KPRIORITY +NTAPI +KeQueryPriorityThread( + IN PRKTHREAD Thread); + +#if !defined(_M_AMD64) NTKERNELAPI ULONGLONG NTAPI KeQueryInterruptTime( VOID); -NTHALAPI -LARGE_INTEGER -NTAPI -KeQueryPerformanceCounter( - OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL); - -NTKERNELAPI -KPRIORITY -NTAPI -KeQueryPriorityThread( - IN PRKTHREAD Thread); - NTKERNELAPI VOID NTAPI @@ -9510,6 +9684,7 @@ NTAPI KeQueryTickCount( OUT PLARGE_INTEGER TickCount); +#endif NTKERNELAPI ULONG @@ -9551,12 +9726,6 @@ IN PVOID Buffer, IN ULONG Length, IN PUCHAR Component); - -NTHALAPI -VOID -FASTCALL -KeReleaseInStackQueuedSpinLock( - IN PKLOCK_QUEUE_HANDLE LockHandle); NTKERNELAPI VOID @@ -9790,6 +9959,50 @@ #define KeLowerIrql(a) KfLowerIrql(a) #define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a) + +#elif defined(_M_AMD64) + +FORCEINLINE +KIRQL +KeGetCurrentIrql(VOID) +{ + return (KIRQL)__readcr8(); +} + +FORCEINLINE +VOID +KeLowerIrql(IN KIRQL NewIrql) +{ + ASSERT(KeGetCurrentIrql() >= NewIrql); + __writecr8(NewIrql); +} + +FORCEINLINE +KIRQL +KfRaiseIrql(IN KIRQL NewIrql) +{ + KIRQL OldIrql; + + OldIrql = __readcr8(); + ASSERT(OldIrql <= NewIrql); + __writecr8(NewIrql); + return OldIrql; +} +#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a) + +FORCEINLINE +KIRQL +KeRaiseIrqlToDpcLevel(VOID) +{ + return KfRaiseIrql(DISPATCH_LEVEL); +} + +FORCEINLINE +KIRQL +KeRaiseIrqlToSynchLevel(VOID) +{ + return KfRaiseIrql(12); // SYNCH_LEVEL = IPI_LEVEL - 2 +} #elif defined(__PowerPC__) Modified: trunk/reactos/include/ndk/psfuncs.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/psfuncs.h?rev=…
============================================================================== --- trunk/reactos/include/ndk/psfuncs.h [iso-8859-1] (original) +++ trunk/reactos/include/ndk/psfuncs.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -315,6 +315,11 @@ return ret; #endif } +#elif defined (_M_AMD64) +FORCEINLINE struct _TEB * NtCurrentTeb(VOID) +{ + return (struct _TEB *)__readgsqword(FIELD_OFFSET(NT_TIB, Self)); +} #endif #else struct _TEB * NtCurrentTeb(void); Modified: trunk/reactos/include/psdk/commctrl.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/commctrl.h?re…
============================================================================== --- trunk/reactos/include/psdk/commctrl.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/commctrl.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -2812,7 +2812,7 @@ (LPARAM)(HTREEITEM)(hitem)) #define TreeView_EnsureVisible(hwnd, hitem) \ - (BOOL)SNDMSGA((hwnd), TVM_ENSUREVISIBLE, 0, (LPARAM)(UINT)(hitem)) + (BOOL)SNDMSGA((hwnd), TVM_ENSUREVISIBLE, 0, (LPARAM)(HTREEITEM)(hitem)) #define TreeView_SortChildrenCB(hwnd, psort, recurse) \ (BOOL)SNDMSGA((hwnd), TVM_SORTCHILDRENCB, (WPARAM)recurse, \ Modified: trunk/reactos/include/psdk/intrin_x86.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/intrin_x86.h?…
============================================================================== --- trunk/reactos/include/psdk/intrin_x86.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/intrin_x86.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -121,6 +121,15 @@ return __sync_lock_test_and_set(Target, Value); } +#if defined(_M_AMD64) +static __inline__ __attribute__((always_inline)) long long _InterlockedExchange64(volatile long long * const Target, const long long Value) +{ + /* NOTE: __sync_lock_test_and_set would be an acquire barrier, so we force a full barrier */ + __sync_synchronize(); + return __sync_lock_test_and_set(Target, Value); +} +#endif + static __inline__ __attribute__((always_inline)) void * _InterlockedExchangePointer(void * volatile * const Target, void * const Value) { /* NOTE: ditto */ @@ -137,6 +146,13 @@ { return __sync_fetch_and_add(Addend, Value); } + +#if defined(_M_AMD64) +static __inline__ __attribute__((always_inline)) long long _InterlockedExchangeAdd64(volatile long long * const Addend, const long long Value) +{ + return __sync_fetch_and_add(Addend, Value); +} +#endif static __inline__ __attribute__((always_inline)) char _InterlockedAnd8(volatile char * const value, const char mask) { @@ -462,10 +478,22 @@ return _InterlockedExchangeAdd16(lpAddend, 1) + 1; } +#if defined(_M_AMD64) +static __inline__ __attribute__((always_inline)) long long _InterlockedDecrement64(volatile long long * const lpAddend) +{ + return _InterlockedExchangeAdd64(lpAddend, -1) - 1; +} + +static __inline__ __attribute__((always_inline)) long long _InterlockedIncrement64(volatile long long * const lpAddend) +{ + return _InterlockedExchangeAdd64(lpAddend, 1) + 1; +} +#endif + static __inline__ __attribute__((always_inline)) unsigned char _interlockedbittestandreset(volatile long * a, const long b) { unsigned char retval; - __asm__("lock; btrl %[b], %[a]; setb %b[retval]" : [retval] "=r" (retval), [a] "=m" (a) : [b] "Ir" (b) : "memory"); + __asm__("lock; btrl %[b], %[a]; setb %b[retval]" : [retval] "=r" (retval), [a] "=m" (*a) : [b] "Ir" (b) : "memory"); return retval; } @@ -473,7 +501,7 @@ static __inline__ __attribute__((always_inline)) unsigned char _interlockedbittestandreset64(volatile long long * a, const long long b) { unsigned char retval; - __asm__("lock; btrq %[b], %[a]; setb %b[retval]" : [retval] "=r" (retval), [a] "=m" (a) : [b] "Ir" (b) : "memory"); + __asm__("lock; btrq %[b], %[a]; setb %b[retval]" : [retval] "=r" (retval), [a] "=m" (*a) : [b] "Ir" (b) : "memory"); return retval; } #endif @@ -481,7 +509,7 @@ static __inline__ __attribute__((always_inline)) unsigned char _interlockedbittestandset(volatile long * a, const long b) { unsigned char retval; - __asm__("lock; btsl %[b], %[a]; setc %b[retval]" : [retval] "=r" (retval), [a] "=m" (a) : [b] "Ir" (b) : "memory"); + __asm__("lock; btsl %[b], %[a]; setc %b[retval]" : [retval] "=r" (retval), [a] "=m" (*a) : [b] "Ir" (b) : "memory"); return retval; } @@ -489,7 +517,7 @@ static __inline__ __attribute__((always_inline)) unsigned char _interlockedbittestandset64(volatile long long * a, const long long b) { unsigned char retval; - __asm__("lock; btsq %[b], %[a]; setc %b[retval]" : [retval] "=r" (retval), [a] "=m" (a) : [b] "Ir" (b) : "memory"); + __asm__("lock; btsq %[b], %[a]; setc %b[retval]" : [retval] "=r" (retval), [a] "=m" (*a) : [b] "Ir" (b) : "memory"); return retval; } #endif @@ -561,168 +589,168 @@ static __inline__ __attribute__((always_inline)) void __writegsbyte(const unsigned long Offset, const unsigned char Data) { - __asm__("movb %b[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("movb %b[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } static __inline__ __attribute__((always_inline)) void __writegsword(const unsigned long Offset, const unsigned short Data) { - __asm__("movw %w[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("movw %w[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } static __inline__ __attribute__((always_inline)) void __writegsdword(const unsigned long Offset, const unsigned long Data) { - __asm__("movl %k[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("movl %k[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } static __inline__ __attribute__((always_inline)) void __writegsqword(const unsigned long Offset, const unsigned __int64 Data) { - __asm__("movq %q[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("movq %q[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } static __inline__ __attribute__((always_inline)) unsigned char __readgsbyte(const unsigned long Offset) { unsigned char value; - __asm__("movb %%gs:%a[Offset], %b[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); + __asm__ __volatile__("movb %%gs:%a[Offset], %b[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); return value; } static __inline__ __attribute__((always_inline)) unsigned short __readgsword(const unsigned long Offset) { unsigned short value; - __asm__("movw %%gs:%a[Offset], %w[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); + __asm__ __volatile__("movw %%gs:%a[Offset], %w[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); return value; } static __inline__ __attribute__((always_inline)) unsigned long __readgsdword(const unsigned long Offset) { unsigned long value; - __asm__("movl %%gs:%a[Offset], %k[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); + __asm__ __volatile__("movl %%gs:%a[Offset], %k[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); return value; } static __inline__ __attribute__((always_inline)) unsigned __int64 __readgsqword(const unsigned long Offset) { - unsigned long value; - __asm__("movq %%gs:%a[Offset], %q[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); + unsigned __int64 value; + __asm__ __volatile__("movq %%gs:%a[Offset], %q[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); return value; } static __inline__ __attribute__((always_inline)) void __incgsbyte(const unsigned long Offset) { - __asm__("incb %%gs:%a[Offset]" : : [Offset] "ir" (Offset)); + __asm__ __volatile__("incb %%gs:%a[Offset]" : : [Offset] "ir" (Offset) : "memory"); } static __inline__ __attribute__((always_inline)) void __incgsword(const unsigned long Offset) { - __asm__("incw %%gs:%a[Offset]" : : [Offset] "ir" (Offset)); + __asm__ __volatile__("incw %%gs:%a[Offset]" : : [Offset] "ir" (Offset) : "memory"); } static __inline__ __attribute__((always_inline)) void __incgsdword(const unsigned long Offset) { - __asm__("incl %%gs:%a[Offset]" : : [Offset] "ir" (Offset)); + __asm__ __volatile__("incl %%gs:%a[Offset]" : : [Offset] "ir" (Offset) : "memory"); } /* NOTE: the bizarre implementation of __addgsxxx mimics the broken Visual C++ behavior */ static __inline__ __attribute__((always_inline)) void __addgsbyte(const unsigned long Offset, const unsigned char Data) { if(!__builtin_constant_p(Offset)) - __asm__("addb %k[Offset], %%gs:%a[Offset]" : : [Offset] "r" (Offset)); + __asm__ __volatile__("addb %k[Offset], %%gs:%a[Offset]" : : [Offset] "r" (Offset) : "memory"); else - __asm__("addb %b[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("addb %b[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } static __inline__ __attribute__((always_inline)) void __addgsword(const unsigned long Offset, const unsigned short Data) { if(!__builtin_constant_p(Offset)) - __asm__("addw %k[Offset], %%gs:%a[Offset]" : : [Offset] "r" (Offset)); + __asm__ __volatile__("addw %k[Offset], %%gs:%a[Offset]" : : [Offset] "r" (Offset) : "memory"); else - __asm__("addw %w[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("addw %w[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } static __inline__ __attribute__((always_inline)) void __addgsdword(const unsigned long Offset, const unsigned int Data) { if(!__builtin_constant_p(Offset)) - __asm__("addl %k[Offset], %%gs:%a[Offset]" : : [Offset] "r" (Offset)); + __asm__ __volatile__("addl %k[Offset], %%gs:%a[Offset]" : : [Offset] "r" (Offset) : "memory"); else - __asm__("addl %k[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("addl %k[Data], %%gs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } #else /*** FS segment addressing ***/ static __inline__ __attribute__((always_inline)) void __writefsbyte(const unsigned long Offset, const unsigned char Data) { - __asm__("movb %b[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("movb %b[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } static __inline__ __attribute__((always_inline)) void __writefsword(const unsigned long Offset, const unsigned short Data) { - __asm__("movw %w[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("movw %w[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } static __inline__ __attribute__((always_inline)) void __writefsdword(const unsigned long Offset, const unsigned long Data) { - __asm__("movl %k[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("movl %k[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } static __inline__ __attribute__((always_inline)) unsigned char __readfsbyte(const unsigned long Offset) { unsigned char value; - __asm__("movb %%fs:%a[Offset], %b[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); + __asm__ __volatile__("movb %%fs:%a[Offset], %b[value]" : [value] "=q" (value) : [Offset] "irm" (Offset) : "memory"); return value; } static __inline__ __attribute__((always_inline)) unsigned short __readfsword(const unsigned long Offset) { unsigned short value; - __asm__("movw %%fs:%a[Offset], %w[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); + __asm__ __volatile__("movw %%fs:%a[Offset], %w[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); return value; } static __inline__ __attribute__((always_inline)) unsigned long __readfsdword(const unsigned long Offset) { unsigned long value; - __asm__("movl %%fs:%a[Offset], %k[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); + __asm__ __volatile__("movl %%fs:%a[Offset], %k[value]" : [value] "=q" (value) : [Offset] "irm" (Offset)); return value; } static __inline__ __attribute__((always_inline)) void __incfsbyte(const unsigned long Offset) { - __asm__("incb %%fs:%a[Offset]" : : [Offset] "ir" (Offset)); + __asm__ __volatile__("incb %%fs:%a[Offset]" : : [Offset] "ir" (Offset) : "memory"); } static __inline__ __attribute__((always_inline)) void __incfsword(const unsigned long Offset) { - __asm__("incw %%fs:%a[Offset]" : : [Offset] "ir" (Offset)); + __asm__ __volatile__("incw %%fs:%a[Offset]" : : [Offset] "ir" (Offset) : "memory"); } static __inline__ __attribute__((always_inline)) void __incfsdword(const unsigned long Offset) { - __asm__("incl %%fs:%a[Offset]" : : [Offset] "ir" (Offset)); + __asm__ __volatile__("incl %%fs:%a[Offset]" : : [Offset] "ir" (Offset) : "memory"); } /* NOTE: the bizarre implementation of __addfsxxx mimics the broken Visual C++ behavior */ static __inline__ __attribute__((always_inline)) void __addfsbyte(const unsigned long Offset, const unsigned char Data) { if(!__builtin_constant_p(Offset)) - __asm__("addb %k[Offset], %%fs:%a[Offset]" : : [Offset] "r" (Offset)); + __asm__ __volatile__("addb %k[Offset], %%fs:%a[Offset]" : : [Offset] "r" (Offset) : "memory"); else - __asm__("addb %b[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("addb %b[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } static __inline__ __attribute__((always_inline)) void __addfsword(const unsigned long Offset, const unsigned short Data) { if(!__builtin_constant_p(Offset)) - __asm__("addw %k[Offset], %%fs:%a[Offset]" : : [Offset] "r" (Offset)); + __asm__ __volatile__("addw %k[Offset], %%fs:%a[Offset]" : : [Offset] "r" (Offset) : "memory"); else - __asm__("addw %w[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("addw %w[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } static __inline__ __attribute__((always_inline)) void __addfsdword(const unsigned long Offset, const unsigned int Data) { if(!__builtin_constant_p(Offset)) - __asm__("addl %k[Offset], %%fs:%a[Offset]" : : [Offset] "r" (Offset)); + __asm__ __volatile__("addl %k[Offset], %%fs:%a[Offset]" : : [Offset] "r" (Offset) : "memory"); else - __asm__("addl %k[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data)); + __asm__ __volatile__("addl %k[Data], %%fs:%a[Offset]" : : [Offset] "ir" (Offset), [Data] "iq" (Data) : "memory"); } #endif @@ -804,10 +832,17 @@ } #ifndef __MSVCRT__ -static __inline__ __attribute__((always_inline)) unsigned long _rotl(const unsigned long value, const unsigned char shift) +static __inline__ __attribute__((always_inline)) unsigned int _rotl(const unsigned int value, const int shift) { unsigned long retval; __asm__("roll %b[shift], %k[retval]" : [retval] "=rm" (retval) : "[retval]" (value), [shift] "Nc" (shift)); + return retval; +} + +static __inline__ __attribute__((always_inline)) unsigned long _rotr(const unsigned int value, const unsigned char shift) +{ + unsigned long retval; + __asm__("rorl %b[shift], %k[retval]" : [retval] "=rm" (retval) : "[retval]" (value), [shift] "Nc" (shift)); return retval; } #endif @@ -875,6 +910,44 @@ return retval; } +static __inline__ __attribute__((always_inline)) unsigned short _byteswap_ushort(unsigned short value) +{ + unsigned short retval; + __asm__("rorw $8, %w[retval]" : [retval] "=rm" (retval) : "[retval]" (value)); + return retval; +} + +static __inline__ __attribute__((always_inline)) unsigned long _byteswap_ulong(unsigned long value) +{ + unsigned long retval; + __asm__("bswapl %[retval]" : [retval] "=rm" (retval) : "[retval]" (value)); + return retval; +} + +#ifdef _M_AMD64 +static __inline__ __attribute__((always_inline)) unsigned __int64 _byteswap_uint64(unsigned __int64 value) +{ + unsigned __int64 retval; + __asm__("bswapq %[retval]" : [retval] "=rm" (retval) : "[retval]" (value)); + return retval; +} +#else +static __inline__ __attribute__((always_inline)) unsigned __int64 _byteswap_uint64(unsigned __int64 value) +{ + union { + __int64 int64part; + struct { + unsigned long lowpart; + unsigned long hipart; + }; + } retval; + retval.int64part = value; + __asm__("bswapl %[lowpart]\n" + "bswapl %[hipart]\n" + : [lowpart] "=rm" (retval.hipart), [hipart] "=rm" (retval.lowpart) : "[lowpart]" (retval.lowpart), "[hipart]" (retval.hipart) ); + return retval.int64part; +} +#endif /*** 64-bit math ***/ static __inline__ __attribute__((always_inline)) long long __emul(const int a, const int b) @@ -1015,48 +1088,131 @@ /*** Protected memory management ***/ -static __inline__ __attribute__((always_inline)) unsigned long __readcr0(void) -{ - unsigned long value; + +static __inline__ __attribute__((always_inline)) void __writecr0(const unsigned __int64 Data) +{ + __asm__("mov %[Data], %%cr0" : : [Data] "q" (Data) : "memory"); +} + +static __inline__ __attribute__((always_inline)) void __writecr3(const unsigned __int64 Data) +{ + __asm__("mov %[Data], %%cr3" : : [Data] "q" (Data) : "memory"); +} + +static __inline__ __attribute__((always_inline)) void __writecr4(const unsigned __int64 Data) +{ + __asm__("mov %[Data], %%cr4" : : [Data] "q" (Data) : "memory"); +} + +#ifdef _M_AMD64 +static __inline__ __attribute__((always_inline)) void __writecr8(const unsigned __int64 Data) +{ + __asm__("mov %[Data], %%cr8" : : [Data] "q" (Data) : "memory"); +} +#endif + +static __inline__ __attribute__((always_inline)) unsigned __int64 __readcr0(void) +{ + unsigned __int64 value; __asm__ __volatile__("mov %%cr0, %[value]" : [value] "=q" (value)); return value; } -static __inline__ __attribute__((always_inline)) unsigned long __readcr2(void) -{ - unsigned long value; +static __inline__ __attribute__((always_inline)) unsigned __int64 __readcr2(void) +{ + unsigned __int64 value; __asm__ __volatile__("mov %%cr2, %[value]" : [value] "=q" (value)); return value; } -static __inline__ __attribute__((always_inline)) unsigned long __readcr3(void) -{ - unsigned long value; +static __inline__ __attribute__((always_inline)) unsigned __int64 __readcr3(void) +{ + unsigned __int64 value; __asm__ __volatile__("mov %%cr3, %[value]" : [value] "=q" (value)); return value; } -static __inline__ __attribute__((always_inline)) unsigned long __readcr4(void) -{ - unsigned long value; +static __inline__ __attribute__((always_inline)) unsigned __int64 __readcr4(void) +{ + unsigned __int64 value; __asm__ __volatile__("mov %%cr4, %[value]" : [value] "=q" (value)); return value; } -static __inline__ __attribute__((always_inline)) void __writecr0(const unsigned long long Data) -{ - __asm__("mov %[Data], %%cr0" : : [Data] "q" ((const unsigned long)(Data & 0xFFFFFFFF)) : "memory"); -} - -static __inline__ __attribute__((always_inline)) void __writecr3(const unsigned long long Data) -{ - __asm__("mov %[Data], %%cr3" : : [Data] "q" ((const unsigned long)(Data & 0xFFFFFFFF)) : "memory"); -} - -static __inline__ __attribute__((always_inline)) void __writecr4(const unsigned long long Data) -{ - __asm__("mov %[Data], %%cr4" : : [Data] "q" ((const unsigned long)(Data & 0xFFFFFFFF)) : "memory"); -} +#ifdef _M_AMD64 +static __inline__ __attribute__((always_inline)) unsigned __int64 __readcr8(void) +{ + unsigned __int64 value; + __asm__ __volatile__("movq %%cr8, %q[value]" : [value] "=q" (value)); + return value; +} +#endif + +#ifdef _M_AMD64 +static __inline__ __attribute__((always_inline)) unsigned __int64 __readdr(unsigned int reg) +{ + unsigned __int64 value; + switch (reg) + { + case 0: + __asm__ __volatile__("movq %%dr0, %q[value]" : [value] "=q" (value)); + break; + case 1: + __asm__ __volatile__("movq %%dr1, %q[value]" : [value] "=q" (value)); + break; + case 2: + __asm__ __volatile__("movq %%dr2, %q[value]" : [value] "=q" (value)); + break; + case 3: + __asm__ __volatile__("movq %%dr3, %q[value]" : [value] "=q" (value)); + break; + case 4: + __asm__ __volatile__("movq %%dr4, %q[value]" : [value] "=q" (value)); + break; + case 5: + __asm__ __volatile__("movq %%dr5, %q[value]" : [value] "=q" (value)); + break; + case 6: + __asm__ __volatile__("movq %%dr6, %q[value]" : [value] "=q" (value)); + break; + case 7: + __asm__ __volatile__("movq %%dr7, %q[value]" : [value] "=q" (value)); + break; + } + return value; +} + +static __inline__ __attribute__((always_inline)) void __writedr(unsigned reg, unsigned __int64 value) +{ + switch (reg) + { + case 0: + __asm__("movq %q[value], %%dr0" : : [value] "q" (value) : "memory"); + break; + case 1: + __asm__("movq %q[value], %%dr1" : : [value] "q" (value) : "memory"); + break; + case 2: + __asm__("movq %q[value], %%dr2" : : [value] "q" (value) : "memory"); + break; + case 3: + __asm__("movq %q[value], %%dr3" : : [value] "q" (value) : "memory"); + break; + case 4: + __asm__("movq %q[value], %%dr4" : : [value] "q" (value) : "memory"); + break; + case 5: + __asm__("movq %q[value], %%dr5" : : [value] "q" (value) : "memory"); + break; + case 6: + __asm__("movq %q[value], %%dr6" : : [value] "q" (value) : "memory"); + break; + case 7: + __asm__("movq %q[value], %%dr7" : : [value] "q" (value) : "memory"); + break; + } +} +#endif static __inline__ __attribute__((always_inline)) void __invlpg(void * const Address) { @@ -1067,14 +1223,24 @@ /*** System operations ***/ static __inline__ __attribute__((always_inline)) unsigned long long __readmsr(const int reg) { +#ifdef _M_AMD64 + unsigned long low, high; + __asm__ __volatile__("rdmsr" : "=a" (low), "=d" (high) : "c" (reg)); + return (high << 32) | low; +#else unsigned long long retval; __asm__ __volatile__("rdmsr" : "=A" (retval) : "c" (reg)); return retval; +#endif } static __inline__ __attribute__((always_inline)) void __writemsr(const unsigned long Register, const unsigned long long Value) { +#ifdef _M_AMD64 + __asm__ __volatile__("wrmsr" : : "a" (Value), "d" (Value >> 32), "c" (Register)); +#else __asm__ __volatile__("wrmsr" : : "A" (Value), "c" (Register)); +#endif } static __inline__ __attribute__((always_inline)) unsigned long long __readpmc(const int counter) @@ -1097,6 +1263,16 @@ __asm__ __volatile__("wbinvd"); } +static __inline__ __attribute__((always_inline)) void __lidt(void *Source) +{ + __asm__ __volatile__("lidt %0" : : "m"(*(short*)Source)); +} + +static __inline__ __attribute__((always_inline)) void __sidt(void *Destination) +{ + __asm__ __volatile__("sidt %0" : : "m"(*(short*)Destination) : "memory"); +} + #endif /* KJK_INTRIN_X86_H_ */ /* EOF */ Modified: trunk/reactos/include/psdk/winbase.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winbase.h?rev…
============================================================================== --- trunk/reactos/include/psdk/winbase.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/winbase.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -1706,16 +1706,52 @@ #endif #ifndef __INTERLOCKED_DECLARED #define __INTERLOCKED_DECLARED + +#if defined (_M_AMD64) || defined (_M_IA64) + +#define InterlockedAnd _InterlockedAnd +#define InterlockedOr _InterlockedOr +#define InterlockedXor _InterlockedXor +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedIncrementAcquire InterlockedIncrement +#define InterlockedIncrementRelease InterlockedIncrement +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedDecrementAcquire InterlockedDecrement +#define InterlockedDecrementRelease InterlockedDecrement +#define InterlockedExchange _InterlockedExchange +#define InterlockedExchangeAdd _InterlockedExchangeAdd +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedCompareExchangeAcquire InterlockedCompareExchange +#define InterlockedCompareExchangeRelease InterlockedCompareExchange +#define InterlockedExchangePointer _InterlockedExchangePointer +#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerAcquire _InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerRelease _InterlockedCompareExchangePointer +#define InterlockedAnd64 _InterlockedAnd64 +#define InterlockedOr64 _InterlockedOr64 +#define InterlockedXor64 _InterlockedXor64 +#define InterlockedIncrement64 _InterlockedIncrement64 +#define InterlockedDecrement64 _InterlockedDecrement64 +#define InterlockedExchange64 _InterlockedExchange64 +#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64 +#define InterlockedCompareExchange64 _InterlockedCompareExchange64 +#define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64 +#define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64 + +#else // !(defined (_M_AMD64) || defined (_M_IA64)) + +LONG WINAPI InterlockedOr(IN OUT LONG volatile *,LONG); +LONG WINAPI InterlockedAnd(IN OUT LONG volatile *,LONG); LONG WINAPI InterlockedCompareExchange(IN OUT LONG volatile *,LONG,LONG); LONG WINAPI InterlockedDecrement(IN OUT LONG volatile *); LONG WINAPI InterlockedExchange(IN OUT LONG volatile *,LONG); #if defined(_WIN64) /* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */ #define InterlockedExchangePointer(t,v) \ - (PVOID)InterlockedExchange64((LONGLONG*)(t),(LONGLONG)(v)) + (PVOID)_InterlockedExchange64((LONGLONG*)(t),(LONGLONG)(v)) /* PVOID WINAPI InterlockedCompareExchangePointer(PVOID*,PVOID,PVOID); */ #define InterlockedCompareExchangePointer(d,e,c) \ - (PVOID)InterlockedCompareExchange64((LONGLONG*)(d),(LONGLONG)(e),(LONGLONG)(c)) + (PVOID)_InterlockedCompareExchange64((LONGLONG*)(d),(LONGLONG)(e),(LONGLONG)(c)) #else /* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */ #define InterlockedExchangePointer(t,v) \ @@ -1733,14 +1769,64 @@ PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER); PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY); #endif + +#endif // !(defined (_M_AMD64) || defined (_M_IA64)) + +#if !defined(InterlockedAnd) +#define InterlockedAnd InterlockedAnd_Inline +FORCEINLINE +LONG +InterlockedAnd_Inline(IN OUT volatile LONG *Target, + IN LONG Set) +{ + LONG i; + LONG j; + + j = *Target; + do { + i = j; + j = _InterlockedCompareExchange((PLONG)Target, + i & Set, + i); + + } while (i != j); + + return j; +} +#endif + +#if !defined(InterlockedOr) +#define InterlockedOr InterlockedOr_Inline +FORCEINLINE +LONG +InterlockedOr_Inline(IN OUT volatile LONG *Target, + IN LONG Set) +{ + LONG i; + LONG j; + + j = *Target; + do { + i = j; + j = _InterlockedCompareExchange((PLONG)Target, + i | Set, + i); + + } while (i != j); + + return j; +} +#endif + #endif /* __INTERLOCKED_DECLARED */ + BOOL WINAPI IsBadCodePtr(FARPROC); -BOOL WINAPI IsBadHugeReadPtr(PCVOID,UINT); -BOOL WINAPI IsBadHugeWritePtr(PVOID,UINT); -BOOL WINAPI IsBadReadPtr(PCVOID,UINT); -BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT); -BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT); -BOOL WINAPI IsBadWritePtr(PVOID,UINT); +BOOL WINAPI IsBadHugeReadPtr(PCVOID,UINT_PTR); +BOOL WINAPI IsBadHugeWritePtr(PVOID,UINT_PTR); +BOOL WINAPI IsBadReadPtr(PCVOID,UINT_PTR); +BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT_PTR); +BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT_PTR); +BOOL WINAPI IsBadWritePtr(PVOID,UINT_PTR); BOOL WINAPI IsDebuggerPresent(void); #if (_WIN32_WINNT >= 0x0501) BOOL WINAPI IsProcessInJob(HANDLE,HANDLE,PBOOL); @@ -1994,7 +2080,7 @@ BOOL WINAPI SetProcessAffinityMask(HANDLE,DWORD); BOOL WINAPI SetProcessPriorityBoost(HANDLE,BOOL); BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD); -BOOL WINAPI SetProcessWorkingSetSize(HANDLE,DWORD,DWORD); +BOOL WINAPI SetProcessWorkingSetSize(HANDLE,SIZE_T,SIZE_T); #if (_WIN32_WINNT >= 0x0600) VOID WINAPI SetSecurityAccessMask(SECURITY_INFORMATION,LPDWORD); #endif Modified: trunk/reactos/include/psdk/windef.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/windef.h?rev=…
============================================================================== --- trunk/reactos/include/psdk/windef.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/windef.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -123,14 +123,27 @@ #define pascal __stdcall #define _pascal __stdcall #define __pascal __stdcall + +#define CDECL _cdecl #define PASCAL _pascal -#define CDECL _cdecl + +#if !defined(__x86_64__) //defined(_STDCALL_SUPPORTED) #define STDCALL __stdcall -#define WINAPI __stdcall -#define WINAPIV __cdecl -#define APIENTRY __stdcall -#define CALLBACK __stdcall -#define APIPRIVATE __stdcall +#define CALLBACK __stdcall +#define WINAPI __stdcall +#define WINAPIV __cdecl +#define APIENTRY WINAPI +#define APIPRIVATE __stdcall +#define PASCAL __stdcall +#else +#define STDCALL +#define CALLBACK +#define WINAPI +#define WINAPIV +#define APIENTRY WINAPI +#define APIPRIVATE +#define PASCAL pascal +#endif #define DECLSPEC_IMPORT __declspec(dllimport) #define DECLSPEC_EXPORT __declspec(dllexport) Modified: trunk/reactos/include/psdk/winnt.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winnt.h?rev=3…
============================================================================== --- trunk/reactos/include/psdk/winnt.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/winnt.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -91,15 +91,6 @@ #define NTSYSCALLAPI DECLSPEC_ADDRSAFE #endif #endif - -/* i386 context definitions */ -#ifdef __i386__ - -#define EXCEPTION_READ_FAULT 0 -#define EXCEPTION_WRITE_FAULT 1 -#define EXCEPTION_EXECUTE_FAULT 8 - -#endif /* __i386__ */ #ifndef VOID #define VOID void @@ -511,8 +502,6 @@ #define THREAD_DIRECT_IMPERSONATION 0x200 #endif #define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3FF) -#define EXCEPTION_NONCONTINUABLE 1 -#define EXCEPTION_MAXIMUM_PARAMETERS 15 /* FIXME: Oh how I wish, I wish the w32api DDK wouldn't include winnt.h... */ #ifndef __NTDDK_H #define MUTANT_QUERY_STATE 0x0001 @@ -1350,7 +1339,7 @@ #define IMAGE_DLLCHARACTERISTICS_NO_BIND 0x0800 #define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER 0x2000 #define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 0x8000 -#define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((DWORD_PTR)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader)) +#define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((ULONG_PTR)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader)) #define IMAGE_DIRECTORY_ENTRY_EXPORT 0 #define IMAGE_DIRECTORY_ENTRY_IMPORT 1 #define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 @@ -2010,6 +1999,38 @@ DWORD AclBytesFree; } ACL_SIZE_INFORMATION; +#ifndef _LDT_ENTRY_DEFINED +#define _LDT_ENTRY_DEFINED +typedef struct _LDT_ENTRY +{ + USHORT LimitLow; + USHORT BaseLow; + union + { + struct + { + UCHAR BaseMid; + UCHAR Flags1; + UCHAR Flags2; + UCHAR BaseHi; + } Bytes; + struct + { + ULONG BaseMid:8; + ULONG Type:5; + ULONG Dpl:2; + ULONG Pres:1; + ULONG LimitHi:4; + ULONG Sys:1; + ULONG Reserved_0:1; + ULONG Default_Big:1; + ULONG Granularity:1; + ULONG BaseHi:8; + } Bits; + } HighWord; +} LDT_ENTRY, *PLDT_ENTRY, *LPLDT_ENTRY; +#endif + /* FIXME: add more machines */ #if defined(_X86_) && !defined(__PowerPC__) #define SIZE_OF_80387_REGISTERS 80 @@ -2023,6 +2044,11 @@ #define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L) #define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS) #define MAXIMUM_SUPPORTED_EXTENSION 512 + +#define EXCEPTION_READ_FAULT 0 +#define EXCEPTION_WRITE_FAULT 1 +#define EXCEPTION_EXECUTE_FAULT 8 + typedef struct _FLOATING_SAVE_AREA { DWORD ControlWord; DWORD StatusWord; @@ -2061,6 +2087,237 @@ DWORD SegSs; BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION]; } CONTEXT; +#elif defined(__x86_64__) + + +#define CONTEXT_AMD64 0x100000 + +#if !defined(RC_INVOKED) +#define CONTEXT_CONTROL (CONTEXT_AMD64 | 0x1L) +#define CONTEXT_INTEGER (CONTEXT_AMD64 | 0x2L) +#define CONTEXT_SEGMENTS (CONTEXT_AMD64 | 0x4L) +#define CONTEXT_FLOATING_POINT (CONTEXT_AMD64 | 0x8L) +#define CONTEXT_DEBUG_REGISTERS (CONTEXT_AMD64 | 0x10L) + +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT) +#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS) + +#define CONTEXT_EXCEPTION_ACTIVE 0x8000000 +#define CONTEXT_SERVICE_ACTIVE 0x10000000 +#define CONTEXT_EXCEPTION_REQUEST 0x40000000 +#define CONTEXT_EXCEPTION_REPORTING 0x80000000 +#endif + +#define INITIAL_MXCSR 0x1f80 +#define INITIAL_FPCSR 0x027f +#define EXCEPTION_READ_FAULT 0 +#define EXCEPTION_WRITE_FAULT 1 +#define EXCEPTION_EXECUTE_FAULT 8 + +typedef struct DECLSPEC_ALIGN(16) _M128A { + ULONGLONG Low; + LONGLONG High; +} M128A, *PM128A; + +typedef struct _XMM_SAVE_AREA32 { + WORD ControlWord; + WORD StatusWord; + BYTE TagWord; + BYTE Reserved1; + WORD ErrorOpcode; + DWORD ErrorOffset; + WORD ErrorSelector; + WORD Reserved2; + DWORD DataOffset; + WORD DataSelector; + WORD Reserved3; + DWORD MxCsr; + DWORD MxCsr_Mask; + M128A FloatRegisters[8]; + M128A XmmRegisters[16]; + BYTE Reserved4[96]; +} XMM_SAVE_AREA32, *PXMM_SAVE_AREA32; + +typedef struct DECLSPEC_ALIGN(16) _CONTEXT { + DWORD64 P1Home; + DWORD64 P2Home; + DWORD64 P3Home; + DWORD64 P4Home; + DWORD64 P5Home; + DWORD64 P6Home; + + /* Control flags */ + DWORD ContextFlags; + DWORD MxCsr; + + /* Segment */ + WORD SegCs; + WORD SegDs; + WORD SegEs; + WORD SegFs; + WORD SegGs; + WORD SegSs; + DWORD EFlags; + + /* Debug */ + DWORD64 Dr0; + DWORD64 Dr1; + DWORD64 Dr2; + DWORD64 Dr3; + DWORD64 Dr6; + DWORD64 Dr7; + + /* Integer */ + DWORD64 Rax; + DWORD64 Rcx; + DWORD64 Rdx; + DWORD64 Rbx; + DWORD64 Rsp; + DWORD64 Rbp; + DWORD64 Rsi; + DWORD64 Rdi; + DWORD64 R8; + DWORD64 R9; + DWORD64 R10; + DWORD64 R11; + DWORD64 R12; + DWORD64 R13; + DWORD64 R14; + DWORD64 R15; + + /* Counter */ + DWORD64 Rip; + + /* Floating point */ + union { + XMM_SAVE_AREA32 FltSave; + struct { + M128A Header[2]; + M128A Legacy[8]; + M128A Xmm0; + M128A Xmm1; + M128A Xmm2; + M128A Xmm3; + M128A Xmm4; + M128A Xmm5; + M128A Xmm6; + M128A Xmm7; + M128A Xmm8; + M128A Xmm9; + M128A Xmm10; + M128A Xmm11; + M128A Xmm12; + M128A Xmm13; + M128A Xmm14; + M128A Xmm15; + } DUMMYSTRUCTNAME; + } DUMMYUNIONNAME; + + /* Vector */ + M128A VectorRegister[26]; + DWORD64 VectorControl; + + /* Debug control */ + DWORD64 DebugControl; + DWORD64 LastBranchToRip; + DWORD64 LastBranchFromRip; + DWORD64 LastExceptionToRip; + DWORD64 LastExceptionFromRip; +} CONTEXT, *PCONTEXT; + + +typedef struct _KNONVOLATILE_CONTEXT_POINTERS { + union { + PM128A FloatingContext[16]; + struct { + PM128A Xmm0; + PM128A Xmm1; + PM128A Xmm2; + PM128A Xmm3; + PM128A Xmm4; + PM128A Xmm5; + PM128A Xmm6; + PM128A Xmm7; + PM128A Xmm8; + PM128A Xmm9; + PM128A Xmm10; + PM128A Xmm11; + PM128A Xmm12; + PM128A Xmm13; + PM128A Xmm14; + PM128A Xmm15; + }; + }; + + union { + PULONG64 IntegerContext[16]; + struct { + PULONG64 Rax; + PULONG64 Rcx; + PULONG64 Rdx; + PULONG64 Rbx; + PULONG64 Rsp; + PULONG64 Rbp; + PULONG64 Rsi; + PULONG64 Rdi; + PULONG64 R8; + PULONG64 R9; + PULONG64 R10; + PULONG64 R11; + PULONG64 R12; + PULONG64 R13; + PULONG64 R14; + PULONG64 R15; + }; + }; +} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS; + +#define UNW_FLAG_NHANDLER 0x0 /* No handler. */ +#define UNW_FLAG_EHANDLER 0x1 /* Exception handler should be called */ +#define UNW_FLAG_UHANDLER 0x2 /* Termination handler that should be called when unwinding an exception */ +#define UNW_FLAG_CHAININFO 0x4 /* FunctionEntry member is the contents of a previous function table entry */ + +#define RUNTIME_FUNCTION_INDIRECT 0x1 + + typedef struct _RUNTIME_FUNCTION { + DWORD BeginAddress; + DWORD EndAddress; + DWORD UnwindData; + } RUNTIME_FUNCTION,*PRUNTIME_FUNCTION; + + typedef PRUNTIME_FUNCTION (*PGET_RUNTIME_FUNCTION_CALLBACK)(DWORD64 ControlPc,PVOID Context); + typedef DWORD (*POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK)(HANDLE Process,PVOID TableAddress,PDWORD Entries,PRUNTIME_FUNCTION *Functions); + + #define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME "OutOfProcessFunctionTableCallback" + +NTSYSAPI +VOID +__cdecl +RtlRestoreContext(PCONTEXT ContextRecord, + struct _EXCEPTION_RECORD *ExceptionRecord); + +NTSYSAPI +BOOLEAN +__cdecl +RtlAddFunctionTable(PRUNTIME_FUNCTION FunctionTable, + DWORD EntryCount, + DWORD64 BaseAddress); + +NTSYSAPI +BOOLEAN +__cdecl +RtlInstallFunctionTableCallback(DWORD64 TableIdentifier, + DWORD64 BaseAddress, + DWORD Length, + PGET_RUNTIME_FUNCTION_CALLBACK Callback, + PVOID Context, + PCWSTR OutOfProcessCallbackDll); + +NTSYSAPI +BOOLEAN +__cdecl +RtlDeleteFunctionTable(PRUNTIME_FUNCTION FunctionTable); + #elif defined(_PPC_) #define CONTEXT_CONTROL 1L #define CONTEXT_FLOATING_POINT 2L @@ -2548,18 +2805,44 @@ #error "undefined processor type" #endif typedef CONTEXT *PCONTEXT,*LPCONTEXT; -typedef struct _EXCEPTION_RECORD { - DWORD ExceptionCode; - DWORD ExceptionFlags; - struct _EXCEPTION_RECORD *ExceptionRecord; - PVOID ExceptionAddress; - DWORD NumberParameters; - ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; -} EXCEPTION_RECORD,*PEXCEPTION_RECORD,*LPEXCEPTION_RECORD; -typedef struct _EXCEPTION_POINTERS { - PEXCEPTION_RECORD ExceptionRecord; - PCONTEXT ContextRecord; -} EXCEPTION_POINTERS,*PEXCEPTION_POINTERS,*LPEXCEPTION_POINTERS; + +#define EXCEPTION_NONCONTINUABLE 1 +#define EXCEPTION_MAXIMUM_PARAMETERS 15 + + typedef struct _EXCEPTION_RECORD { + DWORD ExceptionCode; + DWORD ExceptionFlags; + struct _EXCEPTION_RECORD *ExceptionRecord; + PVOID ExceptionAddress; + DWORD NumberParameters; + ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; + } EXCEPTION_RECORD, *PEXCEPTION_RECORD, *LPEXCEPTION_RECORD; + + typedef EXCEPTION_RECORD *PEXCEPTION_RECORD; + + typedef struct _EXCEPTION_RECORD32 { + DWORD ExceptionCode; + DWORD ExceptionFlags; + DWORD ExceptionRecord; + DWORD ExceptionAddress; + DWORD NumberParameters; + DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; + } EXCEPTION_RECORD32,*PEXCEPTION_RECORD32; + + typedef struct _EXCEPTION_RECORD64 { + DWORD ExceptionCode; + DWORD ExceptionFlags; + DWORD64 ExceptionRecord; + DWORD64 ExceptionAddress; + DWORD NumberParameters; + DWORD __unusedAlignment; + DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; + } EXCEPTION_RECORD64,*PEXCEPTION_RECORD64; + + typedef struct _EXCEPTION_POINTERS { + PEXCEPTION_RECORD ExceptionRecord; + PCONTEXT ContextRecord; + } EXCEPTION_POINTERS,*PEXCEPTION_POINTERS, *LPEXCEPTION_POINTERS; #ifdef _M_PPC #define LARGE_INTEGER_ORDER(x) x HighPart; DWORD LowPart; @@ -2911,6 +3194,12 @@ OUT PDWORD BackTraceHash OPTIONAL ); +NTSYSAPI +VOID +NTAPI +RtlCaptureContext( + PCONTEXT ContextRecord +); NTSYSAPI PVOID @@ -3128,7 +3417,7 @@ WORD MinorImageVersion; WORD MajorSubsystemVersion; WORD MinorSubsystemVersion; - DWORD Reserved1; + DWORD Win32VersionValue; DWORD SizeOfImage; DWORD SizeOfHeaders; DWORD CheckSum; @@ -3365,14 +3654,75 @@ WORD Hint; BYTE Name[1]; } IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME; -typedef struct _IMAGE_THUNK_DATA { - union { - ULONG ForwarderString; - ULONG Function; - DWORD Ordinal; - ULONG AddressOfData; - } u1; -} IMAGE_THUNK_DATA,*PIMAGE_THUNK_DATA; +#include "pshpack8.h" +typedef struct _IMAGE_THUNK_DATA64 { + union { + ULONGLONG ForwarderString; + ULONGLONG Function; + ULONGLONG Ordinal; + ULONGLONG AddressOfData; + } u1; +} IMAGE_THUNK_DATA64; +typedef IMAGE_THUNK_DATA64 *PIMAGE_THUNK_DATA64; +#include "poppack.h" + +typedef struct _IMAGE_THUNK_DATA32 { + union { + DWORD ForwarderString; + DWORD Function; + DWORD Ordinal; + DWORD AddressOfData; + } u1; +} IMAGE_THUNK_DATA32; +typedef IMAGE_THUNK_DATA32 *PIMAGE_THUNK_DATA32; + +#define IMAGE_ORDINAL_FLAG64 0x8000000000000000ULL +#define IMAGE_ORDINAL_FLAG32 0x80000000 +#define IMAGE_ORDINAL64(Ordinal) (Ordinal & 0xffff) +#define IMAGE_ORDINAL32(Ordinal) (Ordinal & 0xffff) +#define IMAGE_SNAP_BY_ORDINAL64(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG64)!=0) +#define IMAGE_SNAP_BY_ORDINAL32(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG32)!=0) + +typedef VOID +(NTAPI *PIMAGE_TLS_CALLBACK)(PVOID DllHandle,DWORD Reason,PVOID Reserved); + +typedef struct _IMAGE_TLS_DIRECTORY64 { + ULONGLONG StartAddressOfRawData; + ULONGLONG EndAddressOfRawData; + ULONGLONG AddressOfIndex; + ULONGLONG AddressOfCallBacks; + DWORD SizeOfZeroFill; + DWORD Characteristics; +} IMAGE_TLS_DIRECTORY64; +typedef IMAGE_TLS_DIRECTORY64 *PIMAGE_TLS_DIRECTORY64; + +typedef struct _IMAGE_TLS_DIRECTORY32 { + DWORD StartAddressOfRawData; + DWORD EndAddressOfRawData; + DWORD AddressOfIndex; + DWORD AddressOfCallBacks; + DWORD SizeOfZeroFill; + DWORD Characteristics; +} IMAGE_TLS_DIRECTORY32; +typedef IMAGE_TLS_DIRECTORY32 *PIMAGE_TLS_DIRECTORY32; +#ifdef _WIN64 +#define IMAGE_ORDINAL_FLAG IMAGE_ORDINAL_FLAG64 +#define IMAGE_ORDINAL(Ordinal) IMAGE_ORDINAL64(Ordinal) +typedef IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA; +typedef PIMAGE_THUNK_DATA64 PIMAGE_THUNK_DATA; +#define IMAGE_SNAP_BY_ORDINAL(Ordinal) IMAGE_SNAP_BY_ORDINAL64(Ordinal) +typedef IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY; +typedef PIMAGE_TLS_DIRECTORY64 PIMAGE_TLS_DIRECTORY; +#else +#define IMAGE_ORDINAL_FLAG IMAGE_ORDINAL_FLAG32 +#define IMAGE_ORDINAL(Ordinal) IMAGE_ORDINAL32(Ordinal) +typedef IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA; +typedef PIMAGE_THUNK_DATA32 PIMAGE_THUNK_DATA; +#define IMAGE_SNAP_BY_ORDINAL(Ordinal) IMAGE_SNAP_BY_ORDINAL32(Ordinal) +typedef IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY; +typedef PIMAGE_TLS_DIRECTORY32 PIMAGE_TLS_DIRECTORY; +#endif + typedef struct _IMAGE_IMPORT_DESCRIPTOR { _ANONYMOUS_UNION union { DWORD Characteristics; @@ -3394,14 +3744,6 @@ WORD Reserved; } IMAGE_BOUND_FORWARDER_REF,*PIMAGE_BOUND_FORWARDER_REF; typedef void(NTAPI *PIMAGE_TLS_CALLBACK)(PVOID,DWORD,PVOID); -typedef struct _IMAGE_TLS_DIRECTORY { - DWORD StartAddressOfRawData; - DWORD EndAddressOfRawData; - PDWORD AddressOfIndex; - PIMAGE_TLS_CALLBACK *AddressOfCallBacks; - DWORD SizeOfZeroFill; - DWORD Characteristics; -} IMAGE_TLS_DIRECTORY,*PIMAGE_TLS_DIRECTORY; typedef struct _IMAGE_RESOURCE_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; Modified: trunk/reactos/include/reactos/rosldr.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/rosldr.h?r…
============================================================================== --- trunk/reactos/include/reactos/rosldr.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/rosldr.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -45,6 +45,7 @@ ULONG_PTR PageDirectoryEnd; ULONG_PTR KernelBase; ULONG_PTR ArchExtra; + ULONG (*FrLdrDbgPrint)(const char *Format, ...); } ROS_LOADER_PARAMETER_BLOCK, *PROS_LOADER_PARAMETER_BLOCK; extern BOOLEAN AcpiTableDetected; Modified: trunk/reactos/include/reactos/wine/port.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/port.…
============================================================================== --- trunk/reactos/include/reactos/wine/port.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/wine/port.h [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -328,53 +328,12 @@ #if defined(__i386__) && defined(__GNUC__) && !defined(WINE_PORT_NO_INTERLOCKED) -extern inline long interlocked_cmpxchg( long *dest, long xchg, long compare ) -{ - long ret; - __asm__ __volatile__( "lock; cmpxchgl %2,(%1)" - : "=a" (ret) : "r" (dest), "r" (xchg), "0" (compare) : "memory" ); - return ret; -} - -extern inline void *interlocked_cmpxchg_ptr( void **dest, void *xchg, void *compare ) -{ - void *ret; - __asm__ __volatile__( "lock; cmpxchgl %2,(%1)" - : "=a" (ret) : "r" (dest), "r" (xchg), "0" (compare) : "memory" ); - return ret; -} - -extern inline long interlocked_xchg( long *dest, long val ) -{ - long ret; - __asm__ __volatile__( "lock; xchgl %0,(%1)" - : "=r" (ret) : "r" (dest), "0" (val) : "memory" ); - return ret; -} - -extern inline void *interlocked_xchg_ptr( void **dest, void *val ) -{ - void *ret; - __asm__ __volatile__( "lock; xchgl %0,(%1)" - : "=r" (ret) : "r" (dest), "0" (val) : "memory" ); - return ret; -} - -extern inline long interlocked_xchg_add( long *dest, long incr ) -{ - long ret; - __asm__ __volatile__( "lock; xaddl %0,(%1)" - : "=r" (ret) : "r" (dest), "0" (incr) : "memory" ); - return ret; -} - -#else /* __i386___ && __GNUC__ */ - -extern long interlocked_cmpxchg( long *dest, long xchg, long compare ); -extern void *interlocked_cmpxchg_ptr( void **dest, void *xchg, void *compare ); -extern long interlocked_xchg( long *dest, long val ); -extern void *interlocked_xchg_ptr( void **dest, void *val ); -extern long interlocked_xchg_add( long *dest, long incr ); +#define interlocked_cmpxchg InterlockedCompareExchange +#define interlocked_cmpxchg_ptr InterlockedCompareExchangePtr +#define interlocked_xchg InterlockedExchange +#define interlocked_xchg_ptr InterlockedExchangePtr +#define interlocked_xchg_add InterlockedExchangeAdd + #endif /* __i386___ && __GNUC__ */ @@ -385,11 +344,6 @@ #define getopt_long __WINE_NOT_PORTABLE(getopt_long) #define getopt_long_only __WINE_NOT_PORTABLE(getopt_long_only) #define getpagesize __WINE_NOT_PORTABLE(getpagesize) -#define interlocked_cmpxchg __WINE_NOT_PORTABLE(interlocked_cmpxchg) -#define interlocked_cmpxchg_ptr __WINE_NOT_PORTABLE(interlocked_cmpxchg_ptr) -#define interlocked_xchg __WINE_NOT_PORTABLE(interlocked_xchg) -#define interlocked_xchg_ptr __WINE_NOT_PORTABLE(interlocked_xchg_ptr) -#define interlocked_xchg_add __WINE_NOT_PORTABLE(interlocked_xchg_add) #define lstat __WINE_NOT_PORTABLE(lstat) #define memcpy_unaligned __WINE_NOT_PORTABLE(memcpy_unaligned) #define memmove __WINE_NOT_PORTABLE(memmove) Modified: trunk/reactos/lib/rtl/srw.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/srw.c?rev=35646&r1…
============================================================================== --- trunk/reactos/lib/rtl/srw.c [iso-8859-1] (original) +++ trunk/reactos/lib/rtl/srw.c [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -18,49 +18,6 @@ #define NDEBUG #include <debug.h> -/* FIXME *********************************************************************/ - -/* FIXME: Interlocked functions that need to be made into a public header */ -FORCEINLINE -LONG -InterlockedAnd(IN OUT volatile LONG *Target, - IN LONG Set) -{ - LONG i; - LONG j; - - j = *Target; - do { - i = j; - j = _InterlockedCompareExchange((PLONG)Target, - i & Set, - i); - - } while (i != j); - - return j; -} - -FORCEINLINE -LONG -InterlockedOr(IN OUT volatile LONG *Target, - IN LONG Set) -{ - LONG i; - LONG j; - - j = *Target; - do { - i = j; - j = _InterlockedCompareExchange((PLONG)Target, - i | Set, - i); - - } while (i != j); - - return j; -} - /* FUNCTIONS *****************************************************************/ #ifdef _WIN64 Modified: trunk/reactos/ntoskrnl/mm/i386/page.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/i386/page.c?re…
============================================================================== --- trunk/reactos/ntoskrnl/mm/i386/page.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/i386/page.c [iso-8859-1] Mon Aug 25 16:57:13 2008 @@ -74,7 +74,7 @@ PULONG MmGetPageDirectory(VOID) { - return (PULONG)__readcr3(); + return (PULONG)(ULONG_PTR)__readcr3(); } static ULONG
16 years, 4 months
1
0
0
0
[sserapion] 35645: Fix some wrong declarations for 64bits.
by sserapion@svn.reactos.org
Author: sserapion Date: Mon Aug 25 16:52:05 2008 New Revision: 35645 URL:
http://svn.reactos.org/svn/reactos?rev=35645&view=rev
Log: Fix some wrong declarations for 64bits. Modified: branches/ros-amd64-bringup/reactos/include/psdk/winnt.h branches/ros-amd64-bringup/reactos/include/psdk/winuser.h Modified: branches/ros-amd64-bringup/reactos/include/psdk/winnt.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/inclu…
============================================================================== --- branches/ros-amd64-bringup/reactos/include/psdk/winnt.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/include/psdk/winnt.h [iso-8859-1] Mon Aug 25 16:52:05 2008 @@ -4438,7 +4438,11 @@ #elif defined (_M_AMD64) FORCEINLINE PVOID GetCurrentFiber(VOID) { + #ifdef NONAMELESSUNION + return (PVOID)__readgsqword(FIELD_OFFSET(NT_TIB, DUMMYUNIONNAME.FiberData)); + #else return (PVOID)__readgsqword(FIELD_OFFSET(NT_TIB, FiberData)); + #endif } #elif defined (_M_ARM) PVOID WINAPI GetCurrentFiber(VOID); Modified: branches/ros-amd64-bringup/reactos/include/psdk/winuser.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/inclu…
============================================================================== --- branches/ros-amd64-bringup/reactos/include/psdk/winuser.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/include/psdk/winuser.h [iso-8859-1] Mon Aug 25 16:52:05 2008 @@ -3709,12 +3709,12 @@ #define DialogBoxW(i,t,p,f) DialogBoxParamW(i,t,p,f,0) #define DialogBoxIndirectA(i,t,p,f) DialogBoxIndirectParamA(i,t,p,f,0) #define DialogBoxIndirectW(i,t,p,f) DialogBoxIndirectParamW(i,t,p,f,0) -int WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); -int WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); -int WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM); -int WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM); -LONG WINAPI DispatchMessageA(const MSG*); -LONG WINAPI DispatchMessageW(const MSG*); +INT_PTR WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); +INT_PTR WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); +INT_PTR WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM); +INT_PTR WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM); +LRESULT WINAPI DispatchMessageA(const MSG*); +LRESULT WINAPI DispatchMessageW(const MSG*); int WINAPI DlgDirListA(HWND,LPSTR,int,int,UINT); int WINAPI DlgDirListW(HWND,LPWSTR,int,int,UINT); int WINAPI DlgDirListComboBoxA(HWND,LPSTR,int,int,UINT); @@ -3747,7 +3747,7 @@ BOOL WINAPI EnableScrollBar(HWND,UINT,UINT); BOOL WINAPI EnableWindow(HWND,BOOL); BOOL WINAPI EndDeferWindowPos(HDWP); -BOOL WINAPI EndDialog(HWND,int); +BOOL WINAPI EndDialog(HWND,INT_PTR); BOOL WINAPI EndMenu(void); BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*); #if (_WIN32_WINNT >= 0x0500) @@ -3804,8 +3804,8 @@ DWORD WINAPI GetClassLongA(HWND,int); DWORD WINAPI GetClassLongW(HWND,int); #ifdef _WIN64 -LONG_PTR WINAPI GetClassLongPtrA(HWND,int); -LONG_PTR WINAPI GetClassLongPtrW(HWND,int); +ULONG_PTR WINAPI GetClassLongPtrA(HWND,int); +ULONG_PTR WINAPI GetClassLongPtrW(HWND,int); #else #define GetClassLongPtrA GetClassLongA #define GetClassLongPtrW GetClassLongW @@ -3866,7 +3866,7 @@ int WINAPI GetMenuStringW(HMENU,UINT,LPWSTR,int,UINT); BOOL WINAPI GetMessageA(LPMSG,HWND,UINT,UINT); BOOL WINAPI GetMessageW(LPMSG,HWND,UINT,UINT); -LONG WINAPI GetMessageExtraInfo(void); +LPARAM WINAPI GetMessageExtraInfo(void); DWORD WINAPI GetMessagePos(void); LONG WINAPI GetMessageTime(void); #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490) @@ -4001,8 +4001,8 @@ BOOL WINAPI IsWinEventHookInstalled(DWORD); #endif BOOL WINAPI IsZoomed(HWND); -VOID WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD); -BOOL WINAPI KillTimer(HWND,UINT); +VOID WINAPI keybd_event(BYTE,BYTE,DWORD,ULONG_PTR); +BOOL WINAPI KillTimer(HWND,UINT_PTR); HACCEL WINAPI LoadAcceleratorsA(HINSTANCE,LPCSTR); HACCEL WINAPI LoadAcceleratorsW(HINSTANCE,LPCWSTR); HBITMAP WINAPI LoadBitmapA(HINSTANCE,LPCSTR); @@ -4114,16 +4114,16 @@ BOOL WINAPI ScrollDC(HDC,int,int,LPCRECT,LPCRECT,HRGN,LPRECT); BOOL WINAPI ScrollWindow(HWND,int,int,LPCRECT,LPCRECT); int WINAPI ScrollWindowEx(HWND,int,int,LPCRECT,LPCRECT,HRGN,LPRECT,UINT); -LONG WINAPI SendDlgItemMessageA(HWND,int,UINT,WPARAM,LPARAM); -LONG WINAPI SendDlgItemMessageW(HWND,int,UINT,WPARAM,LPARAM); +LRESULT WINAPI SendDlgItemMessageA(HWND,int,UINT,WPARAM,LPARAM); +LRESULT WINAPI SendDlgItemMessageW(HWND,int,UINT,WPARAM,LPARAM); #if (_WIN32_WINNT >= 0x0403) UINT WINAPI SendInput(UINT,LPINPUT,int); #endif LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM); -BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD); -BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD); -LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD); -LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD); +BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,ULONG_PTR); +BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,ULONG_PTR); +LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD_PTR); +LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD_PTR); LRESULT WINAPI SendMessageW(HWND,UINT,WPARAM,LPARAM); BOOL WINAPI SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM); BOOL WINAPI SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM); @@ -4179,7 +4179,7 @@ #define SetSysModalWindow(h) (NULL) BOOL WINAPI SetSystemCursor(HCURSOR,DWORD); BOOL WINAPI SetThreadDesktop(HDESK); -UINT WINAPI SetTimer(HWND,UINT,UINT,TIMERPROC); +UINT_PTR WINAPI SetTimer(HWND,UINT_PTR,UINT,TIMERPROC); BOOL WINAPI SetUserObjectInformationA(HANDLE,int,PVOID,DWORD); BOOL WINAPI SetUserObjectInformationW(HANDLE,int,PVOID,DWORD); BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
16 years, 4 months
1
0
0
0
← Newer
1
...
17
18
19
20
21
22
23
...
86
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Results per page:
10
25
50
100
200