diff --git a/rosapps/tests/accelerator/accelerator.xml b/rosapps/tests/accelerator/accelerator.xml
index f29bc657155..642694cb4b3 100644
--- a/rosapps/tests/accelerator/accelerator.xml
+++ b/rosapps/tests/accelerator/accelerator.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- accelerator.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ accelerator.c
+
diff --git a/rosapps/tests/alive/alive.xml b/rosapps/tests/alive/alive.xml
index aa32716edfd..0701c110d3d 100644
--- a/rosapps/tests/alive/alive.xml
+++ b/rosapps/tests/alive/alive.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- alive.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ alive.c
+
diff --git a/rosapps/tests/alphablend/alphablend.xml b/rosapps/tests/alphablend/alphablend.xml
index fcdd5706835..785077e865f 100644
--- a/rosapps/tests/alphablend/alphablend.xml
+++ b/rosapps/tests/alphablend/alphablend.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- alphablend.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ alphablend.c
+
diff --git a/rosapps/tests/apc/apc.xml b/rosapps/tests/apc/apc.xml
index 3be2b97219b..4bca7969db4 100644
--- a/rosapps/tests/apc/apc.xml
+++ b/rosapps/tests/apc/apc.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- ntdll
- apc.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ ntdll
+ apc.c
+
diff --git a/rosapps/tests/apc2/apc2.xml b/rosapps/tests/apc2/apc2.xml
index 3965b159d0e..f8fffa0c333 100644
--- a/rosapps/tests/apc2/apc2.xml
+++ b/rosapps/tests/apc2/apc2.xml
@@ -1,7 +1,7 @@
-
- 0x0501
- 0x0501
-
- kernel32
- apc2.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ apc2.c
+
diff --git a/rosapps/tests/args/args.xml b/rosapps/tests/args/args.xml
index 2ed4efb5d06..54c1bb4b8d9 100644
--- a/rosapps/tests/args/args.xml
+++ b/rosapps/tests/args/args.xml
@@ -1,7 +1,7 @@
-
- 0x0501
- 0x0501
-
- kernel32
- args.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ args.c
+
diff --git a/rosapps/tests/atomtest/atomtest.xml b/rosapps/tests/atomtest/atomtest.xml
index 2fa679b3f50..257ee1e6ed2 100644
--- a/rosapps/tests/atomtest/atomtest.xml
+++ b/rosapps/tests/atomtest/atomtest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- ntdll
- atomtest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ ntdll
+ atomtest.c
+
diff --git a/rosapps/tests/bench/bench.xml b/rosapps/tests/bench/bench.xml
index 54787086152..addc83521cf 100644
--- a/rosapps/tests/bench/bench.xml
+++ b/rosapps/tests/bench/bench.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- bench-thread.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ bench-thread.c
+
diff --git a/rosapps/tests/bitblt/bitblt.xml b/rosapps/tests/bitblt/bitblt.xml
index dc6362fa20f..6b4311094a3 100644
--- a/rosapps/tests/bitblt/bitblt.xml
+++ b/rosapps/tests/bitblt/bitblt.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- bitblt.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ bitblt.c
+
diff --git a/rosapps/tests/button/button.xml b/rosapps/tests/button/button.xml
index f34c86c6e00..798c7b3654c 100644
--- a/rosapps/tests/button/button.xml
+++ b/rosapps/tests/button/button.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- buttontst.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ buttontst.c
+
diff --git a/rosapps/tests/button2/button2.xml b/rosapps/tests/button2/button2.xml
index bdba5c72854..e553737600a 100644
--- a/rosapps/tests/button2/button2.xml
+++ b/rosapps/tests/button2/button2.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- buttontst2.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ buttontst2.c
+
diff --git a/rosapps/tests/capclock/capclock.xml b/rosapps/tests/capclock/capclock.xml
index c8f94ba8499..34db601f27f 100644
--- a/rosapps/tests/capclock/capclock.xml
+++ b/rosapps/tests/capclock/capclock.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- capclock.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ capclock.c
+
diff --git a/rosapps/tests/carets/carets.xml b/rosapps/tests/carets/carets.xml
index 196529f6bc2..e9aed6e1afe 100644
--- a/rosapps/tests/carets/carets.xml
+++ b/rosapps/tests/carets/carets.xml
@@ -1,10 +1,10 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- ntdll
- carets.c
- carets.rc
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ ntdll
+ carets.c
+ carets.rc
+
diff --git a/rosapps/tests/combotst/combotst.xml b/rosapps/tests/combotst/combotst.xml
index c7c7fb21582..5ca773623bd 100644
--- a/rosapps/tests/combotst/combotst.xml
+++ b/rosapps/tests/combotst/combotst.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- combotst.c
- utils.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ combotst.c
+ utils.c
+
diff --git a/rosapps/tests/consume/consume.xml b/rosapps/tests/consume/consume.xml
index 0f516e3acbc..e0eb8f8e034 100644
--- a/rosapps/tests/consume/consume.xml
+++ b/rosapps/tests/consume/consume.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- consume.c
-
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ consume.c
+
+
diff --git a/rosapps/tests/copymove/copymove.xml b/rosapps/tests/copymove/copymove.xml
index 1f93ebbfbf5..08b84c61241 100644
--- a/rosapps/tests/copymove/copymove.xml
+++ b/rosapps/tests/copymove/copymove.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- copymove.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ copymove.c
+
diff --git a/rosapps/tests/count/count.xml b/rosapps/tests/count/count.xml
index 14962e14e2e..2a72939e47d 100644
--- a/rosapps/tests/count/count.xml
+++ b/rosapps/tests/count/count.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- count.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ count.c
+
diff --git a/rosapps/tests/create-links/create-links.xml b/rosapps/tests/create-links/create-links.xml
index 4d090093759..683827410c4 100644
--- a/rosapps/tests/create-links/create-links.xml
+++ b/rosapps/tests/create-links/create-links.xml
@@ -1,12 +1,12 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- ole32
- uuid
- shell32
- shlwapi
- create-links.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ ole32
+ uuid
+ shell32
+ shlwapi
+ create-links.c
+
diff --git a/rosapps/tests/dibtest/dibtest.xml b/rosapps/tests/dibtest/dibtest.xml
index 102c1ac2dc7..17910a2da74 100644
--- a/rosapps/tests/dibtest/dibtest.xml
+++ b/rosapps/tests/dibtest/dibtest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- dibtest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ dibtest.c
+
diff --git a/rosapps/tests/dirdlg/dirdlg.xml b/rosapps/tests/dirdlg/dirdlg.xml
index d113839cc86..344ace77920 100644
--- a/rosapps/tests/dirdlg/dirdlg.xml
+++ b/rosapps/tests/dirdlg/dirdlg.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- dirdlg.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ dirdlg.c
+
diff --git a/rosapps/tests/diskspeed/diskspeed.xml b/rosapps/tests/diskspeed/diskspeed.xml
index 384dcb216c1..7c224a02bd2 100644
--- a/rosapps/tests/diskspeed/diskspeed.xml
+++ b/rosapps/tests/diskspeed/diskspeed.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- diskspeed.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ diskspeed.c
+
diff --git a/rosapps/tests/dnsapi/dnsapi.xml b/rosapps/tests/dnsapi/dnsapi.xml
index 67a2256d192..53d4c6f6288 100644
--- a/rosapps/tests/dnsapi/dnsapi.xml
+++ b/rosapps/tests/dnsapi/dnsapi.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
-
- kernel32
- dnsapi
- ws2_32
- dnsapi.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ dnsapi
+ ws2_32
+ dnsapi.c
+
diff --git a/rosapps/tests/dnsquery/dnsquery.xml b/rosapps/tests/dnsquery/dnsquery.xml
index 00085780c9b..84325f9bc2f 100644
--- a/rosapps/tests/dnsquery/dnsquery.xml
+++ b/rosapps/tests/dnsquery/dnsquery.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
-
- kernel32
- dnsapi
- ws2_32
- dnsquery.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ dnsapi
+ ws2_32
+ dnsquery.c
+
diff --git a/rosapps/tests/edit/edit.xml b/rosapps/tests/edit/edit.xml
index e34d53cb3fd..8f75ea66879 100644
--- a/rosapps/tests/edit/edit.xml
+++ b/rosapps/tests/edit/edit.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- edittest.c
- utils.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ edittest.c
+ utils.c
+
diff --git a/rosapps/tests/enhmetafile/enhmetafile.xml b/rosapps/tests/enhmetafile/enhmetafile.xml
index 48559825b20..330b705aba1 100644
--- a/rosapps/tests/enhmetafile/enhmetafile.xml
+++ b/rosapps/tests/enhmetafile/enhmetafile.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- enhmetafile.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ enhmetafile.c
+
diff --git a/rosapps/tests/enumfonts/enumfonts.xml b/rosapps/tests/enumfonts/enumfonts.xml
index 2c51aeedcb1..cd36f503d97 100644
--- a/rosapps/tests/enumfonts/enumfonts.xml
+++ b/rosapps/tests/enumfonts/enumfonts.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- enumfonts.cpp
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ enumfonts.cpp
+
diff --git a/rosapps/tests/enumwnd/enumwnd.dsp b/rosapps/tests/enumwnd/enumwnd.dsp
index 8225c197eda..b18de899a0c 100644
--- a/rosapps/tests/enumwnd/enumwnd.dsp
+++ b/rosapps/tests/enumwnd/enumwnd.dsp
@@ -1,90 +1,90 @@
-# Microsoft Developer Studio Project File - Name="enumwnd" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=enumwnd - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "enumwnd.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "enumwnd.mak" CFG="enumwnd - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "enumwnd - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "enumwnd - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "enumwnd - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "enumwnd - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /debug /machine:I386 /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "enumwnd - Win32 Release"
-# Name "enumwnd - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\enumwnd.c
-# End Source File
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="enumwnd" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=enumwnd - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "enumwnd.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "enumwnd.mak" CFG="enumwnd - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "enumwnd - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "enumwnd - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "enumwnd - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "enumwnd - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /debug /machine:I386 /pdbtype:sept
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "enumwnd - Win32 Release"
+# Name "enumwnd - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\enumwnd.c
+# End Source File
+# End Target
+# End Project
diff --git a/rosapps/tests/enumwnd/enumwnd.xml b/rosapps/tests/enumwnd/enumwnd.xml
index 92c255ae2c3..480183b56da 100644
--- a/rosapps/tests/enumwnd/enumwnd.xml
+++ b/rosapps/tests/enumwnd/enumwnd.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- enumwnd.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ enumwnd.c
+
diff --git a/rosapps/tests/enumws/enumws.xml b/rosapps/tests/enumws/enumws.xml
index e2261353db0..18a93ffd1c8 100644
--- a/rosapps/tests/enumws/enumws.xml
+++ b/rosapps/tests/enumws/enumws.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- enumws.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ enumws.c
+
diff --git a/rosapps/tests/event/event.xml b/rosapps/tests/event/event.xml
index bd09dca0fa9..5aee383207a 100644
--- a/rosapps/tests/event/event.xml
+++ b/rosapps/tests/event/event.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- event.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ event.c
+
diff --git a/rosapps/tests/fiber/fiber.xml b/rosapps/tests/fiber/fiber.xml
index 94e6f0acfc4..1d3c8bb0858 100644
--- a/rosapps/tests/fiber/fiber.xml
+++ b/rosapps/tests/fiber/fiber.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- fiber.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ fiber.c
+
diff --git a/rosapps/tests/gethostbyname/gethostbyname.xml b/rosapps/tests/gethostbyname/gethostbyname.xml
index 9838f404e07..0d1a501906a 100644
--- a/rosapps/tests/gethostbyname/gethostbyname.xml
+++ b/rosapps/tests/gethostbyname/gethostbyname.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- ws2_32
- gethostbyname.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ ws2_32
+ gethostbyname.c
+
diff --git a/rosapps/tests/global_mem/global_mem.xml b/rosapps/tests/global_mem/global_mem.xml
index c2bc3e1cbde..ce274f0804b 100644
--- a/rosapps/tests/global_mem/global_mem.xml
+++ b/rosapps/tests/global_mem/global_mem.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- global_mem.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ global_mem.c
+
diff --git a/rosapps/tests/gradient/gradient.xml b/rosapps/tests/gradient/gradient.xml
index f87fae6302d..43ca3b692ae 100644
--- a/rosapps/tests/gradient/gradient.xml
+++ b/rosapps/tests/gradient/gradient.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- gradient.c
-
+
+ 0x0501
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ gradient.c
+
diff --git a/rosapps/tests/guithreadinfo/guithreadinfo.xml b/rosapps/tests/guithreadinfo/guithreadinfo.xml
index da8588c7cf9..cd90658c0e1 100644
--- a/rosapps/tests/guithreadinfo/guithreadinfo.xml
+++ b/rosapps/tests/guithreadinfo/guithreadinfo.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- guithreadinfo.c
-
+
+ 0x0501
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ guithreadinfo.c
+
diff --git a/rosapps/tests/hello/hello.xml b/rosapps/tests/hello/hello.xml
index 929aef19b1c..49641eaa694 100644
--- a/rosapps/tests/hello/hello.xml
+++ b/rosapps/tests/hello/hello.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- hello.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ hello.c
+
diff --git a/rosapps/tests/hivetest/hivetest.xml b/rosapps/tests/hivetest/hivetest.xml
index c08187b35c3..b73276cbc57 100644
--- a/rosapps/tests/hivetest/hivetest.xml
+++ b/rosapps/tests/hivetest/hivetest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- ntdll
- hivetest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ ntdll
+ hivetest.c
+
diff --git a/rosapps/tests/icontest/icontest.xml b/rosapps/tests/icontest/icontest.xml
index a4c0509a3d6..9fa0e9be169 100644
--- a/rosapps/tests/icontest/icontest.xml
+++ b/rosapps/tests/icontest/icontest.xml
@@ -1,10 +1,10 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- ntdll
- icontest.c
- icontest.rc
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ ntdll
+ icontest.c
+ icontest.rc
+
diff --git a/rosapps/tests/iptest/iptest.xml b/rosapps/tests/iptest/iptest.xml
index f7e9aae8983..e789c29265e 100644
--- a/rosapps/tests/iptest/iptest.xml
+++ b/rosapps/tests/iptest/iptest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- iptest.cpp
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ iptest.cpp
+
diff --git a/rosapps/tests/isotest/isotest.xml b/rosapps/tests/isotest/isotest.xml
index 3c49918e05d..8c7b4b7c379 100644
--- a/rosapps/tests/isotest/isotest.xml
+++ b/rosapps/tests/isotest/isotest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- ntdll
- isotest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ ntdll
+ isotest.c
+
diff --git a/rosapps/tests/lantst/lantest.xml b/rosapps/tests/lantst/lantest.xml
index 41c63e0ba82..6a0db28fd23 100644
--- a/rosapps/tests/lantst/lantest.xml
+++ b/rosapps/tests/lantst/lantest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- lantest.cpp
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ lantest.cpp
+
diff --git a/rosapps/tests/lineclip/lineclip.xml b/rosapps/tests/lineclip/lineclip.xml
index 444f3fcbb81..fdeab748ddf 100644
--- a/rosapps/tests/lineclip/lineclip.xml
+++ b/rosapps/tests/lineclip/lineclip.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- lineclip.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ lineclip.c
+
diff --git a/rosapps/tests/linetest/linetest.xml b/rosapps/tests/linetest/linetest.xml
index 1985f9f4bb8..88dff36d5a5 100644
--- a/rosapps/tests/linetest/linetest.xml
+++ b/rosapps/tests/linetest/linetest.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- linetest.c
-
+
+ 0x0501
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ linetest.c
+
diff --git a/rosapps/tests/lpctst/lpctst.xml b/rosapps/tests/lpctst/lpctst.xml
index 02b587f3404..6c2d96997b6 100644
--- a/rosapps/tests/lpctst/lpctst.xml
+++ b/rosapps/tests/lpctst/lpctst.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- lpctst.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ lpctst.c
+
diff --git a/rosapps/tests/map_dup_inherit/map_dup_inherit.xml b/rosapps/tests/map_dup_inherit/map_dup_inherit.xml
index e6fed0a5d17..91eafd954f0 100644
--- a/rosapps/tests/map_dup_inherit/map_dup_inherit.xml
+++ b/rosapps/tests/map_dup_inherit/map_dup_inherit.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- map_dup_inherit.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ map_dup_inherit.c
+
diff --git a/rosapps/tests/mdi/mdi.xml b/rosapps/tests/mdi/mdi.xml
index 6a31a506e35..fc0ce3bae5c 100644
--- a/rosapps/tests/mdi/mdi.xml
+++ b/rosapps/tests/mdi/mdi.xml
@@ -1,11 +1,11 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- comctl32
- comdlg32
- mdi.c
- mdi.rc
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ comctl32
+ comdlg32
+ mdi.c
+ mdi.rc
+
diff --git a/rosapps/tests/miditest/miditest.xml b/rosapps/tests/miditest/miditest.xml
index 37068775090..6a26a4b218c 100644
--- a/rosapps/tests/miditest/miditest.xml
+++ b/rosapps/tests/miditest/miditest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- winmm
- miditest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ winmm
+ miditest.c
+
diff --git a/rosapps/tests/mktime/mktime.xml b/rosapps/tests/mktime/mktime.xml
index f5dd3168893..46e0d72a032 100644
--- a/rosapps/tests/mktime/mktime.xml
+++ b/rosapps/tests/mktime/mktime.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- mktime.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ mktime.c
+
diff --git a/rosapps/tests/moztest/moztest.xml b/rosapps/tests/moztest/moztest.xml
index 73846441723..fe56aed2b96 100644
--- a/rosapps/tests/moztest/moztest.xml
+++ b/rosapps/tests/moztest/moztest.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
-
- kernel32
- ntdll
- ws2_32
- moztest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ ntdll
+ ws2_32
+ moztest.c
+
diff --git a/rosapps/tests/mstest/mstest.xml b/rosapps/tests/mstest/mstest.xml
index 061fa3a9f00..d8288046c4b 100644
--- a/rosapps/tests/mstest/mstest.xml
+++ b/rosapps/tests/mstest/mstest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- mstest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ mstest.c
+
diff --git a/rosapps/tests/multithrdwin/multithrdwin.xml b/rosapps/tests/multithrdwin/multithrdwin.xml
index b7c26a3cc48..b1fe5ca02c4 100644
--- a/rosapps/tests/multithrdwin/multithrdwin.xml
+++ b/rosapps/tests/multithrdwin/multithrdwin.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- ntdll
- multithrdwin.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ ntdll
+ multithrdwin.c
+
diff --git a/rosapps/tests/multiwin/multiwin.xml b/rosapps/tests/multiwin/multiwin.xml
index c56d560293a..a738f3b6dba 100644
--- a/rosapps/tests/multiwin/multiwin.xml
+++ b/rosapps/tests/multiwin/multiwin.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- multiwin.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ multiwin.c
+
diff --git a/rosapps/tests/mutex/mutex.xml b/rosapps/tests/mutex/mutex.xml
index f34fb3479cc..27eba6c1043 100644
--- a/rosapps/tests/mutex/mutex.xml
+++ b/rosapps/tests/mutex/mutex.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- mutex.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ mutex.c
+
diff --git a/rosapps/tests/nameserverlist/nameserverlist.xml b/rosapps/tests/nameserverlist/nameserverlist.xml
index 5b2b4234675..88341c9a3ab 100644
--- a/rosapps/tests/nameserverlist/nameserverlist.xml
+++ b/rosapps/tests/nameserverlist/nameserverlist.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- iphlpapi
- nameserverlist.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ iphlpapi
+ nameserverlist.c
+
diff --git a/rosapps/tests/noexecute/noexecute.xml b/rosapps/tests/noexecute/noexecute.xml
index 6fdf3ce6e20..5213c5adcaf 100644
--- a/rosapps/tests/noexecute/noexecute.xml
+++ b/rosapps/tests/noexecute/noexecute.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- pseh
- noexecute.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ pseh
+ noexecute.c
+
diff --git a/rosapps/tests/nptest/nptest.xml b/rosapps/tests/nptest/nptest.xml
index 2e6fa566394..f933fe05bfc 100644
--- a/rosapps/tests/nptest/nptest.xml
+++ b/rosapps/tests/nptest/nptest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- nptest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ nptest.c
+
diff --git a/rosapps/tests/oskittcp/oskittcp.xml b/rosapps/tests/oskittcp/oskittcp.xml
index 60c3fc614f8..71313c360f2 100644
--- a/rosapps/tests/oskittcp/oskittcp.xml
+++ b/rosapps/tests/oskittcp/oskittcp.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- tcptest.cpp
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ tcptest.cpp
+
diff --git a/rosapps/tests/oskittcp/tcptest.dsp b/rosapps/tests/oskittcp/tcptest.dsp
index d6ce5ad2bde..fd5f9039a4e 100644
--- a/rosapps/tests/oskittcp/tcptest.dsp
+++ b/rosapps/tests/oskittcp/tcptest.dsp
@@ -1,434 +1,434 @@
-# Microsoft Developer Studio Project File - Name="tcptest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=tcptest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "tcptest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "tcptest.mak" CFG="tcptest - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "tcptest - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "tcptest - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "tcptest - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "tcptest - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../drivers/lib/oskittcp/include" /I "../../../drivers\lib\oskittcp\include\freebsd\src\sys" /I "../../../drivers\lib\oskittcp\include\freebsd\dev\include" /I "../../../drivers\lib\oskittcp\include\freebsd\net\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "KERNEL" /D __REACTOS__=1 /D "FREEZAP" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "tcptest - Win32 Release"
-# Name "tcptest - Win32 Debug"
-# Begin Group "tcptest"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\tcptest.cpp
-
-!IF "$(CFG)" == "tcptest - Win32 Release"
-
-!ELSEIF "$(CFG)" == "tcptest - Win32 Debug"
-
-# SUBTRACT CPP /D "KERNEL"
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "oskittcp"
-
-# PROP Default_Filter ""
-# Begin Group "src"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\defaults.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_cksum.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_pcb.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_proto.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_rmx.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\inet_ntoa.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\interface.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\ip_input.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\ip_output.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\kern_clock.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\kern_subr.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\param.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\radix.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\random.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\raw_cb.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\raw_ip.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\raw_usrreq.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\route.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\rtsock.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\scanc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\sleep.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_debug.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_input.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_output.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_subr.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_timer.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_usrreq.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_domain.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_mbuf.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_socket.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_socket2.c
-# End Source File
-# End Group
-# Begin Group "include"
-
-# PROP Default_Filter ""
-# Begin Group "freebsd"
-
-# PROP Default_Filter ""
-# Begin Group "src No. 1"
-
-# PROP Default_Filter ""
-# Begin Group "sys"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\buf.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\callout.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\cdefs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\domain.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\errno.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\fcntl.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\file.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\filedesc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\filio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ioccom.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ioctl.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\kernel.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\libkern.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\malloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\mbuf.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\param.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\proc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\protosw.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\queue.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\resourcevar.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\rtprio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\select.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\signal.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\signalvar.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\socket.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\socketvar.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\sockio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\stat.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\sysctl.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\syslimits.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\syslog.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\systm.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\time.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ttycom.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\types.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ucred.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\uio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\unistd.h
-# End Source File
-# End Group
-# End Group
-# End Group
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\memtrack.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\oskitdebug.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\oskiterrno.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\oskitfreebsd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\oskittcp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\drivers\lib\oskittcp\include\oskittypes.h
-# End Source File
-# End Group
-# End Group
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="tcptest" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=tcptest - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "tcptest.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "tcptest.mak" CFG="tcptest - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "tcptest - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "tcptest - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "tcptest - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "tcptest - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../drivers/lib/oskittcp/include" /I "../../../drivers\lib\oskittcp\include\freebsd\src\sys" /I "../../../drivers\lib\oskittcp\include\freebsd\dev\include" /I "../../../drivers\lib\oskittcp\include\freebsd\net\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "KERNEL" /D __REACTOS__=1 /D "FREEZAP" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "tcptest - Win32 Release"
+# Name "tcptest - Win32 Debug"
+# Begin Group "tcptest"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\tcptest.cpp
+
+!IF "$(CFG)" == "tcptest - Win32 Release"
+
+!ELSEIF "$(CFG)" == "tcptest - Win32 Debug"
+
+# SUBTRACT CPP /D "KERNEL"
+
+!ENDIF
+
+# End Source File
+# End Group
+# Begin Group "oskittcp"
+
+# PROP Default_Filter ""
+# Begin Group "src"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\defaults.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_cksum.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_pcb.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_proto.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_rmx.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\inet_ntoa.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\interface.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\ip_input.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\ip_output.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\kern_clock.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\kern_subr.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\param.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\radix.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\random.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\raw_cb.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\raw_ip.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\raw_usrreq.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\route.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\rtsock.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\scanc.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\sleep.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_debug.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_input.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_output.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_subr.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_timer.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_usrreq.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_domain.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_mbuf.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_socket.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_socket2.c
+# End Source File
+# End Group
+# Begin Group "include"
+
+# PROP Default_Filter ""
+# Begin Group "freebsd"
+
+# PROP Default_Filter ""
+# Begin Group "src No. 1"
+
+# PROP Default_Filter ""
+# Begin Group "sys"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\buf.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\callout.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\cdefs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\domain.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\errno.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\fcntl.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\file.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\filedesc.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\filio.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ioccom.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ioctl.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\kernel.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\libkern.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\malloc.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\mbuf.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\param.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\proc.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\protosw.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\queue.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\resource.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\resourcevar.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\rtprio.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\select.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\signal.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\signalvar.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\socket.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\socketvar.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\sockio.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\stat.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\sysctl.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\syslimits.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\syslog.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\systm.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\time.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ttycom.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\types.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ucred.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\uio.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\unistd.h
+# End Source File
+# End Group
+# End Group
+# End Group
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\memtrack.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\oskitdebug.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\oskiterrno.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\oskitfreebsd.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\oskittcp.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\drivers\lib\oskittcp\include\oskittypes.h
+# End Source File
+# End Group
+# End Group
+# End Target
+# End Project
diff --git a/rosapps/tests/oskittcp/tcptest.dsw b/rosapps/tests/oskittcp/tcptest.dsw
index 8e875f55534..a00140eb137 100644
--- a/rosapps/tests/oskittcp/tcptest.dsw
+++ b/rosapps/tests/oskittcp/tcptest.dsw
@@ -1,29 +1,29 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "tcptest"=.\tcptest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "tcptest"=.\tcptest.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/rosapps/tests/p_dup_handle/p_dup_handle.xml b/rosapps/tests/p_dup_handle/p_dup_handle.xml
index 080b8529f26..5895c80b1dc 100644
--- a/rosapps/tests/p_dup_handle/p_dup_handle.xml
+++ b/rosapps/tests/p_dup_handle/p_dup_handle.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- p_dup_handle.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ p_dup_handle.c
+
diff --git a/rosapps/tests/palbitblt/palbitblt.xml b/rosapps/tests/palbitblt/palbitblt.xml
index a63f5fe477e..f5e84fb206e 100644
--- a/rosapps/tests/palbitblt/palbitblt.xml
+++ b/rosapps/tests/palbitblt/palbitblt.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- pal.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ pal.c
+
diff --git a/rosapps/tests/patblt/patblt.xml b/rosapps/tests/patblt/patblt.xml
index 77c1e68f693..318c535fa10 100644
--- a/rosapps/tests/patblt/patblt.xml
+++ b/rosapps/tests/patblt/patblt.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- patblt.cpp
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ patblt.cpp
+
diff --git a/rosapps/tests/polytest/polytest.dsp b/rosapps/tests/polytest/polytest.dsp
index a53e6d0f2c0..8151a7c682e 100644
--- a/rosapps/tests/polytest/polytest.dsp
+++ b/rosapps/tests/polytest/polytest.dsp
@@ -1,88 +1,88 @@
-# Microsoft Developer Studio Project File - Name="polytest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=polytest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "polytest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "polytest.mak" CFG="polytest - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "polytest - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "polytest - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "polytest - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "polytest - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "polytest - Win32 Release"
-# Name "polytest - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\polytest.cpp
-# End Source File
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="polytest" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=polytest - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "polytest.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "polytest.mak" CFG="polytest - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "polytest - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "polytest - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "polytest - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "polytest - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "polytest - Win32 Release"
+# Name "polytest - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\polytest.cpp
+# End Source File
+# End Target
+# End Project
diff --git a/rosapps/tests/polytest/polytest.dsw b/rosapps/tests/polytest/polytest.dsw
index 308810dbdf3..c09be21753b 100644
--- a/rosapps/tests/polytest/polytest.dsw
+++ b/rosapps/tests/polytest/polytest.dsw
@@ -1,29 +1,29 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "polytest"=".\polytest.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "polytest"=".\polytest.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/rosapps/tests/polytest/polytest.xml b/rosapps/tests/polytest/polytest.xml
index 6118b2fed26..67272c83b5b 100644
--- a/rosapps/tests/polytest/polytest.xml
+++ b/rosapps/tests/polytest/polytest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- polytest.cpp
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ polytest.cpp
+
diff --git a/rosapps/tests/popupmenu/popupmenu.xml b/rosapps/tests/popupmenu/popupmenu.xml
index 89b986e0978..b3ecf3afbea 100644
--- a/rosapps/tests/popupmenu/popupmenu.xml
+++ b/rosapps/tests/popupmenu/popupmenu.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- popupmenu.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ popupmenu.c
+
diff --git a/rosapps/tests/primitives/primitives.xml b/rosapps/tests/primitives/primitives.xml
index 51832638bba..549e90e8c44 100644
--- a/rosapps/tests/primitives/primitives.xml
+++ b/rosapps/tests/primitives/primitives.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- primitives.cpp
- mk_font.cpp
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ primitives.cpp
+ mk_font.cpp
+
diff --git a/rosapps/tests/pteb/pteb.xml b/rosapps/tests/pteb/pteb.xml
index 8efeab3a5d8..10b920b5165 100644
--- a/rosapps/tests/pteb/pteb.xml
+++ b/rosapps/tests/pteb/pteb.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- pteb.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ pteb.c
+
diff --git a/rosapps/tests/regdump/regdump.xml b/rosapps/tests/regdump/regdump.xml
index 167cfafff20..b2e08642362 100644
--- a/rosapps/tests/regdump/regdump.xml
+++ b/rosapps/tests/regdump/regdump.xml
@@ -1,12 +1,12 @@
-
- 0x0501
- 0x0501
-
- kernel32
- advapi32
- gdi32
- main.c
- regdump.c
- regcmds.c
- regproc.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ advapi32
+ gdi32
+ main.c
+ regdump.c
+ regcmds.c
+ regproc.c
+
diff --git a/rosapps/tests/regqueryvalue/regqueryvalue.xml b/rosapps/tests/regqueryvalue/regqueryvalue.xml
index b051beb058a..c1d7c4fbb31 100644
--- a/rosapps/tests/regqueryvalue/regqueryvalue.xml
+++ b/rosapps/tests/regqueryvalue/regqueryvalue.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- regqueryvalue.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ regqueryvalue.c
+
diff --git a/rosapps/tests/regtest/regtest.xml b/rosapps/tests/regtest/regtest.xml
index 4acefeb066a..94f49e9fcb5 100644
--- a/rosapps/tests/regtest/regtest.xml
+++ b/rosapps/tests/regtest/regtest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- regtest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ regtest.c
+
diff --git a/rosapps/tests/sectest/sectest.xml b/rosapps/tests/sectest/sectest.xml
index 018014e120d..af901e25d6a 100644
--- a/rosapps/tests/sectest/sectest.xml
+++ b/rosapps/tests/sectest/sectest.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- sectest.c
-
+
+ 0x0501
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ sectest.c
+
diff --git a/rosapps/tests/sertest/sertest.xml b/rosapps/tests/sertest/sertest.xml
index 6bffe3f2e8a..ed3e5067855 100644
--- a/rosapps/tests/sertest/sertest.xml
+++ b/rosapps/tests/sertest/sertest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- sertest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ sertest.c
+
diff --git a/rosapps/tests/shaptest/shaptest.xml b/rosapps/tests/shaptest/shaptest.xml
index 5dc2450fd9a..35317cd57a3 100644
--- a/rosapps/tests/shaptest/shaptest.xml
+++ b/rosapps/tests/shaptest/shaptest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- shaptest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ shaptest.c
+
diff --git a/rosapps/tests/shm/shm.xml b/rosapps/tests/shm/shm.xml
index cd1d8c0a6f3..fce03b65ccf 100644
--- a/rosapps/tests/shm/shm.xml
+++ b/rosapps/tests/shm/shm.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- shm.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ shm.c
+
diff --git a/rosapps/tests/statst/statst.xml b/rosapps/tests/statst/statst.xml
index b0807fe87fb..790a1828056 100644
--- a/rosapps/tests/statst/statst.xml
+++ b/rosapps/tests/statst/statst.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- statst.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ statst.c
+
diff --git a/rosapps/tests/statst2/statst2.xml b/rosapps/tests/statst2/statst2.xml
index 83a7da8cf7d..5cfb8fdd932 100644
--- a/rosapps/tests/statst2/statst2.xml
+++ b/rosapps/tests/statst2/statst2.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- statst2.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ statst2.c
+
diff --git a/rosapps/tests/stretchblt/stretchblt.xml b/rosapps/tests/stretchblt/stretchblt.xml
index b5c21a021c4..ad8de6ee3cf 100644
--- a/rosapps/tests/stretchblt/stretchblt.xml
+++ b/rosapps/tests/stretchblt/stretchblt.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- stretchblt.cpp
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ stretchblt.cpp
+
diff --git a/rosapps/tests/subclass/subclass.xml b/rosapps/tests/subclass/subclass.xml
index 560f6815cec..d412d4f3750 100644
--- a/rosapps/tests/subclass/subclass.xml
+++ b/rosapps/tests/subclass/subclass.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- subclass.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ subclass.c
+
diff --git a/rosapps/tests/suspend/suspend.xml b/rosapps/tests/suspend/suspend.xml
index 1b808328712..40de7f6f24f 100644
--- a/rosapps/tests/suspend/suspend.xml
+++ b/rosapps/tests/suspend/suspend.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- suspend.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ suspend.c
+
diff --git a/rosapps/tests/tcpsvr/tcpsvr.xml b/rosapps/tests/tcpsvr/tcpsvr.xml
index 5113464a9f6..da334bb0f5d 100644
--- a/rosapps/tests/tcpsvr/tcpsvr.xml
+++ b/rosapps/tests/tcpsvr/tcpsvr.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- tcpsvr.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ tcpsvr.c
+
diff --git a/rosapps/tests/terminate/terminate.xml b/rosapps/tests/terminate/terminate.xml
index eeb75bcf3cf..22b040b82aa 100644
--- a/rosapps/tests/terminate/terminate.xml
+++ b/rosapps/tests/terminate/terminate.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- terminate.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ terminate.c
+
diff --git a/rosapps/tests/thread/thread.xml b/rosapps/tests/thread/thread.xml
index 6e48ad83366..988b98fbdf1 100644
--- a/rosapps/tests/thread/thread.xml
+++ b/rosapps/tests/thread/thread.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- thread.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ thread.c
+
diff --git a/rosapps/tests/thread_msg/thread_msg.xml b/rosapps/tests/thread_msg/thread_msg.xml
index d48ceb5b775..bb63b8bb66c 100644
--- a/rosapps/tests/thread_msg/thread_msg.xml
+++ b/rosapps/tests/thread_msg/thread_msg.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- thread_msg.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ thread_msg.c
+
diff --git a/rosapps/tests/threadwait/threadwait.xml b/rosapps/tests/threadwait/threadwait.xml
index 00341d1169d..2b9322660a7 100644
--- a/rosapps/tests/threadwait/threadwait.xml
+++ b/rosapps/tests/threadwait/threadwait.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- threadwait.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ threadwait.c
+
diff --git a/rosapps/tests/tmrqueue/tmrqueue.xml b/rosapps/tests/tmrqueue/tmrqueue.xml
index 35dec3e59cf..bce3088985d 100644
--- a/rosapps/tests/tmrqueue/tmrqueue.xml
+++ b/rosapps/tests/tmrqueue/tmrqueue.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- tmrqueue.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ tmrqueue.c
+
diff --git a/rosapps/tests/tokentest/tokentest.xml b/rosapps/tests/tokentest/tokentest.xml
index c05ef824bbd..789ee8a3780 100644
--- a/rosapps/tests/tokentest/tokentest.xml
+++ b/rosapps/tests/tokentest/tokentest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- tokentest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ tokentest.c
+
diff --git a/rosapps/tests/txtscale/txtscale.xml b/rosapps/tests/txtscale/txtscale.xml
index 32aa9830944..dc03d54f9f8 100644
--- a/rosapps/tests/txtscale/txtscale.xml
+++ b/rosapps/tests/txtscale/txtscale.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- txtscale.cpp
- mk_font.cpp
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ txtscale.cpp
+ mk_font.cpp
+
diff --git a/rosapps/tests/vmtest/vmtest.xml b/rosapps/tests/vmtest/vmtest.xml
index 839c1df1d52..86aa057add8 100644
--- a/rosapps/tests/vmtest/vmtest.xml
+++ b/rosapps/tests/vmtest/vmtest.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- vmtest.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ vmtest.c
+
diff --git a/rosapps/tests/wclickat/wclickat.c b/rosapps/tests/wclickat/wclickat.c
index 9ffc886222d..cfc6731f0a3 100644
--- a/rosapps/tests/wclickat/wclickat.c
+++ b/rosapps/tests/wclickat/wclickat.c
@@ -1,686 +1,686 @@
-/*----------------------------------------------------------------------------
-** wclickat.c
-** Utilty to send clicks to Wine Windows
-**
-** See usage() for usage instructions.
-**
-**---------------------------------------------------------------------------
-** Copyright 2004 Jozef Stefanka for CodeWeavers, Inc.
-** Copyright 2005 Dmitry Timoshkov for CodeWeavers, Inc.
-** Copyright 2005 Francois Gouget for CodeWeavers, Inc.
-**
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-**
-**--------------------------------------------------------------------------*/
-
-
-#include
-#include
-#include
-#include
-
-
-#define APP_NAME "wclickat"
-#define DEFAULT_DELAY 500
-#define DEFAULT_REPEAT 1000
-
-#define ARRAY_LENGTH(array) (sizeof(array)/sizeof((array)[0]))
-
-static const WCHAR STATIC_CLASS[]={'s','t','a','t','i','c','\0'};
-
-/*----------------------------------------------------------------------------
-** Global variables
-**--------------------------------------------------------------------------*/
-
-#define RC_RUNNING -1
-#define RC_SUCCESS 0
-#define RC_INVALID_ARGUMENTS 1
-#define RC_NODISPLAY 2
-#define RC_TIMEOUT 3
-static int status;
-
-typedef enum
-{
- ACTION_INVALID,
- ACTION_FIND,
- ACTION_LCLICK,
- ACTION_MCLICK,
- ACTION_RCLICK
-} action_type;
-static action_type g_action = ACTION_INVALID;
-
-static WCHAR* g_window_class = NULL;
-static WCHAR* g_window_title = NULL;
-static long g_control_id = 0;
-static WCHAR* g_control_class = NULL;
-static WCHAR* g_control_caption = NULL;
-static long g_x = -1;
-static long g_y = -1;
-static long g_dragto_x = -1;
-static long g_dragto_y = -1;
-static long g_disabled = 0;
-
-static long g_delay = DEFAULT_DELAY;
-static long g_timeout = 0;
-static long g_repeat = 0;
-static long g_untildeath = 0;
-static UINT timer_id;
-
-
-/*
- * Provide some basic debugging support.
- */
-#ifdef __GNUC__
-#define __PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args)))
-#else
-#define __PRINTF_ATTR(fmt,args)
-#endif
-static int debug_on=0;
-static int init_debug()
-{
- char* str=getenv("CXTEST_DEBUG");
- if (str && strstr(str, "+wclickat"))
- debug_on=1;
- return debug_on;
-}
-
-static void cxlog(const char* format, ...) __PRINTF_ATTR(1,2);
-static void cxlog(const char* format, ...)
-{
- va_list valist;
-
- if (debug_on)
- {
- va_start(valist, format);
- vfprintf(stderr, format, valist);
- va_end(valist);
- }
-}
-
-/*----------------------------------------------------------------------------
-** usage
-**--------------------------------------------------------------------------*/
-static void usage(void)
-{
- fprintf(stderr, "%s - Utility to send clicks to Wine Windows.\n", APP_NAME);
- fprintf(stderr, "----------------------------------------------\n");
- fprintf(stderr, "Usage:\n");
- fprintf(stderr, " %s action --winclass class --wintitle title [--timeout ms]\n",APP_NAME);
- fprintf(stderr, " %*.*s [--ctrlclas class] [--ctrlcaption caption] [--ctrlid id]\n", strlen(APP_NAME) + 3, strlen(APP_NAME) + 3, "");
- fprintf(stderr, " %*.*s [--position XxY] [--delay ms] [--untildeath] [--repeat ms]\n", strlen(APP_NAME) + 3, strlen(APP_NAME) + 3, "");
- fprintf(stderr, "Where action can be one of:\n");
- fprintf(stderr, " find Find the specified window or control\n");
- fprintf(stderr, " button Send a click with the given X button number\n");
- fprintf(stderr, " click|lclick Synonym for button1 (left click)\n");
- fprintf(stderr, " mclick Synonym for button2 (middle click)\n");
- fprintf(stderr, " rclick Synonym for button3 (right click)\n");
- fprintf(stderr, "\n");
- fprintf(stderr, "The options are as follows:\n");
- fprintf(stderr, " --timeout ms How long to wait before failing with a code of %d\n", RC_TIMEOUT);
- fprintf(stderr, " --winclass class Class name of the top-level window of interest\n");
- fprintf(stderr, " --wintitle title Title of the top-level window of interest\n");
- fprintf(stderr, " --ctrlclass name Class name of the control of interest, if any\n");
- fprintf(stderr, " --ctrlcaption cap A substring of the control's caption\n");
- fprintf(stderr, " --ctrlid id Id of the control\n");
- fprintf(stderr, " --position XxY Coordinates for the click, relative to the window / control\n");
- fprintf(stderr, " --dragto If given, then position specifies start click, and\n");
- fprintf(stderr, " dragto specifies release coords.\n");
- fprintf(stderr, " --allow-disabled Match the window or control even hidden or disabled\n");
- fprintf(stderr, " --delay ms Wait ms milliseconds before clicking. The default is %d\n", DEFAULT_DELAY);
- fprintf(stderr, " --untildeath Wait until the window disappears\n");
- fprintf(stderr, " --repeat ms Click every ms milliseconds. The default is %d\n", DEFAULT_REPEAT);
- fprintf(stderr, "\n");
- fprintf(stderr, "%s returns %d on success\n", APP_NAME, RC_SUCCESS);
- fprintf(stderr, "\n");
- fprintf(stderr, "Environment variable overrides:\n");
- fprintf(stderr, " CXTEST_TIME_MULTIPLE Specifies a floating multiplier applied to any\n");
- fprintf(stderr, " delay and timeout parameters.\n");
-}
-
-static const WCHAR* my_strstriW(const WCHAR* haystack, const WCHAR* needle)
-{
- const WCHAR *h,*n;
- WCHAR first;
-
- if (!*needle)
- return haystack;
-
- /* Special case the first character because
- * we will be doing a lot of comparisons with it.
- */
- first=towlower(*needle);
- needle++;
- while (*haystack)
- {
- while (towlower(*haystack)!=first && *haystack)
- haystack++;
-
- h=haystack+1;
- n=needle;
- while (towlower(*h)==towlower(*n) && *h)
- {
- h++;
- n++;
- }
- if (!*n)
- return haystack;
- haystack++;
- }
- return NULL;
-}
-
-static BOOL CALLBACK find_control(HWND hwnd, LPARAM lParam)
-{
- WCHAR str[1024];
- HWND* pcontrol;
-
- if (!GetClassNameW(hwnd, str, ARRAY_LENGTH(str)) ||
- lstrcmpiW(str, g_control_class))
- return TRUE;
-
- if (g_control_caption)
- {
- if (!GetWindowTextW(hwnd, str, ARRAY_LENGTH(str)) ||
- !my_strstriW(str, g_control_caption))
- return TRUE;
- }
- if (g_control_id && g_control_id != GetWindowLong(hwnd, GWL_ID))
- return TRUE;
-
- /* Check that the control is visible and active */
- if (!g_disabled)
- {
- DWORD style = GetWindowStyle(hwnd);
- if (!(style & WS_VISIBLE) || (style & WS_DISABLED))
- return TRUE;
- }
-
- pcontrol = (HWND*)lParam;
- *pcontrol = hwnd;
- return FALSE;
-}
-
-static BOOL CALLBACK find_top_window(HWND hwnd, LPARAM lParam)
-{
- WCHAR str[1024];
- HWND* pwindow;
-
- if (!GetClassNameW(hwnd, str, ARRAY_LENGTH(str)) ||
- lstrcmpiW(str, g_window_class))
- return TRUE;
-
- if (!GetWindowTextW(hwnd, str, ARRAY_LENGTH(str)) ||
- lstrcmpiW(str, g_window_title))
- return TRUE;
-
- /* Check that the window is visible and active */
- if (!g_disabled)
- {
- DWORD style = GetWindowStyle(hwnd);
- if (!(style & WS_VISIBLE) || (style & WS_DISABLED))
- return TRUE;
- }
-
- /* See if we find the control we want */
- if (g_control_class)
- {
- HWND control = NULL;
- EnumChildWindows(hwnd, find_control, (LPARAM)&control);
- if (!control)
- return TRUE;
- hwnd=control;
- }
-
- pwindow = (HWND*)lParam;
- *pwindow = hwnd;
- return FALSE;
-}
-
-static HWND find_window()
-{
- HWND hwnd;
-
- hwnd=NULL;
- EnumWindows(find_top_window, (LPARAM)&hwnd);
- return hwnd;
-}
-
-static void do_click(HWND window, DWORD down, DWORD up)
-{
- WINDOWINFO window_info;
- long x, y;
-
- SetForegroundWindow(GetParent(window));
- window_info.cbSize=sizeof(window_info);
- GetWindowInfo(window, &window_info);
-
- /* The calculations below convert the coordinates so they are absolute
- * screen coordinates in 'Mickeys' as required by mouse_event.
- * In mickeys the screen size is always 65535x65535.
- */
- x=window_info.rcWindow.left+g_x;
- if (x=window_info.rcWindow.right)
- x=(window_info.rcWindow.right+window_info.rcWindow.left)/2;
- x=(x << 16)/GetSystemMetrics(SM_CXSCREEN);
-
- y=window_info.rcWindow.top+g_y;
- if (y=window_info.rcWindow.bottom)
- y=(window_info.rcWindow.bottom+window_info.rcWindow.top)/2;
- y=(y << 16)/GetSystemMetrics(SM_CYSCREEN);
-
- mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, x, y, 0, 0);
- if (down) {
- mouse_event(MOUSEEVENTF_ABSOLUTE | down, x, y, 0, 0);
- if ((g_dragto_x > 0) && (g_dragto_y > 0)) {
- int i;
- long dx, dy;
- long step_per_x, step_per_y;
- long dragto_x, dragto_y;
-
- dragto_x=window_info.rcWindow.left+g_dragto_x;
- if (dragto_x=window_info.rcWindow.right)
- dragto_x=(window_info.rcWindow.right+window_info.rcWindow.left)/2;
- dragto_x=(dragto_x << 16)/GetSystemMetrics(SM_CXSCREEN);
-
- dragto_y=window_info.rcWindow.top+g_dragto_y;
- if (dragto_y=window_info.rcWindow.bottom)
- dragto_y=(window_info.rcWindow.bottom+window_info.rcWindow.top)/2;
- dragto_y=(dragto_y << 16)/GetSystemMetrics(SM_CYSCREEN);
-
- dx = g_dragto_x - g_x;
- dy = g_dragto_y - g_y;
- step_per_x = dx / 4;
- step_per_y = dy / 4;
- for (i = 0; i < 4; i++) {
- mouse_event(MOUSEEVENTF_MOVE, step_per_x, step_per_y, 0, 0);
- }
- x=dragto_x;
- y=dragto_y;
- }
- }
- if (up)
- mouse_event(MOUSEEVENTF_ABSOLUTE | up, x, y, 0, 0);
-}
-
-static void CALLBACK ClickProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
-{
- HWND window = find_window();
-
- if (!window)
- {
- if (g_untildeath)
- {
- /* FIXME: The window / control might just be disabled and if
- * that's the case we should not exit yet. But I don't expect
- * --untildeath to be used at all anyway so fixing this can
- * wait until it becomes necessary.
- */
- status=RC_SUCCESS;
- }
- else
- cxlog("The window has disappeared!\n");
- return;
- }
-
- switch (g_action)
- {
- case ACTION_FIND:
- /* Nothing to do */
- break;
- case ACTION_LCLICK:
- cxlog("Sending left click\n");
- do_click(window, MOUSEEVENTF_LEFTDOWN, MOUSEEVENTF_LEFTUP);
- break;
- case ACTION_MCLICK:
- cxlog("Sending middle click\n");
- do_click(window, MOUSEEVENTF_MIDDLEDOWN, MOUSEEVENTF_MIDDLEUP);
- break;
- case ACTION_RCLICK:
- cxlog("Sending right click\n");
- do_click(window, MOUSEEVENTF_RIGHTDOWN, MOUSEEVENTF_RIGHTUP);
- default:
- fprintf(stderr, "error: unknown action %d\n", g_action);
- break;
- }
- if (!g_repeat)
- status=RC_SUCCESS;
-}
-
-static void CALLBACK DelayProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
-{
- KillTimer(NULL, timer_id);
- timer_id=0;
- if (g_repeat)
- {
- cxlog("Setting up a timer for --repeat\n");
- timer_id=SetTimer(NULL, 0, g_repeat, ClickProc);
- }
-
- ClickProc(NULL, 0, 0, 0);
-}
-
-static void CALLBACK FindWindowProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
-{
- HWND window = find_window();
- if (!window)
- return;
-
- cxlog("Found the window\n");
- if (g_delay)
- {
- cxlog("Waiting for a bit\n");
- KillTimer(NULL, timer_id);
- timer_id=SetTimer(NULL, 0, g_delay, DelayProc);
- do_click(window, 0,0);
- }
- else
- {
- DelayProc(NULL, 0, 0, 0);
- }
-}
-
-static void CALLBACK TimeoutProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
-{
- status = RC_TIMEOUT;
-}
-
-/*----------------------------------------------------------------------------
-** parse_arguments
-**--------------------------------------------------------------------------*/
-static int arg_get_long(const char** *argv, const char* name, long* value)
-{
- if (!**argv)
- {
- fprintf(stderr, "error: missing argument for '%s'\n", name);
- return 1;
- }
-
- *value=atol(**argv);
- if (*value < 0)
- {
- fprintf(stderr, "error: invalid argument '%s' for '%s'\n",
- **argv, name);
- (*argv)++;
- return 1;
- }
- (*argv)++;
- return 0;
-}
-
-static int arg_get_utf8(const char** *argv, const char* name, WCHAR* *value)
-{
- int len;
-
- if (!**argv)
- {
- fprintf(stderr, "error: missing argument for '%s'\n", name);
- return 1;
- }
-
- len = MultiByteToWideChar(CP_UTF8, 0, **argv, -1, NULL, 0);
- *value = HeapAlloc(GetProcessHeap(), 0, len*sizeof(WCHAR));
- if (!*value)
- {
- fprintf(stderr, "error: memory allocation error\n");
- (*argv)++;
- return 1;
- }
- MultiByteToWideChar(CP_UTF8, 0, **argv, -1, *value, len);
- (*argv)++;
- return 0;
-}
-
-static int parse_arguments(int argc, const char** argv)
-{
- int rc;
- const char* arg;
- char* p;
-
- rc=0;
- argv++;
- while (*argv)
- {
- arg=*argv++;
- if (*arg!='-')
- {
- if (g_action != ACTION_INVALID)
- {
- fprintf(stderr, "error: '%s' an action has already been specified\n", arg);
- rc=1;
- }
- else if (strcmp(arg, "click") == 0 || strcmp(arg, "lclick") == 0)
- {
- g_action = ACTION_LCLICK;
- }
- else if (strcmp(arg, "mclick") == 0)
- {
- g_action = ACTION_MCLICK;
- }
- else if (strcmp(arg, "rclick") == 0)
- {
- g_action = ACTION_RCLICK;
- }
- else if (strncmp(arg, "button", 6) == 0)
- {
- int button;
- char extra='\0';
- int r=sscanf(arg, "button%d%c", &button, &extra);
- /* We should always get r==1 but due to a bug in Wine's
- * msvcrt.dll implementation (at least up to 20050127)
- * we may also get r==2 and extra=='\0'.
- */
- if (r!=1 && (r!=2 || extra!='\0'))
- {
- fprintf(stderr, "error: invalid argument '%s' for '%s'\n",
- *argv, arg);
- rc=1;
- }
- else if (button<1 || button>3)
- {
- fprintf(stderr, "error: unknown button '%s'\n", arg);
- rc=1;
- }
- else
- {
- /* Just to remain compatible with the enum */
- g_action=button+ACTION_LCLICK-1;
- }
- }
- else if (strcmp(arg, "find") == 0)
- {
- g_action = ACTION_FIND;
- }
- else
- {
- fprintf(stderr, "error: unknown action '%s'\n", arg);
- rc=1;
- }
- }
- else if (strcmp(arg, "--winclass") == 0)
- {
- rc|=arg_get_utf8(&argv, arg, &g_window_class);
- }
- else if (strcmp(arg, "--wintitle") == 0)
- {
- rc|=arg_get_utf8(&argv,arg, &g_window_title);
- }
- else if (strcmp(arg, "--ctrlclass") == 0)
- {
- rc|=arg_get_utf8(&argv, arg, &g_control_class);
- }
- else if (strcmp(arg, "--ctrlid") == 0)
- {
- rc|=arg_get_long(&argv, arg, &g_control_id);
- }
- else if (strcmp(arg, "--ctrlcaption") == 0)
- {
- rc|=arg_get_utf8(&argv, arg, &g_control_caption);
- }
- else if (strcmp(arg, "--position") == 0)
- {
- if (!*argv)
- {
- fprintf(stderr, "error: missing argument for '%s'\n", arg);
- rc=1;
- }
- else
- {
- char extra='\0';
- int r=sscanf(*argv, "%ldx%ld%c", &g_x, &g_y, &extra);
- /* We should always get r==2 but due to a bug in Wine's
- * msvcrt.dll implementation (at least up to 20050127)
- * we may also get r==3 and extra=='\0'.
- */
- if (r!=2 && (r!=3 || extra!='\0'))
- {
- fprintf(stderr, "error: invalid argument '%s' for '%s'\n",
- *argv, arg);
- rc=1;
- }
- argv++;
- }
- }
- else if (strcmp(arg, "--dragto") == 0)
- {
- if (!*argv)
- {
- fprintf(stderr, "error: missing argument for '%s'\n", arg);
- rc=1;
- }
- else
- {
- char extra='\0';
- int r=sscanf(*argv, "%ldx%ld%c", &g_dragto_x, &g_dragto_y, &extra);
- /* We should always get r==2 but due to a bug in Wine's
- * * msvcrt.dll implementation (at least up to 20050127)
- * * we may also get r==3 and extra=='\0'.
- * */
- if (r!=2 && (r!=3 || extra!='\0'))
- {
- fprintf(stderr, "error: invalid argument '%s' for '%s'\n",
- *argv, arg);
- rc=1;
- }
- argv++;
- }
- }
- else if (strcmp(arg, "--allow-disabled") == 0)
- {
- g_disabled = 1;
- }
- else if (strcmp(arg, "--delay") == 0)
- {
- rc|=arg_get_long(&argv, arg, &g_delay);
- }
- else if (strcmp(arg, "--timeout") == 0)
- {
- rc|=arg_get_long(&argv, arg, &g_timeout);
- }
- else if (strcmp(arg, "--repeat") == 0)
- {
- rc|=arg_get_long(&argv, arg, &g_repeat);
- }
- else if (strcmp(arg, "--untildeath") == 0)
- {
- g_untildeath=1;
- }
- else if (strcmp(arg, "--help") == 0)
- {
- rc=2;
- }
- }
-
- if (g_action == ACTION_INVALID)
- {
- fprintf(stderr, "error: you must specify an action type\n");
- rc=1;
- }
- else
- {
- /* Adjust the default delay and repeat parameters depending on
- * the operating mode so less needs to be specified on the command
- * line, and so we can assume them to be set right.
- */
- if (g_action == ACTION_FIND)
- g_delay=0;
- if (!g_untildeath)
- g_repeat=0;
- else if (!g_repeat)
- g_repeat=DEFAULT_REPEAT;
- }
-
- if (!g_window_class)
- {
- fprintf(stderr, "error: you must specify a --winclass parameter\n");
- rc=1;
- }
- if (!g_window_title)
- {
- fprintf(stderr, "error: you must specify a --wintitle parameter\n");
- rc=1;
- }
- if (g_control_class)
- {
- if (!g_control_id && !g_control_caption)
- {
- fprintf(stderr, "error: you must specify either the control id or its caption\n");
- rc=1;
- }
- }
-
- /*------------------------------------------------------------------------
- ** Process environment variables
- **----------------------------------------------------------------------*/
- p = getenv("CXTEST_TIME_MULTIPLE");
- if (p)
- {
- float g_multiple = atof(p);
- g_delay = (long) (((float) g_delay) * g_multiple);
- g_timeout = (long) (((float) g_timeout) * g_multiple);
- }
-
- return rc;
-}
-
-int main(int argc, const char** argv)
-{
- MSG msg;
-
- init_debug();
-
- status = parse_arguments(argc, argv);
- if (status)
- {
- if (status == 2)
- usage();
- else
- fprintf(stderr, "Issue %s --help for usage.\n", *argv);
- return RC_INVALID_ARGUMENTS;
- }
- cxlog("Entering message loop. action=%d\n", g_action);
-
- if (g_timeout>0)
- SetTimer(NULL, 0, g_timeout, TimeoutProc);
- timer_id=SetTimer(NULL, 0, 100, FindWindowProc);
-
- status=RC_RUNNING;
- while (status==RC_RUNNING && GetMessage(&msg, NULL, 0, 0)!=0)
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
-
- return status;
-}
+/*----------------------------------------------------------------------------
+** wclickat.c
+** Utilty to send clicks to Wine Windows
+**
+** See usage() for usage instructions.
+**
+**---------------------------------------------------------------------------
+** Copyright 2004 Jozef Stefanka for CodeWeavers, Inc.
+** Copyright 2005 Dmitry Timoshkov for CodeWeavers, Inc.
+** Copyright 2005 Francois Gouget for CodeWeavers, Inc.
+**
+** This program is free software; you can redistribute it and/or modify
+** it under the terms of the GNU General Public License as published by
+** the Free Software Foundation; either version 2 of the License, or
+** (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+**
+**--------------------------------------------------------------------------*/
+
+
+#include
+#include
+#include
+#include
+
+
+#define APP_NAME "wclickat"
+#define DEFAULT_DELAY 500
+#define DEFAULT_REPEAT 1000
+
+#define ARRAY_LENGTH(array) (sizeof(array)/sizeof((array)[0]))
+
+static const WCHAR STATIC_CLASS[]={'s','t','a','t','i','c','\0'};
+
+/*----------------------------------------------------------------------------
+** Global variables
+**--------------------------------------------------------------------------*/
+
+#define RC_RUNNING -1
+#define RC_SUCCESS 0
+#define RC_INVALID_ARGUMENTS 1
+#define RC_NODISPLAY 2
+#define RC_TIMEOUT 3
+static int status;
+
+typedef enum
+{
+ ACTION_INVALID,
+ ACTION_FIND,
+ ACTION_LCLICK,
+ ACTION_MCLICK,
+ ACTION_RCLICK
+} action_type;
+static action_type g_action = ACTION_INVALID;
+
+static WCHAR* g_window_class = NULL;
+static WCHAR* g_window_title = NULL;
+static long g_control_id = 0;
+static WCHAR* g_control_class = NULL;
+static WCHAR* g_control_caption = NULL;
+static long g_x = -1;
+static long g_y = -1;
+static long g_dragto_x = -1;
+static long g_dragto_y = -1;
+static long g_disabled = 0;
+
+static long g_delay = DEFAULT_DELAY;
+static long g_timeout = 0;
+static long g_repeat = 0;
+static long g_untildeath = 0;
+static UINT timer_id;
+
+
+/*
+ * Provide some basic debugging support.
+ */
+#ifdef __GNUC__
+#define __PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args)))
+#else
+#define __PRINTF_ATTR(fmt,args)
+#endif
+static int debug_on=0;
+static int init_debug()
+{
+ char* str=getenv("CXTEST_DEBUG");
+ if (str && strstr(str, "+wclickat"))
+ debug_on=1;
+ return debug_on;
+}
+
+static void cxlog(const char* format, ...) __PRINTF_ATTR(1,2);
+static void cxlog(const char* format, ...)
+{
+ va_list valist;
+
+ if (debug_on)
+ {
+ va_start(valist, format);
+ vfprintf(stderr, format, valist);
+ va_end(valist);
+ }
+}
+
+/*----------------------------------------------------------------------------
+** usage
+**--------------------------------------------------------------------------*/
+static void usage(void)
+{
+ fprintf(stderr, "%s - Utility to send clicks to Wine Windows.\n", APP_NAME);
+ fprintf(stderr, "----------------------------------------------\n");
+ fprintf(stderr, "Usage:\n");
+ fprintf(stderr, " %s action --winclass class --wintitle title [--timeout ms]\n",APP_NAME);
+ fprintf(stderr, " %*.*s [--ctrlclas class] [--ctrlcaption caption] [--ctrlid id]\n", strlen(APP_NAME) + 3, strlen(APP_NAME) + 3, "");
+ fprintf(stderr, " %*.*s [--position XxY] [--delay ms] [--untildeath] [--repeat ms]\n", strlen(APP_NAME) + 3, strlen(APP_NAME) + 3, "");
+ fprintf(stderr, "Where action can be one of:\n");
+ fprintf(stderr, " find Find the specified window or control\n");
+ fprintf(stderr, " button Send a click with the given X button number\n");
+ fprintf(stderr, " click|lclick Synonym for button1 (left click)\n");
+ fprintf(stderr, " mclick Synonym for button2 (middle click)\n");
+ fprintf(stderr, " rclick Synonym for button3 (right click)\n");
+ fprintf(stderr, "\n");
+ fprintf(stderr, "The options are as follows:\n");
+ fprintf(stderr, " --timeout ms How long to wait before failing with a code of %d\n", RC_TIMEOUT);
+ fprintf(stderr, " --winclass class Class name of the top-level window of interest\n");
+ fprintf(stderr, " --wintitle title Title of the top-level window of interest\n");
+ fprintf(stderr, " --ctrlclass name Class name of the control of interest, if any\n");
+ fprintf(stderr, " --ctrlcaption cap A substring of the control's caption\n");
+ fprintf(stderr, " --ctrlid id Id of the control\n");
+ fprintf(stderr, " --position XxY Coordinates for the click, relative to the window / control\n");
+ fprintf(stderr, " --dragto If given, then position specifies start click, and\n");
+ fprintf(stderr, " dragto specifies release coords.\n");
+ fprintf(stderr, " --allow-disabled Match the window or control even hidden or disabled\n");
+ fprintf(stderr, " --delay ms Wait ms milliseconds before clicking. The default is %d\n", DEFAULT_DELAY);
+ fprintf(stderr, " --untildeath Wait until the window disappears\n");
+ fprintf(stderr, " --repeat ms Click every ms milliseconds. The default is %d\n", DEFAULT_REPEAT);
+ fprintf(stderr, "\n");
+ fprintf(stderr, "%s returns %d on success\n", APP_NAME, RC_SUCCESS);
+ fprintf(stderr, "\n");
+ fprintf(stderr, "Environment variable overrides:\n");
+ fprintf(stderr, " CXTEST_TIME_MULTIPLE Specifies a floating multiplier applied to any\n");
+ fprintf(stderr, " delay and timeout parameters.\n");
+}
+
+static const WCHAR* my_strstriW(const WCHAR* haystack, const WCHAR* needle)
+{
+ const WCHAR *h,*n;
+ WCHAR first;
+
+ if (!*needle)
+ return haystack;
+
+ /* Special case the first character because
+ * we will be doing a lot of comparisons with it.
+ */
+ first=towlower(*needle);
+ needle++;
+ while (*haystack)
+ {
+ while (towlower(*haystack)!=first && *haystack)
+ haystack++;
+
+ h=haystack+1;
+ n=needle;
+ while (towlower(*h)==towlower(*n) && *h)
+ {
+ h++;
+ n++;
+ }
+ if (!*n)
+ return haystack;
+ haystack++;
+ }
+ return NULL;
+}
+
+static BOOL CALLBACK find_control(HWND hwnd, LPARAM lParam)
+{
+ WCHAR str[1024];
+ HWND* pcontrol;
+
+ if (!GetClassNameW(hwnd, str, ARRAY_LENGTH(str)) ||
+ lstrcmpiW(str, g_control_class))
+ return TRUE;
+
+ if (g_control_caption)
+ {
+ if (!GetWindowTextW(hwnd, str, ARRAY_LENGTH(str)) ||
+ !my_strstriW(str, g_control_caption))
+ return TRUE;
+ }
+ if (g_control_id && g_control_id != GetWindowLong(hwnd, GWL_ID))
+ return TRUE;
+
+ /* Check that the control is visible and active */
+ if (!g_disabled)
+ {
+ DWORD style = GetWindowStyle(hwnd);
+ if (!(style & WS_VISIBLE) || (style & WS_DISABLED))
+ return TRUE;
+ }
+
+ pcontrol = (HWND*)lParam;
+ *pcontrol = hwnd;
+ return FALSE;
+}
+
+static BOOL CALLBACK find_top_window(HWND hwnd, LPARAM lParam)
+{
+ WCHAR str[1024];
+ HWND* pwindow;
+
+ if (!GetClassNameW(hwnd, str, ARRAY_LENGTH(str)) ||
+ lstrcmpiW(str, g_window_class))
+ return TRUE;
+
+ if (!GetWindowTextW(hwnd, str, ARRAY_LENGTH(str)) ||
+ lstrcmpiW(str, g_window_title))
+ return TRUE;
+
+ /* Check that the window is visible and active */
+ if (!g_disabled)
+ {
+ DWORD style = GetWindowStyle(hwnd);
+ if (!(style & WS_VISIBLE) || (style & WS_DISABLED))
+ return TRUE;
+ }
+
+ /* See if we find the control we want */
+ if (g_control_class)
+ {
+ HWND control = NULL;
+ EnumChildWindows(hwnd, find_control, (LPARAM)&control);
+ if (!control)
+ return TRUE;
+ hwnd=control;
+ }
+
+ pwindow = (HWND*)lParam;
+ *pwindow = hwnd;
+ return FALSE;
+}
+
+static HWND find_window()
+{
+ HWND hwnd;
+
+ hwnd=NULL;
+ EnumWindows(find_top_window, (LPARAM)&hwnd);
+ return hwnd;
+}
+
+static void do_click(HWND window, DWORD down, DWORD up)
+{
+ WINDOWINFO window_info;
+ long x, y;
+
+ SetForegroundWindow(GetParent(window));
+ window_info.cbSize=sizeof(window_info);
+ GetWindowInfo(window, &window_info);
+
+ /* The calculations below convert the coordinates so they are absolute
+ * screen coordinates in 'Mickeys' as required by mouse_event.
+ * In mickeys the screen size is always 65535x65535.
+ */
+ x=window_info.rcWindow.left+g_x;
+ if (x=window_info.rcWindow.right)
+ x=(window_info.rcWindow.right+window_info.rcWindow.left)/2;
+ x=(x << 16)/GetSystemMetrics(SM_CXSCREEN);
+
+ y=window_info.rcWindow.top+g_y;
+ if (y=window_info.rcWindow.bottom)
+ y=(window_info.rcWindow.bottom+window_info.rcWindow.top)/2;
+ y=(y << 16)/GetSystemMetrics(SM_CYSCREEN);
+
+ mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, x, y, 0, 0);
+ if (down) {
+ mouse_event(MOUSEEVENTF_ABSOLUTE | down, x, y, 0, 0);
+ if ((g_dragto_x > 0) && (g_dragto_y > 0)) {
+ int i;
+ long dx, dy;
+ long step_per_x, step_per_y;
+ long dragto_x, dragto_y;
+
+ dragto_x=window_info.rcWindow.left+g_dragto_x;
+ if (dragto_x=window_info.rcWindow.right)
+ dragto_x=(window_info.rcWindow.right+window_info.rcWindow.left)/2;
+ dragto_x=(dragto_x << 16)/GetSystemMetrics(SM_CXSCREEN);
+
+ dragto_y=window_info.rcWindow.top+g_dragto_y;
+ if (dragto_y=window_info.rcWindow.bottom)
+ dragto_y=(window_info.rcWindow.bottom+window_info.rcWindow.top)/2;
+ dragto_y=(dragto_y << 16)/GetSystemMetrics(SM_CYSCREEN);
+
+ dx = g_dragto_x - g_x;
+ dy = g_dragto_y - g_y;
+ step_per_x = dx / 4;
+ step_per_y = dy / 4;
+ for (i = 0; i < 4; i++) {
+ mouse_event(MOUSEEVENTF_MOVE, step_per_x, step_per_y, 0, 0);
+ }
+ x=dragto_x;
+ y=dragto_y;
+ }
+ }
+ if (up)
+ mouse_event(MOUSEEVENTF_ABSOLUTE | up, x, y, 0, 0);
+}
+
+static void CALLBACK ClickProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
+{
+ HWND window = find_window();
+
+ if (!window)
+ {
+ if (g_untildeath)
+ {
+ /* FIXME: The window / control might just be disabled and if
+ * that's the case we should not exit yet. But I don't expect
+ * --untildeath to be used at all anyway so fixing this can
+ * wait until it becomes necessary.
+ */
+ status=RC_SUCCESS;
+ }
+ else
+ cxlog("The window has disappeared!\n");
+ return;
+ }
+
+ switch (g_action)
+ {
+ case ACTION_FIND:
+ /* Nothing to do */
+ break;
+ case ACTION_LCLICK:
+ cxlog("Sending left click\n");
+ do_click(window, MOUSEEVENTF_LEFTDOWN, MOUSEEVENTF_LEFTUP);
+ break;
+ case ACTION_MCLICK:
+ cxlog("Sending middle click\n");
+ do_click(window, MOUSEEVENTF_MIDDLEDOWN, MOUSEEVENTF_MIDDLEUP);
+ break;
+ case ACTION_RCLICK:
+ cxlog("Sending right click\n");
+ do_click(window, MOUSEEVENTF_RIGHTDOWN, MOUSEEVENTF_RIGHTUP);
+ default:
+ fprintf(stderr, "error: unknown action %d\n", g_action);
+ break;
+ }
+ if (!g_repeat)
+ status=RC_SUCCESS;
+}
+
+static void CALLBACK DelayProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
+{
+ KillTimer(NULL, timer_id);
+ timer_id=0;
+ if (g_repeat)
+ {
+ cxlog("Setting up a timer for --repeat\n");
+ timer_id=SetTimer(NULL, 0, g_repeat, ClickProc);
+ }
+
+ ClickProc(NULL, 0, 0, 0);
+}
+
+static void CALLBACK FindWindowProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
+{
+ HWND window = find_window();
+ if (!window)
+ return;
+
+ cxlog("Found the window\n");
+ if (g_delay)
+ {
+ cxlog("Waiting for a bit\n");
+ KillTimer(NULL, timer_id);
+ timer_id=SetTimer(NULL, 0, g_delay, DelayProc);
+ do_click(window, 0,0);
+ }
+ else
+ {
+ DelayProc(NULL, 0, 0, 0);
+ }
+}
+
+static void CALLBACK TimeoutProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
+{
+ status = RC_TIMEOUT;
+}
+
+/*----------------------------------------------------------------------------
+** parse_arguments
+**--------------------------------------------------------------------------*/
+static int arg_get_long(const char** *argv, const char* name, long* value)
+{
+ if (!**argv)
+ {
+ fprintf(stderr, "error: missing argument for '%s'\n", name);
+ return 1;
+ }
+
+ *value=atol(**argv);
+ if (*value < 0)
+ {
+ fprintf(stderr, "error: invalid argument '%s' for '%s'\n",
+ **argv, name);
+ (*argv)++;
+ return 1;
+ }
+ (*argv)++;
+ return 0;
+}
+
+static int arg_get_utf8(const char** *argv, const char* name, WCHAR* *value)
+{
+ int len;
+
+ if (!**argv)
+ {
+ fprintf(stderr, "error: missing argument for '%s'\n", name);
+ return 1;
+ }
+
+ len = MultiByteToWideChar(CP_UTF8, 0, **argv, -1, NULL, 0);
+ *value = HeapAlloc(GetProcessHeap(), 0, len*sizeof(WCHAR));
+ if (!*value)
+ {
+ fprintf(stderr, "error: memory allocation error\n");
+ (*argv)++;
+ return 1;
+ }
+ MultiByteToWideChar(CP_UTF8, 0, **argv, -1, *value, len);
+ (*argv)++;
+ return 0;
+}
+
+static int parse_arguments(int argc, const char** argv)
+{
+ int rc;
+ const char* arg;
+ char* p;
+
+ rc=0;
+ argv++;
+ while (*argv)
+ {
+ arg=*argv++;
+ if (*arg!='-')
+ {
+ if (g_action != ACTION_INVALID)
+ {
+ fprintf(stderr, "error: '%s' an action has already been specified\n", arg);
+ rc=1;
+ }
+ else if (strcmp(arg, "click") == 0 || strcmp(arg, "lclick") == 0)
+ {
+ g_action = ACTION_LCLICK;
+ }
+ else if (strcmp(arg, "mclick") == 0)
+ {
+ g_action = ACTION_MCLICK;
+ }
+ else if (strcmp(arg, "rclick") == 0)
+ {
+ g_action = ACTION_RCLICK;
+ }
+ else if (strncmp(arg, "button", 6) == 0)
+ {
+ int button;
+ char extra='\0';
+ int r=sscanf(arg, "button%d%c", &button, &extra);
+ /* We should always get r==1 but due to a bug in Wine's
+ * msvcrt.dll implementation (at least up to 20050127)
+ * we may also get r==2 and extra=='\0'.
+ */
+ if (r!=1 && (r!=2 || extra!='\0'))
+ {
+ fprintf(stderr, "error: invalid argument '%s' for '%s'\n",
+ *argv, arg);
+ rc=1;
+ }
+ else if (button<1 || button>3)
+ {
+ fprintf(stderr, "error: unknown button '%s'\n", arg);
+ rc=1;
+ }
+ else
+ {
+ /* Just to remain compatible with the enum */
+ g_action=button+ACTION_LCLICK-1;
+ }
+ }
+ else if (strcmp(arg, "find") == 0)
+ {
+ g_action = ACTION_FIND;
+ }
+ else
+ {
+ fprintf(stderr, "error: unknown action '%s'\n", arg);
+ rc=1;
+ }
+ }
+ else if (strcmp(arg, "--winclass") == 0)
+ {
+ rc|=arg_get_utf8(&argv, arg, &g_window_class);
+ }
+ else if (strcmp(arg, "--wintitle") == 0)
+ {
+ rc|=arg_get_utf8(&argv,arg, &g_window_title);
+ }
+ else if (strcmp(arg, "--ctrlclass") == 0)
+ {
+ rc|=arg_get_utf8(&argv, arg, &g_control_class);
+ }
+ else if (strcmp(arg, "--ctrlid") == 0)
+ {
+ rc|=arg_get_long(&argv, arg, &g_control_id);
+ }
+ else if (strcmp(arg, "--ctrlcaption") == 0)
+ {
+ rc|=arg_get_utf8(&argv, arg, &g_control_caption);
+ }
+ else if (strcmp(arg, "--position") == 0)
+ {
+ if (!*argv)
+ {
+ fprintf(stderr, "error: missing argument for '%s'\n", arg);
+ rc=1;
+ }
+ else
+ {
+ char extra='\0';
+ int r=sscanf(*argv, "%ldx%ld%c", &g_x, &g_y, &extra);
+ /* We should always get r==2 but due to a bug in Wine's
+ * msvcrt.dll implementation (at least up to 20050127)
+ * we may also get r==3 and extra=='\0'.
+ */
+ if (r!=2 && (r!=3 || extra!='\0'))
+ {
+ fprintf(stderr, "error: invalid argument '%s' for '%s'\n",
+ *argv, arg);
+ rc=1;
+ }
+ argv++;
+ }
+ }
+ else if (strcmp(arg, "--dragto") == 0)
+ {
+ if (!*argv)
+ {
+ fprintf(stderr, "error: missing argument for '%s'\n", arg);
+ rc=1;
+ }
+ else
+ {
+ char extra='\0';
+ int r=sscanf(*argv, "%ldx%ld%c", &g_dragto_x, &g_dragto_y, &extra);
+ /* We should always get r==2 but due to a bug in Wine's
+ * * msvcrt.dll implementation (at least up to 20050127)
+ * * we may also get r==3 and extra=='\0'.
+ * */
+ if (r!=2 && (r!=3 || extra!='\0'))
+ {
+ fprintf(stderr, "error: invalid argument '%s' for '%s'\n",
+ *argv, arg);
+ rc=1;
+ }
+ argv++;
+ }
+ }
+ else if (strcmp(arg, "--allow-disabled") == 0)
+ {
+ g_disabled = 1;
+ }
+ else if (strcmp(arg, "--delay") == 0)
+ {
+ rc|=arg_get_long(&argv, arg, &g_delay);
+ }
+ else if (strcmp(arg, "--timeout") == 0)
+ {
+ rc|=arg_get_long(&argv, arg, &g_timeout);
+ }
+ else if (strcmp(arg, "--repeat") == 0)
+ {
+ rc|=arg_get_long(&argv, arg, &g_repeat);
+ }
+ else if (strcmp(arg, "--untildeath") == 0)
+ {
+ g_untildeath=1;
+ }
+ else if (strcmp(arg, "--help") == 0)
+ {
+ rc=2;
+ }
+ }
+
+ if (g_action == ACTION_INVALID)
+ {
+ fprintf(stderr, "error: you must specify an action type\n");
+ rc=1;
+ }
+ else
+ {
+ /* Adjust the default delay and repeat parameters depending on
+ * the operating mode so less needs to be specified on the command
+ * line, and so we can assume them to be set right.
+ */
+ if (g_action == ACTION_FIND)
+ g_delay=0;
+ if (!g_untildeath)
+ g_repeat=0;
+ else if (!g_repeat)
+ g_repeat=DEFAULT_REPEAT;
+ }
+
+ if (!g_window_class)
+ {
+ fprintf(stderr, "error: you must specify a --winclass parameter\n");
+ rc=1;
+ }
+ if (!g_window_title)
+ {
+ fprintf(stderr, "error: you must specify a --wintitle parameter\n");
+ rc=1;
+ }
+ if (g_control_class)
+ {
+ if (!g_control_id && !g_control_caption)
+ {
+ fprintf(stderr, "error: you must specify either the control id or its caption\n");
+ rc=1;
+ }
+ }
+
+ /*------------------------------------------------------------------------
+ ** Process environment variables
+ **----------------------------------------------------------------------*/
+ p = getenv("CXTEST_TIME_MULTIPLE");
+ if (p)
+ {
+ float g_multiple = atof(p);
+ g_delay = (long) (((float) g_delay) * g_multiple);
+ g_timeout = (long) (((float) g_timeout) * g_multiple);
+ }
+
+ return rc;
+}
+
+int main(int argc, const char** argv)
+{
+ MSG msg;
+
+ init_debug();
+
+ status = parse_arguments(argc, argv);
+ if (status)
+ {
+ if (status == 2)
+ usage();
+ else
+ fprintf(stderr, "Issue %s --help for usage.\n", *argv);
+ return RC_INVALID_ARGUMENTS;
+ }
+ cxlog("Entering message loop. action=%d\n", g_action);
+
+ if (g_timeout>0)
+ SetTimer(NULL, 0, g_timeout, TimeoutProc);
+ timer_id=SetTimer(NULL, 0, 100, FindWindowProc);
+
+ status=RC_RUNNING;
+ while (status==RC_RUNNING && GetMessage(&msg, NULL, 0, 0)!=0)
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+
+ return status;
+}
diff --git a/rosapps/tests/wclickat/wclickat.xml b/rosapps/tests/wclickat/wclickat.xml
index b5a7b3504b1..5c3d0cb3b16 100644
--- a/rosapps/tests/wclickat/wclickat.xml
+++ b/rosapps/tests/wclickat/wclickat.xml
@@ -1,9 +1,9 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- wclickat.c
-
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ wclickat.c
+
+
diff --git a/rosapps/tests/winhello/winhello.xml b/rosapps/tests/winhello/winhello.xml
index 132d23fb2c8..57689a5cacd 100644
--- a/rosapps/tests/winhello/winhello.xml
+++ b/rosapps/tests/winhello/winhello.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- winhello.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ winhello.c
+
diff --git a/rosapps/tests/wm_erasebkgnd/wm_erasebkgnd.xml b/rosapps/tests/wm_erasebkgnd/wm_erasebkgnd.xml
index 5b6afeb852d..71c5ea213b2 100644
--- a/rosapps/tests/wm_erasebkgnd/wm_erasebkgnd.xml
+++ b/rosapps/tests/wm_erasebkgnd/wm_erasebkgnd.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- wm_erasebkgnd.cpp
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ wm_erasebkgnd.cpp
+
diff --git a/rosapps/tests/wm_paint/wm_paint.xml b/rosapps/tests/wm_paint/wm_paint.xml
index 15de6d6cf21..3e5e2732d46 100644
--- a/rosapps/tests/wm_paint/wm_paint.xml
+++ b/rosapps/tests/wm_paint/wm_paint.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- wm_paint.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ wm_paint.c
+
diff --git a/rosapps/tests/wpickclick/wpickclick.c b/rosapps/tests/wpickclick/wpickclick.c
index 36a1aede172..7277aeacfaf 100644
--- a/rosapps/tests/wpickclick/wpickclick.c
+++ b/rosapps/tests/wpickclick/wpickclick.c
@@ -1,219 +1,219 @@
-/*----------------------------------------------------------------------------
-** wpickclick.c
-** Utilty to pick clicks posted to Wine Windows
-**
-**
-**---------------------------------------------------------------------------
-** Copyright 2004 Jozef Stefanka for CodeWeavers, Inc.
-** Copyright 2005 Francois Gouget for CodeWeavers, Inc.
-** Copyright 2005 Dmitry Timoshkov for CodeWeavers, Inc.
-**
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-**
-**--------------------------------------------------------------------------*/
-#include
-#include
-#include
-#include
-
-#include "hook.h"
-
-
-#define APP_NAME "wpickclick.exe"
-
-
-static BOOL (WINAPI *pInstallHooks)(HMODULE hdll);
-static void (WINAPI *pRemoveHooks)();
-static action_t* (WINAPI *pGetAction)();
-static void (WINAPI *pFreeAction)(action_t* action);
-
-
-/*
- * Provide some basic debugging support.
- */
-#ifdef __GNUC__
-#define __PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args)))
-#else
-#define __PRINTF_ATTR(fmt,args)
-#endif
-static int debug_on=0;
-static int init_debug()
-{
- char* str=getenv("CXTEST_DEBUG");
- if (str && strstr(str, "+hook"))
- debug_on=1;
- return debug_on;
-}
-
-static void cxlog(const char* format, ...) __PRINTF_ATTR(1,2);
-static void cxlog(const char* format, ...)
-{
- va_list valist;
-
- if (debug_on)
- {
- va_start(valist, format);
- vfprintf(stderr, format, valist);
- va_end(valist);
- }
-}
-
-static HINSTANCE load_hook_dll()
-{
- HINSTANCE hinstDll;
- char dllpath[MAX_PATH];
- char* p;
-
- hinstDll=LoadLibrary("hook.dll");
- if (hinstDll != NULL)
- return hinstDll;
-
- if (!GetModuleFileName(NULL,dllpath,sizeof(dllpath)))
- return NULL;
-
- p=strrchr(dllpath,'\\');
- if (!p)
- return NULL;
- *p='\0';
- p=strrchr(dllpath,'\\');
- if (!p)
- return NULL;
- *p='\0';
- strcat(dllpath,"\\hookdll\\hook.dll");
- hinstDll=LoadLibrary(dllpath);
- return hinstDll;
-}
-
-char* cleanup(char* str)
-{
- char* s;
-
- while (*str==' ' || *str=='\t' || *str=='\r' || *str=='\n')
- str++;
- s=strchr(str,'\n');
- if (!s)
- s=str+strlen(str)-1;
- while (s>str && (*s==' ' || *s=='\t' || *s=='\r' || *s=='\n'))
- s--;
- *(s+1)='\0';
- return str;
-}
-
-int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
- LPSTR lpCmdLine, int nCmdShow)
-{
- HINSTANCE hDll;
- action_t* action;
-
- init_debug();
-
- /* Our scripts expect Unix-style line ends */
- _setmode(1,_O_BINARY);
- _setmode(2,_O_BINARY);
-
- if (strstr(lpCmdLine,"--help"))
- {
- fprintf(stderr,"%s - Utility to print coordinates, component, window title, component class and window class name of a click\n", APP_NAME);
- fprintf(stderr,"----------------------------------------------\n");
- fprintf(stderr,"Usage: %s\n",APP_NAME);
- fprintf(stderr,"The options are as follows:\n");
- fprintf(stderr,"After starting you can\n");
- fprintf(stderr,"select where to click. If we properly track the click, it will be reported\n");
- fprintf(stderr,"in the following format:\n");
- fprintf(stderr," button-name x y component_name window_name component_class_name window_class_name\n");
- fprintf(stderr,"Note that x and y can be negative; this typically happens if you click within the\n");
- fprintf(stderr,"window manager decorations of a given window.\n");
- fprintf(stderr,"On success, %s returns 0, non zero on some failure\n",APP_NAME);
- exit(0);
- };
-
- /* Load the hook library */
- hDll = load_hook_dll();
- if (!hDll)
- {
- fprintf(stderr, "Error: Unable to load 'hook.dll'\n");
- printf("failed\n");
- return 1;
- }
-
- pInstallHooks=(void*)GetProcAddress(hDll, "InstallHooks");
- pRemoveHooks=(void*)GetProcAddress(hDll, "RemoveHooks");
- pGetAction=(void*)GetProcAddress(hDll, "GetAction");
- pFreeAction=(void*)GetProcAddress(hDll, "FreeAction");
- if (!pInstallHooks || !pRemoveHooks || !pGetAction)
- {
- fprintf(stderr, "Error: Unable to get the hook.dll functions (%ld)\n",
- GetLastError());
- printf("failed\n");
- return 1;
- }
-
- if (!pInstallHooks(hDll))
- {
- fprintf(stderr, "Error: Unable to install the hooks (%ld)\n",
- GetLastError());
- printf("failed\n");
- return 1;
- }
-
- fprintf(stderr, "Ready for capture...\n");
- action=pGetAction();
- if (!action)
- {
- fprintf(stderr, "Error: GetAction() failed\n");
- printf("failed\n");
- return 1;
- }
-
- switch (action->action)
- {
- case ACTION_FAILED:
- printf("failed\n");
- break;
- case ACTION_NONE:
- printf("none\n");
- break;
- case ACTION_FIND:
- printf("find\n");
- break;
- case ACTION_BUTTON1:
- case ACTION_BUTTON2:
- case ACTION_BUTTON3:
- printf("button%d %ld %ld\n", action->action-ACTION_BUTTON1+1,
- action->x, action->y);
- break;
- default:
- fprintf(stderr, "Error: Unknown action %d\n",action->action);
- printf("%d\n", action->action);
- break;
- }
- printf("%s\n", action->window_class);
- printf("%s\n", action->window_title);
- printf("%ld\n", action->control_id);
- printf("%s\n", action->control_class);
- printf("%s\n", cleanup(action->control_caption));
-
- cxlog("\n%s: action=%d x=%ld y=%ld\n", __FILE__, action->action,
- action->x, action->y);
- cxlog("window_class='%s'\n", action->window_class);
- cxlog("window_title='%s'\n", action->window_title);
- cxlog("control_id=%ld\n", action->control_id);
- cxlog("control_class='%s'\n", action->control_class);
- cxlog("control_caption='%s'\n", action->control_caption);
-
- pFreeAction(action);
- pRemoveHooks();
- return 0;
-}
+/*----------------------------------------------------------------------------
+** wpickclick.c
+** Utilty to pick clicks posted to Wine Windows
+**
+**
+**---------------------------------------------------------------------------
+** Copyright 2004 Jozef Stefanka for CodeWeavers, Inc.
+** Copyright 2005 Francois Gouget for CodeWeavers, Inc.
+** Copyright 2005 Dmitry Timoshkov for CodeWeavers, Inc.
+**
+** This program is free software; you can redistribute it and/or modify
+** it under the terms of the GNU General Public License as published by
+** the Free Software Foundation; either version 2 of the License, or
+** (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+**
+**--------------------------------------------------------------------------*/
+#include
+#include
+#include
+#include
+
+#include "hook.h"
+
+
+#define APP_NAME "wpickclick.exe"
+
+
+static BOOL (WINAPI *pInstallHooks)(HMODULE hdll);
+static void (WINAPI *pRemoveHooks)();
+static action_t* (WINAPI *pGetAction)();
+static void (WINAPI *pFreeAction)(action_t* action);
+
+
+/*
+ * Provide some basic debugging support.
+ */
+#ifdef __GNUC__
+#define __PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args)))
+#else
+#define __PRINTF_ATTR(fmt,args)
+#endif
+static int debug_on=0;
+static int init_debug()
+{
+ char* str=getenv("CXTEST_DEBUG");
+ if (str && strstr(str, "+hook"))
+ debug_on=1;
+ return debug_on;
+}
+
+static void cxlog(const char* format, ...) __PRINTF_ATTR(1,2);
+static void cxlog(const char* format, ...)
+{
+ va_list valist;
+
+ if (debug_on)
+ {
+ va_start(valist, format);
+ vfprintf(stderr, format, valist);
+ va_end(valist);
+ }
+}
+
+static HINSTANCE load_hook_dll()
+{
+ HINSTANCE hinstDll;
+ char dllpath[MAX_PATH];
+ char* p;
+
+ hinstDll=LoadLibrary("hook.dll");
+ if (hinstDll != NULL)
+ return hinstDll;
+
+ if (!GetModuleFileName(NULL,dllpath,sizeof(dllpath)))
+ return NULL;
+
+ p=strrchr(dllpath,'\\');
+ if (!p)
+ return NULL;
+ *p='\0';
+ p=strrchr(dllpath,'\\');
+ if (!p)
+ return NULL;
+ *p='\0';
+ strcat(dllpath,"\\hookdll\\hook.dll");
+ hinstDll=LoadLibrary(dllpath);
+ return hinstDll;
+}
+
+char* cleanup(char* str)
+{
+ char* s;
+
+ while (*str==' ' || *str=='\t' || *str=='\r' || *str=='\n')
+ str++;
+ s=strchr(str,'\n');
+ if (!s)
+ s=str+strlen(str)-1;
+ while (s>str && (*s==' ' || *s=='\t' || *s=='\r' || *s=='\n'))
+ s--;
+ *(s+1)='\0';
+ return str;
+}
+
+int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
+ LPSTR lpCmdLine, int nCmdShow)
+{
+ HINSTANCE hDll;
+ action_t* action;
+
+ init_debug();
+
+ /* Our scripts expect Unix-style line ends */
+ _setmode(1,_O_BINARY);
+ _setmode(2,_O_BINARY);
+
+ if (strstr(lpCmdLine,"--help"))
+ {
+ fprintf(stderr,"%s - Utility to print coordinates, component, window title, component class and window class name of a click\n", APP_NAME);
+ fprintf(stderr,"----------------------------------------------\n");
+ fprintf(stderr,"Usage: %s\n",APP_NAME);
+ fprintf(stderr,"The options are as follows:\n");
+ fprintf(stderr,"After starting you can\n");
+ fprintf(stderr,"select where to click. If we properly track the click, it will be reported\n");
+ fprintf(stderr,"in the following format:\n");
+ fprintf(stderr," button-name x y component_name window_name component_class_name window_class_name\n");
+ fprintf(stderr,"Note that x and y can be negative; this typically happens if you click within the\n");
+ fprintf(stderr,"window manager decorations of a given window.\n");
+ fprintf(stderr,"On success, %s returns 0, non zero on some failure\n",APP_NAME);
+ exit(0);
+ };
+
+ /* Load the hook library */
+ hDll = load_hook_dll();
+ if (!hDll)
+ {
+ fprintf(stderr, "Error: Unable to load 'hook.dll'\n");
+ printf("failed\n");
+ return 1;
+ }
+
+ pInstallHooks=(void*)GetProcAddress(hDll, "InstallHooks");
+ pRemoveHooks=(void*)GetProcAddress(hDll, "RemoveHooks");
+ pGetAction=(void*)GetProcAddress(hDll, "GetAction");
+ pFreeAction=(void*)GetProcAddress(hDll, "FreeAction");
+ if (!pInstallHooks || !pRemoveHooks || !pGetAction)
+ {
+ fprintf(stderr, "Error: Unable to get the hook.dll functions (%ld)\n",
+ GetLastError());
+ printf("failed\n");
+ return 1;
+ }
+
+ if (!pInstallHooks(hDll))
+ {
+ fprintf(stderr, "Error: Unable to install the hooks (%ld)\n",
+ GetLastError());
+ printf("failed\n");
+ return 1;
+ }
+
+ fprintf(stderr, "Ready for capture...\n");
+ action=pGetAction();
+ if (!action)
+ {
+ fprintf(stderr, "Error: GetAction() failed\n");
+ printf("failed\n");
+ return 1;
+ }
+
+ switch (action->action)
+ {
+ case ACTION_FAILED:
+ printf("failed\n");
+ break;
+ case ACTION_NONE:
+ printf("none\n");
+ break;
+ case ACTION_FIND:
+ printf("find\n");
+ break;
+ case ACTION_BUTTON1:
+ case ACTION_BUTTON2:
+ case ACTION_BUTTON3:
+ printf("button%d %ld %ld\n", action->action-ACTION_BUTTON1+1,
+ action->x, action->y);
+ break;
+ default:
+ fprintf(stderr, "Error: Unknown action %d\n",action->action);
+ printf("%d\n", action->action);
+ break;
+ }
+ printf("%s\n", action->window_class);
+ printf("%s\n", action->window_title);
+ printf("%ld\n", action->control_id);
+ printf("%s\n", action->control_class);
+ printf("%s\n", cleanup(action->control_caption));
+
+ cxlog("\n%s: action=%d x=%ld y=%ld\n", __FILE__, action->action,
+ action->x, action->y);
+ cxlog("window_class='%s'\n", action->window_class);
+ cxlog("window_title='%s'\n", action->window_title);
+ cxlog("control_id=%ld\n", action->control_id);
+ cxlog("control_class='%s'\n", action->control_class);
+ cxlog("control_caption='%s'\n", action->control_caption);
+
+ pFreeAction(action);
+ pRemoveHooks();
+ return 0;
+}
diff --git a/rosapps/tests/wpickclick/wpickclick.xml b/rosapps/tests/wpickclick/wpickclick.xml
index b40a8105e39..f02a1b97cc3 100644
--- a/rosapps/tests/wpickclick/wpickclick.xml
+++ b/rosapps/tests/wpickclick/wpickclick.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- wpickclick.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ wpickclick.c
+
diff --git a/rosapps/tests/zwcontinue/zwcontinue.xml b/rosapps/tests/zwcontinue/zwcontinue.xml
index 6b02256df3c..6e3280c016f 100644
--- a/rosapps/tests/zwcontinue/zwcontinue.xml
+++ b/rosapps/tests/zwcontinue/zwcontinue.xml
@@ -1,8 +1,8 @@
-
- 0x0501
- 0x0501
-
- kernel32
- gdi32
- zwcontinue.c
-
+
+ 0x0501
+ 0x0501
+
+ kernel32
+ gdi32
+ zwcontinue.c
+