Compare commits

..

1475 Commits

Author SHA1 Message Date
Brandon Turner
9995407642 version -> release
svn path=/branches/ros-branch-0_2_9/; revision=20302
2005-12-22 18:32:14 +00:00
Brandon Turner
0970bef959 merge 20263 from GL's request.
svn path=/branches/ros-branch-0_2_9/; revision=20266
2005-12-19 01:50:51 +00:00
Hervé Poussineau
501f3eae92 Merge 20261 and part of 20256 from trunk:
- Fix little bug which prevented IRP_MJ_PNP to be forwarded to lower driver
- Fix serial mouse type detection
- Shut up some debug message

svn path=/branches/ros-branch-0_2_9/; revision=20262
2005-12-18 23:02:36 +00:00
Brandon Turner
1bab34f39f change version to RC2
svn path=/branches/ros-branch-0_2_9/; revision=20260
2005-12-18 22:51:10 +00:00
Gé van Geldorp
9902d58ce2 Merge from trunk:
Fix C++ exception handling

svn path=/branches/ros-branch-0_2_9/; revision=20258
2005-12-18 21:01:56 +00:00
Hervé Poussineau
4b5d91277e Merge from trunk:
Fix typo, which lead to be unable to create services with a description text

svn path=/branches/ros-branch-0_2_9/; revision=20254
2005-12-18 18:14:48 +00:00
Hervé Poussineau
f95ef07957 Merge from trunk:
Use the right default value for the serial port baud rate

svn path=/branches/ros-branch-0_2_9/; revision=20252
2005-12-18 18:12:51 +00:00
Gé van Geldorp
1471bad4d2 Add static entries for PCnet and NE2000 network cards (VMware/QEmu resp.) so
networking is available on the LiveCD. Fixes bug 1116 (again :-))

svn path=/branches/ros-branch-0_2_9/; revision=20214
2005-12-16 23:17:18 +00:00
Andrew Munger
33be95a93e Merge 20204 from trunk.
svn path=/branches/ros-branch-0_2_9/; revision=20205
2005-12-16 03:04:02 +00:00
Gé van Geldorp
0ef3fa89ca Fix by Royce3:
Don't wait 10 sec after starting an app via a .lnk file

svn path=/branches/ros-branch-0_2_9/; revision=20199
2005-12-15 20:58:51 +00:00
Ged Murphy
5093f4e90e merge 20197
svn path=/branches/ros-branch-0_2_9/; revision=20198
2005-12-15 20:50:04 +00:00
Andrew Munger
7566da4dbc *Tweetmerge -r 20194:20193 . *Yellow Card* Revert 20194. *g*
svn path=/branches/ros-branch-0_2_9/; revision=20195
2005-12-15 19:12:37 +00:00
Brandon Turner
c805e6657c set default res to 800x600x16
svn path=/branches/ros-branch-0_2_9/; revision=20194
2005-12-15 18:53:33 +00:00
Hervé Poussineau
35a1e044f5 Merge from trunk:
Add message box to tell the user to reboot after the installation of a network card

svn path=/branches/ros-branch-0_2_9/; revision=20193
2005-12-15 18:22:34 +00:00
Andrew Munger
ac5b031aea Merge 20151 from trunk.
svn path=/branches/ros-branch-0_2_9/; revision=20186
2005-12-15 01:47:36 +00:00
Gé van Geldorp
88c6bdc581 Martin Fuchs <martin-fuchs@gmx.net>
Directly return the correct "My Computer" attributes in
ISF_Desktop_fnGetAttributesOf().
Fixes bug 1097

svn path=/branches/ros-branch-0_2_9/; revision=20178
2005-12-14 22:41:16 +00:00
Gé van Geldorp
f4ef493c15 Merge from trunk:
Make property sheet fit in 640x480. Fixes bug 1099

svn path=/branches/ros-branch-0_2_9/; revision=20177
2005-12-14 21:39:24 +00:00
Gé van Geldorp
ef206239f6 Don't pop-up device installer screen.
Fixes bug 1026

svn path=/branches/ros-branch-0_2_9/; revision=20175
2005-12-14 20:32:57 +00:00
Ged Murphy
7ba0b3e0ad merge Art's tcpip changes to the branch
svn path=/branches/ros-branch-0_2_9/; revision=20162
2005-12-14 10:28:30 +00:00
Ged Murphy
5d1b580120 merge 20108 to branch
svn path=/branches/ros-branch-0_2_9/; revision=20109
2005-12-12 20:01:44 +00:00
Andrew Munger
ac56de8f10 Merge 20041 from trunk
svn path=/branches/ros-branch-0_2_9/; revision=20099
2005-12-12 04:50:06 +00:00
Sebastian Gasiorek
0a08dc64a5 merge 20084
svn path=/branches/ros-branch-0_2_9/; revision=20087
2005-12-11 21:29:07 +00:00
Gé van Geldorp
d5ba90fc03 Merge from trunk:
Put back extra info if it was present

svn path=/branches/ros-branch-0_2_9/; revision=20086
2005-12-11 21:24:51 +00:00
Gé van Geldorp
22ea8a7f36 Merge from trunk:
Resolve chained CNAME records

svn path=/branches/ros-branch-0_2_9/; revision=20083
2005-12-11 21:18:32 +00:00
Sebastian Gasiorek
824ed815aa merge 20065
svn path=/branches/ros-branch-0_2_9/; revision=20080
2005-12-11 20:22:21 +00:00
Brandon Turner
1c0fdf270d merge 20048
svn path=/branches/ros-branch-0_2_9/; revision=20076
2005-12-11 19:30:07 +00:00
Brandon Turner
21728b5d71 merge 20051 / 20052
svn path=/branches/ros-branch-0_2_9/; revision=20075
2005-12-11 19:28:17 +00:00
Brandon Turner
f4d4dc00c0 merge 20053
svn path=/branches/ros-branch-0_2_9/; revision=20074
2005-12-11 19:27:51 +00:00
Brandon Turner
81fa1382bb merge 20049
svn path=/branches/ros-branch-0_2_9/; revision=20073
2005-12-11 19:27:22 +00:00
Gé van Geldorp
44689c61ed Merge from trunk:
Use links.reactos.org redirection script

svn path=/branches/ros-branch-0_2_9/; revision=20064
2005-12-11 14:35:33 +00:00
Gé van Geldorp
b7f02b4160 Merge from trunk:
Shut off some debug messages

svn path=/branches/ros-branch-0_2_9/; revision=20046
2005-12-10 22:28:26 +00:00
Gé van Geldorp
2966911af9 Merge from trunk:
Multiple interrupt status bits can be active at the same time, process them
all instead of just one and ignoring the rest.
On an active network card, this would eventually cause all transmit buffers
to be marked "in use", blocking all transmits. Sinds no TCP acks would go out,
it would block TCP receives too.

svn path=/branches/ros-branch-0_2_9/; revision=20044
2005-12-10 22:21:55 +00:00
Gé van Geldorp
a714b65aa6 Merge from trunk:
Remove Wine-ism

svn path=/branches/ros-branch-0_2_9/; revision=20023
2005-12-09 21:50:59 +00:00
Gé van Geldorp
9a9811c882 Merge from trunk:
Tell shdocvw where to get the Mozilla control

svn path=/branches/ros-branch-0_2_9/; revision=20021
2005-12-09 21:48:35 +00:00
Gé van Geldorp
8ec6560a0f Merge from trunk:
Never allocate 0 bytes. Fixes bug 1082.

svn path=/branches/ros-branch-0_2_9/; revision=20011
2005-12-09 17:57:58 +00:00
Gé van Geldorp
19c2f33c29 Merge from trunk:
Synthesize FILE_ATTRIBUTE_NORMAL on NetworkOpenInformation query too.
This fixes the final problem with the Firefox installer.

svn path=/branches/ros-branch-0_2_9/; revision=20006
2005-12-09 13:24:00 +00:00
Gé van Geldorp
c3511de52b Merge from trunk:
Strings with different lengths are not equal

svn path=/branches/ros-branch-0_2_9/; revision=19977
2005-12-08 21:33:49 +00:00
Gé van Geldorp
24c4a95a96 Merge from trunk:
Don't do WM_INITDIALOG processing during window destruction...
Fixes bug 1087.

svn path=/branches/ros-branch-0_2_9/; revision=19974
2005-12-08 19:08:04 +00:00
Gé van Geldorp
84ffb3645f Merge from trunk:
Self-registration of devenum.dll depends on quartz.dll, which we don't have yet.

svn path=/branches/ros-branch-0_2_9/; revision=19972
2005-12-08 18:33:57 +00:00
Gé van Geldorp
cce3271e71 Merge from trunk:
It's possible to select an (indexed) palette into a bitfield (e.g. 16 bit
deep) DC. This palette will be used when calling CreateDIBSection with
DIB_PAL_COLORS usage. Fixes bug 1077.

svn path=/branches/ros-branch-0_2_9/; revision=19969
2005-12-08 17:42:31 +00:00
Gé van Geldorp
ad9c234c2e Merge from trunk:
It's possible to select an (indexed) palette into a bitfield (e.g. 16 bit
deep) DC. This palette will be used when calling CreateDIBSection with
DIB_PAL_COLORS usage. Fixes bug 1077.

svn path=/branches/ros-branch-0_2_9/; revision=19968
2005-12-08 17:41:57 +00:00
Andrew Munger
dafd96040c Merge 19941, 19955, and 19956 to 0.2.9
svn path=/branches/ros-branch-0_2_9/; revision=19965
2005-12-08 17:09:25 +00:00
Brandon Turner
1fd2b6f20a Change version and DBG=0
svn path=/branches/ros-branch-0_2_9/; revision=19952
2005-12-07 18:14:41 +00:00
Brandon Turner
0ab577bd85 Make sure that a CTRL+C doesn't carry over to another command.
svn path=/trunk/; revision=19933
2005-12-06 19:11:08 +00:00
Hartmut Birr
558bc63003 Release the rmap list lock after cleaning the head entry in MmDeleteAllRmaps. This may fix bug #1071.
svn path=/trunk/; revision=19932
2005-12-06 18:39:17 +00:00
Brandon Turner
879f273934 Actually provide __aulldiv code.
svn path=/trunk/; revision=19931
2005-12-06 16:41:53 +00:00
Magnus Olsen
5bd3bcd369 fix the Bug#: 1074 the regserver api does not exists in windows ddraw.dll, a mistake by me
svn path=/trunk/; revision=19930
2005-12-06 14:38:20 +00:00
Brandon Turner
2866f1b55b Rename uallshr_asm.s -> aullshr_asm.s.
Remove unneeded .data sections from some files
Declare allshr, aullshr, fltused.
Should fix linux problems build too.

svn path=/trunk/; revision=19929
2005-12-06 13:12:22 +00:00
Gé van Geldorp
c96be17832 Alex Buell <alex.buell@munted.org.uk>:
Enable keyboard applet in the control panel.

svn path=/trunk/; revision=19928
2005-12-06 09:29:43 +00:00
Brandon Turner
3092800491 Separated math and memory functions into their own files to limit the amount of object code that is linked into the application/lib.
svn path=/trunk/; revision=19927
2005-12-06 03:02:00 +00:00
Alex Ionescu
0047d2f2b2 - Fix ETHREAD/PROCESS typos and add a function to psfuncs.h
svn path=/trunk/; revision=19926
2005-12-06 01:53:03 +00:00
Alex Ionescu
6b2d5ec977 - Make iofuncs.h standalone.
- Fix PWORD->PUSHORT

svn path=/trunk/; revision=19925
2005-12-06 01:09:09 +00:00
Steven Edwards
a8d7af9ba6 linux fixes
svn path=/trunk/; revision=19924
2005-12-06 01:08:33 +00:00
Gé van Geldorp
0eca559f8b Move warranty info to license page
svn path=/trunk/; revision=19923
2005-12-05 23:28:48 +00:00
Thomas Bluemel
224c986edc Patch by FRy2oo5 <fRy2oo5@gmail.com>:
- Updated German translation of devmgr.dll

svn path=/trunk/; revision=19922
2005-12-05 22:29:36 +00:00
Eric Kohl
8d47c7feb7 Change oldnames option from '-o' to '--oldnames'.
svn path=/trunk/; revision=19921
2005-12-05 22:12:42 +00:00
Gé van Geldorp
01b9db35b7 Offer an explanation why AllocConsole() might have failed
svn path=/trunk/; revision=19920
2005-12-05 22:06:58 +00:00
Thomas Bluemel
397f6fa231 disable the device if the user selects "Do not show this dialog anymore". However, this doesn't work at the moment because disabling devices isn't implemented. Once it works, umpnpmgr shouldn't display the device installation wizard for disabled devices anymore.
svn path=/trunk/; revision=19919
2005-12-05 21:36:54 +00:00
Magnus Olsen
a6b6838266 adding debug trace for all dx api
svn path=/trunk/; revision=19918
2005-12-05 21:04:44 +00:00
Thomas Bluemel
1741a49e15 add stub for SetupDiSetClassInstallParamsW
svn path=/trunk/; revision=19917
2005-12-05 20:24:53 +00:00
Thomas Bluemel
49ba1e8fe4 implemented enabling/disabling of devices
svn path=/trunk/; revision=19916
2005-12-05 20:23:23 +00:00
Magnus Olsen
cc86cd8bb4 adding version reg values for directx thx Christoph_vW for tell me d2 does not found dx, and thx to filip how to write the key.
svn path=/trunk/; revision=19914
2005-12-05 18:45:09 +00:00
Thomas Bluemel
ff7cc9a72a display the "Reinstall Driver" button in case the installation previously failed
svn path=/trunk/; revision=19913
2005-12-05 18:43:49 +00:00
Thomas Bluemel
5666b29c05 Patch by FRy2oo5 <fRy2oo5@gmail.com>:
- Updated German translation of syssetup.dll

svn path=/trunk/; revision=19912
2005-12-05 18:15:19 +00:00
Hartmut Birr
86aecb7c52 Use a local copy of the path name in vfatGetFCBForFile, because we change parts of the name to the on-disk names.
svn path=/trunk/; revision=19911
2005-12-05 17:17:48 +00:00
Hartmut Birr
3fff0c69a3 Removed some third party miniport drivers.
svn path=/trunk/; revision=19910
2005-12-05 17:04:54 +00:00
Christoph von Wittich
1f50809ad3 added SplitSymbols stub
svn path=/trunk/; revision=19909
2005-12-05 16:55:55 +00:00
Steven Edwards
1eeae07bf0 generate a more recent config.h for Wine code. It will be needed for a new dll I will import
svn path=/trunk/; revision=19908
2005-12-05 15:54:38 +00:00
Hervé Poussineau
0f841983cd Change code in InterfaceBusTranslateBusAddress to use less pointer dereferences and less stack variables
svn path=/trunk/; revision=19907
2005-12-05 14:20:29 +00:00
Brandon Turner
593d6d0f28 Crtl-C gives a new line when reading input
svn path=/trunk/; revision=19906
2005-12-05 02:59:29 +00:00
Brandon Turner
a0af76e470 ^M should run the command
svn path=/trunk/; revision=19905
2005-12-05 01:56:40 +00:00
Thomas Bluemel
4c43e1c8b9 update the hardware page on device status changes
svn path=/trunk/; revision=19904
2005-12-05 00:51:05 +00:00
Thomas Bluemel
5daa6cb919 fixed SetHandleInformation to take dwMask into account. This was accidently removed in r11165. Thanks to mygfya
svn path=/trunk/; revision=19903
2005-12-05 00:21:55 +00:00
Magnus Olsen
d381e2d56e prepare for new sync of dxdiag.dll from wine.
svn path=/trunk/; revision=19902
2005-12-05 00:18:32 +00:00
Magnus Olsen
1e6594eb62 prepare fixing vfw.h header so it can be compile without include/wine again
svn path=/trunk/; revision=19901
2005-12-04 23:54:27 +00:00
Magnus Olsen
3c2eadf9d4 prepare fixing vfw.h header so it can be compile without include/wine again
svn path=/trunk/; revision=19900
2005-12-04 23:53:19 +00:00
Art Yerkes
015705d5fe Added kbdhe. Was missing.
svn path=/trunk/; revision=19899
2005-12-04 23:07:56 +00:00
Magnus Olsen
bd8701067c wrote and adding missing dx headers
svn path=/trunk/; revision=19898
2005-12-04 23:00:41 +00:00
Gé van Geldorp
949a0178cf Limit selection to window border
svn path=/trunk/; revision=19897
2005-12-04 22:34:07 +00:00
Magnus Olsen
72510b8edb wrote and adding missing dx headers
svn path=/trunk/; revision=19896
2005-12-04 22:33:52 +00:00
Gé van Geldorp
b3329d6391 Make sure that WM_NCPAINT messages are generated by calling BeginPaint
svn path=/trunk/; revision=19895
2005-12-04 22:33:18 +00:00
Gé van Geldorp
052218fc23 Limit invalidate region if required
svn path=/trunk/; revision=19894
2005-12-04 22:31:43 +00:00
Gé van Geldorp
a213198509 Only offset the rect if it's not empty, otherwise we might return negative
values

svn path=/trunk/; revision=19893
2005-12-04 22:30:27 +00:00
Thomas Bluemel
7bb411e4c8 Patch by Apostolos Alexiadis <grad0621@di.uoa.gr>:
- Greek keyboard layout

svn path=/trunk/; revision=19892
2005-12-04 22:29:23 +00:00
Gé van Geldorp
e44b6503a8 Check the update rect, not the region. The region might contain only non-client
parts

svn path=/trunk/; revision=19891
2005-12-04 22:28:29 +00:00
Magnus Olsen
2355ae418a correct spelling
svn path=/trunk/; revision=19890
2005-12-04 22:20:50 +00:00
Magnus Olsen
86fed7432a forget contain of erros.h
svn path=/trunk/; revision=19889
2005-12-04 22:15:27 +00:00
Thomas Bluemel
f6407a67c1 Patch by FRy2oo5 <fRy2oo5@gmail.com>:
- German translation of devmgr.dll

svn path=/trunk/; revision=19888
2005-12-04 22:11:59 +00:00
Magnus Olsen
3bda8bd0af wrote and adding missing dx headers
svn path=/trunk/; revision=19887
2005-12-04 22:06:54 +00:00
Magnus Olsen
710322a3a6 update the hu.rc from irc : talley
svn path=/trunk/; revision=19886
2005-12-04 21:16:01 +00:00
Magnus Olsen
75e07093c3 update the hu.rc from irc : talley
svn path=/trunk/; revision=19885
2005-12-04 21:15:08 +00:00
Ged Murphy
64ecd7386f - Put output from MSVC into the relevant output-i386 / obj-i386 files
- #if 0'd out the code to use ReactOS' internal libs until ReactOS can be fully built with MSVC. We must continue to rely on PSDK until this time.
- code by Brezenbak (IRC)

svn path=/trunk/; revision=19884
2005-12-04 20:15:45 +00:00
Ged Murphy
c81d087b8e A bit more eye candy for the start menu.
svn path=/trunk/; revision=19883
2005-12-04 19:31:02 +00:00
Magnus Olsen
143377fdee corret a type error in dsound. dsound need be rewriten from scrach it is from wine
svn path=/trunk/; revision=19882
2005-12-04 17:50:11 +00:00
Magnus Olsen
e1f3a661ef directx header from mingw, writen by our Filip Navara
svn path=/trunk/; revision=19881
2005-12-04 17:36:01 +00:00
Magnus Olsen
f5b28d6150 directx header from mingw, writen by our Filip Navara
svn path=/trunk/; revision=19880
2005-12-04 17:20:09 +00:00
Magnus Olsen
fdcc485e83 adding new dxdiag.h complete rewrote it from scrach
svn path=/trunk/; revision=19879
2005-12-04 17:15:50 +00:00
Magnus Olsen
de8635285d delete wine header dxdiag.h for we have 100% correct one. Did not border check see if wine header was correct or not
All most all dx header are being rewriting by me. adding dxsdkver.h 

svn path=/trunk/; revision=19878
2005-12-04 17:10:26 +00:00
Alex Ionescu
4ac2915fe4 - Update PPC definitions.
- Add Art to contributors.

svn path=/trunk/; revision=19877
2005-12-04 17:09:48 +00:00
Magnus Olsen
f0ed9283aa directx header from mingw, writen by our Filip Navara
svn path=/trunk/; revision=19876
2005-12-04 16:42:36 +00:00
Magnus Olsen
3748f0e6b7 forget a #endif
svn path=/trunk/; revision=19875
2005-12-04 15:58:45 +00:00
Magnus Olsen
b4b15b23ae rewrote whole vfwmsgs header, now it is complete
svn path=/trunk/; revision=19874
2005-12-04 15:53:27 +00:00
Art Yerkes
7c52e8fdb2 Set eol props.
svn path=/trunk/; revision=19873
2005-12-04 15:19:49 +00:00
Hartmut Birr
f997c770e3 Fixed a buffer overflow in RefreshListView.
svn path=/trunk/; revision=19872
2005-12-04 15:18:11 +00:00
Hartmut Birr
1986a25e6b Don't try to create a file, if no parent fcb was found.
svn path=/trunk/; revision=19871
2005-12-04 15:09:07 +00:00
Hartmut Birr
8af0ab71a1 Release the correct locks and release they in the correct sequence.
svn path=/trunk/; revision=19870
2005-12-04 15:07:22 +00:00
Art Yerkes
98b3a2ff5b Added ppc switches
svn path=/trunk/; revision=19869
2005-12-04 15:06:05 +00:00
Magnus Olsen
dcb2365a52 wrote evecode.h directx header, for it is missing and it need for new sync of dxdiag.dll from wine.
svn path=/trunk/; revision=19868
2005-12-04 15:03:41 +00:00
Art Yerkes
50bc1b1ad0 Some powerpc adaptations of i386 headers. Initial work, not tested yet.
svn path=/trunk/; revision=19867
2005-12-04 14:59:11 +00:00
Magnus Olsen
8282296827 wrote evecode.h directx header, for it is missing and it need for new sync of dxdiag.dll from wine.
svn path=/trunk/; revision=19866
2005-12-04 14:20:36 +00:00
Sebastian Gasiorek
1da88240f8 updated listbox control from wine 0.9.2
fixes 36 listbox tests

svn path=/trunk/; revision=19865
2005-12-04 14:19:05 +00:00
Thomas Bluemel
57f8af8f42 added missing constants
svn path=/trunk/; revision=19864
2005-12-04 14:17:13 +00:00
Thomas Bluemel
efa152792d SVN maintainance: set eol-style to native
svn path=/trunk/; revision=19863
2005-12-04 13:02:17 +00:00
Magnus Olsen
fd836fb625 wrote errors.h directx header, for it is missing and it need for new sync of dxdiag.dll from wine.
svn path=/trunk/; revision=19862
2005-12-04 12:56:16 +00:00
Magnus Olsen
232c10bcff adding missing dx headers
svn path=/trunk/; revision=19861
2005-12-04 12:47:31 +00:00
Magnus Olsen
119042ef8e adding dvdevcod.h and fix a compiling issue with new dxdiag.dll on my hd
svn path=/trunk/; revision=19860
2005-12-04 12:41:54 +00:00
Magnus Olsen
fe0cd678a1 correct a mistake
svn path=/trunk/; revision=19859
2005-12-04 12:31:46 +00:00
Magnus Olsen
2f50a665cf adding missing dx headers
svn path=/trunk/; revision=19858
2005-12-04 12:18:22 +00:00
Art Yerkes
7e8e7b9634 PowerPC support drop in freeldr, from my branch.
Some stuff not working, but disk IO now implemented.
Get boot partition either from boot-device env var or from cmd line.
Needs some work to build with the new tools.

svn path=/trunk/; revision=19857
2005-12-04 12:13:48 +00:00
Magnus Olsen
1849ba7261 adding missing dx headers
svn path=/trunk/; revision=19856
2005-12-04 12:07:08 +00:00
Art Yerkes
a3972b6c26 Added powerpc boot program. Not working with egcs tools yet.
svn path=/trunk/; revision=19855
2005-12-04 12:03:50 +00:00
Art Yerkes
b1fa799b0b Added support for ROS_AUTOMAKE variable.
Added support for <if> <module ...> </if>
Added BootProgram target type
Added simple initial ReactOS-ppc.xml, using my egcs compiler
More work required, but getting there

svn path=/trunk/; revision=19854
2005-12-04 12:02:45 +00:00
Magnus Olsen
05a351a06f adding missing dx headers
svn path=/trunk/; revision=19853
2005-12-04 12:02:21 +00:00
Magnus Olsen
3ac39b8d00 wrote amaudio.h directx header, for it is missing and it need for new sync of dxdiag.dll from wine.
svn path=/trunk/; revision=19852
2005-12-04 11:50:42 +00:00
Magnus Olsen
ea2e229e1c wrote audevcod.h directx header, for it is missing and it need for new sync of dxdiag.dll from wine.
svn path=/trunk/; revision=19851
2005-12-04 11:38:48 +00:00
Magnus Olsen
7813f9d6a9 wrote amvideo.h directx header, for it is missing and it need for new sync of dxdiag.dll from wine.
svn path=/trunk/; revision=19850
2005-12-04 11:09:40 +00:00
Art Yerkes
1cdc4a44ed Broaden the lock over the whole text rendering loop. Solves text corruption.
svn path=/trunk/; revision=19849
2005-12-04 08:09:18 +00:00
Art Yerkes
f68caa66a7 Add ROS_AUTOMAKE variable to determine the location of makefile.auto
- Allows multiple configurations to be used in the same tree

svn path=/trunk/; revision=19848
2005-12-04 07:58:46 +00:00
Alex Ionescu
0a36bfb449 - Fix KeAttackProcess, KeStackAttachProcess, KeUnstackDetachProcess and KeDetachProcess. The code was brain-dead and I must've been drunk when I first wrote it.
- Update some NDK definitions and some fixes.
- Update HAL Private Dispatch Table to 2.0
- Make RtlIpv* API definitions more correct.

svn path=/trunk/; revision=19847
2005-12-04 03:24:11 +00:00
Magnus Olsen
deca81698a revert my latest change for it contain to some serous bugs and some mistake thx w3seek
svn path=/trunk/; revision=19846
2005-12-03 21:25:27 +00:00
Sebastian Gasiorek
63c14b7666 fix for LoadStringA - return part of string if buffer is to small
svn path=/trunk/; revision=19845
2005-12-03 21:00:55 +00:00
Magnus Olsen
dad86fa425 Implmenet IDxDiagContainerImpl_GetNumberOfProps, IDxDiagContainerImpl_EnumPropNames, IDxDiagContainerImpl_GetProp working fine in windows but in reactos we are missing some regvalues (alot). This change should be commit to wine.
svn path=/trunk/; revision=19844
2005-12-03 20:53:23 +00:00
Gé van Geldorp
96ce8a5210 Document (failed) attempt to optimize memcpy()
svn path=/trunk/; revision=19843
2005-12-03 19:40:52 +00:00
Thomas Bluemel
94fc07e5fa get the root fcb when creating a file and no parent fcb is returned
svn path=/trunk/; revision=19842
2005-12-03 18:16:02 +00:00
Thomas Bluemel
b746a9f60a fixed prototype of GdiGetCharDimensions
svn path=/trunk/; revision=19841
2005-12-03 17:33:41 +00:00
Sebastian Gasiorek
02c31f477f fixes from Wine.
user32 dialog test: 55 executes, 7 failures

svn path=/trunk/; revision=19840
2005-12-03 17:21:37 +00:00
Thomas Bluemel
d792c652cf partly implemented DeviceProblemWizardA/W
svn path=/trunk/; revision=19839
2005-12-03 16:42:41 +00:00
Filip Navara
f68fa88629 Make the debugging functions slightly more portable.
svn path=/trunk/; revision=19838
2005-12-03 15:26:36 +00:00
Thomas Bluemel
612e3a0420 - document and partly implement DevicePropertiesExA/W()
- minor fixes

svn path=/trunk/; revision=19837
2005-12-03 14:07:38 +00:00
Thomas Bluemel
78d39e7d39 - if the device cannot be opened display information about the parent node
- only administrators can change the status of a device

svn path=/trunk/; revision=19836
2005-12-03 11:55:07 +00:00
Magnus Olsen
b6a2d79ae4 Correct some prototypes and struct, Adding some missing struct for d3d Thx Alex Ionescu for his patch for it.
svn path=/trunk/; revision=19835
2005-12-03 09:09:10 +00:00
Sebastian Gasiorek
e7fc72f796 imported newer version of DIALOG_DoDialogBox and DEFDLG_RestoreFocus from Wine
svn path=/trunk/; revision=19834
2005-12-02 22:50:23 +00:00
Sebastian Gasiorek
f8d5ea2d87 fixes for GetDlgItemTextA, GetDlgItemTextW and DIALOG_CreateIndirect from Wine 0.9.2
user32 dialog test failures decreased to 7

svn path=/trunk/; revision=19833
2005-12-02 22:14:03 +00:00
Magnus Olsen
d20fedcdd0 Corretat en översätting miss upptäckes av harteex program files till program
svn path=/trunk/; revision=19832
2005-12-02 22:01:52 +00:00
Sebastian Gasiorek
61fb8a2022 Imported from Wine 0.9.2:
DIALOG_GetNextTabItem
GetNextDlgGroupItem
GetNextDlgTabItem

fixes user32 dialog test hang and decreases number of failure tests to 9

svn path=/trunk/; revision=19831
2005-12-02 21:33:33 +00:00
Alex Ionescu
9c17fcb18d - Correctly zero out esi. Thanks to Patrick Baggett.
svn path=/trunk/; revision=19830
2005-12-02 20:06:02 +00:00
Christoph von Wittich
cf12adb39f set eol-style:native
svn path=/trunk/; revision=19829
2005-12-02 15:45:47 +00:00
Christoph von Wittich
a8142077ab added ACF files req. by midl
svn path=/trunk/; revision=19828
2005-12-02 15:43:44 +00:00
Royce Mitchell III
5e6a2214be store pointer to Backend in the Project class so properties of the Backend object can eventually be queried from the generic rbuild code
svn path=/trunk/; revision=19827
2005-12-02 13:59:35 +00:00
Christoph von Wittich
bb4c8ed5ee fixed BaseAddress
svn path=/trunk/; revision=19826
2005-12-02 12:47:42 +00:00
Hervé Poussineau
5d803ea902 - Implement PciIdeXSetBusData
- Return documented status code in PciIdeXGetBusData

svn path=/trunk/; revision=19825
2005-12-02 09:32:31 +00:00
Christoph von Wittich
03075d0a48 fixed vcproj files for modules which do not use pch
svn path=/trunk/; revision=19824
2005-12-02 08:13:52 +00:00
Steven Edwards
b8f03978a6 incress the number of passes to detect the mouse and keyboard under VMware if the VM does not have ownership of the mouse. Thanks to GreatLord and Royce
svn path=/trunk/; revision=19823
2005-12-02 04:05:04 +00:00
Art Yerkes
df57b512f5 Added struct tag.
svn path=/trunk/; revision=19822
2005-12-01 23:52:14 +00:00
Thomas Bluemel
ee15a8d71a fixed a device status check (take two)
svn path=/trunk/; revision=19821
2005-12-01 23:28:34 +00:00
Thomas Bluemel
6fd3ec8ecb fixed a device status check
svn path=/trunk/; revision=19820
2005-12-01 23:14:30 +00:00
Gé van Geldorp
c9ff6fb121 Complain if used outside ntoskrnl/win32k
svn path=/trunk/; revision=19819
2005-12-01 23:02:50 +00:00
Thomas Bluemel
17b432abb7 fixed difference in signedness warnings
svn path=/trunk/; revision=19818
2005-12-01 22:40:58 +00:00
Gé van Geldorp
ac156d2b5a Files forgotten in r19815
svn path=/trunk/; revision=19817
2005-12-01 22:38:03 +00:00
Gé van Geldorp
ddfc8192ca Send proper messages/events to processes during logoff and kill them if they
dont self-destruct.
Work in progress, not complete yet. Committed so others can work on it too.

svn path=/trunk/; revision=19815
2005-12-01 22:29:57 +00:00
Martin Fuchs
3fb8c3f6ed simplify secure function usage using template overloads
svn path=/trunk/; revision=19814
2005-12-01 22:24:00 +00:00
Hervé Poussineau
d0afb66f3f HMACHINE and DEVINST are not the same thing. Fix their usage
svn path=/trunk/; revision=19813
2005-12-01 22:15:57 +00:00
Thomas Bluemel
0e88bfc51b fixed uninitialized variable warning
svn path=/trunk/; revision=19812
2005-12-01 22:08:48 +00:00
Alex Ionescu
a96173e692 - fix mp hal too
svn path=/trunk/; revision=19811
2005-12-01 21:38:13 +00:00
Steven Edwards
de98d55a46 stop the abuse of having the ddk directory in the path when including a ddk header
svn path=/trunk/; revision=19810
2005-12-01 21:37:19 +00:00
Alex Ionescu
5114c3f992 - Fix HAL build.
svn path=/trunk/; revision=19809
2005-12-01 21:35:44 +00:00
Alex Ionescu
529ece8e66 - Add some more misc. public definitions and fix exfuncs.h so that it can be included independently (thanks to hpoussin for noticing the bug).
svn path=/trunk/; revision=19808
2005-12-01 21:23:06 +00:00
Thomas Bluemel
3c3c3ff8f8 don't tell the user the device is working properly when the drivers aren't even installed
svn path=/trunk/; revision=19807
2005-12-01 21:17:25 +00:00
Gé van Geldorp
7ad7b11cd0 Commit forgotten file
svn path=/trunk/; revision=19806
2005-12-01 21:17:13 +00:00
Thomas Bluemel
9c6b1dde88 fixed refreshing the advanced properties on device changes
svn path=/trunk/; revision=19805
2005-12-01 20:31:49 +00:00
Gé van Geldorp
9c5f726ff9 Get correct window station for CSRSS
svn path=/trunk/; revision=19804
2005-12-01 20:12:00 +00:00
Gé van Geldorp
ce6fd73528 Capture window station name passed from usermode
svn path=/trunk/; revision=19803
2005-12-01 20:09:38 +00:00
Gé van Geldorp
280bb98e6c Factor out probe and capture code from private ntoskrnl header and put it in
a more public place so other kernelmode components can use it too

svn path=/trunk/; revision=19802
2005-12-01 20:06:10 +00:00
Hervé Poussineau
11c95f7b5d Link video miniports to videoprt library only
svn path=/trunk/; revision=19801
2005-12-01 19:51:08 +00:00
Thomas Bluemel
03231ed317 handle device updates in the advanced property pages and refresh the information
svn path=/trunk/; revision=19800
2005-12-01 17:23:26 +00:00
Thomas Bluemel
7927ec131c Patch by Sylvain Petreolle <spetreolle@yahoo.fr>
- Remove rosapps' shutdown.exe from the bootcd

svn path=/trunk/; revision=19799
2005-12-01 17:08:52 +00:00
Thomas Bluemel
0d56435485 - display whether the device is enabled or disabled
- add the remaining missing device node status codes

svn path=/trunk/; revision=19798
2005-12-01 16:02:15 +00:00
Gé van Geldorp
b0ce233169 Notify main thread in case of exception
svn path=/trunk/; revision=19797
2005-12-01 15:37:00 +00:00
Gé van Geldorp
027d7e1c0b WINSTA_ALL_ACCESS is now defined in winuser.h
svn path=/trunk/; revision=19796
2005-12-01 15:01:38 +00:00
Thomas Bluemel
8095a78f24 - hide devices if necessary
- add some (not all!) missing device node status flags to w32api

svn path=/trunk/; revision=19795
2005-12-01 14:29:46 +00:00
Hervé Poussineau
de42f618e0 Don't write outside the array in SetupDiGetClassDevPropertySheetsW
svn path=/trunk/; revision=19794
2005-12-01 10:52:16 +00:00
Thomas Bluemel
5073c262ee set the MaximumLength in ProbeAndCaptureUnicodeString
svn path=/trunk/; revision=19793
2005-12-01 00:07:35 +00:00
Christoph von Wittich
a3d1f19ffd fixed the build options for different configurations
svn path=/trunk/; revision=19792
2005-11-30 23:33:29 +00:00
Thomas Bluemel
dab7881c31 fixed querying the automatic daylight-savings information
svn path=/trunk/; revision=19791
2005-11-30 23:32:31 +00:00
Gé van Geldorp
dbebd881b2 Make GetProcessWindowStation work for CSRSS
svn path=/trunk/; revision=19790
2005-11-30 23:24:19 +00:00
Christoph von Wittich
a77ce5795b added PCH support
removed some redundant code

svn path=/trunk/; revision=19789
2005-11-30 22:44:41 +00:00
Christoph von Wittich
b542976ba6 -moved files into correct dir
-removed wrong named dirs

svn path=/trunk/; revision=19788
2005-11-30 22:17:11 +00:00
Thomas Bluemel
9f4c3a2133 rename dhcpcapi.dll to dhcpcsvc.dll
svn path=/trunk/; revision=19787
2005-11-30 22:11:00 +00:00
Christoph von Wittich
8869a08604 fix macro redefinition when compiling with msvc
svn path=/trunk/; revision=19786
2005-11-30 22:11:00 +00:00
Hartmut Birr
85057b1dad Don't check for RequestedOptions if a trailing slash is removed.
svn path=/trunk/; revision=19785
2005-11-30 21:29:39 +00:00
Andrew Munger
a0a5cebd2d Define __NO_CTYPE_INLINES so release npfs will build again.
svn path=/trunk/; revision=19784
2005-11-30 19:12:40 +00:00
Thomas Bluemel
287d585255 implemented SetupDiGetClassDevPropertySheetsA
svn path=/trunk/; revision=19783
2005-11-30 18:41:46 +00:00
Thomas Bluemel
72aa8c78c4 fixed call to SetupDiGetClassDevPropertySheets
svn path=/trunk/; revision=19782
2005-11-30 18:26:43 +00:00
Gé van Geldorp
03ed25518a Alex Buell <alex.buell@munted.org.uk>:
- math_asm.S: undefined references to 'not' when linking ntdll.dll

svn path=/trunk/; revision=19781
2005-11-30 17:28:42 +00:00
Hervé Poussineau
bb2ae99c0e Finish implementation of SetupDiGetClassDevPropertySheetsW (not tested)
svn path=/trunk/; revision=19780
2005-11-30 17:11:43 +00:00
Thomas Bluemel
c38f6ddcdc display "Unknown" as status when querying the device status failed
svn path=/trunk/; revision=19779
2005-11-30 16:54:54 +00:00
Thomas Bluemel
8a98faad53 forgot to commit this change
svn path=/trunk/; revision=19778
2005-11-30 16:52:41 +00:00
Thomas Bluemel
8274f45b80 - support remote device property sheets
- display the device status

svn path=/trunk/; revision=19777
2005-11-30 16:33:05 +00:00
Martin Fuchs
de00331be1 sprintf_s1
svn path=/trunk/; revision=19776
2005-11-30 14:02:55 +00:00
Martin Fuchs
84de2f0d6d XML-encode characters below 0x20
svn path=/trunk/; revision=19775
2005-11-30 11:57:20 +00:00
Christoph von Wittich
65ee299192 fix linker options
svn path=/trunk/; revision=19774
2005-11-30 09:16:21 +00:00
Alex Ionescu
e71c1a192e - Implement remaining functions in rtl/i386/math_asm.S
- Fix some more build issues.

svn path=/trunk/; revision=19773
2005-11-30 08:15:13 +00:00
Steven Edwards
3655d0193a a few more porting fixes
svn path=/trunk/; revision=19772
2005-11-30 08:01:56 +00:00
Alex Ionescu
ae0da1c186 - Remove NTSYSAPI/NTSYSCALLAPI definitions from NDK, they are already in winnt.h (add them to w32api).
- Add the generic RTL definitions to rtl.xml instead of the rtl.h
- Don't define min again, it's already in the SDK headers.

svn path=/trunk/; revision=19771
2005-11-30 07:36:08 +00:00
Alex Ionescu
35cb6a4cf3 - Disable inlining of more string functions in MSVC, since we're the lib defining them.
svn path=/trunk/; revision=19770
2005-11-30 06:49:19 +00:00
Alex Ionescu
d1d8835c45 - Define _CTYPE_DISABLE_MACROS for MSVC build.
svn path=/trunk/; revision=19769
2005-11-30 06:44:27 +00:00
Steven Edwards
5d2a019961 and remove the defines from here for _CRT_* backward compatiblity hacks
svn path=/trunk/; revision=19768
2005-11-30 05:52:40 +00:00
Steven Edwards
c08547cadd define _CRT_SECURE_NO_DEPRECATE and _CRT_NON_CONFORMING_SWPRINTFS until we have a strsafe lib that works for both msvc and mingw
svn path=/trunk/; revision=19767
2005-11-30 05:51:24 +00:00
Steven Edwards
7b168f1206 'precomp.h' -><precomp.h>
svn path=/trunk/; revision=19766
2005-11-30 05:35:59 +00:00
Christoph von Wittich
eb1fd34ff9 added more correct linker flags (patch by brezenbak)
svn path=/trunk/; revision=19765
2005-11-30 00:26:51 +00:00
Hartmut Birr
bcde224adb - Used the already detected cache line size for RtlPrefetchMemoryNonTemporal.
- Initialized RtlPrefetchMemoryNonTemporal earlier.  
- Change the memory protection during the initialisation of RtlPrefetchMemoryNonTemporal.

svn path=/trunk/; revision=19764
2005-11-30 00:25:48 +00:00
Ged Murphy
7f387da9c4 put MEAN_AND_LEAN in correct place. Fixes build on msvc
svn path=/trunk/; revision=19763
2005-11-30 00:17:14 +00:00
Christoph von Wittich
d1002cf3e9 fix some problems in patch from brezenbak
svn path=/trunk/; revision=19762
2005-11-30 00:10:54 +00:00
Martin Fuchs
d171777e85 struct FileHolder to encapsulate _tfopen/_tfopen_s()
svn path=/trunk/; revision=19761
2005-11-30 00:01:25 +00:00
Thomas Bluemel
1acce99c61 preliminary comment out the self-modifying code for RtlPrefetchMemoryNonTemporal
svn path=/trunk/; revision=19760
2005-11-29 22:39:33 +00:00
Hartmut Birr
ad9750d854 Cleanup isn't necessary after calling the driver in NtQueryDirectoryFile.
svn path=/trunk/; revision=19759
2005-11-29 22:39:12 +00:00
Thomas Bluemel
ebad9f3557 fixed some more warnings
svn path=/trunk/; revision=19757
2005-11-29 22:07:10 +00:00
Thomas Bluemel
79a33a4f51 remove obsolete shutdown tool from rosapps
svn path=/trunk/; revision=19756
2005-11-29 22:03:55 +00:00
Thomas Bluemel
f9f4b54a9f remove obsolete shutdown tool from rosapps
svn path=/trunk/; revision=19755
2005-11-29 22:03:43 +00:00
Gé van Geldorp
ff15a308a5 Add command line shutdown utility to build
svn path=/trunk/; revision=19754
2005-11-29 21:57:19 +00:00
Thomas Bluemel
3bbec11174 properly capture the file name in NtQueryDirectoryFile
svn path=/trunk/; revision=19753
2005-11-29 21:49:41 +00:00
Hartmut Birr
eaf958a931 Allocate the memory for the search pattern in kernel space if it is necessary (in NtQueryDirectoryFile).
svn path=/trunk/; revision=19752
2005-11-29 19:07:03 +00:00
Martin Fuchs
e29e4fd76e integrate replacement function for SHBindToParent()
svn path=/trunk/; revision=19751
2005-11-29 13:35:11 +00:00
Martin Fuchs
e87cd46903 Adjust for Visual Studio 2005:
- use secure CRT functions where available
- use COUNTOF instead of hard coded buffer sizes
- project files in new format for manifest integration

svn path=/trunk/; revision=19750
2005-11-29 13:34:24 +00:00
Martin Fuchs
2b3e3984b1 correct _com_ptr usage
svn path=/trunk/; revision=19749
2005-11-29 12:54:54 +00:00
Thomas Bluemel
fb9cd9cd0c - fixed the ProbeForWrite prototype
- some fixes to get ntoskrnl to build with -Wcast-qual and -Wsign-compare
- don't touch any memory outside the given range in ProbeForWrite and touch all pages within the range

svn path=/trunk/; revision=19748
2005-11-29 11:44:04 +00:00
Thomas Bluemel
73f5202b01 fix comment in RtlPrefetchMemoryNonTemporal
svn path=/trunk/; revision=19747
2005-11-29 11:09:42 +00:00
Thomas Bluemel
c8f142be9f fixed registry querying code in Ki386SetProcessorFeatures
svn path=/trunk/; revision=19746
2005-11-29 10:09:26 +00:00
Martin Fuchs
8153fdd194 switch to standard conform CRT function names
svn path=/trunk/; revision=19745
2005-11-29 09:22:39 +00:00
Gé van Geldorp
aaa0559058 Samuel Serapióega <samcharly@hotmail.com>:
- Spanish translation update
From bug 1058.

svn path=/trunk/; revision=19744
2005-11-29 08:23:10 +00:00
Royce Mitchell III
0e2e90ebaa enhance generated msvc projects - patch by Brezenbak
svn path=/trunk/; revision=19743
2005-11-29 06:24:56 +00:00
Alex Ionescu
9ff294c54e - Implement RtlPrefectMemoryNonTemporal. Patch by Patrick Baggett <baggett.patrick@gmail.com> and myself.
svn path=/trunk/; revision=19742
2005-11-29 02:40:18 +00:00
Christoph von Wittich
3b62e7d538 fix warning
svn path=/trunk/; revision=19741
2005-11-29 01:54:33 +00:00
Christoph von Wittich
abe7b48501 fixed some warnings when compiling with msvc
svn path=/trunk/; revision=19740
2005-11-29 01:48:25 +00:00
Thomas Bluemel
c5ad74b166 another hack to get reactos to build again
svn path=/trunk/; revision=19739
2005-11-29 01:35:32 +00:00
Alex Ionescu
2a59159ff1 - Fix the build (patch by Thomas Weidenmueller)
svn path=/trunk/; revision=19738
2005-11-29 00:33:22 +00:00
Nathan Woods
da63a147f4 Regedit: Implemented accelerator keys
svn path=/trunk/; revision=19737
2005-11-28 23:58:49 +00:00
Thomas Bluemel
f7140e3afe oops, I didn't mean to commit that...
svn path=/trunk/; revision=19736
2005-11-28 23:54:06 +00:00
Thomas Bluemel
012bdf846d fixed some prototypes
svn path=/trunk/; revision=19735
2005-11-28 23:43:40 +00:00
Royce Mitchell III
8c581cc643 inline -> __inline
patch by Brezenbak - small modifications by me

svn path=/trunk/; revision=19734
2005-11-28 23:35:35 +00:00
Thomas Bluemel
1a278f4518 don't include the ddk
svn path=/trunk/; revision=19733
2005-11-28 23:27:16 +00:00
Alex Ionescu
caaa37c1ac - Support INIT section pragmas for msvc. Patch by Brezenbak.
svn path=/trunk/; revision=19732
2005-11-28 23:25:31 +00:00
Gé van Geldorp
678fb5ae5f Fix the fix to RtlFindMessage
svn path=/trunk/; revision=19731
2005-11-28 23:21:24 +00:00
Thomas Bluemel
b60174b09d fixed some warnings
svn path=/trunk/; revision=19730
2005-11-28 22:25:11 +00:00
Alex Ionescu
1756c4a269 - Remove inlined gas assembly + c code mix in math.c and write the functions in real assembly code.
- Fix pch usage and qsort callback definition.
RTL can now be built with msvc.

svn path=/trunk/; revision=19729
2005-11-28 22:24:37 +00:00
Gé van Geldorp
0586868b52 Re-import wmc from Wine
svn path=/trunk/; revision=19728
2005-11-28 22:03:22 +00:00
Gé van Geldorp
512b5dad2c Remove outdated wmc
svn path=/trunk/; revision=19727
2005-11-28 22:01:21 +00:00
Alex Ionescu
c1da20b370 - Make the NDK compatible with the MSDDK again.
- Fix some w32api incompatibility cruft since w32api insists on including winnt.h from kernel-mode.
- Fix some stuff that was including both kernel-mode and user-mode headers together.
- Use PISECURITY_DESCRIPTOR, not PSECURITY_DESCRIPTOR.

svn path=/trunk/; revision=19726
2005-11-28 21:40:21 +00:00
James Tabor
c816db4fb7 Fix header includes.
svn path=/trunk/; revision=19725
2005-11-28 21:28:12 +00:00
Brandon Turner
281343a6d5 fixed the stretch code with some help from filip. small formatting changes.
svn path=/trunk/; revision=19724
2005-11-28 19:41:01 +00:00
Gé van Geldorp
6cb32a5274 No use in building the targets just to immediately clean them again
svn path=/trunk/; revision=19723
2005-11-28 19:36:57 +00:00
Royce Mitchell III
da6392a74f append "_auto" to dsp and vcproj filenames to not conflict with any manually created project files
svn path=/trunk/; revision=19722
2005-11-28 18:23:25 +00:00
Brandon Turner
1b33a918b6 devmgr.exe changed to devmgrapp.exe
svn path=/trunk/; revision=19721
2005-11-28 14:16:39 +00:00
Thomas Bluemel
45cbca82e7 also scroll the selection
svn path=/trunk/; revision=19720
2005-11-28 11:00:01 +00:00
Thomas Bluemel
8da9b240f0 scroll the console properly instead of repainting it
svn path=/trunk/; revision=19719
2005-11-28 10:38:04 +00:00
Thomas Bluemel
72a514b6e6 fix no newline at end of file warning
svn path=/trunk/; revision=19718
2005-11-28 10:20:44 +00:00
Royce Mitchell III
73691feb45 fix linux builds - sorry
svn path=/trunk/; revision=19717
2005-11-28 03:46:16 +00:00
Thomas Bluemel
3adce7fbe1 fixed some warnings
svn path=/trunk/; revision=19716
2005-11-28 01:22:52 +00:00
Thomas Bluemel
7c2d655e6c minor fixes
svn path=/trunk/; revision=19715
2005-11-28 01:10:49 +00:00
Brandon Turner
ce6ccd9bb5 fix wallpaper style center and implement tile.
svn path=/trunk/; revision=19714
2005-11-28 01:09:27 +00:00
Art Yerkes
305379b387 Case changes for file names to unbreak unix build.
svn path=/trunk/; revision=19713
2005-11-27 23:36:55 +00:00
Nathan Woods
fb9556e7b7 Regedit: Partially implemented Find/Find Next
Currently only implemented "Search Key Names"; searching key values and data not yet implemented.  Also, the searching algorithm is pretty crude right now.


svn path=/trunk/; revision=19712
2005-11-27 23:23:38 +00:00
Thomas Bluemel
08d15d11e3 more light-weight gui consoles that don't double-buffer the console screen
svn path=/trunk/; revision=19710
2005-11-27 23:18:12 +00:00
Brandon Turner
731c8ee507 fall back to .default values aren't found. ntclose -> zwclose thanks to thomas.
svn path=/trunk/; revision=19709
2005-11-27 23:15:07 +00:00
Royce Mitchell III
b915cad72c move xml.h/cpp and ssprintf.h/cpp up a directory, make both rbuild and buildno use these same files
svn path=/trunk/; revision=19708
2005-11-27 23:04:51 +00:00
Gé van Geldorp
2100afe705 Tell others to leave our port alone
svn path=/trunk/; revision=19707
2005-11-27 23:04:05 +00:00
Royce Mitchell III
ee6b7f5296 add simplified version of XMLLoadFile() - preparation to move up a directory
svn path=/trunk/; revision=19706
2005-11-27 23:01:38 +00:00
Royce Mitchell III
6f9b454171 remove dependance on rbuild's headers - preparation to move up a directory
svn path=/trunk/; revision=19705
2005-11-27 22:59:20 +00:00
Thomas Bluemel
861c2e6fd6 fixed uninitialized variable warning
svn path=/trunk/; revision=19704
2005-11-27 22:45:01 +00:00
Thomas Bluemel
b0c50c3529 Patch by encoded <samcharly@hotmail.com>:
- added some Spanish translations

svn path=/trunk/; revision=19703
2005-11-27 22:33:18 +00:00
Gé van Geldorp
d9e5e3f7a4 Auto-register DLLs during 2nd stage setup
svn path=/trunk/; revision=19702
2005-11-27 22:27:35 +00:00
Hervé Poussineau
a4e94fa84b Keep remote machine name in device info set. Use it when needed
svn path=/trunk/; revision=19701
2005-11-27 22:13:00 +00:00
Brandon Turner
7e1e9ef483 Structure member name changes. Alex just told me what to do. ;)
svn path=/trunk/; revision=19700
2005-11-27 21:31:35 +00:00
Hervé Poussineau
568f5a31a2 Write connection name at the right place in registry.
Add PnpInstanceId and ShowIcon values

svn path=/trunk/; revision=19699
2005-11-27 21:00:09 +00:00
Hervé Poussineau
e9ec5f234e Small cleanup/fixes:
- Don't open registry keys with full access rights
- Replace OutputDebugString by DPRINT

svn path=/trunk/; revision=19698
2005-11-27 20:59:09 +00:00
Alex Ionescu
85320084c1 - Add the real NT Object Callbacks and #ifdef out the ReactOS ones.
- Add the real NT Loader Parameter Block structures & friends and #ifdef out the ReactOS ones (thanks to Filip Navara for some work on these).

svn path=/trunk/; revision=19697
2005-11-27 20:18:33 +00:00
Alex Ionescu
f45815ea12 - Forgot to add the define which enables _REACTOS_
svn path=/trunk/; revision=19696
2005-11-27 20:01:57 +00:00
Hervé Poussineau
2a40c47f4e Implement most of SetupDiGetClassDevPropertySheetsW
svn path=/trunk/; revision=19695
2005-11-27 19:40:46 +00:00
Alex Ionescu
c06fa82588 - Fix compile issues caused by previous patch.
- Fix KPROFILE definition.
- Protect ReactOS-only members of EPROCESS, OBJECT_HEADER, W32_CALLOUT_DATA.
- Protect MADDRESS_SPACE for ReactOS only.

svn path=/trunk/; revision=19694
2005-11-27 19:21:19 +00:00
Alex Ionescu
125b0fa6a3 - Remove KTSS_NOIOMP from NDK.
- Fix KTSS definition.
- Fix KTRAP_FRAME definition.
- Fix RTL_PROCESS_BACKTRACE_INFORMATION and RTL_PROCESS_BACKTRACES definitions.
- Fix/rename RUNDOWN_DESCRIPTOR definition.
- Rename PPF_ definitions to RTL_USER_PROCESS_PARAMETERS_
- Setup a global _REACTOS_ define when code is compiled.
- #ifdef out the multiboot flags from the NDK so they'll only be available for ReactOS. Dirty 'hack' until we stop using them.
- Update NDK Fixme list, since all major bugs are fixed now.

svn path=/trunk/; revision=19693
2005-11-27 18:24:32 +00:00
Hervé Poussineau
bdd569bc33 Fix part of bug 1053, by adding other hardware IDs that don't need a driver
svn path=/trunk/; revision=19692
2005-11-27 17:05:37 +00:00
Hartmut Birr
30321765c2 Lock the MainResource from fcb, if we are trying to write back a modified cache segment.
Usually we have to call the callback function from FSD.

svn path=/trunk/; revision=19691
2005-11-27 15:59:32 +00:00
Hartmut Birr
0c068e7775 Use the calculated cluster/offset pair if we extend a file.
svn path=/trunk/; revision=19690
2005-11-27 15:53:46 +00:00
Hartmut Birr
2229e54a12 - Lock the MainResource if we overwrite or supersede an existing file.
- Use given allocation size, if we overwrite or supersede an existing file.

svn path=/trunk/; revision=19689
2005-11-27 15:44:36 +00:00
Filip Navara
420ab98250 Use inflib.
svn path=/trunk/; revision=19688
2005-11-27 15:37:06 +00:00
Hervé Poussineau
095fec0699 Add math coprocessor PNP id. Fixes bug 1052.
svn path=/trunk/; revision=19687
2005-11-27 14:51:06 +00:00
Thomas Bluemel
c7fb28f9ee fixed uninitialized variables warnings
svn path=/trunk/; revision=19686
2005-11-27 14:02:58 +00:00
Magnus Olsen
4482ce98c3 Fix so reactos can boot to gui again Thx W3seek for his small patch
svn path=/trunk/; revision=19685
2005-11-27 13:51:28 +00:00
Casper Hornstrup
3f78e39940 Speed up compilation of gdiplus
svn path=/trunk/; revision=19684
2005-11-27 13:02:25 +00:00
Casper Hornstrup
aa79785ba3 Speed up compilation of advapi32
svn path=/trunk/; revision=19683
2005-11-27 12:57:35 +00:00
Ged Murphy
9bbfe7a86c remove my changes to Elronds patch. RtlNtStatusToDosError does the job for us.
svn path=/trunk/; revision=19682
2005-11-27 12:28:45 +00:00
Magnus Olsen
37dcb74cca Translaton and keyboard driver by Robert Horvath - Talley (talley_replace_this_by_at_cubeclub.hu), Gergely Risko - Cake Peter Nagy - Kritika (nagylakas_replace_this_by_at_gmail.com), Peter Lukacs - Hungi (lukacs.peter_replace_this_by_at_rtk.pte.hu) small bugfix in kbdhu by me and add it to bootcd menu.
\reactos\lib\cmdlg32\  Robert Horvath  
\reactos\lib\comctl32\  Robert Horvath  
\reactos\lib\shell32\  Robert Horvath  
\reactos\subsys\ntvdm\  Robert Horvath  
\reactos\subsys\system\calc\  Peter Nagy  
\reactos\subsys\system\expand\  Peter Nagy  
\reactos\subsys\system\explorer\  Robert Horvath  
\reactos\subsys\system\format\  Peter Nagy  
\reactos\subsys\system\notepad\  Peter Nagy  
\reactos\subsys\system\reactos\  Robert Horvath  
\reactos\subsys\system\regsrv32\  Peter Nagy  
\reactos\subsys\system\reporterror\  Robert Horvath  
\reactos\subsys\system\rundll32\  Peter Nagy  
\reactos\subsys\system\sm\  Robert Horvath  
\reactos\subsys\system\taskmgr\  Robert Horvath  
\reactos\subsys\system\userinit\  Peter Nagy  
\reactos\subsys\system\winefile\  Peter Nagy  
\reactos\subsys\system\vmwinst\  Robert Horvath  
\reactos\lib\winmm\  Peter Nagy  
\reactos\lib\cpl\  Peter Lukacs

svn path=/trunk/; revision=19681
2005-11-27 12:23:02 +00:00
Magnus Olsen
35aa0b6f6c Translaton and keyboard driver by Robert Horvath - Talley (talley_replace_this_by_at_cubeclub.hu), Gergely Risko - Cake Peter Nagy - Kritika (nagylakas_replace_this_by_at_gmail.com), Peter Lukacs - Hungi (lukacs.peter_replace_this_by_at_rtk.pte.hu) small bugfix in kbdhu by me and add it to bootcd menu.
\reactos\lib\cmdlg32\  Robert Horvath  
\reactos\lib\comctl32\  Robert Horvath  
\reactos\lib\shell32\  Robert Horvath  
\reactos\subsys\ntvdm\  Robert Horvath  
\reactos\subsys\system\calc\  Peter Nagy  
\reactos\subsys\system\expand\  Peter Nagy  
\reactos\subsys\system\explorer\  Robert Horvath  
\reactos\subsys\system\format\  Peter Nagy  
\reactos\subsys\system\notepad\  Peter Nagy  
\reactos\subsys\system\reactos\  Robert Horvath  
\reactos\subsys\system\regsrv32\  Peter Nagy  
\reactos\subsys\system\reporterror\  Robert Horvath  
\reactos\subsys\system\rundll32\  Peter Nagy  
\reactos\subsys\system\sm\  Robert Horvath  
\reactos\subsys\system\taskmgr\  Robert Horvath  
\reactos\subsys\system\userinit\  Peter Nagy  
\reactos\subsys\system\winefile\  Peter Nagy  
\reactos\subsys\system\vmwinst\  Robert Horvath  
\reactos\lib\winmm\  Peter Nagy  
\reactos\lib\cpl\  Peter Lukacs

svn path=/trunk/; revision=19680
2005-11-27 12:18:52 +00:00
Casper Hornstrup
3d52261f75 Speed up compilation of msconfig
svn path=/trunk/; revision=19679
2005-11-27 12:03:48 +00:00
Casper Hornstrup
c0133aeb66 Speed up compilation of cmd
svn path=/trunk/; revision=19678
2005-11-27 11:59:02 +00:00
Ged Murphy
9ef2cd74d6 forgot to remove debugging
svn path=/trunk/; revision=19677
2005-11-27 11:30:44 +00:00
Ged Murphy
cb203ac20a Add more debug info and better error control, from Elrond.
A few minor changes by me.

svn path=/trunk/; revision=19676
2005-11-27 11:29:07 +00:00
Steven Edwards
9741e018d3 XML.cpp -> xml.cpp, XML.h -> xml.h. Sorry Windows users, if you make sure your stuff is in the correct case the first time then you wont have problems when doing a svn update.
svn path=/trunk/; revision=19675
2005-11-27 06:48:34 +00:00
Royce Mitchell III
dccb79c6ac remove xml.h/cpp's dependancy on exception.h/cpp - in preparation to move xml.h/cpp and ssprintf.h/ccp out of rbuild directory since buildno uses them too
svn path=/trunk/; revision=19674
2005-11-27 06:34:50 +00:00
Steven Edwards
d80446e3a9 more crt, crtdll and msvcrt cleanup
svn path=/trunk/; revision=19673
2005-11-27 06:20:33 +00:00
Royce Mitchell III
67482da46e msvc compatibility
svn path=/trunk/; revision=19672
2005-11-27 05:54:05 +00:00
Royce Mitchell III
9f87d33ef0 msvc compatibility
svn path=/trunk/; revision=19671
2005-11-27 05:53:01 +00:00
Steven Edwards
4ff9658852 inline -> __inline
svn path=/trunk/; revision=19670
2005-11-27 05:50:19 +00:00
Brandon Turner
589f2e1ef1 Don't hardcode user to .DEFAULT when reading registry
svn path=/trunk/; revision=19669
2005-11-27 04:16:53 +00:00
Alex Ionescu
a06e494e71 - Update selector names to official names and define/use the MODE and RPL masks for more portable/clean code.
svn path=/trunk/; revision=19668
2005-11-27 03:08:35 +00:00
Alex Ionescu
344d90ee35 - Fix a typo causing a potentially fatal bug in user-mode exceptions. Might fix hpoussin's bub.
svn path=/trunk/; revision=19667
2005-11-27 03:07:22 +00:00
Alex Ionescu
54f50543c1 - Add DDK alignment macros and move/rename the ones in the NDK for user-mode only (since kernel-mode should use the DDK ones).
- Fix helper.h's alignment macros to protect properly and also use a faster implementation.
- Update NDK readme.

svn path=/trunk/; revision=19666
2005-11-27 02:55:13 +00:00
Gé van Geldorp
9ac03e5aae Use correct prototype for DbgPrint. Thanks to Hartmut for pointing this out.
svn path=/trunk/; revision=19665
2005-11-26 23:26:04 +00:00
Sebastian Gasiorek
1a1c4e47a7 fixed resource id for performance button
svn path=/trunk/; revision=19664
2005-11-26 23:17:32 +00:00
Alex Ionescu
041685b356 - Fix/take decisions on the minor NDK FIXMEs.
svn path=/trunk/; revision=19662
2005-11-26 22:51:59 +00:00
Casper Hornstrup
a9e40a27fb Fix dependencies that cause trouble
svn path=/trunk/; revision=19661
2005-11-26 22:12:15 +00:00
Thomas Bluemel
627e9bcca8 fixed difference in signedness warning
svn path=/trunk/; revision=19660
2005-11-26 21:15:35 +00:00
Sebastian Gasiorek
ea7792e99e - fixed removing keys from menu
- changed RegDeleteKeyRecursive to SHDeleteKey (based on wine regedit code)

svn path=/trunk/; revision=19659
2005-11-26 20:22:45 +00:00
Casper Hornstrup
5dc8d86423 Speed up compilation of win32k (again)
svn path=/trunk/; revision=19658
2005-11-26 20:18:49 +00:00
Casper Hornstrup
d7977db150 Speed up compilation of taskmgr
svn path=/trunk/; revision=19657
2005-11-26 20:05:14 +00:00
Casper Hornstrup
7bc29d41d3 Speed up compilation of usetup
svn path=/trunk/; revision=19656
2005-11-26 19:53:55 +00:00
Casper Hornstrup
ffbdfdd66d Speed up compilation of smss
svn path=/trunk/; revision=19655
2005-11-26 19:43:36 +00:00
Casper Hornstrup
223bd2540c Speed up compilation of win32k.sys
svn path=/trunk/; revision=19654
2005-11-26 19:25:14 +00:00
Casper Hornstrup
68aaa2743a Include regtests.h only once
svn path=/trunk/; revision=19653
2005-11-26 18:54:28 +00:00
Casper Hornstrup
91896cbb6a Update with missing symbols
svn path=/trunk/; revision=19652
2005-11-26 18:53:26 +00:00
Casper Hornstrup
04e4874370 Register shdocvw.dll during second stage setup
svn path=/trunk/; revision=19651
2005-11-26 18:45:06 +00:00
Casper Hornstrup
77e8078452 * Implement <autoregister>
* Autogenerate syssetup.inf


svn path=/trunk/; revision=19650
2005-11-26 18:43:46 +00:00
Thomas Bluemel
5e8cfa7579 fixed wrong comment
svn path=/trunk/; revision=19649
2005-11-26 18:24:43 +00:00
Thomas Bluemel
a3ac3f00d6 Revert Filip's last 4 changes on his request as they break booting
svn path=/trunk/; revision=19648
2005-11-26 17:43:06 +00:00
Thomas Bluemel
0a92dbc27d display the device properties when double-clicking a device
svn path=/trunk/; revision=19647
2005-11-26 17:07:54 +00:00
Thomas Bluemel
c7f5d8268c implemented the general device information page
svn path=/trunk/; revision=19646
2005-11-26 16:54:56 +00:00
Thomas Bluemel
520fe4b055 add stub for SetupDiLoadClassIcon
svn path=/trunk/; revision=19645
2005-11-26 16:54:15 +00:00
Sebastian Gasiorek
aad3fdde87 fixed changing registry value after name
svn path=/trunk/; revision=19644
2005-11-26 16:46:53 +00:00
Hartmut Birr
80ffb9c7c9 Fix a typo in my last commit.
svn path=/trunk/; revision=19643
2005-11-26 16:39:27 +00:00
Filip Navara
fdbe611710 Fix splitting of cells (noticed by Hartmut).
svn path=/trunk/; revision=19642
2005-11-26 16:36:18 +00:00
Hartmut Birr
405f0b60f1 Don't use the OldIrql value from fmutex after releasing it.
svn path=/trunk/; revision=19641
2005-11-26 16:35:23 +00:00
Hartmut Birr
6a8246e478 Save the old irql in ExTryToAcquireFastMutex.
svn path=/trunk/; revision=19640
2005-11-26 16:08:27 +00:00
Hartmut Birr
b5831e218d Fixed CcTryToAcquireBrokenMutex.
svn path=/trunk/; revision=19639
2005-11-26 16:04:33 +00:00
Filip Navara
623d562f09 Don't make cells smaller than they are.
svn path=/trunk/; revision=19638
2005-11-26 15:23:25 +00:00
Filip Navara
f5b5975917 Don't make cells smaller than they are.
svn path=/trunk/; revision=19637
2005-11-26 15:22:33 +00:00
Filip Navara
3abd7f4b55 Don't make cells smaller than they are.
svn path=/trunk/; revision=19636
2005-11-26 15:21:44 +00:00
Hartmut Birr
07183d05b9 Define the DPRINT and CHECKPOINT macro depend from NDEBUG for each include of debug.h.
svn path=/trunk/; revision=19635
2005-11-26 13:26:48 +00:00
Hervé Poussineau
52e4ccd0f1 Remove useless property pages
svn path=/trunk/; revision=19634
2005-11-26 12:37:49 +00:00
Ged Murphy
e70a6982bb silence debug messages
svn path=/trunk/; revision=19633
2005-11-26 12:14:28 +00:00
Eric Kohl
3c00855f0e Allocate another 4 bytes for unique pointers to simple types.
This fixes bug #1048.

svn path=/trunk/; revision=19632
2005-11-26 11:44:06 +00:00
Thomas Bluemel
8a75f19c3f simplify displaying the advanced device properties
svn path=/trunk/; revision=19631
2005-11-26 11:43:31 +00:00
Thomas Bluemel
668252e272 allow warnings so it builds with g++ 4.0
svn path=/trunk/; revision=19630
2005-11-26 11:26:01 +00:00
Gé van Geldorp
be7b0dd56a Silence debug messages
svn path=/trunk/; revision=19629
2005-11-26 11:02:13 +00:00
Thomas Bluemel
f5d8801396 Document the -ud flag for ROS_RBUILDFLAGS
svn path=/trunk/; revision=19628
2005-11-26 10:53:01 +00:00
Sebastian Gasiorek
210c904be2 removed not needed typecasts. thanks Thomas
svn path=/trunk/; revision=19627
2005-11-26 10:40:21 +00:00
Thomas Bluemel
25f762940f include wchar.h for swprintf
svn path=/trunk/; revision=19626
2005-11-26 10:38:42 +00:00
Gé van Geldorp
53d9107c63 eol-style fixes
svn path=/trunk/; revision=19625
2005-11-26 10:32:43 +00:00
Sebastian Gasiorek
fe3aa7148f fixed reference to PML_TransError
svn path=/trunk/; revision=19624
2005-11-26 10:20:35 +00:00
Thomas Bluemel
e0e1a6603f minor fix in SetupDiGetDeviceInstanceIdA
svn path=/trunk/; revision=19623
2005-11-26 10:18:24 +00:00
Gé van Geldorp
89a84ca384 Sync to Wine-0_9_2:
Rein Klazes <wijn@wanadoo.nl>
- Fixes for FormatCharDlgProc16:
- properly store the ChooseFont pointer, use a window property as the
  A and W functions do;
- handle other messages then WM_INITDIALOG and WM_MEASUREITEM as well.
- In CFn_CHOOSEFONT16to32W fix the conversion of the lpTemplateName and
  the lpszStyle fields.
Francois Gouget <fgouget@free.fr>
- Remove spaces before '\n' in traces.
Dmitry Timoshkov <dmitry@codeweavers.com>
- There is no need to resize our own fake dialog to match the parent, it
  doesn't have controls anyway.
Markus Amsler <markus.amsler@oribi.org>
- Improve c2man Documented-Total count. Changes:
- add missing description
- complete missing A/W pairs
- document remaining comdlg32 functions

svn path=/trunk/; revision=19622
2005-11-26 10:18:02 +00:00
Thomas Bluemel
d4950ed2a7 implemented SetupDiGetDeviceInstanceIdA
svn path=/trunk/; revision=19621
2005-11-26 10:17:32 +00:00
Gé van Geldorp
1f02f849a2 Update status
svn path=/trunk/; revision=19620
2005-11-26 09:50:28 +00:00
Gé van Geldorp
7aa1028de6 Sync to Wine-0_9_2:
Markus Amsler <markus.amsler@oribi.org>
- Improve c2man Documented-Total count. Changes:
- add missing returns section

svn path=/trunk/; revision=19618
2005-11-26 09:45:23 +00:00
Gé van Geldorp
76f3ca9f12 Sync to Wine-0_9_2:
YunSong Hwang <hys545@dreamwiz.com>
- Update Korean translations.
- Add Korean translations.
Jacek Caban <jacek@codeweavers.com>
- Beginning implementation of Navigate2.
- Create window in SetClientSite and return it in
  IOleInPlaceSite::GetWindow.
- Added IOleInPlaceSite stub implementation.
- Free ConnectionPoint objects (fix memory leak).
- Added OLEIVERB_INPLACEACTIVATE implementation in IOleObject::DoVerb.
- Added stub implementation of IDocHostUIHandler.
- Added IViewObject2 stub implementation.
- Added GetHostInfo implementation.
- Improve IConnectionPoint handling.

svn path=/trunk/; revision=19617
2005-11-26 09:40:12 +00:00
Hervé Poussineau
45dc2d15aa Add stub for HalAllocateCrashDumpRegisters
svn path=/trunk/; revision=19616
2005-11-26 08:21:42 +00:00
Hervé Poussineau
985854dfc5 Install one more time the .SoftwareSettings section in registry (no, I really don't want to create a symlink)
svn path=/trunk/; revision=19615
2005-11-26 08:19:38 +00:00
Hervé Poussineau
40d67e3ab2 Fix French control panel description
svn path=/trunk/; revision=19614
2005-11-26 08:15:41 +00:00
Hervé Poussineau
a603a1cdc3 Implement SetupDiGetDeviceInstanceIdW
Fix debug message

svn path=/trunk/; revision=19613
2005-11-26 08:13:04 +00:00
Royce Mitchell III
c7f5b6f782 remove transient debugging code
svn path=/trunk/; revision=19612
2005-11-26 04:29:40 +00:00
Royce Mitchell III
d8910a54b1 XML: better descriptions on a couple errors, more accurate line number reporting ( was overshooting ), better clean-up of memory
mingw/directory: move msvc fix for popen with the rest of the code that got moved
rbuild.dsp: added new files to project

svn path=/trunk/; revision=19611
2005-11-26 04:24:17 +00:00
James Tabor
78a317ae32 Clean up Xml files, show usbd functions as implemented and implemente PcGetTimeInterval.
svn path=/trunk/; revision=19610
2005-11-26 04:07:39 +00:00
Thomas Bluemel
6fb67e9ff4 properly handle the case where devices don't supply any property pages
svn path=/trunk/; revision=19609
2005-11-26 03:52:19 +00:00
Royce Mitchell III
b85ab799c0 much better check for gnu make 3.80+
this check was borrowed from the GMSL project - which is GPL.
I gave - I think - ample notice where the code came from.
If someone thinks it needs more - please let me know

svn path=/trunk/; revision=19608
2005-11-26 03:49:20 +00:00
Royce Mitchell III
a9ea2d7473 gnu make 3.7x will not work - give users an early and clear error message stating as much
svn path=/trunk/; revision=19607
2005-11-26 03:37:37 +00:00
Thomas Bluemel
1bdf70559a create the property sheets modally
svn path=/trunk/; revision=19606
2005-11-26 03:33:07 +00:00
Thomas Bluemel
d3af98b506 forgot to add this file
svn path=/trunk/; revision=19605
2005-11-26 03:25:57 +00:00
Thomas Bluemel
2f90929822 initial implementation of DeviceAdvancedPropertiesA/W
svn path=/trunk/; revision=19604
2005-11-26 03:22:22 +00:00
Thomas Bluemel
23970ac711 added stubs for SetupDiGetClassDevPropertySheetsA/W
svn path=/trunk/; revision=19603
2005-11-26 03:21:41 +00:00
Royce Mitchell III
b343ffa71b automatically detect msys without generating ugly error message on non-msys system
svn path=/trunk/; revision=19602
2005-11-26 03:01:18 +00:00
Royce Mitchell III
dada3199ff revert 19600 until I can figure out how to correct keep it silent on non-msys systems
svn path=/trunk/; revision=19601
2005-11-26 02:36:01 +00:00
Royce Mitchell III
aa29e498d5 auto-detect msys instead of requiring users to tell our build system about it
svn path=/trunk/; revision=19600
2005-11-26 02:23:07 +00:00
Thomas Bluemel
a1bf8bb339 display the advanced device properties
svn path=/trunk/; revision=19599
2005-11-26 02:12:58 +00:00
Thomas Bluemel
7740269260 added stubs for SetupDiGetDeviceInstanceIdA/W
svn path=/trunk/; revision=19598
2005-11-26 01:56:07 +00:00
Magnus Olsen
a6f20478f9 adding dplayx.dll to bootcd
svn path=/trunk/; revision=19597
2005-11-26 01:44:36 +00:00
Magnus Olsen
8a104cc946 adding d3d8thk.dll and dplay.dll to bootcd
svn path=/trunk/; revision=19596
2005-11-26 01:41:16 +00:00
Thomas Bluemel
14e425e13d minor fixes and documentation updates
svn path=/trunk/; revision=19595
2005-11-26 01:08:19 +00:00
Thomas Bluemel
68c8c15aa0 display the device location
svn path=/trunk/; revision=19594
2005-11-26 00:25:25 +00:00
Gé van Geldorp
7e5129fcc0 Sync to Wine-0_9_2:
Francois Gouget <fgouget@free.fr>
- Remove spaces before '\n' in traces.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Unconditionally fall back to ANSI DDE APIs in ShellExecute if current
  emulated Windows version is Win9x, Excel refuses to communicate with a
  unicode client in win9x mode.
Martin Fuchs <martin-fuchs@gmx.net>
- SHGetFileInfoW(): handle SHGFI_LINKOVERLAY and SHGFI_OVERLAYINDEX.
- SHMapPIDLToSystemImageListIndex(): determine overlay flag for
  PidlToSicIndex() and return -1 in error cases.
- Read shell overlay icon settings from registry to allow icon
  overrides.
Markus Amsler <markus.amsler@oribi.org>
- Markus Amsler <markus.amsler@oribi.org>
  Improve c2man Documented-Total count. Changes:
- add missing description
- add missing returns section
- complete missing A/W pairs
- reformate comments, to match c2man requirements
Ge van Geldorp <gvg@reactos.org>
- Hack around missing icons

svn path=/trunk/; revision=19593
2005-11-25 23:49:10 +00:00
Thomas Bluemel
eb8e907a1f display the device manufacturer
svn path=/trunk/; revision=19592
2005-11-25 23:36:32 +00:00
Gé van Geldorp
21c28aacfb Sync to Wine-0_9_2:
Vincent Béron <vberon@mecano.gme.usherb.ca>
- Mark some functions as implemented in the spec files.

svn path=/trunk/; revision=19591
2005-11-25 23:16:28 +00:00
Gé van Geldorp
3528d2a7ee Sync to Wine-0_9_2:
YunSong Hwang <hys545@dreamwiz.com>
- Update Korean translations.
- Add Korean translations.

svn path=/trunk/; revision=19590
2005-11-25 23:14:25 +00:00
Gé van Geldorp
5bc654df48 Sync to Wine-0_9_2:
Francois Gouget <fgouget@free.fr>
- Remove spaces before '\n' in traces.
- Assorted spelling and case fixes.
Steven Edwards <winehacker@gmail.com>
- Partly implement MsiMessageBox[A/W] on top of MessageBoxEx[A/W]
YunSong Hwang <hys545@dreamwiz.com>
- Add Korean translations.
- Update Korean translations.
Aric Stewart <aric@codeweavers.com>
- Use MsiDecomposeDescriptorW in MsiProvideQualifiedComponentExW.
Mike McCormack <mike@codeweavers.com>
- Fix comparison of empty properties to numbers and add test cases.
- Only return ERROR_MORE_DATA if there's a buffer to copy a result
  into.
- Fix function prototype and spec file entry for
  MsiEnumComponentQualifiers.
- Set the Installed property if the product is already installed.
- Loop around calling RegQueryValue until we have a big enough string
  for both the name and the value.
- Convert MsiEnumComponentQualifiers to use msi_strcpy_to_awstring.
- Empty strings are not equal to any number, so all comparisons against
  them fail except for tests for non-equalness.

svn path=/trunk/; revision=19589
2005-11-25 23:12:29 +00:00
Gé van Geldorp
9d13cbc11b Sync to Wine-0_9_2:
Francois Gouget <fgouget@free.fr>
- Remove spaces before '\n' in traces.

svn path=/trunk/; revision=19588
2005-11-25 23:10:34 +00:00
Gé van Geldorp
ae83c9af7c Sync to Wine-0_9_2:
Christoph Frick <frick@sc-networks.de>
- Moved and adopted joystick_linux.c code into the
  joystick_linuxinput.c.
Francois Gouget <fgouget@free.fr>
- Remove spaces before '\n' in traces.
Daniel Remenak <dtremenak@gmail.com>
- Add additional sanity checks to the linux input system dinput joystick
  implementation.

svn path=/trunk/; revision=19587
2005-11-25 23:09:03 +00:00
Gé van Geldorp
1e30cac1dd Sync to Wine-0_9_2:
Juan Lang <juan_lang@yahoo.com>
- Fix some memory leaks.

svn path=/trunk/; revision=19586
2005-11-25 23:08:16 +00:00
Gé van Geldorp
35f5487496 Sync to Wine-0_9_2:
Vitaliy Margolen <wine-patch@kievinfo.com>
- Return false if index is out of bounds in GetItemT.
Francois Gouget <fgouget@free.fr>
- Remove spaces before '\n' in traces.
- Assorted spelling and case fixes.
Thomas Weidenmueller <wine-patches@reactsoft.com>
- Improved word wrapping and tab key handling.
Raphael Junqueira <fenix@club-internet.fr>
- Implement implement header callback support (HDN_GETDISPINFO notification):
- better factorisation
- unicode fixes
YunSong Hwang <hys545@dreamwiz.com>
- Update Korean translations.
Markus Amsler <markus.amsler@oribi.org>
- Reformat "see" section, to match c2man requirements.

svn path=/trunk/; revision=19585
2005-11-25 23:05:28 +00:00
Gé van Geldorp
598bbf9e8d Sync to Wine-0_9_2:
YunSong Hwang <hys545@dreamwiz.com>
- Update Korean translations.
- Add Korean translations.

svn path=/trunk/; revision=19584
2005-11-25 23:01:01 +00:00
Gé van Geldorp
29d10b7e0f Sync to Wine-0_9_2:
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.

svn path=/trunk/; revision=19583
2005-11-25 22:59:48 +00:00
Sebastian Gasiorek
829a120a32 polish resources by Emil Kaczmarek (bug 1044)
with little fixes by me

svn path=/trunk/; revision=19582
2005-11-25 22:55:40 +00:00
Gé van Geldorp
f65bb4ba7a Sync to Wine-0_9_2:
Alexandre Julliard <julliard@winehq.org>
- Preserve 16-byte stack alignment in the various assembly
  functions. Needed for MacOSX.

svn path=/trunk/; revision=19581
2005-11-25 22:55:30 +00:00
Royce Mitchell III
167ce3d548 catch all source-file transitions so rsym data has the correct file name
svn path=/trunk/; revision=19580
2005-11-25 22:41:31 +00:00
Gé van Geldorp
f4d55ceec4 Sync to Wine-0_9_2:
Robert Shearman <rob@codeweavers.com>
- Remove some incompatibilities in the wctype table by updating the
  space, blank and cntrl exceptions and fixing the type given to
  characters in the "Zl" and "Zp" classes.
Alexandre Julliard <julliard@winehq.org>
- Only update modified files.
- Updated codepage tables to Unicode version 4.1.

svn path=/trunk/; revision=19579
2005-11-25 22:30:38 +00:00
Sebastian Gasiorek
48f460c594 changed icon number
svn path=/trunk/; revision=19578
2005-11-25 22:27:50 +00:00
Royce Mitchell III
20e4ab9e5a utility to dump stab info out of an executable
svn path=/trunk/; revision=19577
2005-11-25 22:19:05 +00:00
Hervé Poussineau
5c787a3532 - Recognize *PNP0000 device
- Add some specific devices for i440FX architecture
Fixes bug 1051

svn path=/trunk/; revision=19576
2005-11-25 22:14:48 +00:00
Thomas Bluemel
4008050e1e only display the troubleshoot button if necessary
svn path=/trunk/; revision=19574
2005-11-25 22:01:19 +00:00
Thomas Bluemel
1d34059c5b fixed uninitialized variable warning
svn path=/trunk/; revision=19573
2005-11-25 21:38:37 +00:00
Gé van Geldorp
b932577eff Implement adding new sections/lines/fields and writing the resulting file
svn path=/trunk/; revision=19572
2005-11-25 21:37:23 +00:00
Sebastian Gasiorek
3ef4f1e377 fixed package.dll name
svn path=/trunk/; revision=19571
2005-11-25 21:29:16 +00:00
Sebastian Gasiorek
48fa464e43 - changed name of package library to package.dll
- fixed PML_TransError function (possibly fixes bug 730)

svn path=/trunk/; revision=19570
2005-11-25 21:25:42 +00:00
Magnus Olsen
7a8e31d41b Fix the trunk so it build again sorry for the break
svn path=/trunk/; revision=19569
2005-11-25 19:38:07 +00:00
Steven Edwards
61ad339b29 pch and license header fixes part 2
svn path=/trunk/; revision=19568
2005-11-25 19:29:16 +00:00
Royce Mitchell III
7d45b5479f fix signed/unsigned comparison warning
svn path=/trunk/; revision=19567
2005-11-25 19:12:04 +00:00
Casper Hornstrup
d7d1fde78f Speed up compilation of ntoskrnl
svn path=/trunk/; revision=19566
2005-11-25 18:43:51 +00:00
Magnus Olsen
b482974de7 implement addbuffer to waveTheard. it can play wave one time if it is same file in windows
svn path=/trunk/; revision=19565
2005-11-25 18:21:42 +00:00
Steven Edwards
8a5ffd220b Fix pch usage in most of the rest of crt.lib. Stop the abuse of including io.h, stdio.h and a few others directly. Add a generic license header to those source files that were missing it. There is still a few other headers left to fix and a few files missing pch and license headers
svn path=/trunk/; revision=19564
2005-11-25 18:05:42 +00:00
Royce Mitchell III
8dc7b7d242 more descriptive debug message
svn path=/trunk/; revision=19563
2005-11-25 17:13:40 +00:00
Thomas Bluemel
cf25abaf77 add missing definitions
svn path=/trunk/; revision=19562
2005-11-25 17:02:43 +00:00
Thomas Bluemel
b14ed20764 display the hardware tab
svn path=/trunk/; revision=19561
2005-11-25 17:02:18 +00:00
Thomas Bluemel
e383ee91cc fixed some resizing bugs
svn path=/trunk/; revision=19560
2005-11-25 16:30:41 +00:00
Thomas Bluemel
8cef988efb - add a (very incomplete) devguid.h
- add mmsys.cpl to the build system and bootcd

svn path=/trunk/; revision=19559
2005-11-25 16:13:58 +00:00
Thomas Bluemel
fc31f8d474 fixed an error check
svn path=/trunk/; revision=19558
2005-11-25 16:03:14 +00:00
Thomas Bluemel
e8fe230b7f add missing error check
svn path=/trunk/; revision=19557
2005-11-25 15:57:47 +00:00
Thomas Bluemel
2445f1e7b8 move the hardware page dialog into it's own file
svn path=/trunk/; revision=19556
2005-11-25 15:36:14 +00:00
Casper Hornstrup
185590b80c Merge duplicate definitions
svn path=/trunk/; revision=19555
2005-11-25 14:40:28 +00:00
Casper Hornstrup
a77a018cab Don't include files from outside a compilation unit
svn path=/trunk/; revision=19554
2005-11-25 14:38:59 +00:00
Thomas Bluemel
5934c2cb90 add devmgr.dll to the bootcd
svn path=/trunk/; revision=19553
2005-11-25 14:31:45 +00:00
Thomas Bluemel
98c03b78e2 fix a DeviceCreateHardwarePageEx call
svn path=/trunk/; revision=19552
2005-11-25 14:19:42 +00:00
Thomas Bluemel
75507318d0 Initial implementation of the hardware page, based on a patch by Gąsiorek <zebasoftis@reactos.org> (bug #986)
svn path=/trunk/; revision=19551
2005-11-25 14:17:30 +00:00
Thomas Bluemel
790caeda87 Some header fixes by Sebastian Gąsiorek <zebasoftis@reactos.org>
svn path=/trunk/; revision=19550
2005-11-25 14:15:46 +00:00
James Tabor
582742dbf3 Fix caps.
svn path=/trunk/; revision=19549
2005-11-25 14:08:45 +00:00
James Tabor
ee2bdde974 Fix typo.
svn path=/trunk/; revision=19548
2005-11-25 13:48:16 +00:00
Brandon Turner
6a5ae63daf Fix a typo in the header comments.
svn path=/trunk/; revision=19547
2005-11-25 13:01:44 +00:00
Casper Hornstrup
dfd37af193 Speedup compilation of kernel32
svn path=/trunk/; revision=19546
2005-11-25 11:53:30 +00:00
Magnus Olsen
2d49a98117 Greek Translation by Apal see bug 994
svn path=/trunk/; revision=19545
2005-11-25 10:35:27 +00:00
Magnus Olsen
0e7a928155 Greek Translation by Apal see bug 994
svn path=/trunk/; revision=19544
2005-11-25 10:22:12 +00:00
Hervé Poussineau
73cfd07f88 Return NULL when an error occurs in CreateServiceW
svn path=/trunk/; revision=19543
2005-11-25 09:30:09 +00:00
Steven Edwards
9e993871db ifndef not ifdef....like I said, it works for me on my mingw either way
svn path=/trunk/; revision=19542
2005-11-25 04:39:08 +00:00
Brandon Turner
463a4180eb Read the registry to set the wallpaper mode in in WinSta.
svn path=/trunk/; revision=19541
2005-11-25 04:14:59 +00:00
Andrew Greenwood
c605cb406b Fixed GETDEVCAPS message handling (bad macros) and implemented some primitive memory leak detection.
svn path=/trunk/; revision=19540
2005-11-25 03:50:49 +00:00
Steven Edwards
f3fe57e7d8 add a check for gcc to the constants recently added for the msvc port. They seem to cause problems on some gcc's but not mine.
svn path=/trunk/; revision=19539
2005-11-25 03:41:24 +00:00
Alex Ionescu
cc63baeda1 - Update NDK to remove zwfuncs.h and place the native functions in their respective xxfuncs.h instead, so that applications can now include only what they need. Add more xxfuncs.h files for every API.
- Make the NDK smarter so that using #define NTOS_MODE_USER isn't needed anymore: the NDK can now auto-detect the presence of windows.h or ntddk.h and make the appropriate decision.
- re-arrange ntndk.h to include all types in alphabetical order, and then all functions, regardless of um/kmode usage. 
- Make each file auto-detect if this is NTOS_MODE_USER or not and include each files it needs, instead of depending on a predefined order inside ntndk.h This way, any file can be included from both user-mode or kmode as simply as #include <iofuncs.h>, wthout any adtional work.
- Update FIXME list with these changes and delay NDK release date since my trip is lasting a day longer.
- Fix ntsecapi.h to define UNICODE_STRING, like it does in the PSDK.
- Fix apps including ntsecapi + winternl.h These two cause a conflict even on PSDK and shouldn't be included together.
- Make winlogon include only the NDK files it needs (2) instead of the whole NDK, as test for this faster newly supported method.
- Remove some NDK apps from the FIXME list (the ones that weren't being built/are on my rewrite branch/are better off including the whole NDK instead of file-by-file).
- Update debug.h to define RtlAssert and DbgPrint in case the NDK or DDK aren't already included, which will allow some of the apps to stop using the NDK solely for DPRINT/DPRINT1. Diabled for now since a lot of code needs to be changed to #include <debug.h> *After* they include the other headers. (so that the anti-double-definition check can work).

svn path=/trunk/; revision=19538
2005-11-25 00:17:40 +00:00
Ged Murphy
1c7c9e87d1 silence some warnings.
svn path=/trunk/; revision=19537
2005-11-24 23:07:36 +00:00
James Tabor
2b1c91b1ff Fix missed files. Svn problem?
svn path=/trunk/; revision=19536
2005-11-24 22:08:38 +00:00
Hartmut Birr
33d6b7b736 - Allow trailing back slashes only for directories.
- Allow trailing back slashes, if a new directory will be created.

svn path=/trunk/; revision=19535
2005-11-24 21:08:13 +00:00
Gé van Geldorp
41909c195a Fix optimized builds
svn path=/trunk/; revision=19534
2005-11-24 18:05:53 +00:00
Casper Hornstrup
76b89d54d9 Store renamed file in the right directory
svn path=/trunk/; revision=19533
2005-11-24 17:57:15 +00:00
Casper Hornstrup
419247baed Rename ISO before upload
svn path=/trunk/; revision=19532
2005-11-24 16:33:38 +00:00
Hervé Poussineau
edb771ae7d Patch by Elrond:
- Let NpfsListeningCancelRoutine show the pipe name it is trying to act on.
- Add more ASSERT()s to NpfsRead, which seems to act quite strange sometimes

svn path=/trunk/; revision=19531
2005-11-24 16:23:07 +00:00
Andrew Greenwood
fc3b932fc8 Partial implementation of WDMAUD.DRV - device capability querying fails
svn path=/trunk/; revision=19530
2005-11-24 14:36:47 +00:00
Hervé Poussineau
1620efc250 Display the unknown class name in error message
svn path=/trunk/; revision=19529
2005-11-24 14:34:44 +00:00
Andrew Greenwood
665a853e70 Fixing EOL...
svn path=/trunk/; revision=19528
2005-11-24 14:34:41 +00:00
Casper Hornstrup
e0c1c5a1df Check for presence of directory
svn path=/trunk/; revision=19527
2005-11-24 13:57:25 +00:00
Andrew Greenwood
51c3c77902 Remove portcls from old location
svn path=/trunk/; revision=19526
2005-11-24 13:33:37 +00:00
Andrew Greenwood
b0d0ca15fb Some preliminary stubbing of the Kernel Streaming components (portcls being moved from other directory)
svn path=/trunk/; revision=19525
2005-11-24 13:30:51 +00:00
Hervé Poussineau
aa70297ede Sort entries in usbport.def
Define some functions only if DEBUG_MODE is defined

svn path=/trunk/; revision=19524
2005-11-24 13:22:13 +00:00
Casper Hornstrup
5247d48cf1 Publish ISOs via FTP
svn path=/trunk/; revision=19523
2005-11-24 12:34:08 +00:00
Hervé Poussineau
125e25d424 Set Tag value in registry when needed.
(Not tested due to bug 1048)

svn path=/trunk/; revision=19522
2005-11-24 11:03:23 +00:00
Hervé Poussineau
06ce8efe4f Fix Start value for mouclass driver, which was leading to not detect legacy mouse drivers as i8042prt
svn path=/trunk/; revision=19521
2005-11-24 09:33:29 +00:00
Hervé Poussineau
bc8462e40a Detect devices using the NULL driver, and set the STARTED flag
svn path=/trunk/; revision=19520
2005-11-24 09:18:16 +00:00
Hervé Poussineau
c4cc828696 Fix access rights when opening registry keys
Better traces

svn path=/trunk/; revision=19519
2005-11-24 09:11:44 +00:00
Hervé Poussineau
1361420584 Third parameter in INF AddService directive seems to be optional. Ignore the error if it is missing
Implement SetupDiGetDeviceInfoListDetailW

svn path=/trunk/; revision=19518
2005-11-24 09:05:38 +00:00
Gé van Geldorp
5976ea377e Use inflib
svn path=/trunk/; revision=19517
2005-11-24 08:12:20 +00:00
Gé van Geldorp
1c781d1933 - Factor out .inf handling code from usetup
- Provide a dual interface, for use in build tools and for use in ReactOS code

svn path=/trunk/; revision=19516
2005-11-24 08:07:12 +00:00
Steven Edwards
59a50a6f88 more msvc compile fixes by Brezenbak and I
svn path=/trunk/; revision=19515
2005-11-24 06:07:04 +00:00
James Tabor
192667e346 set eol-style to native
svn path=/trunk/; revision=19514
2005-11-24 01:49:36 +00:00
James Tabor
66c616228f Sorry for the mess. 8^P
svn path=/trunk/; revision=19513
2005-11-24 01:09:01 +00:00
James Tabor
7977e12600 PortCls.sys, Port Class functions for audio drivers.
svn path=/trunk/; revision=19512
2005-11-24 01:05:58 +00:00
James Tabor
f8691dcde6 PortCls.sys, Port Class functions for audio drivers.
svn path=/trunk/; revision=19511
2005-11-24 01:03:27 +00:00
James Tabor
f051be88a6 PortCls.sys, Port Class functions for audio drivers.
svn path=/trunk/; revision=19510
2005-11-24 00:58:47 +00:00
Ged Murphy
14e1f7b936 only display host info once when more than one adapter is present.
svn path=/trunk/; revision=19509
2005-11-24 00:21:42 +00:00
Thomas Bluemel
d5879d411b added an initial mmsys.cpl. not added to the build system because w32api lacks a devguid.h
svn path=/trunk/; revision=19508
2005-11-23 23:02:35 +00:00
Hartmut Birr
67d7a1aea3 Used the size of the data cell instead of the previous data length to check if enough space is available (in NtSetValueKey).
svn path=/trunk/; revision=19507
2005-11-23 22:16:21 +00:00
Hartmut Birr
938923f391 Get the cursor keys on the numpad working (patch by tinus).
svn path=/trunk/; revision=19506
2005-11-23 22:10:30 +00:00
Hartmut Birr
add44c2ed4 Use the correct read length in ConReadConsoleInput.
svn path=/trunk/; revision=19505
2005-11-23 22:01:38 +00:00
Hartmut Birr
34639a5b85 Don't return from inside an exception handler.
svn path=/trunk/; revision=19504
2005-11-23 21:59:34 +00:00
Hartmut Birr
fb3dcc851d Fixed FormatMessageA/W.
svn path=/trunk/; revision=19503
2005-11-23 21:19:00 +00:00
Hartmut Birr
fb29639c6b Removed some escape sequences from the command line in CreateProcessInternalW.
svn path=/trunk/; revision=19502
2005-11-23 21:17:11 +00:00
Hartmut Birr
ec55f4fec0 - Implemented wgetmainargs.
- Fixed the allocating of argv if a empty cmd line is given.  
- Fixed the allocating of pgmptr.

svn path=/trunk/; revision=19501
2005-11-23 21:14:06 +00:00
Hervé Poussineau
b57ef29796 Use a common header file
Small fix in CheckPciDevice

svn path=/trunk/; revision=19500
2005-11-23 20:47:38 +00:00
Magnus Olsen
9e0866bd57 Verify VBE is found and not anything else, is a safe check.
svn path=/trunk/; revision=19499
2005-11-23 20:37:38 +00:00
Magnus Olsen
8553d872c8 TotalMemory is in number of 64K block not 16K block see VBE 2.0 or 3.0 specification.
svn path=/trunk/; revision=19498
2005-11-23 20:23:41 +00:00
Hervé Poussineau
5cb6768bb2 Implement IRP_MN_QUERY_DEVICE_RELATIONS
Activate code in IRP_MN_STOP_DEVICE

svn path=/trunk/; revision=19497
2005-11-23 20:16:34 +00:00
Magnus Olsen
35a12f5a28 Detect Bad graphic Bios, Some graphice card report VBE 2.0 when the are VBE 1.2. For the manufactures have use wrong version and do not set the OemVendoerPtr. When that happen it is VBE 1.2 on the Graphic card
svn path=/trunk/; revision=19496
2005-11-23 19:35:44 +00:00
Hervé Poussineau
cbe451a3df Don't check if user is admin before installing a device, as we're running DevInstallW in SYSTEM context (this would change one day...)
svn path=/trunk/; revision=19495
2005-11-23 19:29:38 +00:00
Aleksey Bragin
269a84332f Translation of newdev by unC0Rr, proofread by me.
svn path=/trunk/; revision=19494
2005-11-23 18:44:02 +00:00
Aleksey Bragin
c6849998ca Translation of vmwinst by unC0Rr, modified by me.
svn path=/trunk/; revision=19493
2005-11-23 18:33:01 +00:00
Steven Edwards
3b374afaa1 Identifier '__value' changed everywhere to '__val' to avoid clashes with Microsoft's 'managed C++' keyword
svn path=/trunk/; revision=19492
2005-11-23 17:53:08 +00:00
Casper Hornstrup
a98cfa1b66 ReactOS Sin Custom Revision Action (Revision ISO Creator)
svn path=/trunk/; revision=19491
2005-11-23 17:31:28 +00:00
Casper Hornstrup
f250d1638b ReactOS Sin Verifier
svn path=/trunk/; revision=19490
2005-11-23 17:25:55 +00:00
Steven Edwards
03582db4bb really remove the offending header this time
svn path=/trunk/; revision=19489
2005-11-23 16:57:00 +00:00
Aleksey Bragin
1240589ad8 Translation by unC0Rr (slightly amended by me).
svn path=/trunk/; revision=19488
2005-11-23 15:52:21 +00:00
Casper Hornstrup
6afed94a54 Fix building rbuild tests
svn path=/trunk/; revision=19487
2005-11-23 15:16:18 +00:00
Casper Hornstrup
f4e5a5a581 Disable pre-compiled headers when using compilation units
svn path=/trunk/; revision=19486
2005-11-23 15:05:53 +00:00
Hervé Poussineau
8f440cb624 In NtUserInsertMenuItem, try to copy the whole MENUITEMINFOW structure from caller. If it fails, try without the last field
svn path=/trunk/; revision=19485
2005-11-23 13:45:34 +00:00
Christoph von Wittich
071e4d5c83 fixed bug 888 (menus created by application itself may not appear)
svn path=/trunk/; revision=19484
2005-11-23 13:13:09 +00:00
Filip Navara
45d8a5eb8b Update GPL and LGPL licenses.
svn path=/trunk/; revision=19483
2005-11-23 07:07:40 +00:00
Steven Edwards
09acd27660 porting fixes
svn path=/trunk/; revision=19482
2005-11-23 06:33:19 +00:00
Steven Edwards
9324227517 porting fixes
svn path=/trunk/; revision=19481
2005-11-23 06:02:15 +00:00
Christoph von Wittich
7588129e24 fix bug 838 (Sol.exe is missing it's menubar)
svn path=/trunk/; revision=19480
2005-11-23 06:00:41 +00:00
Alex Ionescu
348e9f5f3d Fix msvc/gcc NDK problem
svn path=/trunk/; revision=19479
2005-11-23 04:31:58 +00:00
Alex Ionescu
7208d96617 move devices.h to a more appropriate location (approximately where it's located in the nt4 ddk)
svn path=/trunk/; revision=19478
2005-11-23 03:54:11 +00:00
Casper Hornstrup
4758974147 Option to disable compilation units
svn path=/trunk/; revision=19477
2005-11-23 03:12:52 +00:00
Thomas Bluemel
a0b7f5c0aa remove incorrect includes
svn path=/trunk/; revision=19476
2005-11-23 01:40:19 +00:00
Thomas Bluemel
8665826884 define IID_ISecurityInformation in a separate file not using the precomp.h
svn path=/trunk/; revision=19475
2005-11-23 01:39:45 +00:00
Christoph von Wittich
1676773413 updated german translation
svn path=/trunk/; revision=19474
2005-11-23 00:27:26 +00:00
Brandon Turner
de9c57f740 RegSetValueExW was including the comparison in the size param and therefore not writing the wallpaper path to the registry. The wallpaper now stays after a reboot.
svn path=/trunk/; revision=19473
2005-11-23 00:15:45 +00:00
Nathan Woods
ce6551a393 Regedit enhancements
1.  Implemented the ability to select existing favorites
2.  Created dialog resources for adding favorites, removing favorites, and the find dialog


svn path=/trunk/; revision=19472
2005-11-23 00:09:17 +00:00
Ged Murphy
9d7f11c6ec Support for adding Expandable string and multi string values
svn path=/trunk/; revision=19471
2005-11-22 22:19:18 +00:00
Casper Hornstrup
b102fa96a8 * Name compilation unit
* Generate compilation unit support code


svn path=/trunk/; revision=19470
2005-11-22 22:16:14 +00:00
Casper Hornstrup
dc1f52977d Move Directory class to its own file
svn path=/trunk/; revision=19469
2005-11-22 21:58:50 +00:00
Maarten Bosma
fee8a937ff Florian (papierkorb[at]gmx-topmail[dot]de): A few corrections.
svn path=/trunk/; revision=19468
2005-11-22 21:32:11 +00:00
Hartmut Birr
72811fbd1d - Fixed the parameter check of the echo command.
- Remove the first space after the echo command.
- Do never check for parameters if the delimiter is a point.

svn path=/trunk/; revision=19467
2005-11-22 18:01:02 +00:00
Casper Hornstrup
498c359615 Replace File by CompilationUnit
svn path=/trunk/; revision=19466
2005-11-22 14:23:17 +00:00
Nathan Woods
29f5dd15ed Regedit: Favorites now appear in the favorites menu (though they are currently grayed out)
svn path=/trunk/; revision=19465
2005-11-22 14:07:34 +00:00
Thomas Bluemel
e0535fe8a9 Fixed a bunch of uninitialized variable warnings. Dereferencing random pointers can't be a good idea, testing would've been great. The changes may not be correct, please review!
svn path=/trunk/; revision=19464
2005-11-22 11:20:01 +00:00
Hervé Poussineau
3143bf613e Fix sublanguage IDs in .rc files:
- LANG_ENGLISH -> SUBLANG_ENGLISH_US
- LANG_JAPANESE -> SUBLANG_DEFAULT
- others -> SUBLANG_NEUTRAL
I didn't change .rc files in files synched with Wine

svn path=/trunk/; revision=19463
2005-11-22 10:24:14 +00:00
Alex Ionescu
b7b5e0bdb0 Fix boot regression.
svn path=/trunk/; revision=19462
2005-11-22 09:53:00 +00:00
Hervé Poussineau
19d917a3b7 Fix French translation
svn path=/trunk/; revision=19461
2005-11-22 08:26:06 +00:00
Steven Edwards
e910f4cab0 porting fixes
svn path=/trunk/; revision=19460
2005-11-22 08:25:35 +00:00
Alex Ionescu
e20d5baaa0 - I wish svn delete would..delete the file -before- committing to that testing before a commit would actually be useful. Fix wdmguid.c build
- Update NDK text files.

svn path=/trunk/; revision=19459
2005-11-22 08:21:42 +00:00
Steven Edwards
de89ca03e4 add __i386__
svn path=/trunk/; revision=19458
2005-11-22 08:20:55 +00:00
Casper Hornstrup
394ced81ac Parse <compilationunit>
svn path=/trunk/; revision=19457
2005-11-22 08:18:03 +00:00
Steven Edwards
8284e89b8c msvc warnings fixes
svn path=/trunk/; revision=19456
2005-11-22 08:15:04 +00:00
Steven Edwards
6b8f182f77 remove some warnings
svn path=/trunk/; revision=19455
2005-11-22 08:12:42 +00:00
Steven Edwards
887ffe5baa add recent winehq object manager tests
svn path=/trunk/; revision=19454
2005-11-22 07:18:44 +00:00
Alex Ionescu
90c7b2a8ae - Fix typo accidentally added after testing the build (due to alt-f Q)
svn path=/trunk/; revision=19453
2005-11-22 06:57:36 +00:00
Steven Edwards
13b219657a _M_IX86 is not the same as _X86_ on the most recent PSDK. Define both
svn path=/trunk/; revision=19452
2005-11-22 06:22:21 +00:00
Alex Ionescu
c4f5d37239 - Fix inclusion of deleted file.
svn path=/trunk/; revision=19451
2005-11-22 05:48:48 +00:00
Alex Ionescu
f355909c07 - Define DECLSPEC_ADDRSAFE and FORCEINLINE for gcc in winnt.h
- Remove FASTCALL define from windef.h and add it to winddk.h
- Move EXCEPTION_ defines to crt/except.h
- Remove public GUIDs from sysguid.h and move from NDK to public umpnpmgr lib headers (since no other component but it + kernel uses them)
- Make include/ndk an include path. The NDK is now used like the DDK, so including ndk/foo.h should be replaced by include foo.h just like for PSDK or DDK.
- Don't include misc.h in usermode.
- Protect some stuff in helper.h against multiple definitions.
- Sync with NDK 1.00 Beta 1 to prepare for public NDK release.

svn path=/trunk/; revision=19450
2005-11-22 04:57:45 +00:00
Nathan Woods
779147bf80 Regedit: Enhancements to the contextual menu in the treeview
1.  Implemented Export
2.  Added a placeholder for Permissions


svn path=/trunk/; revision=19449
2005-11-22 04:54:18 +00:00
Alex Ionescu
c6a600f0d3 - Don't hardcode PEB address
svn path=/trunk/; revision=19448
2005-11-22 03:37:39 +00:00
Alex Ionescu
0dac77333a - Missed one change
svn path=/trunk/; revision=19447
2005-11-22 03:32:15 +00:00
Alex Ionescu
4d1789ec8e - Don't use STATIC
svn path=/trunk/; revision=19446
2005-11-22 03:18:13 +00:00
Alex Ionescu
75ae595a8d - Don't use EXPORTED
- Define MM_HIGHEST_VAD_ADDRESS; this seems to be the actual value of the PEB and represents the highest address that a VAD can be on Windows (and the PEB is the highest vad). This define shoudl probably go in mm.h since I believe the checks and code in NtXxxVirtualMemory should use -it- instead of MM_HIGHEST_USER_ADDRESS.

svn path=/trunk/; revision=19445
2005-11-22 02:30:18 +00:00
Brandon Turner
2f4ea4daeb copy back both POINTS to make a RECT
svn path=/trunk/; revision=19444
2005-11-22 01:48:27 +00:00
Nathan Woods
6cf4575ef6 1. Fixed a bug that caused registry keys created under previously childless keys to not show up in the tree view
2.  If a registry key deletion fails because of a permission error part of the way through, the key will be refeshed and the partial deletion will show up



svn path=/trunk/; revision=19443
2005-11-22 01:30:30 +00:00
Filip Navara
fc2948f5f2 Put the function type declarations at the right place. Patch by Brezenbak.
svn path=/trunk/; revision=19442
2005-11-22 01:06:05 +00:00
Alex Ionescu
8bebf65a42 - Don't use STATIC
svn path=/trunk/; revision=19441
2005-11-22 00:50:12 +00:00
Filip Navara
8136033064 Change some FS:x reading macros for better compatibility with MSVC compiler and move KeGetCurrentKPCR/KeGetCurrentPrcb from DDK into ntoskrnl.
svn path=/trunk/; revision=19440
2005-11-22 00:47:58 +00:00
Filip Navara
9ff8e85f1d Fix compilation.
svn path=/trunk/; revision=19439
2005-11-22 00:38:45 +00:00
Filip Navara
be3e833bc3 Change the FS read/write functions to macros and use constant addressing instead of register.
svn path=/trunk/; revision=19438
2005-11-22 00:34:46 +00:00
Filip Navara
ee6bd345aa Fix some registry structures to match the Windows format.
svn path=/trunk/; revision=19437
2005-11-22 00:29:22 +00:00
Filip Navara
f0bab69a40 Use a standard header instead of redefining size_t.
svn path=/trunk/; revision=19436
2005-11-22 00:16:37 +00:00
Filip Navara
10ff9775bf Fix a typo.
svn path=/trunk/; revision=19435
2005-11-22 00:15:47 +00:00
Alex Ionescu
91f701e9e7 - Remove usage of STATIC, and use static in the right place.
svn path=/trunk/; revision=19434
2005-11-22 00:05:23 +00:00
James Tabor
8200dffeed Removed ActCtx.c.
svn path=/trunk/; revision=19433
2005-11-21 22:56:09 +00:00
James Tabor
8ced6754fb Rename file.
svn path=/trunk/; revision=19432
2005-11-21 22:53:25 +00:00
Magnus Olsen
19d51450c2 french translation by bulio
svn path=/trunk/; revision=19431
2005-11-21 22:45:00 +00:00
Magnus Olsen
38785d9b05 small cleanup and bugfix
svn path=/trunk/; revision=19430
2005-11-21 22:16:31 +00:00
Gé van Geldorp
05c9aefc02 Clean zlib host files
svn path=/trunk/; revision=19429
2005-11-21 22:05:22 +00:00
Magnus Olsen
c1846c1208 implement soundSetData
svn path=/trunk/; revision=19428
2005-11-21 22:01:13 +00:00
Magnus Olsen
e6e2bc6ac8 implement soundGetData and WaveThreadSetState
svn path=/trunk/; revision=19427
2005-11-21 21:51:30 +00:00
Filip Navara
cfdaa3b11d Be consistent and change #if DBG to #ifdef DBG.
svn path=/trunk/; revision=19426
2005-11-21 21:22:13 +00:00
Magnus Olsen
8b4bd72ee1 Implement WaveThreadGetData
svn path=/trunk/; revision=19425
2005-11-21 21:14:07 +00:00
Christoph von Wittich
c902c40ab5 implemented CreateActCtxA, FindActCtxSectionStringA
svn path=/trunk/; revision=19424
2005-11-21 21:09:30 +00:00
Casper Hornstrup
a09fa8cc1c Revert 19411
svn path=/trunk/; revision=19423
2005-11-21 20:59:32 +00:00
Magnus Olsen
632b022f53 implement WaveThreadSetData
svn path=/trunk/; revision=19422
2005-11-21 20:56:50 +00:00
Filip Navara
d3b6316e84 Generate .dsp files with matching !IF/!ELSEIF and !ENDIF directives to make NMAKE accept them.
svn path=/trunk/; revision=19421
2005-11-21 20:46:55 +00:00
Magnus Olsen
5b5d2b5fd6 waveThread is not longer stub it is alive and do not have all case implement
svn path=/trunk/; revision=19420
2005-11-21 20:41:34 +00:00
Gé van Geldorp
3dd0788855 avifil32 vendor import
svn path=/trunk/; revision=19419
2005-11-21 19:19:13 +00:00
Gé van Geldorp
658fc24476 Remove avifil32 in preparation of vendor import
svn path=/trunk/; revision=19418
2005-11-21 19:15:37 +00:00
Gé van Geldorp
03e2b1ec91 Linux doesn't understand VOID
svn path=/trunk/; revision=19415
2005-11-21 18:58:20 +00:00
Magnus Olsen
fb715cbd19 adding code for waveTheard it is not complete yet
svn path=/trunk/; revision=19414
2005-11-21 18:49:41 +00:00
Alex Ionescu
3533bfc92c - Misc janitorial fixes by Brezenbak to fix some MSVC compile errors.
svn path=/trunk/; revision=19413
2005-11-21 18:38:09 +00:00
Brandon Turner
90f9ace5cf don't skip whitespace in echo command. patch by irc:ravelo. bug #1042.
svn path=/trunk/; revision=19412
2005-11-21 18:10:55 +00:00
Casper Hornstrup
34baac2c5c Parse <compilationunit>
svn path=/trunk/; revision=19411
2005-11-21 18:02:28 +00:00
Brandon Turner
76eec82fec update todo with things i have finished.
svn path=/trunk/; revision=19410
2005-11-21 17:53:11 +00:00
Brandon Turner
e0c275453f Make all directories in a path that do not already exist. Code in MakeFullPath() based on WINE code.
svn path=/trunk/; revision=19409
2005-11-21 17:50:05 +00:00
Magnus Olsen
d03263175a implement some part of waveopen
svn path=/trunk/; revision=19408
2005-11-21 17:44:57 +00:00
Thomas Bluemel
44d01ccfdb Patch by Michael Fritscher <michael@fritscher.net>
- support for more/less lines
- support page up/down and pos1/end keys
- added numeration
- added german translation

svn path=/trunk/; revision=19407
2005-11-21 13:46:20 +00:00
Thomas Bluemel
d631c67e57 fixed the ProbeForWriteLargeInteger and ProbeForWriteUlargeInteger macros
svn path=/trunk/; revision=19406
2005-11-21 11:20:11 +00:00
Thomas Bluemel
dd2be60406 fixed uninitialized variables warnings by not using/returning totally random data. The code still has a lot of totally broken DWORD->Pointer casts that are going to be a problem on 64 bit architectures...
svn path=/trunk/; revision=19405
2005-11-21 10:49:48 +00:00
Christoph von Wittich
d5691f048e added stubs for Wow64DisableWow64FsRedirection, Wow64RevertWow64FsRedirection
svn path=/trunk/; revision=19404
2005-11-21 10:26:27 +00:00
Christoph von Wittich
c7aae26f12 import avifil32 from WINE 0.9.1
svn path=/trunk/; revision=19403
2005-11-21 09:51:12 +00:00
Magnus Olsen
237518aa3e prepareing for waveopendevice code adding waveThread as stub
svn path=/trunk/; revision=19400
2005-11-21 01:16:29 +00:00
Magnus Olsen
f0327a5b69 remove stub for CallbackWaveDevice, Left todo WODM_OPEN, WODM_WRITE, WODM_GETPOS, WODM_SETVOLUME, WODM_GETVOLUME some code exists but not checked if it is complete or it contain some stub
svn path=/trunk/; revision=19399
2005-11-21 00:56:13 +00:00
Magnus Olsen
ec258db7d4 remove the stub of ThreadCallWaveDevice and implement it there it need it.
svn path=/trunk/; revision=19398
2005-11-21 00:16:30 +00:00
Magnus Olsen
fa1eae0697 correct some bugs
svn path=/trunk/; revision=19397
2005-11-20 23:25:16 +00:00
Magnus Olsen
529a616638 implement more case to widMessage
svn path=/trunk/; revision=19396
2005-11-20 22:30:01 +00:00
Magnus Olsen
b6e3594ee9 implement AUXDM_SETVOLUME now the auxMessage are complete
svn path=/trunk/; revision=19395
2005-11-20 21:59:21 +00:00
Magnus Olsen
55050b7b0d Implement AUXDM_GETVOLUME
svn path=/trunk/; revision=19394
2005-11-20 21:42:23 +00:00
Thomas Bluemel
ff5070b1f7 added stub for SetupDiGetClassImageIndex
svn path=/trunk/; revision=19393
2005-11-20 21:29:42 +00:00
Gé van Geldorp
80b04bfdd6 New netapi32 vendor import
svn path=/trunk/; revision=19391
2005-11-20 21:19:17 +00:00
Gé van Geldorp
9cd483ca8e Remove old netapi32 in preparation for a new vendor import
svn path=/trunk/; revision=19390
2005-11-20 21:13:09 +00:00
Magnus Olsen
2898175429 Remove hardcode of Find one device of midiout and wavout now scan for WaveOutXX, WaveInXX, MidiInXX, MidiOutXX, AuxXX.
svn path=/trunk/; revision=19389
2005-11-20 21:12:43 +00:00
Alex Ionescu
81932981fe Fix really stupid typo (thanks Hartmut)
svn path=/trunk/; revision=19388
2005-11-20 20:48:38 +00:00
Hartmut Birr
7619aa3f45 Waiting for a fast mutex should be done in kernel mode.
svn path=/trunk/; revision=19387
2005-11-20 20:45:35 +00:00
Hervé Poussineau
2b72127451 - Fix some error codes
- Add stubs for SetupDiGetClassImageList, SetupDiGetClassImageListExA/W, SetupDiDestroyClassImageList

svn path=/trunk/; revision=19386
2005-11-20 20:19:05 +00:00
Eric Kohl
840ca0f27e - Prepare to delete marked services upon startup.
- ControlService: Implement unloading of drivers.

svn path=/trunk/; revision=19385
2005-11-20 20:18:00 +00:00
Magnus Olsen
5488776a17 implement GetDeviceCapabilities and GetDeviceCount for midMessage
svn path=/trunk/; revision=19383
2005-11-20 19:28:28 +00:00
Thomas Bluemel
096266737b disable defining ntstatus codes in windows.h/winnt.h when using ndk
svn path=/trunk/; revision=19382
2005-11-20 18:54:55 +00:00
Magnus Olsen
bf60481a6b auxMessage
implement 
GetDeviceCapabilities
GetDeviceCount

modMessage
implement 
GetDeviceCapabilities

svn path=/trunk/; revision=19381
2005-11-20 17:52:53 +00:00
Gé van Geldorp
118663036e Implement hardware breakpoints and watchpoints
svn path=/trunk/; revision=19380
2005-11-20 17:51:09 +00:00
Gé van Geldorp
9721d43340 Update status
svn path=/trunk/; revision=19379
2005-11-20 17:48:30 +00:00
Alex Ionescu
3fddfc3d33 Beware of the alt+fs slippery finger
svn path=/trunk/; revision=19376
2005-11-20 17:42:44 +00:00
Alex Ionescu
ada897443b - Update NDK with proper (when possible) RTL structure names that were previously "under review".
- Update relevant source files to new names.

svn path=/trunk/; revision=19375
2005-11-20 17:16:11 +00:00
Sebastian Gasiorek
9acc2d9d19 polish resource
svn path=/trunk/; revision=19374
2005-11-20 15:50:47 +00:00
Gé van Geldorp
4a815b7e4d Revert to Wine code to facilitate future syncs. Thanks to Thomas for making
this possible.

svn path=/trunk/; revision=19373
2005-11-20 15:43:38 +00:00
Alex Ionescu
918739b554 - Remove RosSymInfo hack from LDR_DATA_TABLE_ENTRY and use PatchInformation instead. It's still an abuse but at least we're not defining a new structure/
svn path=/trunk/; revision=19372
2005-11-20 15:27:07 +00:00
Alex Ionescu
f4159d0350 - Add msvc compatible version of ProveForRead(U)LargeInteger
svn path=/trunk/; revision=19371
2005-11-20 15:09:59 +00:00
Gé van Geldorp
27acbaabe3 Sync from Wine-20050830 to Wine-0_9_1:
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
- Fix .spec declarations for functinos with 64bit arguments (reported by
  winapi_check).
Mike Hearn <mh@codeweavers.com>
- Robert Shearman <rob@codeweavers.com>
  Change stub manager to track the number of normal marshals instead of
  using the state machine so that multiple marshals of the same object
  and interface work correctly.
Robert Shearman <rob@codeweavers.com>
- Pass WM_QUIT to outer modal loop.
- Fix the return codes during unmarshaling so that it returns failure
  codes instead of S_FALSE returned from IStream_Read.
- Don't fail in CoRegisterClassObject if the class already exists and
  the REGCLS_MULTIPLEUSE flag is specified.
- Fix ref-counting rules to match native DCOM Dlls.
- Add exception handling for stubs.
- Implement OleRegEnumVerbs.
- The [string] attribute is only valid on byte, char and wchar_t types,
  so replace "unsigned short" by "WCHAR".
- Implement OleIsRunning.
- Add a stubbed out implementation of IAdviseSink and advise the
  delegate object to use it.
- Initialize out pointer to NULL before access check in
  IStorage_CreateStorage.
- WriteClassStg should return E_INVALIDARG if pstg is NULL instead of
  asserting.
- ReadClassStg should return E_INVALIDARG if pstg is NULL instead of
  crashing and a NULL pclsid should cause it to return the same
  value.
- Make the interfaces that should be supported by the data cache
  explicit so their is no confusion in this file as to what it should
  be implementing and what this object should implement.
- Delegate some IOleObject methods to the server IOleObject if it is
  running.
- Implement some IRunningObject functions that actually start the server
  and initialize it.
- Remove redunant braces.
- Compact multi-line comments that fit into one line.
- Remove comments that state the obvious.
- Remove extra brackets that are redundant because the -> operator
  binds tighter than &.
- Change "this" to "This" to make code more like other interface
  implementations.
- Remove redundant comparisons with NULL for pointers.
- Re-arrange some functions and vtables so we don't have declarations
  for all of the functions in the file.
- Fix a trace to refer to the object ID rather than the legacy MID.
- Fix the error case of CoMarshalInterThreadInterface to release the
  stream.
- Move all 16-bit functions to an appropriate 16-bit file.
- Implement OLE object notifications, making sure to cope with the case
  of the advise holder not being created because no notifications are
  needed.
- Implement a Stop function and use this to properly implement
  IOleObject_Close, IAdviseSink_OnClose and the destructor.
- We shouldn't pass the application name into CreateProcess because the
  value stored in the registry could include arguments.
- Extend COM_OpenKeyForCLSID to open a subkey and return an HRESULT.
- Fix up the callers and reorganize CoGetClassObject to split out the
  inproc code into another function.
Alex Villacís Lasso <a_villacis@palosanto.com>
- Add NULL check for sinkInterface in DataCache_GetAdvise.
- Add missing ! to fix a reversed condition check in
  OleCreateDefaultHandler, in order to match intent in comment.
Vincent Béron <vberon@mecano.gme.usherb.ca>
- Use the proper calling convention for 2 16-bit functions.
Alexandre Julliard <julliard@winehq.org>
- We are no longer generating .spec.c files.
- Use a more portable scheme for storing the name of a critical
  section.
- Fixed some traces to use the right printf format and avoid typecasts.
- Removed unused debug channels.
- We are no longer generating .dbg.c files.
Richard Cohen <richard@daijobu.co.uk>
- Relax the share mode validation for transacted storage, with a test.
Eric Pouech <eric.pouech@wanadoo.fr>
- Fixes for function prototypes without arguments.
Michael Jung <mjung@iss.tu-darmstadt.de>
- Added tracing to CoCreateInstance.
Markus Amsler <markus.amsler@oribi.org>
- Improve c2man Documented-Total count.

svn path=/trunk/; revision=19370
2005-11-20 15:01:10 +00:00
Sebastian Gasiorek
20b7b755de little fix for one polish char
svn path=/trunk/; revision=19369
2005-11-20 14:56:24 +00:00
Gé van Geldorp
c969388396 Sync to Wine-0_9_1:
Markus Amsler <markus.amsler@oribi.org>
Improve c2man Documented-Total count. Changes:
- add missing returns section

svn path=/trunk/; revision=19368
2005-11-20 14:54:49 +00:00
Gé van Geldorp
300a536ca9 Sync to Wine-0_9_1:
Jacek Caban <jack@itma.pwr.wroc.pl>
- Added IInternetPriority implementation to FileProtocol.
- Report BINDSTATUS_SENDINGREQUEST in FileProtocol::Start.
- Added implementation of IInternetPriority in HttpProtocol.

svn path=/trunk/; revision=19367
2005-11-20 14:51:28 +00:00
Sebastian Gasiorek
586b737ba2 added Polish resource
svn path=/trunk/; revision=19366
2005-11-20 14:48:19 +00:00
Martin Fuchs
a8f51c60cb make compatible again to Windows 2000
svn path=/trunk/; revision=19365
2005-11-20 14:31:55 +00:00
Gé van Geldorp
267f5afc37 Sync to Wine-0_9_1:
Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
- Semi-stub implementation for SHRegGetValue(A|W).

svn path=/trunk/; revision=19364
2005-11-20 14:30:08 +00:00
Gé van Geldorp
5d29a2df63 Sync to Wine-0_9_1:
Michael Jung <mjung@iss.tu-darmstadt.de>
- Support for shell instance objects.
  Removed a wine_todo for a no longer failing test.
  Added a test for IPersistFolder3::GetCurFolder.
- Added initial tests for shdocvw's FolderShortcut related
  functionality.
- Only return SHDOCVW_ClassFactory if asked for CLSID_WebBrowser.

svn path=/trunk/; revision=19363
2005-11-20 14:26:47 +00:00
Casper Hornstrup
f244ed68b8 Move CreateFile test
svn path=/trunk/; revision=19362
2005-11-20 13:45:15 +00:00
Casper Hornstrup
031ac865db Remove support for performance tests since that never worked
svn path=/trunk/; revision=19361
2005-11-20 13:34:15 +00:00
Casper Hornstrup
f1bef0d01a Add missing stubs
svn path=/trunk/; revision=19360
2005-11-20 13:17:05 +00:00
Casper Hornstrup
9fc1f92d21 Handle indirect calls to functions in external modules
svn path=/trunk/; revision=19359
2005-11-20 13:12:33 +00:00
Martin Fuchs
3385bb9ee8 corect scroll icon hotspot for big icon mode
svn path=/trunk/; revision=19358
2005-11-20 09:09:19 +00:00
Alex Ionescu
474b9e8155 It is generally considered a good idea to release a fast mutex in the same order that you acquired it, since acquiring at passive->apc and apc->apc does not bode well when you release to apc->passive. passive->apc. This fixes the npfs bug on vmware, lowering the total npfs bug count to a mere 42.
svn path=/trunk/; revision=19357
2005-11-20 08:46:09 +00:00
Gé van Geldorp
4c62f96aad Vitaliy Margolen <wine-patch@kievinfo.com>
- Michael Jung <mjung@iss.tu-darmstadt.de>
  Set all capability flags supported by the shellfolder, disregarding
  the flag mask given to GetAttributesOf.
  Unit tests to demonstrate this behaviour.
Michael Jung <mjung@iss.tu-darmstadt.de>
- Added some comments to document unixfs.
- Fixed crash in unixfs shellfolder handling with winamp.
- Implemented UnixFolder's IPersistPropertyBag::Load method.
- Initialize COM prior to displaying the SHBrowseForFolder dialog.
- More robust code for querying ShellFolder attributes (some
  ShellFolders ignore the flag mask in GetAttributesOf).
- Remove iconcache pre-initialization hack, it's not necessary any
  more.
- Move target folder initialization to a dedicated function.
- Use this function in BindToObject (should be faster).
- Special handling for FolderShortcut objects in Initialize method.
- Removed a todo_wine from a no longer failing unit test.
- Replaced tabs with spaces.
Robert Shearman <rob@codeweavers.com>
- Convert SHELL32_BindToChild to Unicode and fix up the callers.
Vincent Bén <vberon@mecano.gme.usherb.ca>
- Unicodify systray.c.
- Move functions a bit to get rid of a static declaration.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Correctly handle flags parameter in SHAddToRecentDocs.
Martin Fuchs <martin-fuchs@gmx.net>
- Correct WINAPI position for MSVC portability.
Mike McCormack <mike@codeweavers.com>
- Partially implement and test the shelllink object's
  IShellLinkDataList::CopyDataBlock and GetFlags methods.
- Use advapi32.CommandLineFromMsiDescriptor to get msi component paths.
- Pass the correct verb.
  Add a space between extra parameters.
  Wait for ShellExecute to complete.
- Handle MSI advertised shortcuts in the shelllink object.
- Implement IContextMenu::QueryContextMenu and
  IContextMenu::InvokeCommand.
- Add the IObjectWithSite interface.
- Invoke shortcuts through IContextMenu, rather than trying to access
  them directly.
- Fix a problem spotted by Dmitry and another one stopping correctly
  formatted lnk files from being generated.

svn path=/trunk/; revision=19356
2005-11-20 08:41:46 +00:00
Alex Ionescu
e65d49b000 Make the address space mutex unsafe, because sometimes it is acquired at > APC_LEVEL. This makes bugchecks...'work'...again (how ironic).
svn path=/trunk/; revision=19355
2005-11-20 03:16:26 +00:00
Alex Ionescu
216543bf9a Fix hal build
svn path=/trunk/; revision=19354
2005-11-19 23:07:32 +00:00
Alex Ionescu
217fc0b603 - Deprecated
svn path=/trunk/; revision=19353
2005-11-19 22:32:09 +00:00
Alex Ionescu
b8f8ea844f - Reimplement Fast Mutex implementation in HAL/NT to be compatible with the real implementation. (Fast Mutex needs to raise IRQL).
- Implement ExEnterCriticalRegionAndAcquireFastMutexUnsafe and ExReleaseFastMutexUnsafeAndLeaveCriticalRegion.
- Make win32k use those two new functions so that it can continue running at PASSIVE_LEVEL.
- Remove CcBrokenMutex and use the new APIs instead.
- Implement and export ntoskrnl version of Fast Mutex
- Update headers for new fast-mutex definition and API exports.
- Fix RemoveEntryList in NDK.
- Add exfuncs.h to NDK.
- Fix path in mmtypes.h in NDK to be compatible to how it shoudl be included.

svn path=/trunk/; revision=19352
2005-11-19 22:13:35 +00:00
Casper Hornstrup
e89ef63b04 Create parent directory before creating the definition file
svn path=/trunk/; revision=19351
2005-11-19 21:07:25 +00:00
Thomas Bluemel
60ed715e3e Add dhcpcapi.dll to the bootcd. Fixes bug 1037
svn path=/trunk/; revision=19350
2005-11-19 19:20:51 +00:00
Aleksey Bragin
e9bd48433d According to MSDN: "PnP Manager queries a device's BusRelations (child devices) when the device is enumerated".
This change implements this behaviour in reactos (thanks Filip Navara for providing this good idea). Before, querying BusRelations was done only for ACPI/BUS_EXTENDER DeviceType.

svn path=/trunk/; revision=19349
2005-11-19 19:10:13 +00:00
Filip Navara
407573dbb8 Don't bail out for unparsable environment variables.
svn path=/trunk/; revision=19348
2005-11-19 18:58:04 +00:00
Filip Navara
59abe42fd8 Uncomment MAC code page and font signature locale strings.
svn path=/trunk/; revision=19345
2005-11-19 18:01:10 +00:00
Magnus Olsen
6ea2d31a1e "sync up sprintf.c with swprintf.c. They both do the same except one is the wchar-version, so they shouldn't differ in other parts." by Elrond <elrond(at)samba(dash)tng(dot)org>
svn path=/trunk/; revision=19344
2005-11-19 14:23:33 +00:00
Hervé Poussineau
f5238f3c36 Sorry, I forgot to commit this file...
svn path=/trunk/; revision=19343
2005-11-19 13:31:52 +00:00
Thomas Bluemel
2dbda08b7e Add a stub for ClientSideInstallW. umpnpmgr is supposed to run rundll32 in the context of the currently logged on user like this:
"rundll32.exe newdev.dll,ClientSideInstall \\.\pipe\PNP_Device_Install_Pipe_0.{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"

svn path=/trunk/; revision=19342
2005-11-19 13:27:27 +00:00
Hervé Poussineau
2c5fc4425c Fix access rights (even if not checked in KernelMode)
svn path=/trunk/; revision=19341
2005-11-19 09:29:20 +00:00
Hervé Poussineau
b4c206def5 Implement InterfacePciDevicePresent(Ex) of PCI_DEVICE_PRESENT_INTERFACE
svn path=/trunk/; revision=19340
2005-11-19 09:08:08 +00:00
Hervé Poussineau
e6bbd8f247 - Send ExGetPreviousMode() to ObReferenceObjectByHandle instead of UserMode
- KeGetPreviousMode -> ExGetPreviousMode changes

svn path=/trunk/; revision=19339
2005-11-19 09:05:37 +00:00
Ged Murphy
b659ca827a Note to me, check build in mingw before commiting.
svn path=/trunk/; revision=19338
2005-11-19 00:16:18 +00:00
Thomas Bluemel
f2c46acc54 fix the build
svn path=/trunk/; revision=19337
2005-11-18 23:58:48 +00:00
Ged Murphy
6196249dba add library
svn path=/trunk/; revision=19336
2005-11-18 23:38:38 +00:00
Ged Murphy
f9ce3f9550 update my todo list
svn path=/trunk/; revision=19335
2005-11-18 23:35:16 +00:00
Thomas Bluemel
edeb6b991c - define STATUS_* codes correctly in winnt.h and ntstatus.h
- fix code that incorrectly includes headers for status codes (changes to files shared with wine will be submitted to winehq)
- fix wine SEH macros and support code, these changes should enable us to port crypt32.dll (and maybe other libraries) without modifications

svn path=/trunk/; revision=19334
2005-11-18 23:19:48 +00:00
Thomas Bluemel
33830d0a76 fixed uninitialized variable warnings
svn path=/trunk/; revision=19333
2005-11-18 23:19:38 +00:00
Ged Murphy
64bc82cc1a - use InterlockedExchange for setting shutdown flag
- fix bug in select() which was stopping the service from shutting down
- add more event logs

svn path=/trunk/; revision=19332
2005-11-18 22:55:30 +00:00
Aleksey Bragin
b8fe484f43 Implement stubs for PCI_DEVICE_PRESENT_INTERFACE query-interface, plus fixes from hpoussin.
svn path=/trunk/; revision=19331
2005-11-18 22:32:44 +00:00
Aleksey Bragin
36f1b7334e Added structs and other needed stuff for PCI_DEVICE_PRESENT_INTERFACE query.
svn path=/trunk/; revision=19330
2005-11-18 22:28:54 +00:00
Hartmut Birr
aebe29f1ef - Changed all registry functions to WCHAR.
- Implemented packed/unpacked names for keys and values.    
- Fixed the hash values for very short data.  
- Fixed the debug build.    
- Don't search for a serial mouse, if the port is used for debug prints.

svn path=/trunk/; revision=19329
2005-11-18 22:04:17 +00:00
Hervé Poussineau
0bfe9a412e Revert 19324 and part of 19325...
svn path=/trunk/; revision=19328
2005-11-18 20:35:42 +00:00
Alex Ionescu
1c7c84efbc Due to CcRos's abusive usage and dependency on our broken Fast Mutex implementation, Fast Mutex can't be fixed until the Cc Rewrite is complete. Since that seems to take longer and we've identified drivers which need the correct Fast Mutex implementation committed, I've isolated the old implementation as "CcBrokenMutex" and replaced the calls related to "ExFastMutex" inside CC, so that our fast mutex implementation can be fixed without affecting Cc.
svn path=/trunk/; revision=19327
2005-11-18 18:51:31 +00:00
Hervé Poussineau
f3e17583dd Fix installation of VMware display driver
svn path=/trunk/; revision=19326
2005-11-18 18:48:14 +00:00
Hervé Poussineau
e253c1b277 - Don't use buffered I/O, to prevent some lag
- mouclass: Change the critical section place, to follow changes done in kbdclass in r19322

svn path=/trunk/; revision=19325
2005-11-18 17:28:19 +00:00
Hervé Poussineau
162952722e Prevent the reinstall of devices that use the NULL driver at each reboot
svn path=/trunk/; revision=19324
2005-11-18 16:42:41 +00:00
Christoph von Wittich
93eec292ae add crypt32 to bootcd
svn path=/trunk/; revision=19323
2005-11-18 11:49:51 +00:00
Art Yerkes
82beaf2b2a Fixed skipped events from keyboard:
- Wait for IO if it would be pending
- Don't copy into UserBuffer directly in read because it'll be 
  overwritten.  Use Irp->AssociatedIrp.SystemBuffer.

svn path=/trunk/; revision=19322
2005-11-18 10:53:32 +00:00
Christoph von Wittich
d7b2d1d3c2 export some more Crypto-API functions
svn path=/trunk/; revision=19321
2005-11-18 06:15:24 +00:00
Christoph von Wittich
8347f2c508 got a lot of crypt32 stuff working
svn path=/trunk/; revision=19320
2005-11-18 02:08:46 +00:00
Christoph von Wittich
16cc7e9f01 added LIST_FOR_EACH_ENTRY_SAFE macro
svn path=/trunk/; revision=19319
2005-11-17 23:19:36 +00:00
Gé van Geldorp
5c75d1e001 Add CommandLineFromMsiDescriptor
svn path=/trunk/; revision=19318
2005-11-17 23:19:29 +00:00
Gé van Geldorp
d7b3954583 Sync to Wine-0_9_1:
Huw Davies <huw@codeweavers.com>
- Stubs for NdrStubForwardingFunction and NdrCStdStubBuffer2_Release
  along with a few related defines.
- Marshal enums.

svn path=/trunk/; revision=19317
2005-11-17 22:06:47 +00:00
Christoph von Wittich
a0c1d56a3e fix a lot of compile problems with encode.c and cert.c (still not added to build)
svn path=/trunk/; revision=19316
2005-11-17 21:59:57 +00:00
Gé van Geldorp
6f80f1c062 Sync to Wine-0_9_1:
Phil Krylov <phil@newstar.rinet.ru>
- Added support for EM_REQUESTRESIZE message, EN_REQUESTRESIZE
  notification, and ENM_REQUESTRESIZE event mask.
- Cache background color brush instead of recreating it at each screen
  update.
Mike McCormack <mike@codeweavers.com>
- Convert all RTFPanic and RTFMsg calls to ERR calls.

svn path=/trunk/; revision=19315
2005-11-17 21:58:13 +00:00
Gé van Geldorp
1cae6cbce7 Francois Gouget <fgouget@free.fr>
Remove spaces before '\n' in traces.

svn path=/trunk/; revision=19314
2005-11-17 21:56:58 +00:00
Gé van Geldorp
6b37e95bd4 Sync to Wine-0_9_1:
Huw Davies <huw@codeweavers.com>
- Treat paramflags == 0 like PARAMFLAG_FIN.
- Don't call Release on a null ptr.
- Deal with pExcepInfo == NULL.
Robert Shearman <rob@codeweavers.com>
- Add IFontEventsDisp and IProvideMultipleClassInfo.
- Make sure to clean up properly on error.
- Restrict the critical section to getting the channel buffer and
  adding a reference to it.
- There is no need to call IUnknown_QueryInterface since getting the
  correct object is handled by the proxy manager.
- Forward IDispatch functions to the MIDL-generated proxy.
- Remove special cases caused by previous marshaling of IDispatch &
  IUnknown that is no longer done.
- Add error messages if an IUnknown or IDispatch method is called when
  it no longer should be.
- Cleanup formating of DispCallFunc.
- Fix DispCallFunc for functions with return values.
- Don't rely on _copy_arg as it is going away soon.
- Make wParamFlags in the paramdesc dumping function human readable.
- Enums should be VT_I4 instead of VT_INT.
- Trace the return value from the ITypeInfo_fnInvoke.
- Read DLL name from modules in MSFT typelibs.
- A name offset of -1 for a parameter means that it has the same name
  as the function.
- Print an error if a ReadName is attempted with an offset of -1,
  since this will read garbage.
- Implement ITypeInfo_GetDllEntry.
- Fix a crash during +variant logging caused by a typo causing an array
  to be one element less than expected.
- The PSDispatch PS class factory can manage both typelib marshalled and
  IDispatch, which is NDR marshalled, so we need a wrapper to call the
  appropriate CreateProxy or CreateStub function.
Alex Villacís Lasso <a_villacis@palosanto.com>
- Implement complete VarDecDiv() for any valid DECIMAL.
- Implement complete VarDecMul() for any valid DECIMAL.
- Implement complete VarBstrFromDec() for any valid DECIMAL, with
  internationalization support borrowed from VARIANT_BstrFromReal(). The
  decimal fix for VARIANT_BstrFromReal was encapsulated in a separate
  function and reused.
Michael Stefaniuc <mstefani@redhat.de>
- Handle VT_DECIMAL in VarCmp().
- Handle VT_CY in VarDiv().
Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
- Extend VarCmp() and add test cases.
Marcus Meissner <marcus@jet.franken.de>
- Added support of loading of IPicture data from non-statable
  IStreams. Added testcases for this.
- Added support for VT_I8/VT_UI8 marshalling.
- Fixed FMT_DATE_GENERAL and FMT_DATE_TIME_SYS cases in
  VARIANT_FormatDate.

svn path=/trunk/; revision=19313
2005-11-17 21:52:13 +00:00
Ged Murphy
7373027088 Improve stopping control of the service
svn path=/trunk/; revision=19312
2005-11-17 21:35:56 +00:00
Gé van Geldorp
79ae10d5fb Sync to Wine-0_9_1:
YunSong Hwang <hys545@dreamwiz.com>
Add Korean translations.

svn path=/trunk/; revision=19311
2005-11-17 21:12:27 +00:00
Gé van Geldorp
5f23f01a75 Wine-0_9_1 vendor import. Changes for ReactOS by cwittich
svn path=/trunk/; revision=19310
2005-11-17 21:02:48 +00:00
Gé van Geldorp
fb3d16f5b7 Remove in preparation for proper vendor drop
svn path=/trunk/; revision=19309
2005-11-17 20:59:05 +00:00
Gé van Geldorp
4cfb1ff7dc Sync to Wine-0_9_1:
Ivan Leo Puoti <ivanleo@gmail.com>
- Fix some wrong prototypes.
Thomas Weidenmueller <wine-patches@reactsoft.com>
- Passing NULL as the last two parameters to ReadFile is illegal and
  actually causes a crash on windows. The attached patch fixes this.
Aric Stewart <aric@codeweavers.com>
- Force files to install if the REINSTALL property is set.
Mike McCormack <mike@codeweavers.com>
- Some installers don't call the CreateFolders action before the
  InstallFiles action as MSDN specifies, but it still seems to work, so
  make sure that we create component directories in the InstallFiles
  action anyway.
- Create component folders in the CreateFolders action.
- If an action fails, print out its name as well as the error code.  Use
  %d for error codes so it's easy to match them up to something in
  winerror.h.
- Rename load_dynamic_stringW to msi_dup_record_field to better describe
  what it does, and replace a few instances with MSI_RecordGetString to
  avoid allocating memory.
- Tidy up the RegisterProduct action a little.
- Create a stub function to apply a single table transform and call it
  where we need to apply transforms.
- Enumerate the substorage transforms for any patches that are passed on
  the command line with PATCH=.  Need to implement
  table_apply_transform() before this will do anything interesting.
- Simplify register_progid() and remove a fixed length buffer.
- Make enter and escape trigger the default and cancel buttons in
  dialogs.
- Switch back to using IPicture to load images.  LoadImage did the
  resizing for us, but doesn't handle jpeg files and requires us writing
  a temp file, whereas IPicture handles jpeg files and can load directly
  from a stream.
- Remove unused package parameter of register_progid_base().
- Remove an incorrect comment and check for 0 being an invalid file
  handle.
- Add missing semicolons that caused compile trouble on FreeBSD.
- Extract file directly to their target location, bypassing the need to
  use temporary files and move files.
- Put the UI update code for cabinet file into a separate function.
- Translate INVALID_HANDLE_VALUE to zero for cabinet handles.
- Fix a memory leak in the cabinet extracting code.
- Fix passing of NULL pointers to MsiDecomposeDescriptor and add a
  test.
- Fix parameter handling in MsiSetTargetPath, and add a test for it.
- Deleted two buggy functions that incorrectly and inefficiently check
  whether a row already exists in a table, and replaced them with a call
  to an existing working function that does the same thing correctly.
- Fix and test MsiGetProperty and MsiSetProperty.
- Add a stub implementation of msi.MsiSetMode.
- NULL and empty strings are the same in conditions.
- Add a bunch of tests for MsiEvaluateCondition and make them pass.
- Fix error handling in MsiEvaluateCondition.
- Create the +msidb debug channel for msi database code.
- Implement transforms.  This still includes some debugging code which
  can be enabled by setting debug_transform to 1 in the relevant
  places.
- Define NONAMELESSUNION and NONAMELESSSTRUCT for older compilers.
- Remove some redundant null pointer checks.
- Make sure to unregister all the classes that were registered when msi
  is unloaded, so we can register again cleanly.
- Fix a memory leak.
- Implement the RemoveFiles action.
- Add a read-only implementation of the SelectionTree control.
- Make sure we only CoUninitialize after successfully initializing.
  Fix the address of the returned IShellLinkDataList interface.
- Use an enumeration for file states.
- Handle MaskEdit masks containing dashes and other constant
  characters.
- Stub implementation for MsiAdvertiseScriptA/W.
- Add a stub for the AllocateRegistrySpace action.
- Explicitly check for MSICONDITION_TRUE being returned from
  MsiEvaluateCondition.
- Stub implementation for MsiGetFileHashA/W.
- Define MSIDBOPEN_ constants using LPCWSTR when compiling Wine.
- Improve MsiUseFeatureEx and MsiGetFeatureState a little, add some
  simple test cases.
- Use msi_get_property_int() in a few more places.
- Implement MsiGetFeatureUsageA and MsiUseFeature(Ex)A using their W
  versions.
- Use "static const" rather than "const static" as gcc -W complains
  about the former.
- Add an implementation for MsiGetShortcutTargetA/W.
- Don't change the UI level during ExecuteAction.
- Return an error in MsiGetComponentPathW if passed a null component.
- Remove the unused 1st parameter of ACTION_VerifyComponentForAction.
- Fix MsiGetPropertyA/W spec declarations.
- Create an internal handle-free api for reading MSI database summary
  information.

svn path=/trunk/; revision=19307
2005-11-17 20:49:37 +00:00
Gé van Geldorp
af002b222f Add header needed to build crypt32.dll
svn path=/trunk/; revision=19306
2005-11-17 20:33:50 +00:00
Gé van Geldorp
bf3f6f7eae Sync to Wine-0_9_1:
David Kredba <kredba@math.cas.cz>
- Czech resources update.

svn path=/trunk/; revision=19305
2005-11-17 20:21:39 +00:00
Christoph von Wittich
5b0468545d added crypt32 (still not complete, from wine 0.91)
svn path=/trunk/; revision=19304
2005-11-17 20:17:53 +00:00
Gé van Geldorp
afde0fcd9f Wine-0_9_1 vendor import
svn path=/trunk/; revision=19303
2005-11-17 20:16:02 +00:00
Gé van Geldorp
a93a95ecf2 Wrong subdirectory
svn path=/trunk/; revision=19302
2005-11-17 20:11:40 +00:00
Gé van Geldorp
1ac0e4f848 Wine-0_9_1 vendor import
svn path=/trunk/; revision=19301
2005-11-17 20:03:55 +00:00
Gé van Geldorp
66725bf306 Remove old dirs in preparation of vendor import
svn path=/trunk/; revision=19300
2005-11-17 20:00:21 +00:00
Gé van Geldorp
fcff4ba024 Sync to Wine-0_9_1:
Francois Gouget <fgouget@free.fr>
- Remove spaces before '\n' in traces.
Christoph Frick <frick@sc-networks.de>
- Moved and adopted joystick_linux.c code into the
  joystick_linuxinput.c.

svn path=/trunk/; revision=19298
2005-11-17 19:50:28 +00:00
Gé van Geldorp
ba2598e004 Sync to Wine-0_9_1:
Vijay Kiran Kamuju <infyquest@gmail.com>
- Jonathan Ernst <Jonathan@ErnstFamily.ch>
  Display an error if no printer is installed.
Michael Jung <mjung@iss.tu-darmstadt.de>
- Initialize COM prior to displaying the file dialog.
Henning Gerhardt <henning.gerhardt@web.de>
- Update German resource file.
David Kredba <kredba@math.cas.cz>
- Czech resources update.

svn path=/trunk/; revision=19297
2005-11-17 19:44:07 +00:00
Gé van Geldorp
565cf7f36d Sync to Wine-0_9_1:
Vitaliy Margolen <wine-patch@kievinfo.com>
- Unify HEADER_GetItem[A/W] into one function.
- Unify HEADER_InsertItem[A/W] into one function.
- Unify HEADER_SetItem[A/W] into one function.
Michael Kaufmann <hallo@michael-kaufmann.ch>
- Handle WM_PRINTCLIENT.
  Don't use SelectClipRgn in WM_PRINTCLIENT.
Dimi Paun <dimi@lattica.com>
- Validate the column index passed in by the caller.
Alex Villacís Lasso <a_villacis@palosanto.com>
- Do not issue a GetUpdateRect() to query an update region for
  WM_PAINT(wParam=HDC) case. Instead, use GetClientRect() for a bounding
  rect.
Vincent Béron <vberon@mecano.gme.usherb.ca>
- Move functions in comctl32/string.c to remove function declaration.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Use Win32 APIs for string comparison.
- Avoid printing out a possibly uninitialized variable.
Ulrich Czekalla <ulrich@codeweavers.com>
- Clear bLButtonDown flags if mouse is not down.
Martin Fuchs <martin-fuchs@gmx.net>
- Include config.h and port.h for strncasecmp() in MSVC port.

svn path=/trunk/; revision=19296
2005-11-17 19:36:54 +00:00
Hartmut Birr
41e7e24a51 Set the value/data cell to dirty, if an existing value is overwritten.
svn path=/trunk/; revision=19295
2005-11-17 17:34:22 +00:00
Hartmut Birr
d81856ce0b - Fixed the test for the dirty bitmap size.
- Fixed the length to copy the old dirty bitmap.

svn path=/trunk/; revision=19294
2005-11-17 17:29:36 +00:00
Christoph von Wittich
1f3e7f6729 sorry, forgot to change one var
svn path=/trunk/; revision=19293
2005-11-17 13:46:07 +00:00
Christoph von Wittich
5333007c97 fixed length calculation of lpDependencies
svn path=/trunk/; revision=19292
2005-11-17 13:45:02 +00:00
Christoph von Wittich
d711215962 implemented CreateServiceA
svn path=/trunk/; revision=19291
2005-11-17 13:23:37 +00:00
Hervé Poussineau
a7ac63db53 Revert part of 19289, I don't want all people to use French ReactOS...
svn path=/trunk/; revision=19290
2005-11-17 13:01:29 +00:00
Hervé Poussineau
45829a8995 - 2nd stage setup: start umpnpmgr service only after the installation of device classes
- Implement ScmrChangeServiceConfigW
- Change StartServiceW stub to return success
This fixes a race condition in device installation, which sometimes lead to a bad installation for network cards, and no network connectivity at next reboot

svn path=/trunk/; revision=19289
2005-11-17 12:49:37 +00:00
Hervé Poussineau
55e7c7de3c Second attempt to have a working keyboard and mouse at third reboot
May fix bug 1018

svn path=/trunk/; revision=19288
2005-11-17 08:29:59 +00:00
Steven Edwards
a4d50f52e7 another no-op. Remove the win32apiisms. Make compatible with both DDKs
svn path=/trunk/; revision=19287
2005-11-17 05:53:52 +00:00
Martin Fuchs
f451b823d8 - use Winefile command line for initial directory selection
- remove useless hwndParent variable

svn path=/trunk/; revision=19286
2005-11-16 23:07:37 +00:00
Steven Edwards
3984ae405d no op header change. Correct some of the header guards to match the DDK
svn path=/trunk/; revision=19285
2005-11-16 22:28:05 +00:00
Gé van Geldorp
1c04a022f2 Add a bit of defensive programming
svn path=/trunk/; revision=19283
2005-11-16 21:44:26 +00:00
Gé van Geldorp
ac2efcf7dc Give comdlg32.dll a little bit more space
svn path=/trunk/; revision=19282
2005-11-16 21:43:38 +00:00
Gé van Geldorp
db28f9ce5b Update status
svn path=/trunk/; revision=19274
2005-11-16 21:17:19 +00:00
Gé van Geldorp
25ee8edc23 Add some SEH protection (not complete yet)
svn path=/trunk/; revision=19272
2005-11-16 20:52:07 +00:00
Aleksey Bragin
76873f5ab1 Fix IoIsWdmVersionAvailable() to confirm we're compatible with Win2k (someone forgot 0x before 10) and also added brief comments on which version corresponds to what.
svn path=/trunk/; revision=19271
2005-11-16 20:38:31 +00:00
Hervé Poussineau
d3ed470945 Export _vsnwprintf
svn path=/trunk/; revision=19270
2005-11-16 17:34:50 +00:00
Gé van Geldorp
70c005e0ae StartScan is always in BOTTOM_UP sense for GetDIBits
svn path=/trunk/; revision=19269
2005-11-16 16:12:59 +00:00
Gé van Geldorp
e35611c03d Always pad scanlines to multiples of 4 bytes for DIBs
svn path=/trunk/; revision=19268
2005-11-16 16:10:57 +00:00
Gé van Geldorp
a739fc4d06 Pass correct masks when creating bitfield palette
svn path=/trunk/; revision=19267
2005-11-16 16:05:55 +00:00
Christoph von Wittich
3918f59b1b fix memory leak in case of error
svn path=/trunk/; revision=19266
2005-11-16 15:53:16 +00:00
Hervé Poussineau
cbd0e5428f Try to fix the problem some people reported (no keyboard and mouse at 3rd reboot)
svn path=/trunk/; revision=19265
2005-11-16 15:14:31 +00:00
Christoph von Wittich
57285d00b6 added UpdateDriverForPlugAndPlayDevicesA (untested)
svn path=/trunk/; revision=19264
2005-11-16 14:57:50 +00:00
Christoph von Wittich
d47a998576 fixed bug 791
svn path=/trunk/; revision=19263
2005-11-16 13:24:13 +00:00
Gé van Geldorp
93b46a1a8a Sebastian Gasiorek <zebasoftis@gmail.com>
fix for empty control panel applet
Change NUM_APPLETS (2) to NUM_APPLETS (1) because there is only one applet.
Fixes bug 965.

svn path=/trunk/; revision=19262
2005-11-16 11:24:41 +00:00
Hervé Poussineau
f90f00ecb0 - Initialise DevInst field in SP_DEVINFO_DATA. This field can be sent to CM_* functions (code still commented out in SetupDiCreateDeviceInfoListExW)
- Fix an error when setting LoadOrderGroup in registry
- Some FIXME -> ERR changes

svn path=/trunk/; revision=19261
2005-11-16 09:41:01 +00:00
Steven Edwards
207bfca509 remove windef.h inclusion. Its not needed and its non-standard
svn path=/trunk/; revision=19260
2005-11-16 05:40:35 +00:00
Steven Edwards
fd962d4f5b created crt public headers directory. Moved excpt.h there
svn path=/trunk/; revision=19259
2005-11-16 05:39:32 +00:00
Aleksey Bragin
b4454dfd76 Fix "Devices Parameters" subkey creation in a call to IoOpenDeviceRegistryKey()
svn path=/trunk/; revision=19258
2005-11-15 23:07:04 +00:00
Ged Murphy
3edc7dd1e7 Display more meaningful failure messages
svn path=/trunk/; revision=19257
2005-11-15 22:44:46 +00:00
Hervé Poussineau
5c322795a8 Hardware IDs and Compatible IDs shouldn't be case sensitive
svn path=/trunk/; revision=19256
2005-11-15 22:35:15 +00:00
Ged Murphy
b8ef8fda19 Don't display exit code for none fatal info
Display name of path we were trying to open if opening fails

svn path=/trunk/; revision=19255
2005-11-15 21:22:00 +00:00
Christoph von Wittich
6d93d59f2c add a check for SPDRP_CONFIGFLAGS which is not working yet
svn path=/trunk/; revision=19254
2005-11-15 18:56:23 +00:00
Hartmut Birr
296abe764c Fixed hivetest.
svn path=/trunk/; revision=19253
2005-11-15 18:08:07 +00:00
Hartmut Birr
4f27be0f0b Put the bitmap into the executable.
svn path=/trunk/; revision=19252
2005-11-15 17:54:00 +00:00
Hartmut Birr
9d0b4973fa Put the bitmaps into the executable.
svn path=/trunk/; revision=19251
2005-11-15 17:52:27 +00:00
Christoph von Wittich
6acde9bc12 better stub for EnumFonts (fixed license agreement in ClamWin installer)
svn path=/trunk/; revision=19250
2005-11-15 16:53:06 +00:00
Hervé Poussineau
06855e5b33 Forgot to commit this with r19248... ("Add back ACPI device, to allow auto power off of the computer")
svn path=/trunk/; revision=19249
2005-11-15 16:48:24 +00:00
Hervé Poussineau
33d79e128a Add back ACPI device, to allow auto power off of the computer
svn path=/trunk/; revision=19248
2005-11-15 16:41:49 +00:00
Hervé Poussineau
5d2d58ed0c Fix indentation
svn path=/trunk/; revision=19247
2005-11-15 16:30:14 +00:00
Hervé Poussineau
77421fd496 Try to transform the ClassGUID string to a GUID only when the string exists in registry. Otherwise, set it to GUID_NULL
svn path=/trunk/; revision=19246
2005-11-15 14:29:46 +00:00
Christoph von Wittich
4aa521a7f6 fix some MSVC compile problems
svn path=/trunk/; revision=19245
2005-11-15 14:26:06 +00:00
Steven Edwards
a6227b1c67 revert this one
svn path=/trunk/; revision=19244
2005-11-15 09:47:31 +00:00
Hervé Poussineau
ab4ca6fcf8 Support optional Class parameter in SetupOpenInfFileW
svn path=/trunk/; revision=19243
2005-11-15 08:55:31 +00:00
Hervé Poussineau
4c4a431c18 Don't try to access an optional parameter if it is NULL
svn path=/trunk/; revision=19242
2005-11-15 08:27:38 +00:00
Steven Edwards
6a1f0829e2 a few more msvc fixes
svn path=/trunk/; revision=19241
2005-11-15 06:14:31 +00:00
Steven Edwards
7adc5ae147 workarounds for msvc compile. Add precomp.h to a bunch of files, inline -> __inline, other misc changes. crt.lib now has 154 errors building on msvc vs 1800
svn path=/trunk/; revision=19240
2005-11-15 05:31:41 +00:00
Christoph von Wittich
96c802c1d3 fixed some resource leaks and 64bit issues
svn path=/trunk/; revision=19239
2005-11-15 02:25:28 +00:00
Christoph von Wittich
1a42cad0e3 fixed resource leak (DestroyMenu before destroying main window)
fixed pointer cast warning -> UlongtoPtr (thx to Alex)

svn path=/trunk/; revision=19238
2005-11-15 01:25:56 +00:00
Steven Edwards
fb818dc925 add DNS_ERROR_INVALID_NAME
svn path=/trunk/; revision=19237
2005-11-15 00:33:28 +00:00
Steven Edwards
d3a6826aa2 fix mixed case header inclusion for linux build
svn path=/trunk/; revision=19236
2005-11-15 00:10:41 +00:00
Steven Edwards
5b3baf7c14 fix all but about 8 out of 91 tests. Correct resource usage in xml, fix win32gui vs win32cui mode on most test xml
svn path=/trunk/; revision=19235
2005-11-14 23:44:15 +00:00
Steven Edwards
5fe4aeec65 commit correct xml for linking resources. Broken so Royce can review
svn path=/trunk/; revision=19234
2005-11-14 23:23:18 +00:00
Steven Edwards
a6eeb0f533 fix the old cygwin handle duping tests
svn path=/trunk/; revision=19233
2005-11-14 23:00:36 +00:00
Steven Edwards
a46e673dff added resources back to some of the gui tests
svn path=/trunk/; revision=19232
2005-11-14 22:56:42 +00:00
Christoph von Wittich
7dd39a72ed implemented some stubs needed by ClamWin
svn path=/trunk/; revision=19231
2005-11-14 22:44:36 +00:00
Alex Ionescu
68ed182332 Catch really weird scenario where we don't have a File Object on our IRP Stack. Added by Elrond.
svn path=/trunk/; revision=19230
2005-11-14 22:04:30 +00:00
Christoph von Wittich
adbd79b940 fix RtlFindMessage
fix load_message and FormatMessage by importing newer Wine code

svn path=/trunk/; revision=19229
2005-11-14 21:53:21 +00:00
Gé van Geldorp
86668cc6b3 TwoTailedFox <twotailedfox@gmailcom>:
Spelling/Grammatical/Presentation fixes

svn path=/trunk/; revision=19228
2005-11-14 18:00:47 +00:00
Hartmut Birr
69b13c4f41 Fixed a few length calculation in NtEnumerateValueKey, which has resulted in a overflow, if the given buffer was too small.
svn path=/trunk/; revision=19227
2005-11-14 17:46:00 +00:00
Hervé Poussineau
ff83cbe019 Add .inf file for Realtek netcards (8029 compatibles)
Remove NE2000 compatible card in Root bus, as QEMU enumerates it as PCI
Add .inf file for Xbox display card

svn path=/trunk/; revision=19226
2005-11-14 17:33:38 +00:00
Gé van Geldorp
cfe927d8be Only debug 1 thread at a time
svn path=/trunk/; revision=19225
2005-11-14 16:36:26 +00:00
Hervé Poussineau
abfe5c5390 Set SystemSetupInProgress to 0 at the end of second stage setup
Remove dead code

svn path=/trunk/; revision=19224
2005-11-14 15:35:41 +00:00
Filip Navara
92c165e46d Add definition for vsprintfW.
svn path=/trunk/; revision=19223
2005-11-14 13:45:28 +00:00
James Tabor
0beb028660 Add devmgr.xml for testing.
svn path=/trunk/; revision=19220
2005-11-14 03:51:31 +00:00
James Tabor
3f4c411061 Fix xml name conflict.
svn path=/trunk/; revision=19219
2005-11-14 02:16:04 +00:00
James Tabor
168b9c5b2a Fix xml name conflict.
svn path=/trunk/; revision=19218
2005-11-14 02:14:23 +00:00
James Tabor
e40ccd5933 Fix xml name conflict.
svn path=/trunk/; revision=19217
2005-11-14 01:30:50 +00:00
James Tabor
3d306f5baa Fix xml name conflict.
svn path=/trunk/; revision=19216
2005-11-14 01:23:44 +00:00
Christoph von Wittich
9a90dd7fde fixed some memory leaks
svn path=/trunk/; revision=19215
2005-11-13 23:21:38 +00:00
Christoph von Wittich
2aa1842c68 added missing advapi32.lib to fix build with msvc
svn path=/trunk/; revision=19214
2005-11-13 23:05:41 +00:00
Christoph von Wittich
1bd2bae415 export EnumServicesStatusExA/EnumServicesStatusExW stubs needed by msconfig
svn path=/trunk/; revision=19213
2005-11-13 23:03:06 +00:00
Christoph von Wittich
5169455416 did some work on msconfig
svn path=/trunk/; revision=19212
2005-11-13 20:58:29 +00:00
Ged Murphy
89fded3555 use neater tray arrows from Dominik (dominik@newmatic.de)
svn path=/trunk/; revision=19211
2005-11-13 19:05:01 +00:00
Hartmut Birr
a3a691913f Set the boot processor as active processor in KeInit1.
svn path=/trunk/; revision=19210
2005-11-13 17:33:54 +00:00
Hartmut Birr
80cd960aeb Shutdown the process manager before shutdown the registry.
Running processes may have opened a registry handle.

svn path=/trunk/; revision=19209
2005-11-13 17:32:01 +00:00
Hartmut Birr
2fa81ffdfd - Removed the process from the parameter list of MmCreateMemoryArea.
- Changed the 9th parameter of MmCreateMemoryArea to allocation flags.  
- Implemented SEC_NO_CHANGE.

svn path=/trunk/; revision=19208
2005-11-13 17:28:24 +00:00
Eric Kohl
1be846c026 ScmrControlService: Check access rights.
svn path=/trunk/; revision=19207
2005-11-13 14:15:08 +00:00
Thomas Bluemel
577f6f4aa6 fixed unrecognized escape character sequence warning
svn path=/trunk/; revision=19206
2005-11-13 11:29:17 +00:00
Hervé Poussineau
c853cee9e8 Fix typo: Install pci.sys for PCI buses, and isapnp.sys for ISA bus
svn path=/trunk/; revision=19205
2005-11-13 09:39:51 +00:00
Martin Fuchs
6bea768ef7 some little german translation fixes
svn path=/trunk/; revision=19204
2005-11-13 09:05:28 +00:00
Alex Ionescu
e339e62f5a - Unconditionally support XBOX in Freeldr.
svn path=/trunk/; revision=19203
2005-11-13 08:34:24 +00:00
Filip Navara
0cd1d327a2 Fix the clipping checks in TuiFillArea.
svn path=/trunk/; revision=19202
2005-11-13 08:24:15 +00:00
Gé van Geldorp
7e9d2d769e Spelling fixes. Thanks to Royce for pointing them out.
svn path=/trunk/; revision=19200
2005-11-13 08:19:54 +00:00
Steven Edwards
db470c2cf8 add information for the Windows Installer Service. This allows Office2000 and OfficeXP setup to get slightly further
svn path=/trunk/; revision=19198
2005-11-13 07:41:32 +00:00
James Tabor
2a752cf4a1 Fix unix paths.
svn path=/trunk/; revision=19197
2005-11-13 06:57:29 +00:00
Alex Ionescu
d451a511e9 - Add new configuration option "SARCH" to define the sub-architecture. Examples include i386-xbox, ppc-be/le (little/bigendian), or any other sub-types of the specified ARCH.
- Use SARCH option to isolate XBOX architecture code in freeldr. 
- Only build rs232.c if DEBUG is on, because the code is only used in DEBUG mode.

svn path=/trunk/; revision=19196
2005-11-13 06:34:51 +00:00
Alex Ionescu
2ecabb093f - Remove duplicate PCH entry, it'll inherit freeldr's.
svn path=/trunk/; revision=19195
2005-11-13 06:13:20 +00:00
Alex Ionescu
543d63dcc0 - Fix a bug in printf.
svn path=/trunk/; revision=19194
2005-11-13 06:11:38 +00:00
Alex Ionescu
91bc76c72e - Fix setupldr. Thanks to Steven.
svn path=/trunk/; revision=19193
2005-11-13 06:09:37 +00:00
Alex Ionescu
df5138e0a0 - Remove duplicated code in "rtl" and use libstring and librtl instead (their code is safe for freeldr).
- Fix a PCH bug.

svn path=/trunk/; revision=19192
2005-11-13 06:05:06 +00:00
Alex Ionescu
2e2179a2fe - Remove some header duplication.
svn path=/trunk/; revision=19191
2005-11-13 05:17:17 +00:00
Alex Ionescu
527ce70dc2 - PCHify freeldr and cleanup some headers (just a start).
Freeldr now compiles about 2-4 times faster.

svn path=/trunk/; revision=19190
2005-11-13 04:50:55 +00:00
Steven Edwards
2fda11708c Pablo Borobia - Spanish Translation
svn path=/trunk/; revision=19189
2005-11-13 04:34:41 +00:00
Steven Edwards
358d2bb5e2 propset svn:eol-style 'native'
svn path=/trunk/; revision=19188
2005-11-13 04:29:53 +00:00
Hartmut Birr
4cff81907a Fixed the growing of the dirty bitmap. This will fix the registry update bugs, if the binary hive is larger than 128kB.
svn path=/trunk/; revision=19187
2005-11-12 23:45:32 +00:00
Hervé Poussineau
bcd8352715 Try to open driver registry key before creating it.
Fixes bug 977

svn path=/trunk/; revision=19186
2005-11-12 21:11:09 +00:00
Alex Ionescu
035f7342cb - Small msvc compatiblity change.
svn path=/trunk/; revision=19185
2005-11-12 20:28:32 +00:00
Hervé Poussineau
e357028fa5 assert -> ASSERT
Initialize error_line in all cases (Merge from Wine)

svn path=/trunk/; revision=19184
2005-11-12 20:18:29 +00:00
Hervé Poussineau
50e25b573a (Merge from Wine) YunSong Hwang <hys545@dreamwiz.com>
Add Korean translations.

svn path=/trunk/; revision=19183
2005-11-12 20:15:20 +00:00
Magnus Olsen
d6d6296399 Commit the patch for ibm code pages
svn path=/trunk/; revision=19182
2005-11-12 19:24:08 +00:00
Magnus Olsen
5af89de586 adding ibmcp861.txt the patch for create it will follow in next commit
svn path=/trunk/; revision=19181
2005-11-12 19:17:21 +00:00
Gé van Geldorp
6ca1eabd30 Add some more shutdown messages
svn path=/trunk/; revision=19180
2005-11-12 19:15:37 +00:00
Gé van Geldorp
65ad7a2cbb Filip correctly pointed out that my change 18782 was only a workaround and
that the real fix would be to have services.exe correctly start auto-load
drivers. This should do the trick.

svn path=/trunk/; revision=19179
2005-11-12 18:54:45 +00:00
Gé van Geldorp
acb521d8c0 Silence debug message
svn path=/trunk/; revision=19178
2005-11-12 18:40:53 +00:00
Gé van Geldorp
5b196837de Set time field in timer messages too
svn path=/trunk/; revision=19177
2005-11-12 18:13:20 +00:00
Magnus Olsen
9d7168ff94 Fix the break did add right code page for ja.rc but I need add it to all file, so i remvoe it for now.
svn path=/trunk/; revision=19176
2005-11-12 16:04:31 +00:00
Magnus Olsen
3704b141c0 You can now open one of these language's file in visual studio and edit it directly
svn path=/trunk/; revision=19175
2005-11-12 10:37:47 +00:00
Magnus Olsen
f411eaabf8 fix the ja.rc be vs compatible
svn path=/trunk/; revision=19174
2005-11-12 10:31:25 +00:00
Gé van Geldorp
027b224db3 Set mouse position in timer messages
svn path=/trunk/; revision=19173
2005-11-12 09:52:06 +00:00
Hervé Poussineau
21f6f8853b Move the initialization of USB keyboard and mouse to DriverEntry, to prevent some (not all!) race conditions with the loading of kbd/mouclass.
It is still not satisfying (they are not real USB drivers), but that's better...

svn path=/trunk/; revision=19172
2005-11-12 09:27:52 +00:00
Steven Edwards
df6851867e fix most of the rest of the tests, disable the rest till tomorrow
svn path=/trunk/; revision=19171
2005-11-12 08:40:47 +00:00
Steven Edwards
fcad5d2773 build fixes
svn path=/trunk/; revision=19170
2005-11-12 06:37:36 +00:00
Alex Ionescu
61f6a69b0e - Add RtlPinAtomInAtomTable
svn path=/trunk/; revision=19169
2005-11-12 05:51:44 +00:00
Steven Edwards
b14fb42e35 fixed most of the tests to process in rbuild. will fix linking in a bit
svn path=/trunk/; revision=19168
2005-11-12 04:27:10 +00:00
Steven Edwards
bdbfab222d adjust the rest of the old test makefiles. 80% done porting to rbuild.
svn path=/trunk/; revision=19167
2005-11-12 03:53:21 +00:00
Gunnar Dalsnes
e2d06de0a7 merge with wine (by hand!). fixes two failing kernel32 profile winetests. now all pass
svn path=/trunk/; revision=19166
2005-11-12 01:11:28 +00:00
Ged Murphy
6e0eccd2f3 - build as unicode
- use a _tmain hack w3seek put together

svn path=/trunk/; revision=19165
2005-11-12 00:26:21 +00:00
Magnus Olsen
a9c4dac3c8 fixed last part of bug 910 change Windows/ to ReactOS
svn path=/trunk/; revision=19164
2005-11-12 00:24:16 +00:00
Magnus Olsen
2b9415c584 fixed last part of bug 910 change Windows/ to ReactOS
svn path=/trunk/; revision=19163
2005-11-12 00:19:03 +00:00
Magnus Olsen
2ac7aa08b1 fixed part of bug 910 change Windows/Wine to ReactOS like resting ReactOS
svn path=/trunk/; revision=19162
2005-11-12 00:12:35 +00:00
Magnus Olsen
36797cd1bd fixed part of bug 910 change to ReactOS
some need check the ja.rc if it right after this

svn path=/trunk/; revision=19161
2005-11-11 23:59:42 +00:00
Hervé Poussineau
3bfbd7133d Stream all keyboard port events to the same keyboard class
svn path=/trunk/; revision=19160
2005-11-11 23:45:56 +00:00
Christoph von Wittich
66233f297c add some more info for services in msconfig (if req, vendor)
svn path=/trunk/; revision=19159
2005-11-11 23:33:07 +00:00
Steven Edwards
cb36848d0d fix a few more makefiles
svn path=/trunk/; revision=19158
2005-11-11 23:26:19 +00:00
Brandon Turner
99d74ca9aa add devmgr.exe to the bootcd
svn path=/trunk/; revision=19157
2005-11-11 23:01:05 +00:00
Steven Edwards
28b8fed689 fix up some of the makefiles, change the install directory of the tests
svn path=/trunk/; revision=19156
2005-11-11 22:56:41 +00:00
Hervé Poussineau
ac4176016e Fix adding of the tag when the group order list already exists
svn path=/trunk/; revision=19155
2005-11-11 22:34:01 +00:00
Ged Murphy
c16594ec20 - Add sc.exe to the bootcd
- Add some descriptive data to tcpsvcs reg entry

svn path=/trunk/; revision=19154
2005-11-11 22:31:50 +00:00
Steven Edwards
05e9c14dff add all of the new xml makefiles to the directory.xml thereby breaking rosapps for a bit. Move some stuff around to avoid naming conflicts.
svn path=/trunk/; revision=19153
2005-11-11 22:25:19 +00:00
Maarten Bosma
f4edbfcb76 I hope that this fixes all DDERR_SURFACELOST problems.
svn path=/trunk/; revision=19152
2005-11-11 21:59:28 +00:00
Ged Murphy
50d1415ee4 -Start to convert tcpsvcs to a proper NT service. Supports starting and stopping via sc.exe (in windows, not working in ROS yet)
- use select to make accept non-blocking
- Log all data to a log file in system32. This needs converting to the event logger at some time.
- Add more error checking
-A few bugs to iron out yet

svn path=/trunk/; revision=19151
2005-11-11 21:50:33 +00:00
Gé van Geldorp
b4b9ed3504 The GroupOrder registry value should start with a ULONG containing the number
of entries following it.

svn path=/trunk/; revision=19150
2005-11-11 21:39:57 +00:00
Steven Edwards
0303a440e3 add window selection and picking utils from cxtest for Art's regression tests
svn path=/trunk/; revision=19149
2005-11-11 21:30:55 +00:00
Steven Edwards
b02a62a257 added xml makefiles for each test based on the alphablend makefile. These all need to be corrected and enabled.
svn path=/trunk/; revision=19148
2005-11-11 21:12:13 +00:00
Steven Edwards
7f094d6640 remove old makefiles from rosapps tests
svn path=/trunk/; revision=19147
2005-11-11 20:47:08 +00:00
Hervé Poussineau
bb47741504 Fix wrong test when checking arguments in SetupDiGetDriverInfoDetailW.
It was at least preventing install of display drivers

svn path=/trunk/; revision=19146
2005-11-11 20:15:21 +00:00
Magnus Olsen
92d8d2d3d7 Add opitopn do not isntall bootloarder as Bug: 961 suggest to make it easy for other people that do not want install freeldr.
svn path=/trunk/; revision=19145
2005-11-11 20:07:05 +00:00
Thomas Bluemel
183b5a5b51 fixed some more warnings when compiled with -Wwrite-strings
svn path=/trunk/; revision=19144
2005-11-11 19:59:38 +00:00
Magnus Olsen
98fff798f8 Greek translation by Apal (Apostolos Alexiadis grad0621@di.uoa.gr) Bug 967
svn path=/trunk/; revision=19143
2005-11-11 19:31:53 +00:00
Casper Hornstrup
5f879a3c8c Display reason for failure
svn path=/trunk/; revision=19142
2005-11-11 19:07:27 +00:00
Ged Murphy
c21c2f8cb0 delete old version of sc.exe
svn path=/trunk/; revision=19141
2005-11-11 18:46:59 +00:00
Magnus Olsen
d1278478f2 sorry did break the build
svn path=/trunk/; revision=19140
2005-11-11 18:46:32 +00:00
Ged Murphy
ac6e33dbfd add sc.exe to the build
svn path=/trunk/; revision=19139
2005-11-11 18:39:39 +00:00
Magnus Olsen
d5668d1d96 Make notepad lang rc MSVC compatible
svn path=/trunk/; revision=19138
2005-11-11 18:33:29 +00:00
Thomas Bluemel
a450d55fa6 fixed warnings when compiled with -Wwrite-strings
svn path=/trunk/; revision=19137
2005-11-11 18:22:07 +00:00
Hervé Poussineau
56d8a5b253 Fix device installation in second stage setup
svn path=/trunk/; revision=19136
2005-11-11 18:19:12 +00:00
Thomas Bluemel
3a4e051af1 fixed warnings when compiled with -Wwrite-strings
svn path=/trunk/; revision=19135
2005-11-11 18:11:17 +00:00
Ged Murphy
b260dcdb81 don't try and display data if iphlpapi functions fail
svn path=/trunk/; revision=19134
2005-11-11 18:09:46 +00:00
Ged Murphy
9b19555655 functionality for sc query and queryex
supports sc query <service>
         sc query type= <...>
         sc query state <...>
output as per MS utility
added usage information for query functionality

svn path=/trunk/; revision=19133
2005-11-11 17:28:13 +00:00
Thomas Bluemel
c1d7caca61 fixed warnings when compiled with -Wwrite-strings
svn path=/trunk/; revision=19132
2005-11-11 16:18:46 +00:00
Thomas Bluemel
bda881de13 fixed warnings when compiled with -Wwrite-strings
svn path=/trunk/; revision=19131
2005-11-11 16:11:13 +00:00
Thomas Bluemel
cda9f22a27 replace offsetof with FIELD_OFFSET
svn path=/trunk/; revision=19130
2005-11-11 11:59:56 +00:00
Steven Edwards
0a977ed9f1 msvc fixes
svn path=/trunk/; revision=19129
2005-11-11 08:58:05 +00:00
Christoph von Wittich
dded32cc5e list services with EnumServicesStatusEx instead of reading them from registry
svn path=/trunk/; revision=19128
2005-11-11 01:05:23 +00:00
Christoph von Wittich
9178408ba6 set eol-style:native
svn path=/trunk/; revision=19127
2005-11-10 23:02:14 +00:00
Christoph von Wittich
12c0917529 list services
svn path=/trunk/; revision=19126
2005-11-10 22:46:41 +00:00
Ged Murphy
700e92d770 Display a media disconnected notice if the adapter is not connected.
svn path=/trunk/; revision=19125
2005-11-10 21:29:00 +00:00
Christoph von Wittich
f78304d996 started implementing startup page
svn path=/trunk/; revision=19124
2005-11-10 20:56:49 +00:00
Casper Hornstrup
473f2dbaf6 Build win32k_test
svn path=/trunk/; revision=19123
2005-11-10 20:33:10 +00:00
Steven Edwards
d74036e594 restore wine style license headers...superfolus chanes make doing a diff impossible
svn path=/trunk/; revision=19122
2005-11-10 17:43:55 +00:00
Thomas Bluemel
6f8816065e mark several helper functions as static
svn path=/trunk/; revision=19120
2005-11-10 14:12:53 +00:00
Thomas Bluemel
33268a81ff fixed some warnings
svn path=/trunk/; revision=19119
2005-11-10 14:02:20 +00:00
Christoph von Wittich
1f024441f0 remove SetupIsActive function
svn path=/trunk/; revision=19118
2005-11-10 13:37:56 +00:00
Christoph von Wittich
e4c507c2f5 set SystemSetupInProgress to 0x00000001
svn path=/trunk/; revision=19117
2005-11-10 13:27:12 +00:00
Christoph von Wittich
7d1c007799 fixed typo. DevInstallW with SW_HIDE should work now
svn path=/trunk/; revision=19116
2005-11-10 11:45:50 +00:00
Hervé Poussineau
545848ca1c Fix uninitialized variable
svn path=/trunk/; revision=19115
2005-11-10 08:47:43 +00:00
Hervé Poussineau
50b07becb6 Send SW_HIDE instead of SW_SHOWNOACTIVATE to newdev.dll when 2nd stage setup is running
svn path=/trunk/; revision=19114
2005-11-10 08:37:40 +00:00
Art Yerkes
b8b9eec630 Straggling header.
svn path=/trunk/; revision=19113
2005-11-10 06:58:40 +00:00
Art Yerkes
e0873ce19d Forgotten xml change.
svn path=/trunk/; revision=19112
2005-11-10 06:54:44 +00:00
Art Yerkes
bd2ba3b54e Added xml to build dhcpcapi.
svn path=/trunk/; revision=19111
2005-11-10 06:13:12 +00:00
Art Yerkes
9fc73bcf41 Preliminary commit for tcpip control panel. I've been sitting on this
for a while, mainly because it used to bugcheck in a named pipe call.
I've lost my modifications to dhcpcapi, so stuff in there might not
be right.  Looking at it.

svn path=/trunk/; revision=19110
2005-11-10 06:12:27 +00:00
Gé van Geldorp
381dcf3a8c We need to call HalReleaseDisplayOwnership before killing all running processes.
During HalReleaseDisplayOwnership processing, the video miniport driver can
do an INT10 call, for which we need the CSRSS memory space. If the the process
(and therefore its memory space) is already gone, a kernel stack fault can
result.

svn path=/trunk/; revision=19109
2005-11-09 23:23:12 +00:00
Christoph von Wittich
dcd31dc02d set SystemSetupInProgress to 0 in syssetup instead of in setup (before rebooting the system)
svn path=/trunk/; revision=19108
2005-11-09 23:17:13 +00:00
Christoph von Wittich
5f45f14faf set SystemSetupInProgress to 1 when 2nd stage setup is running
compile setup as UNICODE

svn path=/trunk/; revision=19107
2005-11-09 22:50:47 +00:00
Hervé Poussineau
259f79e3d8 Fix string returned by IopGetParentIdPrefix, which was sometimes badly initialized
svn path=/trunk/; revision=19106
2005-11-09 21:18:08 +00:00
Gé van Geldorp
e7bbce753f Silence debug message
svn path=/trunk/; revision=19105
2005-11-09 21:00:03 +00:00
Ged Murphy
4b27b1a206 quick fix to show more than one adapter
code still needs work to get it as per MS ipconfig, but this should keep people with more than one adapter happy until I get time to implement everything properly.

svn path=/trunk/; revision=19104
2005-11-09 20:42:04 +00:00
Thomas Bluemel
970e0f7ac4 fixed uninitialized variable warnings
svn path=/trunk/; revision=19103
2005-11-09 18:39:33 +00:00
Christoph von Wittich
2b1eb3ce49 display correct device name after successful driver installation
svn path=/trunk/; revision=19102
2005-11-09 13:00:38 +00:00
Hervé Poussineau
7091f1a9cb Remove registry parameters for mouclass, as one is the default value and the other prevents the use of multiple mice
svn path=/trunk/; revision=19101
2005-11-09 11:59:45 +00:00
Hervé Poussineau
3f348259c3 New serial mouse driver, which is PnP compliant
svn path=/trunk/; revision=19100
2005-11-09 11:57:58 +00:00
Hervé Poussineau
9bfa51a8fc Delete old legacy serial mouse driver, will be replaced by a PnP driver in next commit
svn path=/trunk/; revision=19099
2005-11-09 11:54:53 +00:00
Hervé Poussineau
9fcc9fe902 - Fix typo, which was preventing to install PCI to PCI bridges
- Remove double identifier
- Sort entries in alphabetical order

svn path=/trunk/; revision=19098
2005-11-09 11:52:26 +00:00
Hervé Poussineau
3d6228e8cb - Try to copy .inf file to ReactOS\Inf only if it is in another directory
- Better SetupInstallServicesFromInfSectionExW, which takes care of flags and can update configuration of an existing service

svn path=/trunk/; revision=19097
2005-11-09 11:23:19 +00:00
Hervé Poussineau
4d7ef5eee5 - Fix header usage
- Remove spaces at the end of the lines
- Put { in a new line, according to http://www.reactos.org/wiki/index.php/Coding_Style
- Add static keyword when possible
- STDCALL -> WINAPI

svn path=/trunk/; revision=19096
2005-11-09 11:20:53 +00:00
Hervé Poussineau
e903b5542d - Add registry entry in HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP for each mouse class DO
- Don't search for legacy port drivers in DriverEntry, but in first AddDevice

svn path=/trunk/; revision=19095
2005-11-09 11:16:43 +00:00
Hervé Poussineau
c8a200b0f6 - Add registry entry in HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP for each keyboard class DO
- Don't search for legacy port drivers in DriverEntry, but in first AddDevice
- Don't dereference non-referenced objects

svn path=/trunk/; revision=19094
2005-11-09 11:15:42 +00:00
Hervé Poussineau
1eb04e9c78 STDCALL -> NTAPI
svn path=/trunk/; revision=19093
2005-11-09 11:13:02 +00:00
Hervé Poussineau
dc3bd90918 - pciidex: Fix Hardware IDs returned for channel PDOs
- pciidex: Better test to see if the PCI controller is in compatible or native mode before getting channel resources
- pciidex: Change IDE_DRIVE_IDENTIFY structure to IDENTIFY_DATA structure
- pciide: Implement PciIdeUseDma
- pciide: Tell that channel state is unknown instead of enabled

svn path=/trunk/; revision=19092
2005-11-09 11:10:24 +00:00
Alex Ionescu
a1713a521f - Fix error spotted by winetest: some status codes need to be normalized in CreateNamedPipeW
- Fix some bugs in CreatePipe: use correct directory, use right access mask, use correct define name for blocking type, and use correct file sharing flags.
Results of "kernel32_winetest pipe": 418 tests executed, 0 todo, 0 failures. (with NT NPFS, of course).

svn path=/trunk/; revision=19089
2005-11-09 04:53:32 +00:00
Alex Ionescu
2300542dbc - Fix PeekNamedPipe. Now only 14 winetests fail for pipetest.
- Cleanup DisconnectNamedPipe and fix a small bug in it.

svn path=/trunk/; revision=19088
2005-11-09 04:32:44 +00:00
Alex Ionescu
85f0828a18 - Fixed two really nasty bugs in I/O completion:
- The user buffer wasn't written for incomplete I/O (warning levels) for METHOD_BUFFERED
  - Incomplete I/Os (warning levels) took a completely wrong path for completion.

svn path=/trunk/; revision=19087
2005-11-09 04:29:46 +00:00
Alex Ionescu
a6e23ab5cf - Unbreak build
- Fix CallNamedPipeW, the pipe mode should also be set to PIPE_WAIT.

svn path=/trunk/; revision=19086
2005-11-09 03:02:33 +00:00
Alex Ionescu
4cafc71bd8 - Optimize CallNamedPipeA too and remove accidental define.
svn path=/trunk/; revision=19085
2005-11-09 02:53:58 +00:00
Alex Ionescu
b8fa73dc20 Ansi->Unicode conversions:
- Take advantage of TEB in CreateNamedPipeA
- Use helper function in WaitNamedPipeA

svn path=/trunk/; revision=19084
2005-11-09 02:50:54 +00:00
Alex Ionescu
965f1e365b - Fix bugs in RtlSplay
svn path=/trunk/; revision=19083
2005-11-09 02:17:18 +00:00
Alex Ionescu
c986d35c0a - Implement most of RtlDelete.
svn path=/trunk/; revision=19082
2005-11-09 02:16:03 +00:00
Alex Ionescu
aa2893a132 - Implement RtlRealPrecessdor and RtlRealSuccessor
svn path=/trunk/; revision=19081
2005-11-09 01:39:39 +00:00
Alex Ionescu
767d56a1d3 - Fix RtlSubtreePredecessor/Successor, someone had implemented them backwards.
svn path=/trunk/; revision=19080
2005-11-09 01:05:00 +00:00
Thomas Bluemel
b3259fa7d8 fixed data size calculation in RtlSelfRelativeToAbsoluteSD2
svn path=/trunk/; revision=19079
2005-11-09 00:56:41 +00:00
Alex Ionescu
d460662204 - Fix CreateNamedPipeW to convert some NT flags properly, timeouts, etc, and document/prettify the function.
- NT 5.2 NPFS now works great, the kernel32_wintest pipe runs without crashing, and reports "411 tests passed, 30 failures".

svn path=/trunk/; revision=19078
2005-11-09 00:44:37 +00:00
Alex Ionescu
b11939ad43 - Finish implementing RtlSplayTree
svn path=/trunk/; revision=19077
2005-11-08 23:51:46 +00:00
Alex Ionescu
ccc0e39909 - Implement cases 2 & 4 of RtlSplayTree
svn path=/trunk/; revision=19076
2005-11-08 23:47:25 +00:00
Alex Ionescu
91bbe0cc1f - Fix bug in case 2/4 denomination.
svn path=/trunk/; revision=19075
2005-11-08 23:42:40 +00:00
Alex Ionescu
98858edeba - Implement Case 3 of RtlSplay
svn path=/trunk/; revision=19074
2005-11-08 23:40:37 +00:00
Alex Ionescu
5c276df415 - Implement Case 1 of RtlSplay
svn path=/trunk/; revision=19073
2005-11-08 23:33:07 +00:00
Alex Ionescu
3d244e2b37 - Implement RtlSplay skeleton cases.
svn path=/trunk/; revision=19072
2005-11-08 22:54:39 +00:00
Alex Ionescu
bc90bf5915 - Add implementation notes for RtlSplayTree
svn path=/trunk/; revision=19071
2005-11-08 22:45:45 +00:00
Christoph von Wittich
775e2dbd07 started implementation of device driver installation wizard
svn path=/trunk/; revision=19070
2005-11-08 22:25:29 +00:00
Gé van Geldorp
4a0e4dc0f4 Allocate mem for the structure, not only for a pointer.
svn path=/trunk/; revision=19068
2005-11-08 21:49:27 +00:00
Alex Ionescu
7bccddff96 - Implement proper version of WaitNamedPipeW to be used when NPFS will be modified to work as documented. Define USING_PROPER_NPFS_WAIT_SEMANTICS if you want to use Windows NPFS
svn path=/trunk/; revision=19067
2005-11-08 21:07:11 +00:00
Eric Kohl
eb9906dcc2 Add Tonga timezone (GMT+13:00).
svn path=/trunk/; revision=19066
2005-11-08 20:57:31 +00:00
Alex Ionescu
4e84f04716 - Add some definitions to NDK
- Prettify/document CreatePipe and correct some mistakes, use 120 second timeout like on NT and send FILE_PIPE flags instead of weird BOOLEAN values from hell.

svn path=/trunk/; revision=19065
2005-11-08 20:53:53 +00:00
Alex Ionescu
7f3dd627ae - Remove silly debug print
svn path=/trunk/; revision=19064
2005-11-08 20:50:04 +00:00
Brandon Turner
ce2e54856f Change KEBUGCHECK -> KEBUGCHECKEX
svn path=/trunk/; revision=19063
2005-11-08 20:07:41 +00:00
Gé van Geldorp
61adf0cbb8 Add Language entries for all Locale entries. Fixes bug 955.
svn path=/trunk/; revision=19062
2005-11-08 19:43:54 +00:00
Alex Ionescu
99e460ecbb - Fix hackplementation of ObLogSecurityDescriptor. Callers are supposed to free their input, so we can't re-use it; instead, allocate a new copy like we should.
svn path=/trunk/; revision=19061
2005-11-08 18:54:18 +00:00
Alex Ionescu
402f8f2ea5 - Remove unimplemented macro in SeOpenObjectAuditAlarm and replace it with a DPRINT1; that way callers won't freeze while calling it.
svn path=/trunk/; revision=19060
2005-11-08 17:22:26 +00:00
Hervé Poussineau
1974f400e3 When a driver is a legacy driver, call its AddDevice function with a NULL Pdo
svn path=/trunk/; revision=19059
2005-11-08 17:20:58 +00:00
Alex Ionescu
f2ff67ecde - Don't loop indefintely in RtlFindUnicodePrefix if the splaylinks have changed inside the loop.
svn path=/trunk/; revision=19058
2005-11-08 17:14:19 +00:00
Alex Ionescu
d68f0cbd56 - Hackplement ObLogSecurityDescriptor for W2K3 drivers to be happy.
svn path=/trunk/; revision=19057
2005-11-08 17:07:57 +00:00
Alex Ionescu
db3f6ecb75 - Send a hacked access state to FS Drivers, they can depend on one. For now use one with full FILE_ALL_ACCESS privileges.
svn path=/trunk/; revision=19056
2005-11-08 16:59:41 +00:00
Alex Ionescu
824fc6410b - Fix function signature of CompareUnicodeStrings
- Add special case where we get a prefix itself and a name starting with a prefix character.
- Implement RtlInitializeGenericTable
This fixes the windows npfs.sys hang.

svn path=/trunk/; revision=19055
2005-11-08 16:41:58 +00:00
Hervé Poussineau
a485607cfc Patch by Filip Navara/Hervé Poussineau:
- Simplify device number allocation
- Check the case of a NULL Pdo if we're called by a legacy driver

svn path=/trunk/; revision=19054
2005-11-08 16:24:58 +00:00
Alex Ionescu
1608efe156 - Update KTHREAD and KUSER_SHARED_DATA to latest versions. This should make 2K3 drivers (eg: npfs.sys) work with their inlined KeEnterCriticalRegion/KeLeaveCriticalRegion and ASSERTS.
- Update KAPC and DISPATCHER_HEADER to latest DDK definitions.

svn path=/trunk/; revision=19053
2005-11-08 08:56:41 +00:00
Alex Ionescu
ac2e8c3bcd - Fix a bug spotted in RtlInsertUnicodePrefix's loop.
svn path=/trunk/; revision=19052
2005-11-08 00:21:29 +00:00
Alex Ionescu
d2a199261e - Finish implementing RtlFindUnicodePrefix. The Windows NPFS driver should load now (unless it needs other APIs..)
svn path=/trunk/; revision=19051
2005-11-08 00:19:01 +00:00
Alex Ionescu
e2fb011447 - Start implementing RtlFindUnicodePrefix
- Add case-insensitive compare to CompareUnicodeStrings

svn path=/trunk/; revision=19050
2005-11-07 23:52:26 +00:00
Thomas Bluemel
c7e90a00b9 Fixed some of the splay tree macros. Actually some are even wrong in the DDK, but it's necessary to make compilers happy that stick to the standards more closely
svn path=/trunk/; revision=19049
2005-11-07 23:09:53 +00:00
Alex Ionescu
e57c6af315 - Oops.. fix a bug in RtlRemoveUnicodePrefix: edit the parent, not the entry itself.
svn path=/trunk/; revision=19047
2005-11-07 22:07:08 +00:00
Alex Ionescu
9810da1c6a - Finished implementing RtlInsertUnicodePrefix: handle greater and less than insertions.
svn path=/trunk/; revision=19046
2005-11-07 22:05:46 +00:00
Alex Ionescu
de2ccc1c51 - Implement more of RtlInsertUnicodePrefix: handle case where tree was found, and a match in the tree was found (handle case-sensitive and case-insensitve match).
- Partially umplement CompareUnicodeStrings to scan the two strings (Can't use RtlCompareUnicodeString because we want control over how many chars to case-compare.

svn path=/trunk/; revision=19045
2005-11-07 21:57:50 +00:00
Alex Ionescu
214e15e351 - Correct which entry was being modified.
svn path=/trunk/; revision=19044
2005-11-07 21:17:49 +00:00
Ged Murphy
9009aaf27c Should have checked it built OK with mingw first.
svn path=/trunk/; revision=19043
2005-11-07 21:16:30 +00:00
Ged Murphy
dedb760816 Add information letting us know creation deletion of services has worked.
comment out testing debug info.

svn path=/trunk/; revision=19042
2005-11-07 21:14:03 +00:00
Magnus Olsen
9508072c73 Fixed bug 954 rbuild devcpp generates mixed slashes and backslashes in some pathnames in the file makefile.auto
svn path=/trunk/; revision=19041
2005-11-07 20:32:17 +00:00
Alex Ionescu
03ff526652 - Implement simple case of RtlInsertUnicodePrefix where a new node entry needs to be created.
svn path=/trunk/; revision=19040
2005-11-07 19:31:15 +00:00
Alex Ionescu
be502089da - Finish implementation of RtlRemoveUnicodePrefix
svn path=/trunk/; revision=19039
2005-11-07 19:14:38 +00:00
Magnus Olsen
7d704a96c0 change En.rc to defualt take care of code page error at lest for swedish
svn path=/trunk/; revision=19038
2005-11-07 17:35:10 +00:00
Hervé Poussineau
aa57b3e940 Lots of DPRINT1 -> DPRINT changes
Adjust the image path in ScmrCreateServiceW (just enough for my needs)

svn path=/trunk/; revision=19037
2005-11-07 10:53:52 +00:00
Hervé Poussineau
301aa7523d Better stub for QueryServiceConfigW
svn path=/trunk/; revision=19036
2005-11-07 10:04:41 +00:00
Alex Ionescu
e42173c8fd - Implement PFX_NTC_ROOT/PFX_NTC_CHILD deletions in RtlRemoveUnicodePrefix, if the entry isn't a case match.
svn path=/trunk/; revision=19035
2005-11-07 04:42:28 +00:00
Alex Ionescu
d42436c44a - Implement PFX_NTC_CASE_MATCH deletions in RtlRemoveUnicodePrefix
svn path=/trunk/; revision=19034
2005-11-07 04:23:28 +00:00
Alex Ionescu
ac26f7ca11 - Implement RtlInitializeUnicodePrefix and RtlNextUnicodePrefix. The UnicodePrefix package is needed by MUP and NPFS drivers.
- Add some of the splay tree functions/macros to the NDK.

svn path=/trunk/; revision=19033
2005-11-07 01:01:29 +00:00
Hervé Poussineau
b4fc288d14 Add missing files to revision 19031
svn path=/trunk/; revision=19032
2005-11-06 23:32:41 +00:00
Hervé Poussineau
0eb25cf769 - Fix header mess by using a common header setupapi_private.h
- Move some structure definitions from devinst.c to setupapi_private.h

svn path=/trunk/; revision=19031
2005-11-06 23:23:45 +00:00
Eric Kohl
a7bb0605ae - Read a services optional display name from the registry.
- Fix return size bugs in GetServiceDisplayNameW and GetServiceKeyNameW.

svn path=/trunk/; revision=19030
2005-11-06 18:21:00 +00:00
Brandon Turner
316bd9523e make the output visually pleasing.
svn path=/trunk/; revision=19029
2005-11-06 17:58:08 +00:00
Brandon Turner
d6e1554b68 %foo% where foo is not a envir var should be returned as %foo% not as "".
svn path=/trunk/; revision=19028
2005-11-06 16:11:01 +00:00
Ged Murphy
23a4529556 couple of fixes to get it building under mingw
svn path=/trunk/; revision=19027
2005-11-06 13:30:42 +00:00
Eric Kohl
96d7886067 - Rewrote the code that reads the service configuration from the registry because it was not flexible enough with respect to the handling of default values.
- Read delete flag from the registry.

svn path=/trunk/; revision=19026
2005-11-06 11:56:56 +00:00
Alex Ionescu
8b69dfff76 This one is for Steven... 18 months later, I kept my promise ;)
- BindImage & friends refactoring of my original code. Fixed two or three dozen bugs, stopped making assumptions about everything, actually checked for failure, used dynamic allocation instead of 32 static structures, fixed a lot of broken code, fixed some helper functions, made the code as 64-bit compatible as I could (checked with msvc WP64 + prefast).
- Remove internal.c and use NDK instead
- Remove debug.c and symbol.c like WINE have done
- Rewrite the entire exports file to update it for XP. Forward almost all the functions to dbghelp, like WINE have done (note: windows DLL used delayed imports instead).
- Cleanup source to add implemented/unimplemented tags, source header, and precompiled header.
- Sync with latest code from WINE.

Tested with Quicken 2004 & its patches (which make extensive use of BindImage) as well as random bindings of some applications on my disk. Worked perfectly in Windows.

svn path=/trunk/; revision=19025
2005-11-06 10:48:14 +00:00
Brandon Turner
dee7dbd301 Add some ctrl breaker checks into copy, del, and dir.
svn path=/trunk/; revision=19024
2005-11-06 01:24:21 +00:00
Magnus Olsen
4c532d38d2 Filling in two more member, and they should be using when u create a new dc with CreateDCA
svn path=/trunk/; revision=19023
2005-11-05 23:10:43 +00:00
Brandon Turner
616d5f3ade Send Ctrl signals to child process correctly. We can now use CTRL+C to close programs in cmd!
svn path=/trunk/; revision=19022
2005-11-05 22:13:59 +00:00
Hartmut Birr
e087024bb5 Use the share disposition to detect the direction of a pipe.
svn path=/trunk/; revision=19021
2005-11-05 22:03:47 +00:00
Hartmut Birr
4af01faa3c Creat the symbolic links case-insensitive.
svn path=/trunk/; revision=19020
2005-11-05 21:28:27 +00:00
Eric Kohl
cb31a202c1 Reapply a modified r18883 patch (by Thomas Weidenmueller) that doesn't break named pipes.
svn path=/trunk/; revision=19019
2005-11-05 16:11:31 +00:00
Eric Kohl
2de23bb008 Reapply a modified r18883 patch (by Thomas Weidenmueller) that doesn't break named pipes.
svn path=/trunk/; revision=19018
2005-11-05 16:11:02 +00:00
Eric Kohl
3753cf3e49 Open pipe in 'passive' mode if the desired access right is FILE_READ_ATTRIBUTES.
svn path=/trunk/; revision=19017
2005-11-05 16:08:41 +00:00
Magnus Olsen
7b9a187c56 Small hack for Getting monitor freq right.
svn path=/trunk/; revision=19016
2005-11-05 15:32:23 +00:00
Magnus Olsen
0102313dcb Remove hwnd and hdc, so it being store to right struct.
svn path=/trunk/; revision=19015
2005-11-05 15:05:31 +00:00
Hervé Poussineau
0e95797fc0 Add some debug messages, and disable them (#define NDEBUG)
svn path=/trunk/; revision=19014
2005-11-05 14:21:39 +00:00
Hervé Poussineau
10981b14f0 Replace a void* by PDEVICE_OBJECT and fix its usage
svn path=/trunk/; revision=19013
2005-11-05 11:51:30 +00:00
Maarten Bosma
37edd96e90 Fill some structs more correctly.
svn path=/trunk/; revision=19012
2005-11-05 10:27:50 +00:00
Hervé Poussineau
175467288d - Remove Mou and Mouse strings in names to share more code with kbdclass
- Handle IRP_MJ_CLEANUP and IRP_MJ_DEVICE_CONTROL
- Read parameters in the right registry key
- Force exclusive opening on device object
- Reference pointer port DOs when they are linked to pointer class DO
- Fix PORT_DEVICE_EXTENSION and CLASS_DEVICE_EXTENSION structures and use them correctly (PORT_DEVICE_EXTENSION was not used...)

svn path=/trunk/; revision=19011
2005-11-05 08:37:01 +00:00
Hervé Poussineau
cfd5a15157 Revert Kdb and Keyboard strings in name to share more code with mouclass
Fix PORT_DEVICE_EXTENSION and CLASS_DEVICE_EXTENSION structures and use them correctly (PORT_DEVICE_EXTENSION was not used...)
ObDereference DOs when an error occurs, instead of ObReferencing them

svn path=/trunk/; revision=19010
2005-11-05 08:21:59 +00:00
Alex Ionescu
e595cd5c9d - Move some NDK definitions (Cm Callbacks) to the DDK since they are actually public.
- Fix strange/incorrect hack which disabled DPRINT in msvc
- Move UNIMPLEMENTED to the proper DBG block
- Fix rtltypes.h compatibility with the PSDK/DDK
I hope this doesn't break anything, my tree is quite off-sync.

svn path=/trunk/; revision=19009
2005-11-05 06:44:03 +00:00
Gregor Anich
fc8ca65085 Implement (Int)EngAlphaBlend and 8, 16, 24 and 32 bpp DIB AlphaBlend functions. AlphaBlend() should work now.
svn path=/trunk/; revision=19008
2005-11-04 23:37:06 +00:00
Gregor Anich
e21bca531d Add very primitive AlphaBlend test.
svn path=/trunk/; revision=19007
2005-11-04 23:25:03 +00:00
Gregor Anich
be46b8647d Remove unused driver sources.
svn path=/trunk/; revision=19005
2005-11-04 20:35:21 +00:00
Gregor Anich
598d0237f0 Merge changes from Mesa-6.4 vendor drop and apply fixes needed to get it compiling/working.
svn path=/trunk/; revision=19004
2005-11-04 20:28:07 +00:00
Hervé Poussineau
aefb7a1354 Allow more than one USB controller (was a XBOX hack no more needed)
Implement IRP_MJ_PNP/IRP_MN_QUERY_DEVICE_TEXT for Root USB hub/USB devices
Add missing initialization which lead to BSOD when connecting a device to a UHCI controller

svn path=/trunk/; revision=19003
2005-11-04 20:24:44 +00:00
Hervé Poussineau
76c3fa7451 Revert 18883 and 18912, as they break named pipes
(These changes were correct per se, but another problem surfaced: see http://www.reactos.org/archives/public/ros-dev/2005-November/005958.html)

svn path=/trunk/; revision=19002
2005-11-04 19:31:47 +00:00
Thomas Bluemel
923e4546ba - register the checklist window class when attached to a process
- fixed usage of image list

svn path=/trunk/; revision=19001
2005-11-04 18:58:38 +00:00
Ged Murphy
cfb2293f95 sc.exe now supports basic starting, stopping, creation and deletion of services.
Still early days and very bare bones, so not including into build yet

svn path=/trunk/; revision=19000
2005-11-04 18:19:09 +00:00
Magnus Olsen
8886eb415a Never, Never do if (FALSE) it will make dead code. activate dead code after DrFreds bug.
svn path=/trunk/; revision=18996
2005-11-04 16:26:13 +00:00
Gregor Anich
266f0076b8 Set svn:eol-style to native.
svn path=/trunk/; revision=18992
2005-11-04 15:07:35 +00:00
Gregor Anich
3b6857e974 Put back reactos specific changes from old mesa32 directory.
svn path=/trunk/; revision=18991
2005-11-04 14:52:02 +00:00
Gregor Anich
6485745bf2 Import include directory from Mesa3D vendor drop (this time into the right directory)
svn path=/trunk/; revision=18990
2005-11-04 14:25:07 +00:00
Gregor Anich
9d4749e1fa Delete GL subdirectory (should be inside include directory, the svn copy command was wrong)
svn path=/trunk/; revision=18989
2005-11-04 14:24:29 +00:00
Gregor Anich
ad16b4dc6e Copy src/mesa dir from Mesa vendor drop to lib/mesa32/src
svn path=/trunk/; revision=18988
2005-11-04 14:11:08 +00:00
Gregor Anich
71caccc9af Copy include dir from Mesa vendor drop to lib/mesa32
svn path=/trunk/; revision=18987
2005-11-04 14:08:44 +00:00
Gregor Anich
06e61021b3 Delete mesa32 for vendor drop import.
svn path=/trunk/; revision=18986
2005-11-04 14:06:54 +00:00
Martin Fuchs
1ea142fe87 test version of startmenu root with big icons
svn path=/trunk/; revision=18983
2005-11-04 00:21:12 +00:00
Ged Murphy
c743bc7da5 Started testing. Couple of code mods to get 'sc start ...' working.
svn path=/trunk/; revision=18982
2005-11-04 00:20:17 +00:00
Royce Mitchell III
13415bb36a fix uninitialized variable
svn path=/trunk/; revision=18981
2005-11-04 00:10:39 +00:00
Royce Mitchell III
7783f0f747 fix indentation
svn path=/trunk/; revision=18980
2005-11-04 00:07:47 +00:00
Royce Mitchell III
3364c02cec fix indentation
svn path=/trunk/; revision=18979
2005-11-04 00:03:34 +00:00
Gé van Geldorp
a21eb62527 Revert r18836, it breaks the explorer start menu (bug 952)
svn path=/trunk/; revision=18978
2005-11-03 22:20:29 +00:00
Alex Ionescu
2bb75d7d0e - Rename KiCheckForKernelApcDelivery
svn path=/trunk/; revision=18977
2005-11-03 16:58:43 +00:00
Thomas Bluemel
f46f194ae4 add all ACEs to their principals
svn path=/trunk/; revision=18972
2005-11-03 11:28:56 +00:00
Brandon Turner
34ac8ceb9f rewrite of gettype. Beginnings of support for remote computers. Big thanks to Alex and KJK.
svn path=/trunk/; revision=18971
2005-11-03 02:36:09 +00:00
Brandon Turner
23bf0c9bc1 stub for NetServerGetInfo
svn path=/trunk/; revision=18970
2005-11-03 01:50:13 +00:00
Brandon Turner
86c57a4368 define CONNECT_COMMANDLINE and CONNECT_CMD_SAVECRED
svn path=/trunk/; revision=18969
2005-11-03 01:10:24 +00:00
Thomas Bluemel
e2cc04e2ca fixed difference in signedness warnings
svn path=/trunk/; revision=18968
2005-11-03 01:05:07 +00:00
Gregor Anich
55db859f00 Optimize NtGetContextThread a bit and fix use of unitinialized memory if PreviousMode == KernelMode and Thread ==
CurrentThread (thanks to Thomas for spotting!)

svn path=/trunk/; revision=18967
2005-11-03 00:34:09 +00:00
Gregor Anich
662797cc94 Remove assignment to unused Thread variable which was removed by my previous commit.
Sorry for breaking.

svn path=/trunk/; revision=18966
2005-11-03 00:17:55 +00:00
Gregor Anich
54992254d7 Replace EXT_QUERY_OPENGLDRIVERINFO define by OPENGL_GETINFO from winddi.h
Rename EXT_OPENGLDRIVERINFO struct to OPENGL_INFO and change member names a bit.

svn path=/trunk/; revision=18965
2005-11-03 00:15:39 +00:00
Gregor Anich
cc0933a118 (Hopefully) fix (parts of) terribly broken NtSet/GetContextThread functions ;-)
If we have a test for this anywhere, it must be reaaally broken!
Thanks to Alex and KJK for helping!

svn path=/trunk/; revision=18964
2005-11-03 00:09:19 +00:00
Alex Ionescu
de1acafe9a - Use correct trapframe during set/get context. Thanks to blight for noticing the bug.
svn path=/trunk/; revision=18963
2005-11-02 23:57:38 +00:00
Hartmut Birr
a5ad40f6c0 Don't print a CR, if the command line is from a batch file and starts with a '@'.
svn path=/trunk/; revision=18962
2005-11-02 23:47:58 +00:00
Hartmut Birr
8bbbecaa87 - The separator (slash or back slash), exepostfix and exeprefix are initialized from environment variables.
- The separators in the path for the system command are always converted for the host system.
- Our own build utilities must convert paths itself (bin2res).

svn path=/trunk/; revision=18961
2005-11-02 23:24:05 +00:00
Gé van Geldorp
05037bcbe6 Return character heights instead of cell heights in the LOGFONTs in the
NONCLIENTMETRICS structure

svn path=/trunk/; revision=18960
2005-11-02 23:15:40 +00:00
Gregor Anich
40cfcb3758 Convert tabs to spaces.
svn path=/trunk/; revision=18959
2005-11-02 23:12:55 +00:00
Ged Murphy
3dd0798703 - Split files
- start to implement 'start'
- split and rewrite much of the 'query' functionality
- a lot of code "altering"

Comments are a bit vauge, but it's still very incomplete and untested and most changes aren't worth mentioning.

svn path=/trunk/; revision=18958
2005-11-02 21:10:50 +00:00
Gé van Geldorp
37dbc3c7d6 Sync to Wine-0_9:
Vincent Béron <vberon@mecano.gme.usherb.ca>
- Allow file:/// protocol to be used to download the Mozilla ActiveX
  control.
- Remove tempfile used to download Mozilla ActiveX control once it's not
  used anymore.
Alexandre Julliard <julliard@winehq.org>
- Fixed a handle leak.

svn path=/trunk/; revision=18957
2005-11-02 21:05:35 +00:00
Gé van Geldorp
91c3198544 Sync to Wine-0_9:
Lionel Ulmer <lionel.ulmer@free.fr>
- fix first two arguments to 'FindExecutableA' (input strings instead
  of pointers)
- fix last argument to 'FindExecutableW' (it's an output string)
Francois Gouget <fgouget@free.fr>
- Use "static const" rather than "const static" as gcc -W complains
  about the former.
Jonathan Ernst <Jonathan@ErnstFamily.ch>
- First creation of registry entries missed AppData.
Aric Stewart <aric@codeweavers.com>
- MSDN states that the pszDisplayName member of BROWSEINFO is assumed to
  be MAX_PATH in length. So when doing the A->W conversion in
  BrowseForFolderA do not set that member to be the size of the
  incoming string, instead make it MAX_PATH.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Use appropriate DDE APIs (ANSI or unicode) for ShellExecuteA/W, Excel
  2000 depends on that.
Martin Fuchs <martin-fuchs@gmx.net>
- Simplify 'sei' structure initialization in ShellExecuteA/W.
Mike McCormack <mike@codeweavers.com>
- Use ShellLink_QueryInterface to return the right interface in
  IShellLink_Constructor.
Richard Cohen <richard@daijobu.co.uk>
- Don't hardcode "windows" directory.

svn path=/trunk/; revision=18956
2005-11-02 20:50:50 +00:00
Gé van Geldorp
174476f772 Sync to Wine-0_9:
Phil Krylov <phil@newstar.rinet.ru>
- Fixed encoding of non-ASCII chars.
Krzysztof Foltman <wdev@foltman.com>
- Bugfix in EM_GETTEXTEX
- Additional traces helpful in diagnosing similar (text
  retrieval-related) bugs.
- Fix unnecessary (and harmful) repeated statement.
- Removed buffer overrun error (incrementing output pointer one time too
  much in non-CRLF mode) making KeyNote fail to install.
- Style trace information is written to different debug channel (it's
  not very useful anymore, reference counting looks correct for now).
- The document dump contains the character position of the end-of-text
  mark.
- The previous implementation was a workaround for off-by-one bug in
  ME_RunOfsFromCharOfs, this one relies on correct behavior of that
  function introduced by the previous patch.
- Send verbose info to different debug channels (richedit_check for
  output from offset checker, richedit_lists for the document list
  dumps).
- Fix a bug in 1.0 emulation mode in EM_LINELENGTH (which broke PTE
  installer).
- Fixed EOL detection in ME_RunOfsFromCharOfs in 1.0 emulation mode
  (necessary for a non-workaround version of EM_POSFROMCHAR).
- Fix 1.0 emulation mode in ME_GetTextW.
- Remove another potential sources of infinite loops caused by EOF in
  the middle of the font and color tables.
- Closing brace on text level is treated as EOF (effectively
  protecting the control from trash after the end of RTF).
- Removed misleading comment about incomplete buffers (I was
  definitely wrong).
- Implemented EM_GETFIRSTVISIBLELINE and EM_POSFROMCHAR (basic
  suboptimal implementation, can be optimized to skip whole paragraphs
  later if it's useful at all).
- Fixed another case of misunderstanding MSDN wrt StreamInProc, causing
  license text to be truncated in Picasa installer (as well as some
  other programs, especially those that display long texts with NSIS).

svn path=/trunk/; revision=18955
2005-11-02 20:03:07 +00:00
Gé van Geldorp
4f4eef04fd Sync to Wine-0_9:
Pierre d'Herbemont <pidherbemont@opendarwin.org>
- Allow compilation on non-i386.
Huw Davies <huw@codeweavers.com>
- When a dispinterface isn't dual, we should return
  TYPE_E_ELEMENTNOTFOUND when trying to get index -1.
- Proxies and stubs for GetTypeInfoCont, GetLibAttr and ReleaseLibAttr.
- Implement GetContainingTypelib_{Proxy,Stub}.

svn path=/trunk/; revision=18954
2005-11-02 19:28:16 +00:00
Martin Fuchs
44d671e34d regedit: polish resource file from Sebastian Gasiorek (sebastian dot gasiorek at gmail dot com
svn path=/trunk/; revision=18953
2005-11-02 18:36:04 +00:00
Gé van Geldorp
02d236693b ScoTTie <scott@wizzer-it.com>/erie-- <seditaniedi@gmail.com>
Build fixes for FreeBSD

svn path=/trunk/; revision=18952
2005-11-02 16:13:00 +00:00
Christoph von Wittich
eb90b6c916 * compile .S files with MSVC2002/2003 too
svn path=/trunk/; revision=18951
2005-11-02 15:32:05 +00:00
Royce Mitchell III
7a80b9dabf newer msvc's are aware of __FUNCTION__
svn path=/trunk/; revision=18950
2005-11-02 14:18:40 +00:00
Brandon Turner
0f821d720d Some changes for better formatting / following standards.
svn path=/trunk/; revision=18949
2005-11-02 14:15:42 +00:00
Royce Mitchell III
486e2e5a02 comment out incorrect #defines
svn path=/trunk/; revision=18948
2005-11-02 14:08:16 +00:00
Brandon Turner
f39d1cda03 fix for bug 875. Patch by jvangael@wisc.edu
svn path=/trunk/; revision=18947
2005-11-02 13:49:14 +00:00
Thomas Bluemel
12b9b7e3aa implemented yet one more - still useless - function: RtlCreateSystemVolumeInformationFolder
svn path=/trunk/; revision=18946
2005-11-02 01:39:30 +00:00
Thomas Bluemel
8006508b1a return the required buffer size in RtlMakeSelfRelativeSD if the supplied buffer is too small
svn path=/trunk/; revision=18945
2005-11-02 00:40:35 +00:00
Alex Ionescu
524dd664c3 - RtlCreateUnicodeString fails if the Length is > 0xFFFE on Windows NT 5.2 and higher. Spotted by Thomas.
svn path=/trunk/; revision=18944
2005-11-01 23:54:39 +00:00
Gé van Geldorp
baee1b54eb Patch by hpoussin/GvG
- Read parameters in the right registry key
- Force exclusive opening on device object
- Add hack for first stage setup (link main device object to \??\Keyboard)
- Use buffered IO
- Reference pointer port DOs when they are linked to pointer class DO

svn path=/trunk/; revision=18943
2005-11-01 23:39:12 +00:00
Alex Ionescu
f9d8fe961d - Revert so call "Fixes" introduced in 18941 because they are bugs which I had to fix in 18002 and adding back bugs isn't really a good idea.
svn path=/trunk/; revision=18942
2005-11-01 23:37:26 +00:00
Thomas Bluemel
3cda2939fe various minor fixes
svn path=/trunk/; revision=18941
2005-11-01 22:45:35 +00:00
Thomas Bluemel
837e60ee47 fixed a typo
svn path=/trunk/; revision=18940
2005-11-01 22:39:14 +00:00
Thomas Bluemel
23c6b8167f properly handle fragmented self-relative security descriptors in the 64 bit version of RtlSelfRelativeToAbsoluteSD2
svn path=/trunk/; revision=18939
2005-11-01 22:36:00 +00:00
Thomas Bluemel
30b938fbe9 implemented RtlSelfRelativeToAbsoluteSD2 for 32 and 64 bit builds
svn path=/trunk/; revision=18938
2005-11-01 21:53:36 +00:00
Martin Fuchs
07a232d2e7 create two new functions String::str() and String::toLower() to avoid _tcslwr() calls and allow convenient string conversions
svn path=/trunk/; revision=18937
2005-11-01 20:30:17 +00:00
Magnus Olsen
0749054fcf do not try free memmory at exit it seam like the DdDeleteDirectDrawObject doing it for us, and it does not crash any longer at exists
svn path=/trunk/; revision=18936
2005-11-01 18:53:37 +00:00
Magnus Olsen
4fdcdd13c6 Fixed a crach. and do not hardcode the flag ddsd to primersurface amd other value.
svn path=/trunk/; revision=18935
2005-11-01 18:42:50 +00:00
Magnus Olsen
b954033d53 split up CreateSurface to hal and hel interface
svn path=/trunk/; revision=18934
2005-11-01 18:27:09 +00:00
Brandon Turner
afa72f4caa Small unicode safe changes by me. Small msvc build error fix by jvangael@wisc.edu.
svn path=/trunk/; revision=18933
2005-11-01 17:01:36 +00:00
Thomas Bluemel
0ecd041efc - if a file object is a named pipe don't allow the FILE_APPEND_DATA access right as it equals FILE_CREATE_PIPE_INSTANCE (NtFlushBuffersFile and NtWriteFile)
- add more parameters probing and capturing code

svn path=/trunk/; revision=18932
2005-11-01 16:17:25 +00:00
Magnus Olsen
6e138c7f47 * Source cleanup.
* SetMode adding a check see if it same reslution or not if it not same we change it.
* SetMode adding correct check for hal or hel. choice hal if it the drv provide it. 

svn path=/trunk/; revision=18931
2005-11-01 14:46:34 +00:00
Eric Kohl
b4693503e5 - Mark service for delete in the registry.
svn path=/trunk/; revision=18930
2005-11-01 13:52:22 +00:00
Eric Kohl
9c843bd352 Update the Indentation.
svn path=/trunk/; revision=18929
2005-11-01 13:47:40 +00:00
Maarten Bosma
f72f2cf5ea Another few cosmetic changes and also except DDSURFACEDESC as parameter for CreateSurface.
svn path=/trunk/; revision=18928
2005-11-01 12:17:25 +00:00
Maarten Bosma
416daf8bd1 Add call to DdReenableDirectDrawObject (GdiEntry10) where it is needed.
svn path=/trunk/; revision=18927
2005-11-01 12:02:12 +00:00
Maarten Bosma
b7d56ed0e3 fix compiling again, sorry.
svn path=/trunk/; revision=18926
2005-11-01 11:35:01 +00:00
Maarten Bosma
abdfa2a93b Some cosmetic changes like replacing tabs with spaces and grouping all stubs together.
svn path=/trunk/; revision=18925
2005-11-01 11:32:35 +00:00
Maarten Bosma
e72a06483d fix compile
svn path=/trunk/; revision=18924
2005-11-01 09:59:21 +00:00
Maarten Bosma
72d7506aca Fixed the "header problems".
svn path=/trunk/; revision=18923
2005-11-01 09:50:29 +00:00
Maarten Bosma
1287fda4c9 Remove DUMMYUNIONNAMEs since it fixes compile problems.
svn path=/trunk/; revision=18922
2005-11-01 09:48:01 +00:00
Maarten Bosma
c5db6531f3 Created makefile for alphablend-test in rosapps.
svn path=/trunk/; revision=18921
2005-11-01 08:37:43 +00:00
Martin Fuchs
e918f31d8f correctly call HCR_GetFolderAttributes() in SHELL32_GetItemAttributes() to fix explorer's start menu root
svn path=/trunk/; revision=18920
2005-11-01 01:39:45 +00:00
Magnus Olsen
eb40205bb8 fill in the DDSD we got from the call of createsurface it is not complete
svn path=/trunk/; revision=18919
2005-10-31 20:43:06 +00:00
Thomas Bluemel
cb2e289656 fix return type of ObDereferenceSecurityDescriptor
svn path=/trunk/; revision=18918
2005-10-31 20:35:03 +00:00
Magnus Olsen
0e0d775a1d Fix someprat of Createsurface now it is working for ati readon, the code is not complete.
svn path=/trunk/; revision=18917
2005-10-31 20:08:24 +00:00
Thomas Bluemel
341406bf3c added stubs for ObLogSecurityDescriptor and ObDereferenceSecurityDescriptor
svn path=/trunk/; revision=18916
2005-10-31 19:41:27 +00:00
Thomas Bluemel
52e523d86c don't ask for generic read access rights in WaitNamedPipe
svn path=/trunk/; revision=18915
2005-10-31 19:39:22 +00:00
Maarten Bosma
eea652f412 Fix wrong DDESC2 to DDESC conversion. Spotted by GreatLord.
svn path=/trunk/; revision=18914
2005-10-31 19:12:07 +00:00
Magnus Olsen
8e04cb351f Use the info we got from callback for the res in createsurface
svn path=/trunk/; revision=18913
2005-10-31 19:02:09 +00:00
Hartmut Birr
5fad003df8 Removed the 'special' mode, because it didn't connect a pipe.
svn path=/trunk/; revision=18912
2005-10-31 18:56:44 +00:00
Hervé Poussineau
5a77f871d4 Big move of driver input stack to a Plug-and-Play model:
- mouclass:
  Do non buffered IO. The pointer move should be smoother.
  Search non Plug-and-Play drivers in registry, instead of using their device name.
- kbdclass:
  Full rewrite to support more than one keyboard.
  Use registry settings as specified in MSDN.
  (Info: kbdclass is now very similar to mouclass)
- i8042prt:
  Keep it as a non Plug-and-Play driver, but register it in DEVICEMAP registry key.
- USB controller:
  Enable USB keyboard/mouse

I may have broken support for serial mice, i'll add it back in a few days...

svn path=/trunk/; revision=18911
2005-10-31 16:46:46 +00:00
Aleksey Bragin
615b2d64a7 I don't think tracert really depends on winmm lib.
svn path=/trunk/; revision=18910
2005-10-31 11:59:29 +00:00
Hartmut Birr
dad4f98487 Do always dereference the section object if it was created (in PspCreateProcess).
svn path=/trunk/; revision=18909
2005-10-31 08:02:49 +00:00
Magnus Olsen
36704a0989 Fix some crach in ddraw.dll startup process for surface, we still got crach and surface are being setup wrong. working on this.
svn path=/trunk/; revision=18908
2005-10-31 01:22:19 +00:00
Brandon Turner
2995749811 only show one screen of text at a time for displaying help.
svn path=/trunk/; revision=18907
2005-10-31 00:53:00 +00:00
Hervé Poussineau
aeeab7d1f4 Rewrite mouclass, so it can now handle more than one mouse.
win32k: try to open the keyboard/mouse in a loop, as they can not be present at startup

svn path=/trunk/; revision=18906
2005-10-31 00:14:45 +00:00
Brandon Turner
04cc754e4d Removed some code to make dir behave the same way as MS CMD. bug reported by irc::mikedep333
svn path=/trunk/; revision=18905
2005-10-31 00:10:32 +00:00
Magnus Olsen
8f18130987 Fix so startup process of ddraw hal can be compile with visualstudio
svn path=/trunk/; revision=18904
2005-10-31 00:10:04 +00:00
Magnus Olsen
f81657436a Free Hal memory that have been alloc at exist
svn path=/trunk/; revision=18903
2005-10-30 23:54:05 +00:00
Hervé Poussineau
f79ddc7ce9 Prevent i8042prt to search for a keyboard/mouse more than once
svn path=/trunk/; revision=18902
2005-10-30 23:48:30 +00:00
Magnus Olsen
b8baa8476b small ceanup in hal startup process
svn path=/trunk/; revision=18901
2005-10-30 23:29:40 +00:00
Magnus Olsen
068f8ec126 Small change for hal startup process only few callbacks are not include
svn path=/trunk/; revision=18900
2005-10-30 23:21:57 +00:00
Art Yerkes
ed344d626c use %lx for printing NTSTATUS
svn path=/trunk/; revision=18899
2005-10-30 22:47:31 +00:00
Art Yerkes
b440e561dc Some upgrades for green:
- Either create the blue device or attach to it
- If we can't open a serial device, forward the IRP to the original blue
- Scrolling fix
- Don't do DO_BUFFERED_IO if we use Irp->UserBuffer
- Pass a zero offset when writing to serial port

Green now displays correctly and fails back correctly.  Keyboard part doesn't
yet coexist with current ReactOS.  That's next.


svn path=/trunk/; revision=18898
2005-10-30 22:33:26 +00:00
Gregor Anich
71624f7c01 Add NtGdiAlphaBlend to w32ksvc.db (and fix tabs)
Forward gdi32:GdiAlphaBlend to NtGdiAlphaBlend

svn path=/trunk/; revision=18897
2005-10-30 22:19:33 +00:00
Gregor Anich
f44623a76f Add IntEngAlphaBlend and NtGdiAlphaBlend functions, EngAlphaBlend (the real implementation) is still missing.
svn path=/trunk/; revision=18896
2005-10-30 22:16:30 +00:00
Gregor Anich
963b76516c Add NtGdiAlphaBlend prototype.
svn path=/trunk/; revision=18895
2005-10-30 22:14:11 +00:00
Eric Kohl
fc8df70d3c - Implement GetServiceKeyNameW (untested).
- Mark deleted service in the service list.
- Some SCM-Calls fail if the has been marked for delete.

svn path=/trunk/; revision=18894
2005-10-30 21:52:23 +00:00
Hervé Poussineau
839760d8b4 Implement IRP_MJ_PNP / IRP_MN_QUERY_INTERFACE for GUID_BUS_INTERFACE_STANDARD
svn path=/trunk/; revision=18893
2005-10-30 19:37:11 +00:00
Magnus Olsen
5f33f3f7cd Correct One struct
svn path=/trunk/; revision=18892
2005-10-30 19:36:29 +00:00
Gregor Anich
fae0adf2df Silence warning for non-win32 compilations.
svn path=/trunk/; revision=18891
2005-10-30 18:43:16 +00:00
Brandon Turner
15fb98b4ad Handle possible error from FindFirstFile. Thanks to Thomas for finding the problem.
svn path=/trunk/; revision=18890
2005-10-30 18:01:50 +00:00
Brandon Turner
7aebf134dc Add a new function to return a path with correct casing. Remove the get[short/long]pathname hack that was there before to do it.
svn path=/trunk/; revision=18889
2005-10-30 17:50:03 +00:00
Thomas Bluemel
23d5494796 fixed difference in signedness warnings
svn path=/trunk/; revision=18888
2005-10-30 17:30:53 +00:00
Magnus Olsen
816321f878 Fix broke SVN after me, thx to it I found wrong ref was release in different place fixed
svn path=/trunk/; revision=18887
2005-10-30 16:14:42 +00:00
Magnus Olsen
f872c290a7 adding more stuff for create surface right
svn path=/trunk/; revision=18886
2005-10-30 15:45:40 +00:00
Maarten Bosma
41477c4529 Fix compile
svn path=/trunk/; revision=18885
2005-10-30 15:39:00 +00:00
Maarten Bosma
c515c8db37 Implement IDirectDrawSurface::Blt for HAL
svn path=/trunk/; revision=18884
2005-10-30 15:34:03 +00:00
Thomas Bluemel
c1245552ab fix some flags calculations and access rights in CreateNamedPipe and CreatePipe
svn path=/trunk/; revision=18883
2005-10-30 14:51:12 +00:00
Hartmut Birr
c6d9a617be Fixed the check for the MEM_TOP_DOWN flag in MmMapViewOfSection.
svn path=/trunk/; revision=18882
2005-10-30 13:55:28 +00:00
Hartmut Birr
34e6e97b69 Map the NLS tables after creating the PEB.
The top-down mapping of the NLS tables may occupied the region for the PEB.

svn path=/trunk/; revision=18881
2005-10-30 13:54:02 +00:00
Eric Kohl
9be78e0815 - Implement GetServiceDisplayNameW (untested).
- SCM must store a services display name.
- Some SCM-Calls must fail while the SCM is shutting down.

svn path=/trunk/; revision=18880
2005-10-30 13:13:53 +00:00
Magnus Olsen
b6bfd30b73 lay some gorun for blt but not implement
svn path=/trunk/; revision=18879
2005-10-30 12:53:32 +00:00
Magnus Olsen
fadf041561 Bind the Hal and Hel right in main call only to hal if the api are implement in the drv if not choice hel.
svn path=/trunk/; revision=18878
2005-10-30 10:58:53 +00:00
Thomas Bluemel
5dcda5f7c1 fixed uninitialized variable warning
svn path=/trunk/; revision=18877
2005-10-30 10:49:55 +00:00
Magnus Olsen
ef1dfc9985 Rename files so it be more easy to wrok with them in VS
svn path=/trunk/; revision=18876
2005-10-30 10:43:03 +00:00
Magnus Olsen
657225474f Forgot cleanup the code. in Main_setDisplayMode.
svn path=/trunk/; revision=18875
2005-10-30 09:49:29 +00:00
Magnus Olsen
29de9009cd Move hel SetDisplayMode to hel and write a stub for hal SetDisplayMode.
Hel SetDisplayMode is already implmenet by DrFred

svn path=/trunk/; revision=18874
2005-10-30 09:45:10 +00:00
Magnus Olsen
97e6b6a100 implment Hal FlipToGDISurface
svn path=/trunk/; revision=18873
2005-10-30 09:21:03 +00:00
Maarten Bosma
c709116fa0 Check if CanCreateSurface is implemented by the driver before calling it.
svn path=/trunk/; revision=18872
2005-10-30 08:46:46 +00:00
Magnus Olsen
0a695e7538 implement Hal GetScanLine
svn path=/trunk/; revision=18871
2005-10-30 08:41:19 +00:00
Magnus Olsen
8b676541fe Fix one crach in createsurface for DrFred
svn path=/trunk/; revision=18870
2005-10-30 08:10:43 +00:00
Maarten Bosma
ddb12e0a7e Forgot to remove that test line
svn path=/trunk/; revision=18869
2005-10-30 07:47:15 +00:00
Magnus Olsen
8e68e084ee implement Hal WaitForVerticalBlank
svn path=/trunk/; revision=18868
2005-10-30 07:41:33 +00:00
Brandon Turner
e00d30c16e add gettype.exe to the bootcd
svn path=/trunk/; revision=18867
2005-10-30 06:02:18 +00:00
Brandon Turner
342376e313 add gettype.exe clone. It works in windows and partially in ROS. I will look into the reason it doesn't more tomorrow.
svn path=/trunk/; revision=18866
2005-10-30 06:01:29 +00:00
Brandon Turner
200139b04d add definitions for VER_SUITE_SINGLEUSERTS and VER_SUITE_EMBEDDEDNT
svn path=/trunk/; revision=18865
2005-10-30 05:56:45 +00:00
Magnus Olsen
fd2311a670 Implement Hal GetAvailableVidMem and is it working in windows
svn path=/trunk/; revision=18864
2005-10-30 01:06:56 +00:00
Thomas Bluemel
c55ab58a88 protect access to buffers in NtOpenProcess
svn path=/trunk/; revision=18863
2005-10-29 23:40:05 +00:00
Magnus Olsen
e01e983072 Cover the most hal startup process it now time start implement hal in ddraw.dll
But we still does not doing the whole startup process right. 

svn path=/trunk/; revision=18862
2005-10-29 23:28:12 +00:00
Thomas Bluemel
cdea367eef release the keep-alive reference of the process object
svn path=/trunk/; revision=18861
2005-10-29 22:58:14 +00:00
Thomas Bluemel
e601c831b9 - don't dereference the section object in MmCreateProcessAddressSpace
- properly handle object references in PspCreateProcess

svn path=/trunk/; revision=18860
2005-10-29 22:15:10 +00:00
Thomas Bluemel
0d70a37f3b - protect access to buffers in NtCreateThread and NtOpenThread
- fix incorrect usage of PSEH in NtCreateThread

svn path=/trunk/; revision=18859
2005-10-29 21:33:57 +00:00
Magnus Olsen
f3922196a5 Setup the hal startup process some bit. We still does not insate hal right yet.
svn path=/trunk/; revision=18858
2005-10-29 21:20:50 +00:00
Maarten Bosma
8548c576bd Improve macro for stubs inside of ddraw. Thx to w3seek.
svn path=/trunk/; revision=18857
2005-10-29 21:07:04 +00:00
Magnus Olsen
9215cc3827 sorry forget This->DirectDrawGlobal
svn path=/trunk/; revision=18856
2005-10-29 20:08:49 +00:00
Magnus Olsen
8ad9c2cb4c Do not trust msdn what it say about dwContext in any struct "MSDN : it is not in use for windows nt", "My note: it is in use for all os, and it always point to DDRAWI_DIRECTDRAW_GBL.hDD and we doing that. now the callbacks works in startup process.
svn path=/trunk/; revision=18855
2005-10-29 20:06:23 +00:00
Magnus Olsen
d4b6cf2ab1 Setup the hal inisate bit more. and commect the code. We still does not insate hal right yet.
svn path=/trunk/; revision=18854
2005-10-29 18:57:45 +00:00
Thomas Bluemel
006d0bc6d7 - probe and capture parameters in NtCreateKey
- added ProbeForWriteUnicodeString and ProbeForReadUnicodeString macros

svn path=/trunk/; revision=18853
2005-10-29 16:00:00 +00:00
Thomas Bluemel
bffa3474f4 implemented the 32 bit version of GetSystemWow64DirectoryA/W (just set the last error code to ERROR_CALL_NOT_IMPLEMENTED)
svn path=/trunk/; revision=18852
2005-10-29 15:05:37 +00:00
Thomas Bluemel
e63b48188e - deleting a registry value requires the KEY_SET_VALUE right
- capture the value name

svn path=/trunk/; revision=18851
2005-10-29 14:51:18 +00:00
Hartmut Birr
f4d5030a94 Merged MmReleaseMemoryArea into MmReleaseMmInfo.
We can only release the address space look if we are calling MmUnmapViewOfSection.

svn path=/trunk/; revision=18850
2005-10-29 14:12:20 +00:00
Hartmut Birr
5e158693d9 - Lock always the address space if we changing the virtual mapping.
This is necessary because we can create or remove a page table.
- If we unmap a section, we have to wait for all pending pageops 
  for the section within the current process. We do this by waiting 
  for all pageops for the section.

svn path=/trunk/; revision=18849
2005-10-29 14:10:35 +00:00
Hartmut Birr
470db6b8eb Lock always the address space if we changing the virtual mapping.
This is necessary because we can create or remove a page table.

svn path=/trunk/; revision=18848
2005-10-29 14:09:00 +00:00
Nathan Woods
d74ef35a60 Calc: Fixed Enter key
svn path=/trunk/; revision=18847
2005-10-29 13:43:09 +00:00
Magnus Olsen
8afabfad9e Fixed some hal insate problem
but it still is not right

svn path=/trunk/; revision=18846
2005-10-29 12:36:04 +00:00
Thomas Bluemel
77f8aeb66b #include "w32k.h" -> #include <w32k.h>
svn path=/trunk/; revision=18845
2005-10-29 11:28:37 +00:00
Maarten Bosma
6612001198 Stub IDirectDrawKernel and IDirectDrawSurfaceKernel. This where the last two; now we got Stub for every COM-Interface in ddraw.dll.
svn path=/trunk/; revision=18844
2005-10-29 11:05:23 +00:00
Maarten Bosma
d33a9b8143 Define the GUIDs and other stuff.
svn path=/trunk/; revision=18843
2005-10-29 10:55:45 +00:00
Maarten Bosma
ce2340a078 Create Stubs for IDirectDrawVideoPortNotify and fix return values of IUnknown Stubs.
svn path=/trunk/; revision=18842
2005-10-29 10:37:26 +00:00
Maarten Bosma
53eca0bb47 Define COM-Interfaces for IDirectDrawKernel and SurfaceKernel and add a little typedef.
svn path=/trunk/; revision=18841
2005-10-29 10:33:12 +00:00
Thomas Bluemel
6ea94e6059 implemented SetupDiCreateDevRegKeyA
svn path=/trunk/; revision=18840
2005-10-29 09:59:30 +00:00
Thomas Bluemel
86bb1f6892 implemented SetupDiGetSelectedDriverA
svn path=/trunk/; revision=18839
2005-10-29 09:52:43 +00:00
Hervé Poussineau
c3bd1b9130 Fix infinite loop (spotted by mifritscher)
svn path=/trunk/; revision=18838
2005-10-29 09:49:19 +00:00
Magnus Olsen
689236b337 Taskmgr greenish font remake by irc:dnordenberg (Swedish translator) approved by irc:mf (UI coordinator)
svn path=/trunk/; revision=18837
2005-10-28 19:17:37 +00:00
Gé van Geldorp
fc5c3ee4b0 First send WM_ACTIVATE, then WM_SETFOCUS
svn path=/trunk/; revision=18836
2005-10-28 18:49:27 +00:00
Gé van Geldorp
6d06d18b14 Properly return window state
svn path=/trunk/; revision=18835
2005-10-28 18:48:23 +00:00
Thomas Bluemel
98191672ef don't pass NULL as the last two parameters to ReadFile. This fixes a crash while installing OOo 2.0. Patch also submitted to winehq.
svn path=/trunk/; revision=18834
2005-10-28 15:33:05 +00:00
Thomas Bluemel
b1f73ba822 fix returning the new token handle in DuplicateTokenEx
svn path=/trunk/; revision=18833
2005-10-28 14:31:38 +00:00
Thomas Bluemel
6ee31ba0a4 forward EncodePointer and DecodePointer to ntdll
svn path=/trunk/; revision=18831
2005-10-28 13:37:55 +00:00
Maarten Bosma
2a59f839ef Add Stubs for DirectDrawVideoPort and DDVideoPortContainer.
svn path=/trunk/; revision=18830
2005-10-28 12:12:33 +00:00
Maarten Bosma
4b06d87aad Implement some DirectDraw related COM-Interfaces.
svn path=/trunk/; revision=18829
2005-10-28 12:09:22 +00:00
Maarten Bosma
013ca43155 Dick Buitelaar: Fix DevCpp Backend (Bug 802)
svn path=/trunk/; revision=18828
2005-10-28 10:22:24 +00:00
Thomas Bluemel
c89514fbae fixed uninitialized variable warning
svn path=/trunk/; revision=18827
2005-10-28 09:49:45 +00:00
Hervé Poussineau
2c54e857c6 STDCALL -> NTAPI
Update headers to minimize differences between GCC and MSVC
Move the #include <debug.h> to each file to be able to use precompiled headers
Remove $Id tags

svn path=/trunk/; revision=18826
2005-10-28 07:49:16 +00:00
Art Yerkes
e78968e133 Added build xml.
svn path=/trunk/; revision=18825
2005-10-28 07:04:05 +00:00
Art Yerkes
73062a4f3c Add green.
svn path=/trunk/; revision=18824
2005-10-28 07:03:31 +00:00
Art Yerkes
28056f2091 Make green build with rbuild and current headers.
svn path=/trunk/; revision=18823
2005-10-28 07:03:08 +00:00
Nathan Woods
13c8c834f2 Fixed notepad bug when creating a file on the command line
svn path=/trunk/; revision=18822
2005-10-28 01:29:55 +00:00
Brandon Turner
26d175e489 update todo.txt with current status
svn path=/trunk/; revision=18821
2005-10-28 00:54:31 +00:00
Christoph von Wittich
748170be22 fixed some warnings
svn path=/trunk/; revision=18820
2005-10-28 00:38:46 +00:00
Christoph von Wittich
d0cb6cb732 fixed 4 memory leaks
svn path=/trunk/; revision=18819
2005-10-28 00:14:27 +00:00
Thomas Bluemel
14db8e6026 simplify returning the previous count in NtReleaseMutant
svn path=/trunk/; revision=18818
2005-10-28 00:03:01 +00:00
Thomas Bluemel
4a3213bf1a Fixed ProbeForRead* macros: make sure the data always is read while probing it
svn path=/trunk/; revision=18817
2005-10-27 23:48:22 +00:00
Thomas Bluemel
7c0b5680c1 crash the system is someone uses RTL functions that normally shouldn't be in ntoskrnl at all
svn path=/trunk/; revision=18816
2005-10-27 23:31:14 +00:00
Thomas Bluemel
80570317cb fixed ProbeAndCaptureUnicodeString to properly capture unicode strings
svn path=/trunk/; revision=18815
2005-10-27 23:24:15 +00:00
Ged Murphy
87f4485a9f - start of a rewrite for ipconfig
- simulate the MS netstat utilitys output
- again, it's incomplete, but commiting for SVN log purposes.

svn path=/trunk/; revision=18814
2005-10-27 23:13:04 +00:00
Thomas Bluemel
5f0cd0e893 integrate the reboot dialog into the wizard
svn path=/trunk/; revision=18813
2005-10-27 22:33:17 +00:00
Ged Murphy
7b494e5fe8 Add the beginnings of sc.exe
Very early stages and completley untested. Not adding to build.
Putting in SVN for the sole reason of keeping a development log

svn path=/trunk/; revision=18812
2005-10-27 22:16:52 +00:00
Magnus Olsen
5bd48cf0fa Addin wine 0.9 dplay and dplayx it is directx core for network and tested in windows and not in reactos.
it is working in windows. 

svn path=/trunk/; revision=18811
2005-10-27 22:10:33 +00:00
Magnus Olsen
da8e63268f adding base address for dplay/dplayx
svn path=/trunk/; revision=18808
2005-10-27 22:03:35 +00:00
Magnus Olsen
5e8becbfc2 adding include files for dplay/dplax wine include file with small modifycation.
svn path=/trunk/; revision=18806
2005-10-27 22:02:37 +00:00
Martin Fuchs
1e543d4bc5 disable "Terminate Explorer" in ReactOS build
svn path=/trunk/; revision=18804
2005-10-27 21:43:40 +00:00
Magnus Olsen
0c2180bbdd Addinmg version number and other info (the rc file was missing and it is need to set right version number of the file)
svn path=/trunk/; revision=18803
2005-10-27 21:23:35 +00:00
Magnus Olsen
2d92432972 Addinmg version number and other info (the rc file was missing and it is need to set right version number of the file)
svn path=/trunk/; revision=18802
2005-10-27 21:23:04 +00:00
Magnus Olsen
ffc566425f Addinmg version number and other info (the rc file was missing and it is need to set right version number of the file)
svn path=/trunk/; revision=18801
2005-10-27 21:20:29 +00:00
Magnus Olsen
9847d571c0 Addinmg version number and other info (the rc file was missing and it is need to set right version number of the file)
svn path=/trunk/; revision=18800
2005-10-27 21:19:58 +00:00
Thomas Bluemel
0448c9617f no need to create a symbolic link in \??
svn path=/trunk/; revision=18799
2005-10-27 20:04:17 +00:00
Thomas Bluemel
d0cd0df7fe fix Beep() to make it work with xp's beep.sys
svn path=/trunk/; revision=18798
2005-10-27 20:00:27 +00:00
Christoph von Wittich
f64f737e97 renamed some .S files (msvc fix)
svn path=/trunk/; revision=18797
2005-10-27 19:42:06 +00:00
Christoph von Wittich
4e4de68f90 renamed some .S files (msvc fix)
svn path=/trunk/; revision=18796
2005-10-27 19:33:42 +00:00
Christoph von Wittich
e6cde67a55 renamed .S files so msvc does not try to compile the .c files with the same name anymore
svn path=/trunk/; revision=18795
2005-10-27 19:13:52 +00:00
Gé van Geldorp
9324ac2326 Sync to Wine-0_9:
Francois Gouget <fgouget@free.fr>
- Use "static const" rather than "const static" as gcc -W complains
  about the former.
Michal Suchanek <hramrach@gmail.com>
- Make Czech font selection dialog usable.

svn path=/trunk/; revision=18794
2005-10-27 19:03:58 +00:00
Gé van Geldorp
54abf0d838 Sync to Wine-0_9:
Vitaliy Margolen <wine-patch@kievinfo.com>
- Correct Page Up/Down handling in report mode.
- Don't start dragging for a single mouse click.
- Don't arrange tabs if there is only one line.
Francois Gouget <fgouget@free.fr>
- Use "static const" rather than "const static" as gcc -W complains
  about the former.
Alexandre Julliard <julliard@winehq.org>
- Don't register classes is no theme is active to avoid trouble (based
  on a patch by Vitaliy Margolen).
Krzysztof Foltman <wdev@foltman.com>
- Separators with group style set don't separate toolbar radio groups
  anymore (which broke tool selection in Front Panel Designer).
Troy Rollo <wine@troy.rollo.name>
- Detect when the notification callback has destroyed the ListView to
  avoid attempts to access data that is no longer valid.

svn path=/trunk/; revision=18793
2005-10-27 19:01:29 +00:00
Gé van Geldorp
1def34de04 Sync to Wine-0_9:
Alexandre Julliard <julliard@winehq.org>
- Default search path for an include file should be based on the path of
  the parent source file, not the current directory.
- Add current directory to default include path.
- Set the version we report in wmc and wrc from the global Wine
  version.
- Put Wine version information in all the man pages.

svn path=/trunk/; revision=18792
2005-10-27 18:56:27 +00:00
Gé van Geldorp
aca445f161 Sync to Wine-0_9:
Robert Lunnon <bobl@optushome.com.au>
- Remove SVR4 specific pseudo-ops.
Alexandre Julliard <julliard@winehq.org>
- Put Wine version information in all the man pages.
- Fixed some nroff warnings.
- Added global rules for man pages.
Simon Richter <Simon.Richter@hogyros.de>
- Fix winebuild's ppc assembly generation.

svn path=/trunk/; revision=18791
2005-10-27 18:32:01 +00:00
Martin Fuchs
b1f528f00f update change list for 0.2.8 release
svn path=/trunk/; revision=18790
2005-10-27 18:18:40 +00:00
Gé van Geldorp
20fa130a98 Fix build problems introduced by r18788
svn path=/trunk/; revision=18789
2005-10-27 18:06:50 +00:00
Gé van Geldorp
d68c7aaf71 Sync to Wine-0_9:
Alexandre Julliard <julliard@winehq.org>
- Default search path for an include file should be based on the path of
  the parent source file, not the current directory.

svn path=/trunk/; revision=18788
2005-10-27 17:40:32 +00:00
Aleksey Bragin
49d6f75f30 Translation by Mikhail Zvyozdochkin, proofread by me.
svn path=/trunk/; revision=18786
2005-10-27 14:18:09 +00:00
Gé van Geldorp
6ae6d5c704 Update status
svn path=/trunk/; revision=18785
2005-10-27 14:10:58 +00:00
Aleksey Bragin
d68cf033eb Translation by Mikhail Zvyozdochkin, proofread and fixed in some places by me.
svn path=/trunk/; revision=18783
2005-10-27 13:38:56 +00:00
Gé van Geldorp
2643575b85 Change Tcpip and Afd drivers from auto-start to system-start, since we don't
auto-start device drivers yet

svn path=/trunk/; revision=18782
2005-10-26 23:26:44 +00:00
Gé van Geldorp
c40ca03e31 Fix lurking bug exposed by r18687
svn path=/trunk/; revision=18781
2005-10-26 23:19:37 +00:00
Hervé Poussineau
ae16fd8e66 Allow very long path names for .inf files by using a dynamic buffer
Check return code of GetFullPathNameW

svn path=/trunk/; revision=18780
2005-10-26 20:42:19 +00:00
Hervé Poussineau
7dd5d44a29 Open .inf files in directory specified in SP_DEVINSTALL_PARAMS (if any)
svn path=/trunk/; revision=18779
2005-10-26 20:14:15 +00:00
Thomas Bluemel
f0a99faa99 implemented SetupDiSetSelectedDriverA
svn path=/trunk/; revision=18778
2005-10-26 19:00:08 +00:00
Hervé Poussineau
66242cc2c6 Fix some corner-cases (no .inf file in provided directory when creating driver list, or no suitable driver when destroying driver list)
svn path=/trunk/; revision=18777
2005-10-26 18:19:20 +00:00
Brandon Turner
bc89fd6d16 Calculate the screen size correctly. Allow a file name input.
svn path=/trunk/; revision=18776
2005-10-26 12:47:22 +00:00
Christoph von Wittich
9a3202d295 fix network
svn path=/trunk/; revision=18775
2005-10-25 19:54:15 +00:00
Andrew Munger
0e53cd852d Disable patented bytecode interpreter, will investigate the non-patented configuration.
svn path=/trunk/; revision=18773
2005-10-25 18:01:14 +00:00
Hervé Poussineau
4ee6c762d2 Return STATUS_INSUFFICIENT_BUFFER in SetupDiGetDeviceRegistryPropertyW if buffer for data was not specified.
This is not the same behaviour as RegQueryValueExW which returns a success in this case...

svn path=/trunk/; revision=18772
2005-10-25 15:43:06 +00:00
Brandon Turner
9c0aa86aa7 Dont exit on "exit /?". Reported by bblaauw@home.nl
svn path=/trunk/; revision=18770
2005-10-25 15:18:35 +00:00
Maarten Bosma
441ebe91cd Implement some COM-related functions.
svn path=/trunk/; revision=18767
2005-10-25 14:03:20 +00:00
Nathan Woods
6d06e2139b Regedit fix and enhancement
1.  Fixed a bug in suggestions if the selected key cycles
2.  Implemented "Copy Key Name"


svn path=/trunk/; revision=18766
2005-10-24 23:46:55 +00:00
Nathan Woods
0345348a28 Notepad will no longer add .txt if you invoke it specifying a file that does not exist, but has a file extension
svn path=/trunk/; revision=18765
2005-10-24 23:44:07 +00:00
Gé van Geldorp
e0968c78d0 Synthesize a small icon if none given
svn path=/trunk/; revision=18764
2005-10-24 22:02:39 +00:00
Gé van Geldorp
cc33d0bac1 Workaround for icon stretching. Makes icons in title bar and taskbar display
properly.

svn path=/trunk/; revision=18763
2005-10-24 21:57:32 +00:00
Gé van Geldorp
4b3bf39cbc Small fixes to 1bpp->1bpp stretching
svn path=/trunk/; revision=18762
2005-10-24 21:54:26 +00:00
Casper Hornstrup
7a79eea045 Fix linker script parameter location. Spotted by Hartmut Birr.
svn path=/trunk/; revision=18760
2005-10-24 21:08:08 +00:00
Royce Mitchell III
450d4c43e7 added <linkerscript> and corrected some mistakes to the best of my understanding
can't figure out (based on current definition) how to define <module> as allowing only a single <linkerscript>, but allowing it anywhere within the sub-elements of <module>

svn path=/trunk/; revision=18759
2005-10-24 20:00:48 +00:00
Casper Hornstrup
b995bcf1bd Implement linkerscript element
svn path=/trunk/; revision=18758
2005-10-24 19:38:58 +00:00
Magnus Olsen
dd10647983 prepare the rest of directdraw syscall using cache info, that will make our ddraw.dll work evently in reactos.
left todo implemet the rest stub. 

svn path=/trunk/; revision=18757
2005-10-24 18:47:33 +00:00
Hartmut Birr
aaa2a0d33a Fixed the calculation of the hash for the process data.
svn path=/trunk/; revision=18756
2005-10-24 18:03:57 +00:00
Hartmut Birr
fea86552f0 Changed the indentation to a human readable format (no code change).
svn path=/trunk/; revision=18755
2005-10-24 18:00:46 +00:00
Hartmut Birr
152111652c - Removed the initialisation of the kernel map area.
- Allocate the region for the paged and non paged pool at a 4MB boundary.  
- Protect the local and i/o apic by a memory area.

svn path=/trunk/; revision=18754
2005-10-24 17:55:50 +00:00
Thomas Bluemel
293a3fe31b convert tabs to spaces to make it readable with tabs != 8 spaces
svn path=/trunk/; revision=18753
2005-10-24 17:54:55 +00:00
Thomas Bluemel
b0ccf077ec fixed uninitialized variable warning
svn path=/trunk/; revision=18752
2005-10-24 17:50:14 +00:00
Hartmut Birr
a699e1ac44 Fixed Ki386WriteFsByte.
svn path=/trunk/; revision=18751
2005-10-24 17:45:37 +00:00
Hartmut Birr
ab7b402799 Enabled some debug messages.
svn path=/trunk/; revision=18750
2005-10-24 17:43:53 +00:00
Hartmut Birr
e206381dc3 Fixed the stub for AddAccessDeniedObjectAce.
svn path=/trunk/; revision=18749
2005-10-24 17:41:16 +00:00
Hartmut Birr
aa1cb7dd32 Disable some unimplemented functions.
svn path=/trunk/; revision=18748
2005-10-24 17:39:57 +00:00
Magnus Olsen
ccae733920 prepare some directdraw syscall using cache info, that will make our ddraw.dll work evently in reactos.
svn path=/trunk/; revision=18747
2005-10-24 17:32:47 +00:00
Hartmut Birr
d4f5019aa8 - Translate STATUS_DEVICE_NOT_CONNECTED to the correct error.
svn path=/trunk/; revision=18746
2005-10-24 17:27:41 +00:00
Hartmut Birr
d82094a55c - Initialize the csr request inside the loop, if CsrClientCallServer is called inside a loop.
svn path=/trunk/; revision=18745
2005-10-24 17:25:23 +00:00
Hartmut Birr
3df6f62217 - Change the protection in WriteProcessMemory if it is necessary.
svn path=/trunk/; revision=18744
2005-10-24 17:23:42 +00:00
Hartmut Birr
ee7bf669c9 - Set the correct type and state in MiQueryVirtualMemory.
- Return an error in MiProtectVirtualMemory if we trying to access a region other than a section view or virtual memory.  
- Don't allow to read or write kernel memory in NtRead/WriteVirtualMemory.  
- Don't unprotect the memory in NtWriteVirtualMemory.  
- Don't allow to change the memory protection of kernel address space.  
- If it is possible, access the memory aligned by pages (in ProbeForWrite).

svn path=/trunk/; revision=18743
2005-10-24 17:21:23 +00:00
Eric Kohl
43e26abb6c Fixed definition of ScmrChangeServiceConfigW:
- lpBinaryPathName must be a [unique] pointer.

svn path=/trunk/; revision=18742
2005-10-24 17:13:08 +00:00
Magnus Olsen
4c02f58b0c filling in bit more info to DDRAW_GLOBAL struct in halinistate.
svn path=/trunk/; revision=18741
2005-10-24 16:44:37 +00:00
Maarten Bosma
c40fbd1850 Implemented thunks for IDirectDrawSurface and IDirectDraw. This isn't good code, because it is a mixture of wine and our code. But it works as far as I can see. I will fix it someday.
svn path=/trunk/; revision=18740
2005-10-24 16:29:36 +00:00
Hartmut Birr
d235bb6282 Set the correct length in MmQuerySectionView.
svn path=/trunk/; revision=18739
2005-10-24 15:56:03 +00:00
Thomas Bluemel
5c327e140d don't define DirectDrawClipper_Vtable statically
svn path=/trunk/; revision=18738
2005-10-24 15:35:04 +00:00
Hartmut Birr
c078ce1a67 Revert r18735 and add the missing definition to svcctl.idl.
svn path=/trunk/; revision=18737
2005-10-24 15:26:54 +00:00
Christoph von Wittich
80e769db8d added PCI interrupt link device
svn path=/trunk/; revision=18736
2005-10-24 14:00:14 +00:00
Gé van Geldorp
4e08771dcb Temporary workaround to fix build
svn path=/trunk/; revision=18735
2005-10-24 12:55:54 +00:00
Hervé Poussineau
6a15dd3664 Install .CoInstallers section from .inf file
Call class coinstallers and device coinstallers when installing a device

svn path=/trunk/; revision=18734
2005-10-24 12:49:05 +00:00
Hervé Poussineau
11ed514a08 Set NULL driver for LPT ports
Add more PnP IDs in machine.inf

svn path=/trunk/; revision=18733
2005-10-24 11:40:14 +00:00
Hervé Poussineau
7ea7922b13 Add functions to reference/dereference InfFileDetails structure added in r18731 (suggestion by w3seek)
svn path=/trunk/; revision=18732
2005-10-24 09:39:53 +00:00
Hervé Poussineau
1d328d2072 Don't leak memory when destroying device info set and driver lists
Try to keep .inf files handles instead of opening/parsing them at each device installation step

svn path=/trunk/; revision=18731
2005-10-24 09:16:34 +00:00
Magnus Olsen
c29c9e80df update the intddraw.h so it use some struct that was missing.
svn path=/trunk/; revision=18730
2005-10-24 05:05:07 +00:00
Maarten Bosma
2f9dc96321 ... files I forgot to commit.
svn path=/trunk/; revision=18728
2005-10-23 21:31:15 +00:00
Maarten Bosma
4f91735027 Add lots of stubs.
svn path=/trunk/; revision=18727
2005-10-23 21:29:30 +00:00
Nathan Woods
1184c4d49e Notepad: Fixed "Find Up"
svn path=/trunk/; revision=18726
2005-10-23 21:19:34 +00:00
Magnus Olsen
fd37360789 implement Main_DirectDraw_GetDisplayMode (not to 100% see the comment)
implement Main_DirectDraw_GetMonitorFrequency but we do not get the freq at return we need exaime the hal instate.
 

svn path=/trunk/; revision=18725
2005-10-23 21:17:12 +00:00
Eric Kohl
0adb2c35cf - Implement ScmrChangeServiceConfigW stub.
- CreateServiceW calls ScmrCreateServiceW.

svn path=/trunk/; revision=18723
2005-10-23 19:50:05 +00:00
Magnus Olsen
1ad37b3ad9 first working api is GetCaps for HAL. rember we do not support HEL, and we are missing GdiEntry2 in ros, so it will not working in reactos until gdientry2 are inplace.
svn path=/trunk/; revision=18722
2005-10-23 19:24:42 +00:00
Magnus Olsen
85312cc2fe adding #define DD_FALSE
svn path=/trunk/; revision=18721
2005-10-23 19:18:39 +00:00
Thomas Bluemel
c0bbaf7802 implement MakeAbsoluteSD2 by forwarding to RtlSelfRelativeToAbsoluteSD2
svn path=/trunk/; revision=18718
2005-10-23 18:23:57 +00:00
Magnus Olsen
af1b54ef10 change the marco return code to DDERR_UNSUPPORTED
svn path=/trunk/; revision=18717
2005-10-23 18:03:08 +00:00
Maarten Bosma
8cee664d6f Add a macro for the stubs.
svn path=/trunk/; revision=18716
2005-10-23 17:53:19 +00:00
Magnus Olsen
36717587bb fix the thrunk so it compiles again after me
svn path=/trunk/; revision=18715
2005-10-23 16:46:36 +00:00
Magnus Olsen
3990f85a1a fix the ddrawint.h no typo remove one extra member in some struct, adding define, new struct
svn path=/trunk/; revision=18714
2005-10-23 15:27:27 +00:00
Magnus Olsen
7133de6563 commit change to ddraw to use the new headers that will come in next commit
svn path=/trunk/; revision=18713
2005-10-23 15:24:56 +00:00
Ged Murphy
8d7e78ac81 - Add the calculator to the start menu
- Capilalize the app names

svn path=/trunk/; revision=18712
2005-10-23 15:06:20 +00:00
Magnus Olsen
69d818448c reverit my last change, filip told me this file is autogenrate I did not check, thx filip
svn path=/trunk/; revision=18711
2005-10-23 15:03:21 +00:00
Magnus Olsen
a8911f78ca commect out line #include "eventlogrpc_s.h" for that file does not exists in ros tree. and that why cis goes crazy.
svn path=/trunk/; revision=18710
2005-10-23 15:00:27 +00:00
Casper Hornstrup
2c831a1935 Have pre-compiled header rule depend on widl generated headers
svn path=/trunk/; revision=18709
2005-10-23 14:51:35 +00:00
Christoph von Wittich
1013f08f7f german translation
svn path=/trunk/; revision=18708
2005-10-23 14:44:12 +00:00
Ged Murphy
a16f71a150 - Now that WineMine is working again, put it in the start menu
- All rc files currently in English

svn path=/trunk/; revision=18707
2005-10-23 14:39:51 +00:00
Gé van Geldorp
e02b1fcfad Add resource file, makes winemine playable again
svn path=/trunk/; revision=18705
2005-10-23 13:06:34 +00:00
Hervé Poussineau
2afa4d0937 Implement SetupDiSetDeviceRegistryPropertyW (not tested)
svn path=/trunk/; revision=18704
2005-10-23 12:41:54 +00:00
Magnus Olsen
2e38732117 fix some typo error in DD_VIDEOPORTCALLBACKS
svn path=/trunk/; revision=18703
2005-10-23 12:36:40 +00:00
Ged Murphy
1e8113e6e3 _MAX_PATH > MAXPATH
Shortcut to winemine, but commented out as winemine is broken.

svn path=/trunk/; revision=18702
2005-10-23 11:55:49 +00:00
Hervé Poussineau
37295e7c83 Create and open device/driver registry keys with right access mask
svn path=/trunk/; revision=18701
2005-10-23 11:35:58 +00:00
Gé van Geldorp
f821b2833d Don't issue KBD_LINE_TEST, the results are unreliable. Fixes reopen of #688.
svn path=/trunk/; revision=18699
2005-10-23 11:32:52 +00:00
Ged Murphy
007c0dd6bc use GetSystemDirectory
svn path=/trunk/; revision=18698
2005-10-23 11:01:11 +00:00
Magnus Olsen
c313a311da Move struct DDARGB to right include file, Adding GUID define GUID_MiscellaneousCallbacks, GUID_Miscellaneous2Callbacks, GUID_VideoPortCallbacks, GUID_ColorControlCallbacks, GUID_MotionCompCallbacks, GUID_VideoPortCaps, GUID_D3DCaps, GUID_D3DExtendedCaps, GUID_D3DCallbacks, GUID_D3DCallbacks2, GUID_D3DCallbacks3, GUID_NonLocalVidMemCaps, GUID_KernelCallbacks, GUID_KernelCaps, GUID_ZPixelFormats, GUID_DDMoreCaps, GUID_D3DParseUnknownCommandCallback, GUID_NTCallbacks, GUID_DDMoreSurfaceCaps, GUID_GetHeapAlignment, GUID_UpdateNonLocalHeap, GUID_NTPrivateDriverCaps, GUID_DDStereoMode, GUID_VPE2Callbacks
svn path=/trunk/; revision=18697
2005-10-23 10:58:21 +00:00
Hervé Poussineau
177148f7e7 Manufacturer section names can also be decorated by architecture-specific extension
Fix possible buffer overflow (spotted by w3seek)

svn path=/trunk/; revision=18696
2005-10-23 10:40:25 +00:00
Magnus Olsen
86a86862c4 adding DD_VIDEOPORT_LOCAL struct
svn path=/trunk/; revision=18695
2005-10-23 10:02:46 +00:00
Filip Navara
b3fdbe1277 Call CLIPPING_UpdateGCRegion every time we update clip region.
svn path=/trunk/; revision=18694
2005-10-23 09:54:12 +00:00
Eric Kohl
f86f34bda5 Improvements to ScmrCreateServiceW:
- Allocate a service record for the new service.
- Fix registry value types and sizes.
- Fail if the new service already exists.

svn path=/trunk/; revision=18693
2005-10-23 06:19:15 +00:00
Christoph von Wittich
00fb63ba19 fixed some bugs in machine.inf
added keyboard.inf
added LPT Port to ports.inf

svn path=/trunk/; revision=18692
2005-10-23 01:06:59 +00:00
Hervé Poussineau
5c6c2bf52d Small fixes in descriptions, fix typos, sort by alphabetical order
svn path=/trunk/; revision=18691
2005-10-22 22:58:24 +00:00
Christoph von Wittich
2eeb25af10 fix warnings in winetests
svn path=/trunk/; revision=18690
2005-10-22 20:42:20 +00:00
Thomas Bluemel
374cb13ded implemented SetupDiGetDriverInfoDetailA()
svn path=/trunk/; revision=18689
2005-10-22 20:12:42 +00:00
Aleksey Bragin
7b786e95e7 Implement acpi_pci_X_cfg_Y using HalXBusDataByOffset()
svn path=/trunk/; revision=18688
2005-10-22 20:03:50 +00:00
Christoph von Wittich
5f32912b73 fix inet_aton problem
svn path=/trunk/; revision=18687
2005-10-22 20:02:03 +00:00
Eric Kohl
1060e47c32 Update indentation.
svn path=/trunk/; revision=18686
2005-10-22 19:46:00 +00:00
Eric Kohl
cf54e94b6e Simplify services.exe.
svn path=/trunk/; revision=18685
2005-10-22 18:59:39 +00:00
Gé van Geldorp
13fa224348 Move some of the DLLs a bit so they won't have to be relocated. Sort by
address.

svn path=/trunk/; revision=18684
2005-10-22 18:32:16 +00:00
Hervé Poussineau
601eea6d49 Add a display class installer (useful when installing display drivers)
Use a common header for desk.cpl files

svn path=/trunk/; revision=18683
2005-10-22 17:18:33 +00:00
Christoph von Wittich
83070357bd add drivers to machine.inf:
System timer
DMA controller
System speaker
Generic ACPI bus
AT real-time clock
Motherboard resources
EISA programmable interrupt controller
ACPI Fixed Feature Button
Intel 82443BX Pentium(R) II CPU to PCI-Bridge
Intel 82371AB/EB Power Management Controller
Intel 82371AB/EB PCI to ISA Bridge

svn path=/trunk/; revision=18682
2005-10-22 17:13:49 +00:00
Hervé Poussineau
c707e62ae9 Implement SetupDiGetDriverInfoDetailW
Add stub for SetupDiGetDriverInfoDetailA

svn path=/trunk/; revision=18681
2005-10-22 16:25:48 +00:00
Hartmut Birr
37fe3f1b68 Fixed the mapping for low alignment images.
svn path=/trunk/; revision=18679
2005-10-22 15:11:55 +00:00
Gé van Geldorp
14f1738dcb Use MaxPos instead of MaxTrackingPos when "restoring" a window which was
previously maximized. Fixes bug 925.

svn path=/trunk/; revision=18678
2005-10-22 15:10:03 +00:00
Thomas Bluemel
17b0ab5b83 don't forget to adjust the stack pointer
svn path=/trunk/; revision=18677
2005-10-22 14:35:07 +00:00
Thomas Bluemel
6b3c8a5f9a - re-add support for vectored exception handling which was removed by the major refactoring patch (r17811)
- make vmwinst depend on vectored exception handling so this doesn't happen again

svn path=/trunk/; revision=18676
2005-10-22 14:05:20 +00:00
Royce Mitchell III
9ec41a63c2 add raddr2line back to build
svn path=/trunk/; revision=18675
2005-10-22 13:37:48 +00:00
Gé van Geldorp
bcd9ce027b Fix icon alignment when the screen width is not a multiple of the icon spacing.
Fixes bug 912.

svn path=/trunk/; revision=18673
2005-10-22 12:01:29 +00:00
Christoph von Wittich
72f86b85b9 fix bug in user32_winetest
now it runs 43 clipboard tests instead of 39

svn path=/trunk/; revision=18672
2005-10-22 11:51:52 +00:00
Christoph von Wittich
fd0fbedd9e adding gccasm.rules to vcproj files
now it is possible to compile .s files with msvc

svn path=/trunk/; revision=18671
2005-10-22 02:27:37 +00:00
Christoph von Wittich
aff22063c4 fix warnings
svn path=/trunk/; revision=18670
2005-10-22 01:46:46 +00:00
Christoph von Wittich
131429986c add resources for newdev.dll
svn path=/trunk/; revision=18669
2005-10-21 23:44:43 +00:00
Christoph von Wittich
f1fcff6a3b fix SetLastError value ERROR_MORE_DATA -> ERROR_INSUFFICIENT_BUFFER
svn path=/trunk/; revision=18668
2005-10-21 23:40:09 +00:00
Gé van Geldorp
786e945883 Make FindWindow case insensitive. Fixes bug 919.
svn path=/trunk/; revision=18666
2005-10-21 21:13:07 +00:00
Gé van Geldorp
6940e61dd6 - Enable/disable keyboard by writing the controller command byte instead of
issuing keyboard commands, the keyboard commands seem to confuse some kvm
  switches.
- Use STATUS_IO_TIMEOUT consistently, STATUS_TIMEOUT is not an error condition
- Introduce symbolic constants for controller command byte bits
- Try to detect mouse early and if its not present, reset the keyboard
  controller. Some controllers seem to get locked up when writing to a
  non-present mouse.
- Don't check the timeout status bit when reading from the controller. It is
  often wrong.
- Don't treat failure to read keyboard id as a fatal error, we only read it
  to set KeyboardIsAT which we then don't use. Still try to detect the keyboard
  type, but don't fail if it doesn't work.
Fixes bug 688. Thanks to Hartmut, Filip and WaxDragon for testing.

svn path=/trunk/; revision=18664
2005-10-21 20:28:05 +00:00
Gé van Geldorp
a861531b6c Make desktop properties fit in 640x480 desktop. Fixes bug 903.
svn path=/trunk/; revision=18661
2005-10-21 19:30:56 +00:00
Gé van Geldorp
bed898c6aa Make desktop properties fit in 640x480 desktop
svn path=/trunk/; revision=18660
2005-10-21 19:29:18 +00:00
Gé van Geldorp
f804141345 Martijn Vernooij <o112w8r02@sneakemail.com>
Work around continuous repainting of treeview control.
Fixes bug 493.

svn path=/trunk/; revision=18657
2005-10-21 17:15:53 +00:00
Thomas Bluemel
87a380e34d forgot to commit this...
svn path=/trunk/; revision=18655
2005-10-21 14:04:40 +00:00
Thomas Bluemel
fcc17d749e added stubs for AccessCheckByTypeAndAuditAlarmA/W, AccessCheckByTypeResultListAndAuditAlarmA/W, AccessCheckByTypeResultListAndAuditAlarmByHandleA/W, GetAuditedPermissionsFromAclA and GetEffectiveRightsFromAclA
svn path=/trunk/; revision=18654
2005-10-21 13:45:48 +00:00
Andrew Munger
baa9fed721 When you move something in the tree that is on the bootcd, you must update bootdata/packages/reactos.dff. DHCP was missing from recent bootcds.
svn path=/trunk/; revision=18653
2005-10-21 13:20:19 +00:00
Andrew Munger
6bbd4e5cd3 New search icon.
svn path=/trunk/; revision=18652
2005-10-21 12:59:32 +00:00
Thomas Bluemel
661cb55a8a implemented ansi stubs: SetupGetInfFileListA and SetupDiGetINFClassA
svn path=/trunk/; revision=18651
2005-10-21 12:31:19 +00:00
Hervé Poussineau
46559fcbf2 Implement SetupDiGetDeviceInstallParamsW/SetupDiSetDeviceInstallParamsW
Set and use Flags and FlagsEx fields in SP_DEVINSTALL_PARAMS
Allow search of .inf files outside of ReactOS\Inf directory

svn path=/trunk/; revision=18650
2005-10-21 10:13:26 +00:00
Thomas Bluemel
b8a765d1ed minor fixes of included headers
svn path=/trunk/; revision=18649
2005-10-21 09:33:20 +00:00
Ged Murphy
6d032338d0 make more robust by calling GetSystemDirectory
svn path=/trunk/; revision=18648
2005-10-20 23:08:44 +00:00
Ged Murphy
eec7e9d35d insert solitaire into the start menu if it's been installed.
svn path=/trunk/; revision=18647
2005-10-20 22:11:33 +00:00
Christoph von Wittich
d181c34e7a fixed creation of *.vcproj files for object libraries
started implementing code which adds dependencies to *.sln file
fixed some warnings in cmd when compiling with msvc 2005

svn path=/trunk/; revision=18646
2005-10-20 21:55:55 +00:00
Ged Murphy
2a39898c1e setup 'Games' subfolder ready for Solitaire, etc.
svn path=/trunk/; revision=18645
2005-10-20 21:11:56 +00:00
Hervé Poussineau
6f1abc4b16 Add pciidex (controller driver) and pciide (miniport driver). They enumerate channels 0 and 1 on IDE controllers.
svn path=/trunk/; revision=18644
2005-10-20 19:33:16 +00:00
Christoph von Wittich
a1c14231d4 fixing OutputFile in *.vcproj files
svn path=/trunk/; revision=18643
2005-10-20 18:55:45 +00:00
Thomas Bluemel
582c386e46 improved error handling in RegRenameKey
svn path=/trunk/; revision=18642
2005-10-20 18:17:06 +00:00
Thomas Bluemel
7da9542b29 fixed uninitialized variable warning
svn path=/trunk/; revision=18641
2005-10-20 18:07:00 +00:00
Thomas Bluemel
973d0cfabc fix r18639 the right way: don't check a - possibly random - pointer supplied by the caller, also correctly clear the owner SID pointer
svn path=/trunk/; revision=18640
2005-10-20 17:59:00 +00:00
Andrew Munger
c36fc14394 One liner from Alex_Ionescu that fixes svn hanging during checkout or update.
svn path=/trunk/; revision=18639
2005-10-20 17:48:19 +00:00
Royce Mitchell III
179739c746 we do still need to generate dsw files for msvc6
svn path=/trunk/; revision=18638
2005-10-20 16:49:00 +00:00
Christoph von Wittich
ffbb6a9873 simplify MSVCBackend::Process code
svn path=/trunk/; revision=18637
2005-10-20 16:13:20 +00:00
Hervé Poussineau
7aa02a3b89 Revert r18628, as we don't have any RTL8139 driver in ReactOS repository
svn path=/trunk/; revision=18636
2005-10-20 16:04:35 +00:00
Thomas Bluemel
d462751f9a use the ansi entry point by default
svn path=/trunk/; revision=18635
2005-10-20 15:50:02 +00:00
Christoph von Wittich
0d623d28e1 fix compile problems with msvc6
svn path=/trunk/; revision=18634
2005-10-20 15:28:35 +00:00
Thomas Bluemel
f7dd935bcd add a 'unicode' property to modules (not yet supported by mingw, need to add a library for unicode builds some day)
svn path=/trunk/; revision=18633
2005-10-20 15:17:38 +00:00
Christoph von Wittich
068ceb8c0f add targets for creating MSVC project files to Makefile
fix bug in msvc backend: VS.NET project files are not destroyed anymore when creating VC6 project files

svn path=/trunk/; revision=18632
2005-10-20 15:04:55 +00:00
Christoph von Wittich
db95f67404 create only the project files specified on cmdline
svn path=/trunk/; revision=18631
2005-10-20 14:27:02 +00:00
Royce Mitchell III
613156caf8 msvc6+psdk fix
svn path=/trunk/; revision=18630
2005-10-20 14:10:23 +00:00
Royce Mitchell III
c4f10fc116 msvc6+PSDK fixes
svn path=/trunk/; revision=18629
2005-10-20 14:05:27 +00:00
Hervé Poussineau
1d8fc0ce9e Add more RTL8139 compatible cards.
svn path=/trunk/; revision=18628
2005-10-20 14:02:38 +00:00
Royce Mitchell III
f08e0f0692 fix msvc6 template warning
fix writing to uninitialized pointer

svn path=/trunk/; revision=18627
2005-10-20 13:59:37 +00:00
Christoph von Wittich
997e8fb48c create more correct solution files for different versions of MS Visual Studio
svn path=/trunk/; revision=18626
2005-10-20 12:42:09 +00:00
Christoph von Wittich
536b7cd7f7 forgot to commit rbuild.h
svn path=/trunk/; revision=18625
2005-10-20 11:46:56 +00:00
Christoph von Wittich
2104d4ade7 fix vcprojmaker to add the correct GUIDs
implemented Debug/Release configurations to make Alex happy

svn path=/trunk/; revision=18624
2005-10-20 11:21:23 +00:00
Christoph von Wittich
68bfd8c14e fix creation of shlwapi vcproject file
svn path=/trunk/; revision=18623
2005-10-20 09:43:49 +00:00
Christoph von Wittich
ee2234a457 fix for creating *.sln file
svn path=/trunk/; revision=18622
2005-10-20 08:46:55 +00:00
Christoph von Wittich
2eb4ba358b added new cmdline switch to rbuild: -vs{version}
to select the version of MS VS project files to generate

default is now 7.10 (VS 2003)

svn path=/trunk/; revision=18621
2005-10-20 06:40:58 +00:00
James Tabor
089e05b94d Testing MPlayerC.exe, start implementing GetMenuBarInfo. It looks simple enough.
svn path=/trunk/; revision=18620
2005-10-20 01:24:49 +00:00
Christoph von Wittich
0fcd5f187e fixed some warnings when compile with msvc 2005
svn path=/trunk/; revision=18619
2005-10-19 23:45:55 +00:00
Christoph von Wittich
d2627cecf5 fix poppack.h on wrong position
svn path=/trunk/; revision=18618
2005-10-19 23:44:16 +00:00
Christoph von Wittich
5e2eed7a02 remove winternl.h
(fix build)

svn path=/trunk/; revision=18617
2005-10-19 23:38:51 +00:00
Christoph von Wittich
b0e1d472a1 fix "./" include dir
svn path=/trunk/; revision=18616
2005-10-19 23:20:17 +00:00
Alex Ionescu
f2ec008f69 - Fix compile with msvc/psdk.
svn path=/trunk/; revision=18615
2005-10-19 23:08:12 +00:00
Alex Ionescu
986feb9eea - Fix build issues.
svn path=/trunk/; revision=18614
2005-10-19 22:51:21 +00:00
Christoph von Wittich
a9e2477672 remove winternl.h
svn path=/trunk/; revision=18613
2005-10-19 22:43:09 +00:00
Christoph von Wittich
cf2d8e0404 fix NtSecAPI.h
aclui now compiles without winternl.h

svn path=/trunk/; revision=18612
2005-10-19 22:42:32 +00:00
Christoph von Wittich
4cafe154cc fix compile with msvc
svn path=/trunk/; revision=18611
2005-10-19 21:46:30 +00:00
Magnus Olsen
778c4d292a update cmd todo text
svn path=/trunk/; revision=18610
2005-10-19 21:46:17 +00:00
Ged Murphy
ed11dc0a27 update xml file. dhcp has moved to /services
svn path=/trunk/; revision=18609
2005-10-19 21:26:25 +00:00
Ged Murphy
7ffc7be8a7 dhcp has moved to /services
svn path=/trunk/; revision=18608
2005-10-19 21:25:26 +00:00
Ged Murphy
38e275b6f7 move dhcp client from /subsys/system to /services
svn path=/trunk/; revision=18607
2005-10-19 21:22:28 +00:00
Magnus Olsen
4f2b8fba21 Fix the head so it compiles again.
do not define same DBG_** twice. 

svn path=/trunk/; revision=18606
2005-10-19 21:10:17 +00:00
Christoph von Wittich
27cc2b7d94 fix compile with msvc
svn path=/trunk/; revision=18605
2005-10-19 21:08:53 +00:00
Aleksey Bragin
79c52cf8f8 Translation to russian language + fixes in En.rc
svn path=/trunk/; revision=18604
2005-10-19 20:35:01 +00:00
Aleksey Bragin
d0804bb319 Fix a typo
svn path=/trunk/; revision=18603
2005-10-19 20:09:30 +00:00
Brandon Turner
cdf0011b1c add CRLF to fix build
svn path=/trunk/; revision=18602
2005-10-19 19:50:15 +00:00
Filip Navara
8f2b6df4bb Fix DbgPrint calls.
svn path=/trunk/; revision=18601
2005-10-19 19:33:15 +00:00
Christoph von Wittich
675b2d1098 fixed inconsistent newlines
svn path=/trunk/; revision=18600
2005-10-19 17:18:34 +00:00
Christoph von Wittich
58a71c4e3f added missing advapi32.lib
svn path=/trunk/; revision=18599
2005-10-19 17:05:58 +00:00
Alex Ionescu
8c002db0c2 - NDK fix: don't undef a million status codes, instead, have apps define WIN32_NO_STATUS.
- winnt.h: respect WIN32_NO_STATUS for DBG codes.
- rtl: change STDCALL to NTAPI
- everything else: add precompiled headers where missing, define WIN32_NO_STATUS.

svn path=/trunk/; revision=18598
2005-10-19 17:03:38 +00:00
Magnus Olsen
593300080a Change LANGUAGE LANG_JAPANESE, SUBLANG_NEUTRAL to LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
So it works in windows, and in Visualstudio

svn path=/trunk/; revision=18597
2005-10-19 17:02:15 +00:00
Magnus Olsen
6faa7273db Change LANGUAGE LANG_JAPANESE, SUBLANG_NEUTRAL to LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
So it works in windows, and in Visualstudio  

svn path=/trunk/; revision=18596
2005-10-19 16:53:08 +00:00
Christoph von Wittich
612361f0d7 add support for cpl applets
add hardcoded "." include path like already in msvcmaker.cpp

svn path=/trunk/; revision=18595
2005-10-19 16:08:34 +00:00
Christoph von Wittich
03bd1b5838 reformat rc files to make them more readable AND comile with msvc
change CALLBACK to APIENTRY like in windows

svn path=/trunk/; revision=18594
2005-10-19 16:05:12 +00:00
Christoph von Wittich
da36e335c1 reverted to 17089, we have to fix rbuild instead
svn path=/trunk/; revision=18593
2005-10-19 14:18:29 +00:00
Christoph von Wittich
d7d94ab421 fixed rc files to compile with ms rc
svn path=/trunk/; revision=18592
2005-10-19 14:09:23 +00:00
Christoph von Wittich
2531be20a0 fixed prototypes in cpl.h
svn path=/trunk/; revision=18591
2005-10-19 14:08:31 +00:00
Brandon Turner
e1ace3e194 after some long hard thought i decided to not use the broken cmd version of CommandLineToArgvW and start using the less broken ros api version. This doesnt matter all that much as cmd isnt compiled as unicode(yet).
svn path=/trunk/; revision=18590
2005-10-19 13:12:01 +00:00
Christoph von Wittich
9ff9863045 set eol-style:native
svn path=/trunk/; revision=18589
2005-10-19 02:53:03 +00:00
Christoph von Wittich
f49330a2f1 fixed some msvc compile issues
fixed duplicated IDs in rc files

svn path=/trunk/; revision=18588
2005-10-19 02:41:18 +00:00
Christoph von Wittich
0789731009 set eol-style:native
svn path=/trunk/; revision=18587
2005-10-19 02:21:19 +00:00
Christoph von Wittich
a019e28705 added missing advapi32.lib
svn path=/trunk/; revision=18586
2005-10-19 02:01:23 +00:00
Christoph von Wittich
457733ee7a add support for control panel applets
svn path=/trunk/; revision=18585
2005-10-19 01:59:25 +00:00
Christoph von Wittich
4370373447 fixed msvc compile problem
svn path=/trunk/; revision=18584
2005-10-19 00:56:49 +00:00
Christoph von Wittich
bbe3e0120a fixed some compile problems with msvc 2003/2005
svn path=/trunk/; revision=18583
2005-10-19 00:46:31 +00:00
Christoph von Wittich
149be15434 fixed compile problems with msvc 2003/2005
svn path=/trunk/; revision=18582
2005-10-19 00:19:25 +00:00
Christoph von Wittich
ffe3881148 added missing shell32.lib
svn path=/trunk/; revision=18581
2005-10-18 23:53:47 +00:00
Christoph von Wittich
ade25eb742 added missing shell32.lib
svn path=/trunk/; revision=18580
2005-10-18 23:48:37 +00:00
Christoph von Wittich
ec9c456d35 fix anonymous union problem
svn path=/trunk/; revision=18579
2005-10-18 23:43:51 +00:00
Christoph von Wittich
424070b190 fix compile with msvc
svn path=/trunk/; revision=18578
2005-10-18 23:34:34 +00:00
Christoph von Wittich
b9f4233bd2 revert 18576
fix rbuild instead

svn path=/trunk/; revision=18577
2005-10-18 23:25:46 +00:00
Christoph von Wittich
44c7db58f6 remove include/wine, this will fix compiling with msvc
svn path=/trunk/; revision=18576
2005-10-18 23:00:31 +00:00
Christoph von Wittich
3f6c66966e added missing user32.lib
svn path=/trunk/; revision=18575
2005-10-18 22:55:29 +00:00
Christoph von Wittich
fae230e486 add missing libs to xml file
svn path=/trunk/; revision=18574
2005-10-18 22:34:04 +00:00
Christoph von Wittich
ede418d57b fixed WINVER in calc.xml for compile with msvc
now it can be compiled with 0 errors, 0 warnings

svn path=/trunk/; revision=18573
2005-10-18 22:27:38 +00:00
Christoph von Wittich
0d333ca4de changed windres back to rc
fixed rc preprocessor defines in dsp file generation

svn path=/trunk/; revision=18572
2005-10-18 21:56:39 +00:00
Ged Murphy
88be8ed34a move the apps into the same position they are found in windows.
svn path=/trunk/; revision=18571
2005-10-18 21:41:45 +00:00
Aleksey Bragin
9710fe98ef German translations by FooDerGrosse, kevin_schnabel at gmx dot de (Bug 915)
(now I didn't forget anything)

svn path=/trunk/; revision=18570
2005-10-18 21:39:20 +00:00
Christoph von Wittich
b1e1f8bc26 fix taskmgr.rc to compile with ms rc
svn path=/trunk/; revision=18569
2005-10-18 21:39:15 +00:00
Aleksey Bragin
76ba3dcaf2 German translations by FooDerGrosse, kevin_schnabel at gmx dot de (Bug 915)
(fix)

svn path=/trunk/; revision=18568
2005-10-18 21:35:01 +00:00
Aleksey Bragin
27155bc285 German translations by FooDerGrosse, kevin_schnabel at gmx dot de (Bug 915)
(sorry forgot to svn add/commit one file)

svn path=/trunk/; revision=18567
2005-10-18 21:26:25 +00:00
Christoph von Wittich
a4a022cf82 set eol-style:native
svn path=/trunk/; revision=18566
2005-10-18 21:18:15 +00:00
Aleksey Bragin
f5aa212472 German translations by FooDerGrosse, kevin_schnabel at gmx dot de (Bug 915)
svn path=/trunk/; revision=18565
2005-10-18 21:12:09 +00:00
Ged Murphy
50a9b6e255 OK, all done messing about now.
I hope you all had as much fun as I did :p

svn path=/trunk/; revision=18564
2005-10-18 20:58:42 +00:00
Ged Murphy
96f6fcd6e5 update xml file to include tcpsvcs
svn path=/trunk/; revision=18563
2005-10-18 20:55:14 +00:00
Ged Murphy
9ed49dabde move tcpsvcs from the /apps directory to the /services directory
svn path=/trunk/; revision=18562
2005-10-18 20:53:43 +00:00
Ged Murphy
754a4d2b09 revert adding this folder. will move it in the correct manner
svn path=/trunk/; revision=18561
2005-10-18 20:50:11 +00:00
Ged Murphy
e4b3a2b6e0 revert deleting this folder to keep it's history.
will move it correctly next time :)

svn path=/trunk/; revision=18560
2005-10-18 20:47:21 +00:00
Ged Murphy
07f8595889 add tcpsvcs registry data
svn path=/trunk/; revision=18559
2005-10-18 20:24:01 +00:00
Ged Murphy
41f6aaf3f9 Add tcpsvcs to the services directory.
svn path=/trunk/; revision=18558
2005-10-18 20:17:20 +00:00
Ged Murphy
11aa08b141 update xml
svn path=/trunk/; revision=18557
2005-10-18 20:15:25 +00:00
Ged Murphy
899748a026 remove tcpsvcs from the apps directory
svn path=/trunk/; revision=18556
2005-10-18 20:14:53 +00:00
Christoph von Wittich
c85d6131ee add stdlib.h to fix compile issues with msvc
svn path=/trunk/; revision=18555
2005-10-18 19:48:50 +00:00
Ged Murphy
80f7d06cfd add new quotes file to /system32/drivers/etc
svn path=/trunk/; revision=18554
2005-10-18 17:07:45 +00:00
Ged Murphy
8cdf4ff3d5 - move quotes out of the rc file and read them from /system32/drivers/etc as per windows.
- clean up code a bit
- exit threads with a return val

svn path=/trunk/; revision=18553
2005-10-18 17:06:36 +00:00
Brandon Turner
5c00cee958 fix errors in "activate". Change activate, window, and msgbox commands from checking for __REACTOS__ to NT4_INTERNAL_COMMAND. they are turned off by default(uncomment line 23 to enable).
svn path=/trunk/; revision=18552
2005-10-18 13:32:32 +00:00
Brandon Turner
b8674b8084 remove more __REACTOS__ checks / unused code. I left WIN32_LEAN_AND_MEAN defined at all times. If this causes problems feel free to remove it.
svn path=/trunk/; revision=18551
2005-10-18 12:25:31 +00:00
Royce Mitchell III
547d458153 calc_buffer_display():
eliminate unnecessary copying ( and potential buffer overrun )
eliminate variable naming conflicts

svn path=/trunk/; revision=18550
2005-10-18 04:23:50 +00:00
Royce Mitchell III
67d9667289 msvc6 compilation fixes
fix buffer over(under?)flow in calc_sep()

svn path=/trunk/; revision=18549
2005-10-18 04:15:55 +00:00
Brandon Turner
a658088fed remove some more __REACTOS__ checks. We dont need our GetConsoleWindow and it was never used. The size of CMD_LENGTH is the same for both and at some point will not longer be used once we have all dynamic allocations.
svn path=/trunk/; revision=18548
2005-10-18 03:12:49 +00:00
Brandon Turner
287174554b Remove the check for __REACTOS__. FormatMessage works better and is implemented in ros.
svn path=/trunk/; revision=18547
2005-10-18 01:55:20 +00:00
Christoph von Wittich
31154f2d58 set eol-style:native
svn path=/trunk/; revision=18546
2005-10-18 00:01:16 +00:00
Christoph von Wittich
9d731530bd fixed compiling with msvc
svn path=/trunk/; revision=18545
2005-10-18 00:00:27 +00:00
Christoph von Wittich
25886dff5a fix some bugs in regedit
like alloca -> HeapAlloc + HeapFree

svn path=/trunk/; revision=18544
2005-10-17 23:38:24 +00:00
Thomas Bluemel
18d6c8993b fix incorrect usage of alloca and a buffer overflow
svn path=/trunk/; revision=18540
2005-10-17 22:18:14 +00:00
Gé van Geldorp
2c226cd315 Forgot to change comment. Thanks to Royce3 for pointing it out.
svn path=/trunk/; revision=18538
2005-10-17 22:13:44 +00:00
Gé van Geldorp
b098d29e8c Patch by hardon. Properly handle 0 timeouts. Fixes bug 857.
svn path=/trunk/; revision=18536
2005-10-17 22:08:07 +00:00
Gé van Geldorp
606c64b199 Everything must come to an end, even the desktop window. Fixes bug 805.
svn path=/trunk/; revision=18534
2005-10-17 21:57:02 +00:00
Magnus Olsen
cb9fb3aeb7 New icons from our UI:mf
svn path=/trunk/; revision=18532
2005-10-17 21:47:17 +00:00
Gé van Geldorp
cf74899c6f Should have committed this along with r18529
svn path=/trunk/; revision=18531
2005-10-17 21:40:37 +00:00
Magnus Olsen
3d7512b7cd New icons from our UI:mf
svn path=/trunk/; revision=18530
2005-10-17 21:40:38 +00:00
Gé van Geldorp
e988d53026 Inform HAL about the switch to graphics mode as late as possible. Fixes bug 880.
svn path=/trunk/; revision=18529
2005-10-17 21:36:23 +00:00
Gunnar Dalsnes
35bd58021f -dont return NULL when realloc to 0 bytes (fixes one kernel32_winetest heap test)
-only allow realloc to new position if GMEM_MOVEABLE is passed (fixed mem)
-only allow realloc to new position if GMEM_MOVEABLE is passed OR mem is not locked (moveable mem)

svn path=/trunk/; revision=18528
2005-10-17 20:11:21 +00:00
Christoph von Wittich
59131bfc00 fixed rc files to compile with rc
svn path=/trunk/; revision=18526
2005-10-17 18:04:11 +00:00
Christoph von Wittich
61a1cafcf4 replaced rc with windres
svn path=/trunk/; revision=18525
2005-10-17 17:30:45 +00:00
Gé van Geldorp
16f6e946c5 First use "ptr", then set it to NULL
svn path=/trunk/; revision=18524
2005-10-17 16:59:31 +00:00
Christoph von Wittich
2960adb14b added missing translations for IDS_NEW_KEY and IDS_NEW_VALUE
svn path=/trunk/; revision=18523
2005-10-17 15:59:23 +00:00
Gé van Geldorp
4f71b06928 Fix installation after latest PnP changes. Fix by hpoussin
svn path=/trunk/; revision=18522
2005-10-17 15:52:50 +00:00
Christoph von Wittich
7d087d74d1 fixed buffer overflow
removed useless LocalUnlock
fixed memory leak

svn path=/trunk/; revision=18521
2005-10-17 15:17:54 +00:00
Christoph von Wittich
643679edee only define DPRINT macro if the compiler can handle __VA_ARGS__
reduces Warnings when compiling with MSVC

svn path=/trunk/; revision=18520
2005-10-17 13:57:40 +00:00
Martin Fuchs
0b5368c660 Fix for Bugzilla entry 904: activated the "not yet implemented" message for now, until SHFindFiles() will be implemented in shell32.dll
svn path=/trunk/; revision=18519
2005-10-17 13:14:04 +00:00
Martin Fuchs
48d2f86ba2 fix for Bugzilla entry 900 by mrnobo1024 at yahoo.com: don't destroy menus when switching between normal and scientific mode
svn path=/trunk/; revision=18518
2005-10-17 12:58:07 +00:00
Christoph von Wittich
5afb16c749 fixed "index out of range"
svn path=/trunk/; revision=18517
2005-10-17 12:44:16 +00:00
Martin Fuchs
47110fba6f fix a few taskbar context menu bugs including Bugzilla entry 720
svn path=/trunk/; revision=18516
2005-10-17 12:41:52 +00:00
Christoph von Wittich
d3618b8394 removed HeapFree because of unexpected behaviour
svn path=/trunk/; revision=18515
2005-10-17 12:23:19 +00:00
Martin Fuchs
112bfa79a1 remove some unused special handling code and comments
svn path=/trunk/; revision=18514
2005-10-17 12:07:49 +00:00
Christoph von Wittich
b0be32a4c4 fix compile with gcc
now it compiles with gcc && msvc

svn path=/trunk/; revision=18513
2005-10-17 12:04:26 +00:00
Hervé Poussineau
5afbfdd6e1 Add PCI_WHICHSPACE_CONFIG and PCI_WHICHSPACE_ROM constants
svn path=/trunk/; revision=18512
2005-10-17 12:02:31 +00:00
Christoph von Wittich
f9f5eb9f29 added missing HEAP_ZERO_MEMORY
added missing HeapFree

svn path=/trunk/; revision=18511
2005-10-17 11:49:36 +00:00
Christoph von Wittich
a1651b5787 fix regedit to compile with MSVC
svn path=/trunk/; revision=18510
2005-10-17 11:10:11 +00:00
Christoph von Wittich
da83fe4dcc fix some headers to compile with MSVC
svn path=/trunk/; revision=18509
2005-10-17 11:09:35 +00:00
Martin Fuchs
4d498c7390 - move shortcut comment texts into string resources
- add error handling
- create new "Accessories" folder in programs start menu

svn path=/trunk/; revision=18508
2005-10-17 11:03:30 +00:00
Christoph von Wittich
35113a023e destroy window handles when program terminates
svn path=/trunk/; revision=18507
2005-10-17 09:44:17 +00:00
Hervé Poussineau
39b4f74f8c Fix IoGetDeviceProperty, which should never return STATUS_BUFFER_OVERFLOW, but STATUS_BUFFER_TOO_SMALL
svn path=/trunk/; revision=18506
2005-10-17 08:41:00 +00:00
Christoph von Wittich
703d635153 set eol-style:native
svn path=/trunk/; revision=18505
2005-10-16 23:01:01 +00:00
Christoph von Wittich
dc37877edc started implementation of msconfig tool
svn path=/trunk/; revision=18504
2005-10-16 22:59:45 +00:00
Magnus Olsen
5cd92ce1f5 forget add Ja.rc to rundll32.rc
svn path=/trunk/; revision=18503
2005-10-16 18:29:08 +00:00
Magnus Olsen
1474352abe Update directx header and correct more info.
I belive the ddraw.h header are okay now 

svn path=/trunk/; revision=18502
2005-10-16 18:21:20 +00:00
Eric Kohl
07c9ed4a4d Fix typos and remove trailing whitespace.
svn path=/trunk/; revision=18501
2005-10-16 17:11:48 +00:00
Christoph von Wittich
3ad8d81bd4 fixed some typos
svn path=/trunk/; revision=18500
2005-10-16 16:21:59 +00:00
Eric Kohl
2812e11e34 Fix [out, size_is, unique] parameter issues.
svn path=/trunk/; revision=18499
2005-10-16 15:27:38 +00:00
Hartmut Birr
ecdd18cbd0 Invalidate the start value if start key doesn't exist.
svn path=/trunk/; revision=18498
2005-10-16 14:24:11 +00:00
Hervé Poussineau
197d4d0964 Sorry, most devices were reinstalled at each boot, as the calculated crc32 for the parent was changing.
Prevent this by using only the parent InstancePath instead of the whole DEVICE_NODE structure

svn path=/trunk/; revision=18497
2005-10-16 14:10:29 +00:00
Hartmut Birr
abb25bef4f Implemented SMART commands for ide devices.
svn path=/trunk/; revision=18496
2005-10-16 11:17:26 +00:00
Hervé Poussineau
c7baaf3eb2 Remove registry entries for class installers we don't have
svn path=/trunk/; revision=18495
2005-10-16 11:11:35 +00:00
Hartmut Birr
831aa04b24 - Do only read the pci config header. Some devices/drivers don't like it
if the complete pci config space is accessed (like my Tekram DC-390F SCSI controller).  
- Replaced some numeric values with nice named constants.


svn path=/trunk/; revision=18494
2005-10-16 11:08:01 +00:00
Hervé Poussineau
18df49d077 Implement SetupDiDestroyDriverInfoList
svn path=/trunk/; revision=18493
2005-10-16 10:46:22 +00:00
Eric Kohl
85acbb6eec - Add samsrv.dll stub.
- Install cfgmgr32.dll, lsasrv.dll and samsrv.dll.

svn path=/trunk/; revision=18492
2005-10-16 09:58:19 +00:00
Gunnar Dalsnes
fd7c8f26a8 fix buffer overflow
svn path=/trunk/; revision=18491
2005-10-16 01:29:08 +00:00
Gunnar Dalsnes
3e68f60244 fix two buffer overflows
svn path=/trunk/; revision=18490
2005-10-16 01:27:32 +00:00
Gunnar Dalsnes
21b0bdd718 fix buffer overflow
add error checking

svn path=/trunk/; revision=18489
2005-10-16 01:26:52 +00:00
Gunnar Dalsnes
819d130a5a RtlInitUnicodeString is only legal with nullterminated strings and also the string in initialized manually below...
svn path=/trunk/; revision=18488
2005-10-16 01:22:18 +00:00
Hartmut Birr
a17ada0615 Allocated buffers from non paged pool for all user buffers.
svn path=/trunk/; revision=18487
2005-10-15 21:41:48 +00:00
Christoph von Wittich
d991d613f5 * added a lot of stack-size information to *.def files
* added one more stub to secur32

svn path=/trunk/; revision=18486
2005-10-15 21:17:52 +00:00
Eric Kohl
94d46bd214 - CreateServiceW: Calculate the Dependency length.
- Implement NotifyBootConfigStatus.

svn path=/trunk/; revision=18485
2005-10-15 19:34:53 +00:00
Hartmut Birr
68b164341e Fixed the definition of PDEV_INSTALL_W.
svn path=/trunk/; revision=18484
2005-10-15 16:39:22 +00:00
Martin Fuchs
79ec345d3a Winefile:
- fix item background color for non-white windows background
- fix drive size output: wsprintf() -> _stprintf()
- declare COLOR_SELECTION_TXT

svn path=/trunk/; revision=18483
2005-10-15 16:37:34 +00:00
Hartmut Birr
00a4a8acbd Don't use alloca in a macro, which may be used in a loop. This does fix bug #805.
svn path=/trunk/; revision=18481
2005-10-15 13:22:13 +00:00
Magnus Olsen
36c303f191 Japanese translation by tsk email tsk_n@mail.goo.ne.jp
svn path=/trunk/; revision=18480
2005-10-15 12:40:30 +00:00
Magnus Olsen
45e5519258 Japanese translation by tsk email tsk_n@mail.goo.ne.jp
svn path=/trunk/; revision=18479
2005-10-15 12:26:40 +00:00
Magnus Olsen
f961f704ac Japanese translation by tsk email tsk_n@mail.goo.ne.jp
svn path=/trunk/; revision=18478
2005-10-15 12:21:12 +00:00
Magnus Olsen
005da60232 Spanish translation By HUMA2000
svn path=/trunk/; revision=18477
2005-10-15 11:52:41 +00:00
Magnus Olsen
af0c90f70c Japanese translation by tsk email tsk_n@mail.goo.ne.jp
svn path=/trunk/; revision=18476
2005-10-15 11:48:07 +00:00
Magnus Olsen
4f0c5db20f fix no end waring
svn path=/trunk/; revision=18475
2005-10-15 11:42:26 +00:00
Magnus Olsen
8727e532bf Japanese translation by tsk email tsk_n@mail.goo.ne.jp
svn path=/trunk/; revision=18474
2005-10-15 11:39:54 +00:00
Magnus Olsen
14b4fa9f73 Japanese translation by tsk email tsk_n@mail.goo.ne.jp
svn path=/trunk/; revision=18473
2005-10-15 11:10:25 +00:00
Magnus Olsen
73a78c480e Japanese translation by tsk email tsk_n@mail.goo.ne.jp
remove Si.rc it was not translate, it was on english. 



svn path=/trunk/; revision=18472
2005-10-15 11:08:44 +00:00
Magnus Olsen
b5ef43a91f Japanese translation by tsk email tsk_n@mail.goo.ne.jp
svn path=/trunk/; revision=18471
2005-10-15 10:47:53 +00:00
Christoph von Wittich
663998bfcd * set eol-style:native
svn path=/trunk/; revision=18470
2005-10-15 10:34:38 +00:00
Gé van Geldorp
00642f300e Make sure we don't hang forever when activating a window belonging to
another thread

svn path=/trunk/; revision=18468
2005-10-15 09:53:14 +00:00
Magnus Olsen
42ce928624 forget remove struct _SURFACEALIGNMENT for it have been move to right header dmemmgr.h
svn path=/trunk/; revision=18467
2005-10-15 09:10:57 +00:00
Magnus Olsen
d00889ce26 Fixing directx headers from wine, by adding alot of missing struct and some struct was wrong. start fixing the header ddkernel.h
svn path=/trunk/; revision=18466
2005-10-15 02:00:56 +00:00
Magnus Olsen
5196ff03b6 set eol-style : native
svn path=/trunk/; revision=18465
2005-10-15 00:12:49 +00:00
Magnus Olsen
df288c5836 Fixing directx headers from wine, by adding alot of missing struct and some struct was wrong. Complete the header dmemmgr.h it was missing and move stuff into that header.
svn path=/trunk/; revision=18464
2005-10-15 00:09:45 +00:00
Christoph von Wittich
ffaa12375e * add Security.dll (redirects all calls to secur32.dll)
svn path=/trunk/; revision=18463
2005-10-14 23:13:08 +00:00
Gé van Geldorp
3e063edcc7 Include kernelmode routines in stack backtrace
svn path=/trunk/; revision=18462
2005-10-14 22:56:23 +00:00
Christoph von Wittich
b1700953dd *add some more stubs for Virtual DOS Machine Debug (six still missing)
svn path=/trunk/; revision=18461
2005-10-14 22:31:06 +00:00
Hervé Poussineau
d1509ade59 Fix the HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage\Export value. The GUID needs to be prepended by "Tcpip_"
svn path=/trunk/; revision=18460
2005-10-14 22:04:02 +00:00
Ged Murphy
901449fbf7 - Implement -r Calling route.exe for output
- Rewrote DisplayOutput so simulates the MS netstat tool better and is now readable
- Fix ShowTcpTable to show correct endpoints on default, and expand it a little so it's easier to follow
- expand ShowUdpTable in the same manner
- Cleaner formatting in GetPortName

svn path=/trunk/; revision=18459
2005-10-14 21:35:03 +00:00
Gé van Geldorp
30a546e327 Attach to correct process before messing around with its memory
svn path=/trunk/; revision=18458
2005-10-14 20:19:23 +00:00
Magnus Olsen
541ca90657 Fixing directx headers from wine, by adding alot of missing struct and some struct was wrong.
svn path=/trunk/; revision=18457
2005-10-14 20:03:18 +00:00
Thomas Bluemel
bf7b9d8bb2 Fixed the declarations of GetFileVersionInfoSizeA/W and GetFileVersionInfoA/W
svn path=/trunk/; revision=18456
2005-10-14 19:48:28 +00:00
Gé van Geldorp
7daa792a3e Only whitespace changes, no logic
svn path=/trunk/; revision=18455
2005-10-14 19:28:18 +00:00
Hervé Poussineau
2af4ba6dcb Add missing files to bootcd
svn path=/trunk/; revision=18454
2005-10-14 19:09:45 +00:00
Hervé Poussineau
219a9c8162 Remove entries that are created by netcfgx.dll
svn path=/trunk/; revision=18453
2005-10-14 18:38:51 +00:00
Hervé Poussineau
28613541ae Add netcfgx.dll
This .dll contains the class installer for the network cards

svn path=/trunk/; revision=18452
2005-10-14 18:37:10 +00:00
Gé van Geldorp
cf7b48d567 Goplat <mrnobo1024@yahoo.com>:
SetPixel should return the new color. Bug 909.

svn path=/trunk/; revision=18450
2005-10-14 18:32:38 +00:00
Hervé Poussineau
463b91a5b9 Transform pci.sys to a Plug-and-Play driver.
Simplify most of the PciCreateCompatible*String functions
Fix error handling in FdoQueryBusRelations
=> pci.sys now manages only 1 bus. It is still using HalGetBusDataByOffset/HalGetBusData which are deprecated, but it shouldn't be too hard to remove

svn path=/trunk/; revision=18449
2005-10-14 18:29:55 +00:00
Hervé Poussineau
72dd7eefe0 Big Plug-and-Play patch for ReactOS:
- Install drivers for devices at first boot
- Remove now useless entries in hivesys.inf
At the moment, driver installation only uses .inf files in ReactOS\Inf directory, and the needed files have to be in ReactOS\Inf or their final location (ReactOS\system32 or ReactOS\system32\drivers) + the user can't provide a custom driver
Plug-and-Plays devices are only USB controllers (OHCI and UHCI) and serial ports now.

svn path=/trunk/; revision=18448
2005-10-14 18:24:19 +00:00
Hervé Poussineau
f747f1de8c Step 2 for a PnP ReactOS: add some (little) hacks
svn path=/trunk/; revision=18447
2005-10-14 18:14:19 +00:00
Hervé Poussineau
8325af0b6a Process AddReg directive in main section to install
Simplify a call to SetupInstallFromInfSectionW
Fix a warning (thanks w3seek)

svn path=/trunk/; revision=18446
2005-10-14 18:09:17 +00:00
Hervé Poussineau
48b9916f22 Transform ReactOS to a Plug-and-Play system. Step 1: add some .inf files
svn path=/trunk/; revision=18445
2005-10-14 18:00:39 +00:00
Hervé Poussineau
6dc4621495 Implement SetupDiCreateDevRegKeyW and SetupDiOpenDevRegKey
Use them in SetupDiInstallDevice

svn path=/trunk/; revision=18444
2005-10-14 16:53:18 +00:00
Gé van Geldorp
a7f76e510d Fix tab/space mess
svn path=/trunk/; revision=18443
2005-10-14 13:39:27 +00:00
Hervé Poussineau
cce498f665 Don't always return STATUS_BUFFER_TOO_SMALL when an error occurs in ZwQueryValueKey.
The "if" was triggered because ValueInformation->DataLength is 0xcdcdcdcd at the return of the function

svn path=/trunk/; revision=18442
2005-10-14 13:04:11 +00:00
Gé van Geldorp
23e3fa1b76 Identify the process in ThreadExtraInfo
svn path=/trunk/; revision=18441
2005-10-14 13:00:18 +00:00
Gé van Geldorp
63f7f95cdd tsk <tsk_n@mail.goo.ne.jp>:
UsageMessage is a printf format string.

svn path=/trunk/; revision=18439
2005-10-14 09:44:12 +00:00
Gé van Geldorp
2ae151a7dc Don't install Winefile icon on desktop, it's already present in the start menu
svn path=/trunk/; revision=18437
2005-10-14 09:33:31 +00:00
Gé van Geldorp
f862f9f049 Mike <mikeonthecomputer@gmail.com>:
Add installation path for VMware 5.5. Fixes bug 907.

svn path=/trunk/; revision=18435
2005-10-14 08:03:14 +00:00
Magnus Olsen
8173b668de removed hard-coded comdlg filter from desk.cpl and it now searches for bmp;jpeg;png in windir patch by Christoph_vW see Bug 885
svn path=/trunk/; revision=18433
2005-10-13 19:13:47 +00:00
Aleksey Bragin
578f7922e1 cmd, taskmgr and userinit translations by FooDerGrosse <kevin_schnabel at gmx.de>
svn path=/trunk/; revision=18430
2005-10-13 17:34:25 +00:00
Gunnar Dalsnes
85d5b2ea3f make classes use session wide atom table. should fix bug 899
svn path=/trunk/; revision=18427
2005-10-13 12:44:58 +00:00
Hervé Poussineau
64cd53d0d2 Call specified class installer (if any) in SetupDiCallClassInstaller
Implement SetupDiOpenDeviceInterfaceA

svn path=/trunk/; revision=18426
2005-10-13 10:55:16 +00:00
Thomas Bluemel
1cb48e4fa8 properly reset the reference counter in ExReInitializeRundownProtection()
svn path=/trunk/; revision=18425
2005-10-13 10:29:04 +00:00
Gé van Geldorp
7b39c07e8a Use the pitch provided by FreeType. Fixes bug 894.
svn path=/trunk/; revision=18424
2005-10-13 08:15:52 +00:00
Hervé Poussineau
035526b30e Fix sublang IDs:
SUBLANG_ENGLISH_US for english, as we always try to load language LANG_ENGLISH/SUBLANG_ENGLISH_US
SUBLANG_NEUTRAL for the others, so all sublanguages can use the translation

svn path=/trunk/; revision=18423
2005-10-13 08:05:12 +00:00
Hervé Poussineau
43938afffe IopGetBusTypeGuidIndex: Fix an infinite loop
IopAssignDeviceResources: Allocate bus number resources

svn path=/trunk/; revision=18422
2005-10-13 07:43:25 +00:00
Gunnar Dalsnes
29b7b9b24a add comment about KeCancelTimer pitfall
svn path=/trunk/; revision=18419
2005-10-12 23:10:31 +00:00
Gé van Geldorp
697b562c6b Send window-bound timers to the correct message queue
svn path=/trunk/; revision=18418
2005-10-12 22:15:22 +00:00
Thomas Bluemel
342429fe3b set eol-style to native
svn path=/trunk/; revision=18417
2005-10-12 22:04:07 +00:00
Gunnar Dalsnes
016dd801d7 add stubs to make clamwin run. by Christoph_vW
stub GetNativeSystemInfo better to make cpuz get further. by Christoph_vW
stub IsWow64Process better. by me

svn path=/trunk/; revision=18416
2005-10-12 21:39:28 +00:00
Martin Fuchs
4fe5d38bfa zoomin:
- allow to cange zoom factor and display zoom factor
- add accelerator table

svn path=/trunk/; revision=18415
2005-10-12 20:20:18 +00:00
Thomas Bluemel
e7045161ac fixed difference in signedness warning
svn path=/trunk/; revision=18413
2005-10-12 18:56:44 +00:00
Hervé Poussineau
15afaf3715 In DevInstallW:
- Shut up debug messages
- First steps to display messages to the user (retrieve device description before and after device installation)
- Change to only one exit point

svn path=/trunk/; revision=18412
2005-10-12 16:54:34 +00:00
Gé van Geldorp
71552e4e2f Workaround for bug 899
svn path=/trunk/; revision=18411
2005-10-12 14:07:49 +00:00
Gé van Geldorp
2d8f114871 Terminate the new environment with a NULL pointer
svn path=/trunk/; revision=18410
2005-10-12 13:00:34 +00:00
Martin Fuchs
76f3a6da01 Fix for Bugzilla Entry 641 - patch from j_anderw at sbox.tugraz.at
svn path=/trunk/; revision=18409
2005-10-12 08:38:45 +00:00
Hervé Poussineau
543acff480 Fix SetupDiGetDeviceRegistryPropertyA, which should return the required size and the registry data type if the buffer is too small
(typical case when you call it 2 times: 1st time to get the required size, 2nd time to get real data)

svn path=/trunk/; revision=18408
2005-10-12 08:14:56 +00:00
Hervé Poussineau
cf9a86c858 Send the right LocaleId to device stack when querying the device description.
Don't erase device description stored by setupapi during next reboot

svn path=/trunk/; revision=18407
2005-10-11 13:35:07 +00:00
Gunnar Dalsnes
75e85af499 nullterm correct string in strndup
nullterm argv list
reformat


svn path=/trunk/; revision=18406
2005-10-11 03:23:01 +00:00
Gregor Anich
aa105de9d7 vdmdbg.dll (stubs only) by Christoph v.W. - thanks!
svn path=/trunk/; revision=18405
2005-10-11 00:58:45 +00:00
Gunnar Dalsnes
b1761726b2 alloc at minimum 16 bytes (spotted by WaxDragon)
realloc should free passed mem if new size is 0

svn path=/trunk/; revision=18404
2005-10-10 22:42:13 +00:00
Gunnar Dalsnes
1fc06afd71 alloc multiple of 16 bytes
svn path=/trunk/; revision=18403
2005-10-10 20:18:07 +00:00
5994 changed files with 876367 additions and 550516 deletions

View File

@@ -0,0 +1,46 @@
<?xml version="1.0"?>
<!--
Copyright (C) 2005 Casper S. Hornstrup
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-->
<project name="ReactOS.ApiStatus" default="publish">
<property name="reactos.dir" value="reactos" />
<property name="apistatus.xsl" value="rapistatus.xsl" />
<property name="apistatus.xml" value="rapistatus.xml" />
<property name="apistatus.html" value="index2.html" />
<include buildfile="config.include" />
<target name="publish">
<delete dir="${reactos.dir}" if="${directory::exists(reactos.dir)}" />
<exec program="svn" commandline="export -r HEAD ${source.url} ${reactos.dir}" />
<exec program="rgenstat" commandline="reactos\apistatus.lst ${apistatus.xml}" />
<style style="${apistatus.xsl}" destdir="${reactos.dir}" in="${apistatus.xml}" out="${apistatus.html}" />
<copy todir="${publish.dir}" overwrite="true">
<fileset basedir=".">
<include name="${apistatus.xml}" />
<include name="${apistatus.html}" />
</fileset>
</copy>
<delete>
<fileset basedir=".">
<include name="${apistatus.xml}" />
<include name="${apistatus.html}" />
</fileset>
</delete>
<delete dir="${reactos.dir}" if="${directory::exists(reactos.dir)}" />
</target>
</project>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2005 Casper S. Hornstrup
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-->
<project>
<property name="source.url" value="svn://svn.reactos.com/trunk/reactos" />
<property name="publish.dir" value="C:\api" />
</project>

View File

@@ -76,22 +76,28 @@
<xsl:call-template name="ELEMENT">
<xsl:with-param name="class">c</xsl:with-param>
</xsl:call-template>
<xsl:apply-templates/>
<xsl:apply-templates>
<xsl:with-param name="base"><xsl:value-of select="@base"/></xsl:with-param>
</xsl:apply-templates>
</DIV>
</xsl:template>
<!-- function -->
<xsl:template match="functions">
<xsl:apply-templates select="function">
<xsl:sort select="@name"/>
<xsl:param name="base"/>
<xsl:apply-templates select="f">
<xsl:sort select="@n"/>
<xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="functions/function">
<xsl:template match="functions/f">
<xsl:param name="base"/>
<DIV>
<xsl:call-template name="ELEMENT">
<xsl:with-param name="class">f</xsl:with-param>
<xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
</xsl:call-template>
<xsl:apply-templates/>
</DIV>
@@ -102,6 +108,7 @@
<xsl:template name="ELEMENT">
<xsl:param name="class"/>
<xsl:param name="base"/>
<xsl:param name="image"/>
<xsl:attribute name="class">
<xsl:value-of select="$class"/>
@@ -109,17 +116,17 @@
</xsl:attribute>
<xsl:call-template name="toggle"/>
<xsl:choose>
<xsl:when test="./node() and local-name() != 'component' and @implemented = 'true'">
<img src="i.gif" class="i"/>
<xsl:when test="local-name() != 'component' and @i = 'true'">
<img src="i.gif" class="i"/>
</xsl:when>
<xsl:when test="./node() and local-name() != 'component' and @implemented = 'false'">
<img src="u.gif" class="u"/>
<xsl:when test="local-name() != 'component' and @i = 'false'">
<img src="u.gif" class="u"/>
</xsl:when>
<xsl:when test="./node() and local-name() = 'component' and @complete >= 100">
<img src="sc.gif"/>
<xsl:when test="local-name() = 'component' and @complete >= 100">
<img src="sc.gif"/>
</xsl:when>
<xsl:otherwise>
<img src="tb.gif" with="12" height="12"/>
<xsl:value-of select="@i"/><img src="tb.gif" with="12" height="12"/>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
@@ -131,7 +138,10 @@
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="name"/>
<xsl:call-template name="file"/>
<xsl:call-template name="n"/>
<xsl:call-template name="file">
<xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
</xsl:call-template>
<xsl:call-template name="status"/>
</xsl:template>
@@ -173,9 +183,16 @@
</xsl:if>
</xsl:template>
<xsl:template name="n">
<xsl:if test="@n">
<SPAN class="l"><xsl:value-of select="@n"/></SPAN>
</xsl:if>
</xsl:template>
<xsl:template name="file">
<xsl:if test="@file">
<SPAN class="h"><xsl:value-of select="@file"/></SPAN>
<xsl:param name="base"/>
<xsl:if test="@f">
<SPAN class="h"><xsl:value-of select="$base"/><xsl:value-of select="@f"/></SPAN>
</xsl:if>
</xsl:template>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="publishPath" value="c:\iso" /> <!-- c:\iso or ftp://ftp.server.com/iso -->
<add key="smtpServer" value="localhost" />
<add key="errorEmail" value="mailbox@somewhere-on-the-net" />
<add key="makeParameters" value="" />
<add key="fastDisk" value="" />
</appSettings>
</configuration>

View File

@@ -0,0 +1,14 @@
using System.Reflection;
using System.Runtime.CompilerServices;
[assembly: AssemblyTitle("ReactOS Sin Custom Revision Action")]
[assembly: AssemblyDescription("ReactOS Sin Custom Revision Action")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("ReactOS Project")]
[assembly: AssemblyProduct("React Operating System")]
[assembly: AssemblyCopyright("Copyright 2005 ReactOS Project")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]

View File

@@ -0,0 +1,20 @@
<?xml version="1.0"?>
<project name="ReactOS.CustomRevisionAction" default="build">
<property name="output.dir" value="bin" />
<target name="build" description="Build component">
<mkdir dir="${output.dir}" />
<csc target="exe"
output="${output.dir}\ReactOS.CustomRevisionAction.exe"
optimize="true"
debug="true"
doc="${output.dir}\ReactOS.CustomRevisionAction.xml"
warninglevel="0">
<sources>
<include name="*.cs" />
</sources>
</csc>
</target>
</project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,340 @@
using System;
using System.IO;
using System.Diagnostics;
using System.Configuration;
using System.Web.Mail;
namespace ReactOS.CustomRevisionAction
{
public class MainClass
{
/// <summary>
/// Path to store published binaries at.
/// </summary>
private static string publishPath;
/// <summary>
/// Whether or not to publish ISOs to a remote destination via FTP.
/// </summary>
private static bool PublishToRemoteFtpLocation
{
get
{
return publishPath.StartsWith("ftp://");
}
}
/// <summary>
/// Run the application.
/// </summary>
/// <param name="script">Script to run.</param>
/// <param name="args">Arguments to pass to script.</param>
/// <param name="workingDirectory">Working directory.</param>
/// <param name="standardOutput">Receives standard output.</param>
/// <param name="standardError">Receives standard error.</param>
/// <returns>
/// Exit code.
/// </returns>
private static int RunScript(string script,
string args,
string workingDirectory,
out string standardOutput,
out string standardError)
{
ProcessStartInfo scriptProcessStartInfo = new ProcessStartInfo(script,
args);
scriptProcessStartInfo.CreateNoWindow = true;
/*
* All standard streams must be redirected.
* Otherwise DuplicateHandle() will fail.
*/
scriptProcessStartInfo.RedirectStandardInput = true;
scriptProcessStartInfo.RedirectStandardError = true;
scriptProcessStartInfo.RedirectStandardOutput = true;
scriptProcessStartInfo.UseShellExecute = false;
scriptProcessStartInfo.WorkingDirectory = workingDirectory;
RedirectableProcess redirectableProcess = new RedirectableProcess(scriptProcessStartInfo);
standardOutput = redirectableProcess.ProcessOutput;
standardError = redirectableProcess.ProcessError;
return redirectableProcess.ExitCode;
}
/// <summary>
/// Retrieve value of configuration from configuration file.
/// </summary>
/// <param name="name">Name of configuration option.</param>
/// <param name="defaultValue">
/// Default value to be returned if the option does not exist.
/// </param>
/// <returns>
/// Value of configuration option or null if the option does not
/// exist and no default value is provided.
/// </returns>
private static string GetConfigurationOption(string name,
string defaultValue)
{
if (ConfigurationSettings.AppSettings[name] != null)
return ConfigurationSettings.AppSettings[name];
else
return defaultValue;
}
/// <summary>
/// Send an email.
/// </summary>
/// <param name="subject">Subject of the email.</param>
/// <param name="body">Content of the email.</param>
private static void SendErrorMail(string subject, string body)
{
try
{
string smtpServer = GetConfigurationOption("smtpServer", "localhost");
string toEmail = GetConfigurationOption("errorEmail", null);
if (toEmail == null)
return;
string fromEmail = GetConfigurationOption("fromEmail", null);
if (fromEmail == null)
fromEmail = toEmail;
MailMessage mm = new MailMessage();
mm.Priority = MailPriority.Normal;
mm.From = toEmail;
mm.To = toEmail;
mm.Subject = subject;
mm.Body += body;
mm.Body += "<br>";
mm.BodyFormat = MailFormat.Html;
SmtpMail.SmtpServer = smtpServer;
SmtpMail.Send(mm);
}
catch (Exception ex)
{
Console.Error.WriteLine(ex.Message);
}
}
/// <summary>
/// Fail with an error message.
/// </summary>
/// <param name="revision">Repository revision.</param>
/// <param name="text">Error message.</param>
private static void Fail(int revision,
string text)
{
Console.WriteLine(text);
Console.Error.WriteLine(text);
SendErrorMail(String.Format("[{0}] ReactOS Publish Error", revision), text);
}
/// <summary>
/// Fail with an error message.
/// </summary>
/// <param name="text">Error message.</param>
private static void Fail(string text)
{
Console.WriteLine(text);
Console.Error.WriteLine(text);
SendErrorMail("ReactOS Publish Error", text);
}
/// <summary>
/// Generate filename of distribution.
/// </summary>
/// <param name="branch">Branch.</param>
/// <param name="revision">Revision.</param>
private static string GetDistributionFilename(string branch,
int revision)
{
return String.Format("ReactOS-{0}-r{1}.iso",
branch,
revision);
}
private static void SplitRemotePublishPath(string publishPath,
out string server,
out string directory)
{
string searchString = "://";
int index = publishPath.IndexOf(searchString);
if (index == -1)
throw new InvalidOperationException();
int endOfProtocolIndex = index + searchString.Length;
string withoutProtocol = publishPath.Remove(0, endOfProtocolIndex);
index = withoutProtocol.IndexOf("/");
if (index == -1)
{
server = withoutProtocol;
directory = "";
}
else
{
server = withoutProtocol.Substring(0, index);
directory = withoutProtocol.Remove(0, index + 1);
}
}
/// <summary>
/// Copy ISO to the (remote) destination.
/// </summary>
/// <param name="sourceFilename">Name of source ISO file to copy.</param>
/// <param name="branch">Branch.</param>
/// <param name="revision">Revision.</param>
/// <remarks>
/// Structure is ftp://ftp.server.com/whereever/<branch>/ReactOS-<branch>-r<revision>.iso.
/// </remarks>
private static void CopyISOToRemoteFtpDestination(string sourceFilename,
string branch,
int revision)
{
string distributionFilename = GetDistributionFilename(branch,
revision);
string destinationFilename = Path.Combine(Path.GetDirectoryName(sourceFilename),
distributionFilename);
File.Move(sourceFilename, destinationFilename);
string server;
string directory;
SplitRemotePublishPath(publishPath, out server, out directory);
FtpClient ftpClient = new FtpClient(server, "anonymous", "sin@svn.reactos.com");
ftpClient.Login();
if (directory != "")
ftpClient.ChangeDir(directory);
/* Create destination directory if it does not already exist */
if (!ftpClient.DirectoryExists(branch))
ftpClient.MakeDir(branch);
ftpClient.ChangeDir(branch);
ftpClient.Upload(destinationFilename);
ftpClient.Close();
}
/// <summary>
/// Copy ISO to the (local) destination.
/// </summary>
/// <param name="sourceFilename">Name of source ISO file to copy.</param>
/// <param name="branch">Branch.</param>
/// <param name="revision">Revision.</param>
/// <remarks>
/// Structure is <branch>\ReactOS-<branch>-r<revision>.iso.
/// </remarks>
private static void CopyISOToLocalDestination(string sourceFilename,
string branch,
int revision)
{
string distributionFilename = GetDistributionFilename(branch,
revision);
string destinationDirectory = Path.Combine(publishPath,
branch);
string destinationFilename = Path.Combine(destinationDirectory,
distributionFilename);
if (!Directory.Exists(destinationDirectory))
Directory.CreateDirectory(destinationDirectory);
File.Copy(sourceFilename,
destinationFilename);
}
/// <summary>
/// Copy ISO to the destination.
/// </summary>
/// <param name="sourceFilename">Name of source ISO file to copy.</param>
/// <param name="branch">Branch.</param>
/// <param name="revision">Revision.</param>
/// <remarks>
/// Structure is <branch>\ReactOS-<branch>-r<revision>.iso.
/// </remarks>
private static void CopyISOToDestination(string sourceFilename,
string branch,
int revision)
{
if (PublishToRemoteFtpLocation)
CopyISOToRemoteFtpDestination(sourceFilename, branch, revision);
else
CopyISOToLocalDestination(sourceFilename, branch, revision);
}
/// <summary>
/// Publish a revision of ReactOS.
/// </summary>
/// <param name="text">Error message.</param>
private static int Publish(string branch,
int revision,
string workingDirectory)
{
string make = "mingw32-make";
string makeParameters = GetConfigurationOption("makeParameters", "");
string reactosDirectory = Path.Combine(workingDirectory,
"reactos");
Console.WriteLine(String.Format("ReactOS directory is {0}",
reactosDirectory));
string standardOutput;
string standardError;
int exitCode = RunScript(make,
makeParameters + " bootcd",
reactosDirectory,
out standardOutput,
out standardError);
if (exitCode != 0)
{
Fail(revision,
String.Format("make bootcd failed: (error: {0}) {1}",
standardError,
standardOutput));
return exitCode;
}
string sourceFilename = Path.Combine(reactosDirectory,
"ReactOS.iso");
if (File.Exists(sourceFilename))
CopyISOToDestination(sourceFilename,
branch,
revision);
else
{
Fail(revision,
"make bootcd produced no ReactOS.iso");
return exitCode;
}
return exitCode;
}
/// <summary>
/// Program entry point.
/// </summary>
/// <param name="args">Arguments from command line.</param>
/// <remarks>
/// If exit code is 0, then the commit was processed successfully.
/// If exit code is 1, then the commit was not processed successfully.
/// </remarks>
public static void Main(string[] args)
{
try
{
System.Environment.ExitCode = 1;
publishPath = ConfigurationSettings.AppSettings["publishPath"];
if (publishPath == null)
{
Fail("PublishPath option not set.");
return;
}
if (args.Length < 3)
{
Fail("Usage: ReactOS.CustomRevisionAction action branch revision");
return;
}
string action = args[0]; /* bootcd */
string branch = args[1];
int revision = Int32.Parse(args[2]);
System.Environment.ExitCode = Publish(branch,
revision,
System.Environment.CurrentDirectory);
}
catch (Exception ex)
{
Fail(String.Format("Exception: {0}", ex));
System.Environment.ExitCode = 1;
}
}
}
}

View File

@@ -0,0 +1,145 @@
/*
* When using the ProcessStartInfo.RedirectStandardXxx properties there is a chance of
* the parent and child process blocking due to a race condition. This class handles the
* problem.
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdiagnosticsprocessstartinfoclassredirectstandardoutputtopic.asp
*/
using System;
using System.IO;
using System.Threading;
using System.Diagnostics;
namespace ReactOS.CustomRevisionAction
{
/// <summary>
/// Process that redirects standard output and standard error streams.
/// </summary>
public class RedirectableProcess
{
/// <summary>
/// Process.
/// </summary>
private Process process;
/// <summary>
/// Redirected standard error stream.
/// </summary>
private string processError;
/// <summary>
/// Redirected standard output stream.
/// </summary>
private string processOutput;
/// <summary>
/// Exit code.
/// </summary>
private int exitCode;
/// <summary>
/// Redirected standard error stream.
/// </summary>
public string ProcessError
{
get
{
return processError;
}
}
/// <summary>
/// Redirected standard output stream.
/// </summary>
public string ProcessOutput
{
get
{
return processOutput;
}
}
/// <summary>
/// Exit code.
/// </summary>
public int ExitCode
{
get
{
return exitCode;
}
}
/// <summary>
/// Run an excutable and redirect standard error and/or standard output safely.
/// </summary>
public RedirectableProcess(ProcessStartInfo processStartInfo)
{
Run(processStartInfo, null);
}
/// <summary>
/// Run an excutable and redirect standard error and/or standard output safely.
/// </summary>
public RedirectableProcess(ProcessStartInfo processStartInfo, string input)
{
Run(processStartInfo, input);
}
private void Run(ProcessStartInfo processStartInfo, string input)
{
process = new Process();
process.StartInfo = processStartInfo;
process.Start();
if (processStartInfo.RedirectStandardInput && input != null)
{
process.StandardInput.AutoFlush = true;
process.StandardInput.WriteLine(input);
}
Thread readStandardError = null;
if (processStartInfo.RedirectStandardError)
{
readStandardError = new Thread(new ThreadStart(ReadStandardError));
readStandardError.Start();
}
Thread readStandardOutput = null;
if (processStartInfo.RedirectStandardOutput)
{
readStandardOutput = new Thread(new ThreadStart(ReadStandardOutput));
readStandardOutput.Start();
}
if (processStartInfo.RedirectStandardError)
{
readStandardError.Join();
}
if (processStartInfo.RedirectStandardOutput)
{
readStandardOutput.Join();
}
process.WaitForExit();
exitCode = process.ExitCode;
process = null;
}
/// <summary>
/// Read standard error thread entry-point.
/// </summary>
private void ReadStandardError()
{
if (process != null)
{
processError = process.StandardError.ReadToEnd();
}
}
/// <summary>
/// Read standard output thread entry-point.
/// </summary>
private void ReadStandardOutput()
{
if (process != null)
{
processOutput = process.StandardOutput.ReadToEnd();
}
}
}
}

View File

@@ -0,0 +1,8 @@
<?php
/* Rename to config.php */
define(ISO_BASE_URL, "http://www.server.com/iso/");
define(ISO_PATH, "C:\\iso\\");
?>

View File

@@ -0,0 +1,230 @@
<?php
include ('config.php');
function dm_usort_cmp ($a, $b) {
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}
function dm_usort_cmp_desc ($a, $b) {
if ($a == $b) return 0;
return ($a > $b) ? 1 : -1;
}
function printHeader()
{
?>
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>ReactOS Revison ISOs</title>
<meta name="generator" content="Editpad">
<meta name="keywords" content="OS, ReactOS, operating system">
<meta name="author" content="ReactOS Project (ros-dev@reactos.com)">
<style>
.box
{
padding: 0px;
background-color: #88aadd;
border-left: 1px solid #f0f0f0;
border-right: 1px solid #000000;
border-top: 1px solid #f0f0f0;
border-bottom: 1px solid #000000;
}
</style>
</head>
<body bgcolor="#88aadd">
<form method="post" action="">
<?php
}
function printMenu($revision)
{
?>
<table border="0" class="box" cellpadding="5">
<tr>
<td height="2px">
</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<b>Branch:</b>
</td>
<td>
<select name="branch" tabindex="1">
<?php
$d = dir(ISO_PATH);
$i = 0;
$dirlist = array();
while (false !== ($entry = $d->read())) {
if ((strcasecmp($entry, ".") != 0) && (strcasecmp($entry, "..") != 0) && is_dir(ISO_PATH . "\\" . $entry) == "dir") {
$dirlist[$i++] = $entry;
}
}
$d->close();
if (is_array($dirlist)) {
usort($dirlist, "dm_usort_cmp");
reset($dirlist);
while (list($key, $val) = each($dirlist)) {
$branch = $val;
if ($branch == $_POST["branch"] || (!isset($_POST["branch"]) && $branch == "trunk"))
$selected = " selected";
else
$selected = "";
echo "<option$selected>$branch</option>";
}
}
?>
</select>
</td>
<td>
&nbsp;
</td>
<td>
<b>Revision:</b>
</td>
<td>
<?php
echo "<input type=\"text\" name=\"revision\" size=\"10\" maxlength=\"10\" tabindex=\"2\" value=\"" . $revision . "\"></input>";
?>
</td>
<td>
&nbsp;
</td>
<td>
<input type="submit" name="getiso" value="Download" tabindex="3" style="border: 1px solid #000000"></input>
</td>
</tr>
<tr>
<td colspan="7">
<hr size="2" width="100%" />
</td>
</tr>
<tr>
<td colspan="4">
<input type="submit" name="getnextiso" value="Next ISO" tabindex="4" style="border: 1px solid #000000"></input>
</td>
<td colspan="3" align="right">
<input type="submit" name="getlatestiso" value="Latest ISO" tabindex="5" style="border: 1px solid #000000"></input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="2px">
</td>
</tr>
</table>
<?php
}
function printFooter()
{
?>
</form>
<script>
var revision = document.getElementById('revision');
if (revision) revision.focus();
</script>
</body>
</html>
<?php
}
function locateRevisionISO($branch, $revision, $latest)
{
$revision = intval($revision);
$path = ISO_PATH . "\\" . $branch;
$d = dir($path);
$i = 0;
$filelist = array();
while (false !== ($entry = $d->read())) {
if (is_dir($path . "\\" . $entry) != "dir")
$filelist[$i++] = $entry;
}
$d->close();
if (is_array($filelist)) {
$sortFunction = $latest ? "dm_usort_cmp" : "dm_usort_cmp_desc";
usort($filelist, $sortFunction);
reset($filelist);
while (list($key, $filename) = each($filelist)) {
if (ereg('ReactOS-' . $branch . '-r([0-9]*).iso', $filename, $regs))
{
$thisRevision = intval($regs[1]);
if (($latest) && ($thisRevision < $revision))
return $regs[1];
else if ($thisRevision > $revision)
return $regs[1];
$lastRevision = $thisRevision;
}
}
}
return "";
}
function getNextRevisionISO($branch, $revision)
{
return locateRevisionISO($branch, $revision, false);
}
function getLatestRevisionISO($branch)
{
return locateRevisionISO($branch, 999999, true);
}
function main()
{
$branch = $_POST["branch"];
$revision = $_POST["revision"];
$filename = "ReactOS-" . $branch . "-r" . $revision . ".iso";
if (file_exists(ISO_PATH . $branch . "\\" . $filename))
{
$location = ISO_BASE_URL . $branch . "/" . $filename;
header("Location: $location");
return;
}
else
{
printHeader();
printMenu($_POST["revision"]);
echo "<br><b>No ISO exist for branch '" . $branch . "' and revision " . $revision . ".</b><br><br>";
printFooter();
}
}
if (!empty($_POST["getiso"]) && !empty($_POST["branch"]) && !empty($_POST["revision"]) && is_numeric($_POST["revision"]))
main();
else if (!empty($_POST["getnextiso"]) && !empty($_POST["branch"]) && !empty($_POST["revision"]) && is_numeric($_POST["revision"]))
{
printHeader();
printMenu(getNextRevisionISO($_POST["branch"], $_POST["revision"]));
printFooter();
}
else if (!empty($_POST["getlatestiso"]) && !empty($_POST["branch"]))
{
printHeader();
printMenu(getLatestRevisionISO($_POST["branch"]));
printFooter();
}
else
{
printHeader();
printMenu($_POST["revision"]);
printFooter();
}
?>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="smtpServer" value="localhost" />
<add key="errorEmail" value="mailbox@somewhere-on-the-net" />
<add key="makeParameters" value="" />
<add key="fastDisk" value="" />
</appSettings>
</configuration>

View File

@@ -0,0 +1,14 @@
using System.Reflection;
using System.Runtime.CompilerServices;
[assembly: AssemblyTitle("ReactOS Sin Verifier")]
[assembly: AssemblyDescription("ReactOS Sin Verifier")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("ReactOS Project")]
[assembly: AssemblyProduct("React Operating System")]
[assembly: AssemblyCopyright("Copyright 2005 ReactOS Project")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]

View File

@@ -0,0 +1,20 @@
<?xml version="1.0"?>
<project name="ReactOS.Verify" default="build">
<property name="output.dir" value="bin" />
<target name="build" description="Build component">
<mkdir dir="${output.dir}" />
<csc target="exe"
output="${output.dir}\ReactOS.Verify.exe"
optimize="true"
debug="true"
doc="${output.dir}\ReactOS.Verify.xml"
warninglevel="0">
<sources>
<include name="*.cs" />
</sources>
</csc>
</target>
</project>

279
cis/ReactOS.Verify/Main.cs Normal file
View File

@@ -0,0 +1,279 @@
using System;
using System.IO;
using System.Diagnostics;
using System.Configuration;
using System.Web.Mail;
using System.Collections;
using System.Collections.Specialized;
namespace ReactOS.Verify
{
public class MainClass
{
/// <summary>
/// Run the application.
/// </summary>
/// <param name="script">Script to run.</param>
/// <param name="args">Arguments to pass to script.</param>
/// <param name="workingDirectory">Working directory.</param>
/// <param name="standardOutput">Receives standard output.</param>
/// <param name="standardError">Receives standard error.</param>
/// <returns>
/// Exit code.
/// </returns>
private static int RunScript(string script,
string args,
string workingDirectory,
StringDictionary environmentVarables,
out string standardOutput,
out string standardError)
{
ProcessStartInfo scriptProcessStartInfo = new ProcessStartInfo(script,
args);
scriptProcessStartInfo.CreateNoWindow = true;
/*
* All standard streams must be redirected.
* Otherwise DuplicateHandle() will fail.
*/
scriptProcessStartInfo.RedirectStandardInput = true;
scriptProcessStartInfo.RedirectStandardError = true;
scriptProcessStartInfo.RedirectStandardOutput = true;
scriptProcessStartInfo.UseShellExecute = false;
scriptProcessStartInfo.WorkingDirectory = workingDirectory;
if (environmentVarables != null)
{
foreach (DictionaryEntry de in environmentVarables)
scriptProcessStartInfo.EnvironmentVariables.Add(de.Key as string, de.Value as string);
}
RedirectableProcess redirectableProcess = new RedirectableProcess(scriptProcessStartInfo);
standardOutput = redirectableProcess.ProcessOutput;
standardError = redirectableProcess.ProcessError;
return redirectableProcess.ExitCode;
}
/// <summary>
/// Retrieve value of configuration from configuration file.
/// </summary>
/// <param name="name">Name of configuration option.</param>
/// <param name="defaultValue">
/// Default value to be returned if the option does not exist.
/// </param>
/// <returns>
/// Value of configuration option or null if the option does not
/// exist and no default value is provided.
/// </returns>
private static string GetConfigurationOption(string name,
string defaultValue)
{
if (ConfigurationSettings.AppSettings[name] != null)
{
string s = ConfigurationSettings.AppSettings[name].Trim();
return s.Equals(String.Empty) ? defaultValue : s;
}
else
return defaultValue;
}
/// <summary>
/// Send an email.
/// </summary>
/// <param name="subject">Subject of the email.</param>
/// <param name="body">Content of the email.</param>
private static void SendErrorMail(string subject, string body)
{
try
{
string smtpServer = GetConfigurationOption("smtpServer", "localhost");
string email = GetConfigurationOption("errorEmail", null);
if (email == null)
return;
MailMessage mm = new MailMessage();
mm.Priority = MailPriority.Normal;
mm.From = email;
mm.To = email;
mm.Subject = subject;
mm.Body += body;
mm.Body += "<br>";
mm.BodyFormat = MailFormat.Html;
SmtpMail.SmtpServer = smtpServer;
SmtpMail.Send(mm);
}
catch (Exception ex)
{
Console.Error.WriteLine(ex.Message);
}
}
/// <summary>
/// Fail with an error message.
/// </summary>
/// <param name="text">Error message.</param>
private static void Fail(string text)
{
Console.WriteLine(text);
}
/// <summary>
/// Paths to fast disk for temporary files.
/// </summary>
private static string TemporaryFastDisk
{
get
{
string temporaryFastDisk = GetConfigurationOption("temporaryFastDisk", null);
if (temporaryFastDisk == null || temporaryFastDisk.Trim().Equals(String.Empty))
return null;
return temporaryFastDisk.Trim();
}
}
/// <summary>
/// Paths to fast disk for intermediate files.
/// </summary>
private static string IntermediateFastDisk
{
get
{
string intermediateFastDisk = GetConfigurationOption("intermediateFastDisk", null);
if (intermediateFastDisk == null || intermediateFastDisk.Trim().Equals(String.Empty))
return null;
return intermediateFastDisk.Trim();
}
}
/// <summary>
/// Paths to fast disk for output files.
/// </summary>
private static string OutputFastDisk
{
get
{
string outputFastDisk = GetConfigurationOption("outputFastDisk", null);
if (outputFastDisk == null || outputFastDisk.Trim().Equals(String.Empty))
return null;
return outputFastDisk.Trim();
}
}
/// <summary>
/// Return collection of environment variables.
/// </summary>
/// <returns>Collection of environment variables or null if there is none.</returns>
private static StringDictionary GetEnvironmentVarables()
{
StringDictionary environmentVarables = new StringDictionary();
if (TemporaryFastDisk != null)
environmentVarables.Add("ROS_TEMPORARY", TemporaryFastDisk);
if (IntermediateFastDisk != null)
environmentVarables.Add("ROS_INTERMEDIATE", IntermediateFastDisk);
if (OutputFastDisk != null)
environmentVarables.Add("ROS_OUTPUT", OutputFastDisk);
return environmentVarables;
}
/// <summary>
/// Run make.
/// </summary>
/// <param name="arguments">Arguments.</param>
/// <param name="standardOutput">Receives standard output.</param>
/// <param name="standardError">Receives standard error.</param>
/// <returns>Make exit code.</returns>
private static int RunMake(string arguments,
out string standardOutput,
out string standardError)
{
string make = "mingw32-make";
string makeParameters = GetConfigurationOption("makeParameters", "");
string reactosDirectory = Path.Combine(System.Environment.CurrentDirectory,
"reactos");
return RunScript(make,
makeParameters + " " + arguments,
reactosDirectory,
GetEnvironmentVarables(),
out standardOutput,
out standardError);
}
/// <summary>
/// Verify a revision of ReactOS by building it all.
/// </summary>
private static int VerifyFull()
{
string standardOutput;
string standardError;
int exitCode = RunMake("bootcd",
out standardOutput,
out standardError);
if (exitCode != 0)
{
Fail(String.Format("make bootcd failed: (error: {0}) {1}",
standardError,
standardOutput));
return exitCode;
}
string reactosDirectory = Path.Combine(System.Environment.CurrentDirectory,
"reactos");
string isoFilename = Path.Combine(reactosDirectory,
"ReactOS.iso");
if (!File.Exists(isoFilename))
Fail("make bootcd produced no ReactOS.iso");
return exitCode;
}
/// <summary>
/// Verify a revision of ReactOS by building parts.
/// </summary>
/// <param name="components">Comma separated list of components to build.</param>
private static int VerifyPartial(string components)
{
string standardOutput;
string standardError;
string componentParameters = "\"" + components.Replace(",", "\" \"") + "\"";
int exitCode = RunMake(componentParameters,
out standardOutput,
out standardError);
if (exitCode != 0)
Fail(String.Format("make failed for targets {0}: (error: {1}) {2}",
componentParameters,
standardError,
standardOutput));
return exitCode;
}
/// <summary>
/// Verify a revision of ReactOS.
/// </summary>
/// <param name="args">Arguments from command line.</param>
private static int Verify(string[] args)
{
if (args.Length > 0)
return VerifyPartial(args[0]);
else
return VerifyFull();
}
/// <summary>
/// Program entry point.
/// </summary>
/// <param name="args">Arguments from command line.</param>
/// <remarks>
/// If exit code is 0, then the commit was processed successfully.
/// If exit code is 1, then the commit was not processed successfully.
/// </remarks>
public static void Main(string[] args)
{
try
{
System.Environment.ExitCode = Verify(args);
}
catch (Exception ex)
{
string text = String.Format("Exception: {0}", ex);
SendErrorMail("ReactOS Verify Error", text);
System.Environment.ExitCode = 1;
}
}
}
}

View File

@@ -0,0 +1,145 @@
/*
* When using the ProcessStartInfo.RedirectStandardXxx properties there is a chance of
* the parent and child process blocking due to a race condition. This class handles the
* problem.
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdiagnosticsprocessstartinfoclassredirectstandardoutputtopic.asp
*/
using System;
using System.IO;
using System.Threading;
using System.Diagnostics;
namespace ReactOS.Verify
{
/// <summary>
/// Process that redirects standard output and standard error streams.
/// </summary>
public class RedirectableProcess
{
/// <summary>
/// Process.
/// </summary>
private Process process;
/// <summary>
/// Redirected standard error stream.
/// </summary>
private string processError;
/// <summary>
/// Redirected standard output stream.
/// </summary>
private string processOutput;
/// <summary>
/// Exit code.
/// </summary>
private int exitCode;
/// <summary>
/// Redirected standard error stream.
/// </summary>
public string ProcessError
{
get
{
return processError;
}
}
/// <summary>
/// Redirected standard output stream.
/// </summary>
public string ProcessOutput
{
get
{
return processOutput;
}
}
/// <summary>
/// Exit code.
/// </summary>
public int ExitCode
{
get
{
return exitCode;
}
}
/// <summary>
/// Run an excutable and redirect standard error and/or standard output safely.
/// </summary>
public RedirectableProcess(ProcessStartInfo processStartInfo)
{
Run(processStartInfo, null);
}
/// <summary>
/// Run an excutable and redirect standard error and/or standard output safely.
/// </summary>
public RedirectableProcess(ProcessStartInfo processStartInfo, string input)
{
Run(processStartInfo, input);
}
private void Run(ProcessStartInfo processStartInfo, string input)
{
process = new Process();
process.StartInfo = processStartInfo;
process.Start();
if (processStartInfo.RedirectStandardInput && input != null)
{
process.StandardInput.AutoFlush = true;
process.StandardInput.WriteLine(input);
}
Thread readStandardError = null;
if (processStartInfo.RedirectStandardError)
{
readStandardError = new Thread(new ThreadStart(ReadStandardError));
readStandardError.Start();
}
Thread readStandardOutput = null;
if (processStartInfo.RedirectStandardOutput)
{
readStandardOutput = new Thread(new ThreadStart(ReadStandardOutput));
readStandardOutput.Start();
}
if (processStartInfo.RedirectStandardError)
{
readStandardError.Join();
}
if (processStartInfo.RedirectStandardOutput)
{
readStandardOutput.Join();
}
process.WaitForExit();
exitCode = process.ExitCode;
process = null;
}
/// <summary>
/// Read standard error thread entry-point.
/// </summary>
private void ReadStandardError()
{
if (process != null)
{
processError = process.StandardError.ReadToEnd();
}
}
/// <summary>
/// Read standard output thread entry-point.
/// </summary>
private void ReadStandardOutput()
{
if (process != null)
{
processOutput = process.StandardOutput.ReadToEnd();
}
}
}
}

View File

@@ -203,12 +203,13 @@ public:
}
bool OnPart ( const std::string& user, const std::string& channel )
{
for ( int i = 0; i < ops.size(); i++ )
std::vector<std::string>::iterator it = ops.begin();
for ( ; it != ops.end(); it++ )
{
if ( ops[i] == user )
if ( *it == user )
{
printf ( "remove '%s' to ops list\n", user.c_str() );
ops.erase ( &ops[i] );
ops.erase ( it );
}
}
return true;
@@ -394,15 +395,17 @@ public:
return PrivMsg ( channel, ssprintf("%s: Couldn't add, unmatched quotes",from.c_str()) );
s = string ( p, p2-p );
}
for ( i = 0; i < list.list.size(); i++ )
std::vector<std::string>::iterator it = list.list.begin();
for ( ; it != list.list.end(); it++ )
{
if ( list.list[i] == s )
if ( *it == s )
{
list.list.erase ( &list.list[i] );
list.list.erase ( it );
{
File f ( ssprintf("%s.txt",list.name.c_str()), "w" );
for ( i = 0; i < list.list.size(); i++ )
f.printf ( "%s\n", list.list[i].c_str() );
File f ( ssprintf("%s.txt",list.name.c_str()), "w" );
it = list.list.begin();
for ( ; it < list.list.end(); it++ )
f.printf ( "%s\n", it->c_str() );
}
return PrivMsg ( channel, ssprintf("%s: entry removed from list '%s'",from.c_str(),listname.c_str()) );
}
@@ -480,12 +483,13 @@ public:
{
if ( *p == 'o' )
{
for ( int i = 0; i < ops.size(); i++ )
std::vector<std::string>::iterator it = ops.begin();
for ( ; it != ops.end(); it++ )
{
if ( ops[i] == target )
if ( *it == target )
{
printf ( "remove '%s' to ops list\n", target.c_str() );
ops.erase ( &ops[i] );
ops.erase ( it );
}
}
break;

View File

@@ -14,8 +14,8 @@
#define nelem(x) ( sizeof(x) / sizeof(x[0]) )
#endif//nelem
using File::filesize_t;
using File::fileoff_t;
typedef File::filesize_t filesize_t;
typedef File::fileoff_t fileoff_t;
fileoff_t File::seek ( fileoff_t offset )

View File

@@ -18,7 +18,7 @@
class File
{
public:
#ifdef _MSC_VER
#ifdef WIN32
typedef __int64 fileoff_t;
typedef unsigned __int64 filesize_t;
#else//_MSC_VER

View File

@@ -10,7 +10,7 @@
#include <sstream>
#include "IRCClient.h"
#include "md5.h"
#include "MD5.h"
#include "cram_md5.h"
#include "trim.h"
#include "chomp.h"

View File

@@ -53,7 +53,7 @@ public:
{
ASSERT ( i < _end );
reserve ( i + 1 );
_arr[i].reset ( ptr );
_arr[i].reset ( p );
}
void push_back ( auto_ptr<T>& p )

View File

@@ -2,7 +2,7 @@
// This file is (C) 2004 Royce Mitchell III
// and released under the BSD & LGPL licenses
#include "md5.h"
#include "MD5.h"
#include "cram_md5.h"
#include "base64.h"

View File

@@ -0,0 +1,38 @@
TARGET := ArchBlackmann.exe
.PHONY: all
all: $(TARGET)
CPP=mingw32-g++
CFLAGS := -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS
LFLAGS :=
LIBS := -lstdc++ -lws2_32
SRCS := ArchBlackmann.cpp \
base64.cpp \
chomp.cpp \
cram_md5.cpp \
File.cpp \
IRCClient.cpp \
MD5.cpp \
panic.cpp \
ReliMT.cpp \
SockUtils.cpp \
SplitJoin.cpp \
ssprintf.cpp \
ThreadPool.cpp \
trim.cpp
OBJS := $(SRCS:.cpp=.o)
$(TARGET): $(OBJS)
$(CPP) $(LFLAGS) -o $@ $(OBJS) $(LIBS)
.cpp.o: $<
$(CPP) $(CFLAGS) -c $< -o $@
.PHONY: clean
clean:
-@del $(TARGET)
-@del $(OBJS)

View File

@@ -21,10 +21,10 @@ ArchBlackmann know what he should say from some text files. They can be found on
List that are used directly to create responses are:
- tech - here are the sentces ArchBlackmann sais when he finds his name
- tech - here are the sentences ArchBlackmann says when he finds his name
- curse - this are the curses he looks for
- cursecop - this the responces to them
- grovel - this is said when a op does the grovel command
- grovel - this is said when an op does the grovel command
- nogrovel - this when someone else does it
The remaining lists are not used directly, but by the other lists.

View File

@@ -551,7 +551,7 @@ static bool numberfl(std::string& f, long double __n, char exp_sign, int size,
return true;
}
static int string(std::string& f, const char* s, int len, int field_width, int precision, int flags)
static int stringa(std::string& f, const char* s, int len, int field_width, int precision, int flags)
{
int i, done = 0;
if (s == NULL)
@@ -654,7 +654,7 @@ std::string ssvprintf ( const char *fmt, va_list args )
long double _ldouble;
double _double;
const char *s;
const unsigned short* sw;
const wchar_t* sw;
int result;
std::string f;
@@ -793,12 +793,12 @@ std::string ssvprintf ( const char *fmt, va_list args )
case 's':
if (qualifier == 'l' || qualifier == 'w') {
/* print unicode string */
sw = va_arg(args, wchar_t *);
sw = (const wchar_t*)va_arg(args, wchar_t *);
result = stringw(f, sw, -1, field_width, precision, flags);
} else {
/* print ascii string */
s = va_arg(args, char *);
result = string(f, s, -1, field_width, precision, flags);
result = stringa(f, s, -1, field_width, precision, flags);
}
if (result < 0)
{
@@ -811,10 +811,10 @@ std::string ssvprintf ( const char *fmt, va_list args )
if (qualifier == 'h') {
/* print ascii string */
s = va_arg(args, char *);
result = string(f, s, -1, field_width, precision, flags);
result = stringa(f, s, -1, field_width, precision, flags);
} else {
/* print unicode string */
sw = va_arg(args, wchar_t *);
sw = (const wchar_t*)va_arg(args, wchar_t *);
result = stringw(f, sw, -1, field_width, precision, flags);
}
if (result < 0)
@@ -846,7 +846,7 @@ std::string ssvprintf ( const char *fmt, va_list args )
s = pas->Buffer;
len = pas->Length;
}
result = string(f, s, -1, field_width, precision, flags);
result = stringa(f, s, -1, field_width, precision, flags);
}
if (result < 0)
return -1;

View File

@@ -1,3 +0,0 @@
*.exe
*.o
*.sym

5
os2/apps/directory.xml Normal file
View File

@@ -0,0 +1,5 @@
<group>
<directory name="bepslep">
<xi:include href="bepslep/bepslep.xml" />
</directory>
</group>

340
os2/copying Normal file
View File

@@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

11
os2/directory.xml Normal file
View File

@@ -0,0 +1,11 @@
<group>
<directory name="apps">
<xi:include href="apps/directory.xml" />
</directory>
<directory name="lib">
<xi:include href="lib/directory.xml" />
</directory>
<directory name="server">
<xi:include href="server/os2srv.xml" />
</directory>
</group>

5
os2/lib/directory.xml Normal file
View File

@@ -0,0 +1,5 @@
<group>
<directory name="doscalls">
<xi:include href="doscalls/doscalls.xml" />
</directory>
</group>

View File

@@ -1,5 +0,0 @@
*.exe
*.o
*.sym
*.dll
*.coff

View File

@@ -1 +0,0 @@
*.o

View File

@@ -1,4 +1,4 @@
/* $Id: devices.cpp,v 1.5 2004/01/31 01:29:11 robertk Exp $
/* $Id$
*/
/*
*

View File

@@ -1,38 +1,4 @@
#include <defines.h>
#include <reactos/resource.h>
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO
FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", RES_STR_COMPANY_NAME
VALUE "FileDescription", "OS2 subsystem base services\0"
VALUE "FileVersion", RES_STR_FILE_VERSION
VALUE "InternalName", "doscalls\0"
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
VALUE "OriginalFilename", "doscalls.dll\0"
VALUE "ProductName", RES_STR_PRODUCT_NAME
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS-OS/2 subsystem base services\0"
#define REACTOS_STR_INTERNAL_NAME "doscalls\0"
#define REACTOS_STR_ORIGINAL_FILENAME "doscalls.dll\0"
#include <reactos/version.rc>

View File

@@ -0,0 +1,23 @@
<module name="doscalls" type="nativedll">
<importlibrary definition="doscalls.def" />
<include base="doscalls">../../include</include>
<linkerflag>-lgcc</linkerflag>
<directory name="devices">
<file>devices.cpp</file>
<file>ioctl_async.cpp</file>
</directory>
<directory name="file">
<file>directory.cpp</file>
<file>openclose.cpp</file>
</directory>
<directory name="memory">
<file>memory.cpp</file>
</directory>
<directory name="misc">
<file>doscalls.cpp</file>
<file>error.cpp</file>
</directory>
<directory name="run">
<file>process.cpp</file>
</directory>
</module>

View File

@@ -1 +0,0 @@
*.o

View File

@@ -1,4 +1,4 @@
/* $Id: directory.cpp,v 1.1 2002/09/04 22:19:47 robertk Exp $
/* $Id$
*/
/*
*

View File

@@ -1,4 +1,4 @@
/* $Id: openclose.cpp,v 1.5 2004/01/31 01:29:11 robertk Exp $
/* $Id$
*/
/*
*

View File

@@ -1 +0,0 @@
*.o

View File

@@ -1,4 +1,4 @@
/* $Id: doscalls.cpp,v 1.1 2002/07/26 00:23:13 robertk Exp $
/* $Id$
*/
/*
*

View File

@@ -1,4 +1,4 @@
/* $Id: error.cpp,v 1.3 2003/01/07 16:23:11 robd Exp $
/* $Id$
*/
/*
*

View File

@@ -1 +0,0 @@
*.o

View File

@@ -1,4 +1,4 @@
/* $Id: process.cpp,v 1.6 2003/01/07 16:23:11 robd Exp $
/* $Id$
*/
/*
*
@@ -31,7 +31,7 @@ APIRET STDCALL DosSleep(ULONG msec)
}
/* $Id: process.cpp,v 1.6 2003/01/07 16:23:11 robd Exp $ */
/* $Id$ */
/* Terminates the current thread or the current Process.
Decission is made by action
FIXME: move this code to OS2.EXE */

14
os2/makefile Normal file
View File

@@ -0,0 +1,14 @@
all:
@echo To build "os2" there are two paths:
@echo ---
@echo 1. copy the os2 folder into the reactos\modules folder
@echo 2. link reactos/modules/os2 to os2
@echo UNIX
@echo cd $${ROS_SRC_ROOT}/reactos/modules
@echo ln -s $${ROS_SRC_ROOT}/os2 os2
@echo WINDOWS
@echo cd %%ROS_SRC_ROOT%%\reactos\modules
@echo junction os2 %%ROS_SRC_ROOT%%\os2
@echo ---
@echo Eventually you can run "make depends" in the %%ROS_SRC_ROOT%%\reactos
@echo directory to compile it.

View File

@@ -1,3 +0,0 @@
*.exe
*.o
*.sym

View File

@@ -1,46 +1,50 @@
/* $Id: $
*
* vmsss.c - VMS Enviroment Subsystem Server
*
* ReactOS Operating System
*
* --------------------------------------------------------------------
*
* This software 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 software 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 software; see the file COPYING.LIB. If not, write
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
* MA 02139, USA.
*
* --------------------------------------------------------------------
*/
#include "vmsss.h"
#define NDEBUG
#include <debug.h>
/* Native image's entry point */
VOID STDCALL
NtProcessStartup(PPEB Peb)
{
NTSTATUS Status = STATUS_SUCCESS;
Status = VmsInitializeServer();
if(STATUS_SUCCESS != Status)
{
DPRINT("VMS: VmsInitializeServer failed! Aborting. (Status=%lx)\n", Status);
}
Status = VmsRunServer();
NtTerminateProcess(NtCurrentProcess(),Status);
}
/* EOF */
/* $Id$
*
* dllmain.c - OS/2 Enviroment Subsystem Server
*
* ReactOS Operating System
*
* --------------------------------------------------------------------
*
* This software 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 software 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 software; see the file COPYING.LIB. If not, write
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
* MA 02139, USA.
*
* --------------------------------------------------------------------
*/
#include "os2srv.h"
#define NDEBUG
#include <debug.h>
/* DLL entry point */
HANDLE Os2SrvDllHandle = 0;
/* FUNCTIONS *****************************************************************/
BOOL STDCALL
DllMain(HANDLE hDll,
DWORD dwReason,
LPVOID lpReserved)
{
if (DLL_PROCESS_ATTACH == dwReason)
{
Os2SrvDllHandle = hDll;
}
return TRUE;
}
/* EOF */

View File

@@ -1,34 +0,0 @@
# $Id: makefile,v 1.3 2003/01/12 02:03:06 robd Exp $
PATH_TO_TOP = ../../reactos
TARGET_TYPE = program
TARGET_NORC = yes
TARGET_APPTYPE = native
TARGET_NAME = os2ss
TARGET_INSTALLDIR = system32
TARGET_CFLAGS = -D__NTAPP__
TARGET_SDKLIBS = ntdll.a kernel32.a csrss.a
TARGET_GCCLIBS = stdc++
OBJECTS_API =
OBJECTS_MISC = \
$(TARGET_NAME).o
TARGET_OBJECTS = \
$(OBJECTS_API) \
$(OBJECTS_MISC)
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

3
os2/server/os2srv.def Normal file
View File

@@ -0,0 +1,3 @@
LIBRARY os2srv.dll
EXPORTS
ServerDllInitialization@8

13
os2/server/os2srv.h Normal file
View File

@@ -0,0 +1,13 @@
#ifndef _OS2SS_H_INCLUDED_
#define _OS2SS_H_INCLUDED_
/* PSDK/NDK Headers */
#include <stdio.h>
#include <windows.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
#include <csr/server.h>
#endif /* ndef _OS2SS_H_INCLUDED_ */

4
os2/server/os2srv.rc Normal file
View File

@@ -0,0 +1,4 @@
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS-OS/2 Environment Subsystem Server\0"
#define REACTOS_STR_INTERNAL_NAME "os2srv\0"
#define REACTOS_STR_ORIGINAL_FILENAME "os2srv.dll\0"
#include <reactos/version.rc>

11
os2/server/os2srv.xml Normal file
View File

@@ -0,0 +1,11 @@
<module name="os2srv" type="nativedll">
<importlibrary definition="os2srv.def" />
<include base="os2srv">.</include>
<define name="__USE_W32API" />
<define name="_DISABLE_TIDENTS" />
<library>ntdll</library>
<library>csrsrv</library>
<file>dllmain.c</file>
<file>server.c</file>
<file>os2srv.rc</file>
</module>

View File

@@ -1,157 +0,0 @@
/* $Id: os2ss.cpp,v 1.2 2003/01/07 16:23:12 robd Exp $
*
* reactos/subsys/csrss/api/process.c
*
* "\windows\ApiPort" port process management functions
*
* ReactOS Operating System
*/
// TODO: Rewrite the whole file. This is just a copy
#include <ddk/ntddk.h>
#include <ntdll/rtl.h>
#include <ntos/synch.h>
extern "C" {
BOOL CsrServerInitialization(ULONG ArgumentCount, PWSTR *ArgumentArray);
VOID DisplayString(LPCWSTR lpwString);
//BOOL STDCALL CsrServerInitialization (ULONG ArgumentCount, PWSTR *ArgumentArray);
//VOID STDCALL DisplayString(LPCWSTR lpwString);
//VOID STDCALL PrintString (char* fmt, ...);
//NTSTATUS STDCALL NtDisplayString(IN PUNICODE_STRING DisplayString);
void
DisplayString(LPCWSTR lpwString)
{
UNICODE_STRING us;
RtlInitUnicodeString(&us, lpwString);
NtDisplayString(&us);
}
/*
void
PrintString(char* fmt,...)
{
char buffer[512];
va_list ap;
UNICODE_STRING UnicodeString;
ANSI_STRING AnsiString;
va_start(ap, fmt);
vsprintf(buffer, fmt, ap);
va_end(ap);
RtlInitAnsiString(&AnsiString, buffer);
RtlAnsiStringToUnicodeString(&UnicodeString,
&AnsiString,
TRUE);
NtDisplayString(&UnicodeString);
RtlFreeUnicodeString(&UnicodeString);
}
*/
}
/* server variables */
int NumProcesses;
/* Native image's entry point */
void NtProcessStartup (PPEB Peb)
{
PRTL_USER_PROCESS_PARAMETERS ProcParams;
PWSTR ArgBuffer;
PWSTR *argv;
ULONG argc = 0;
int i = 0;
int afterlastspace = 0;
OBJECT_ATTRIBUTES ObjectAttributes;
HANDLE CsrssInitEvent;
UNICODE_STRING UnicodeString;
NTSTATUS Status;
ProcParams = RtlNormalizeProcessParams (Peb->ProcessParameters);
argv = (PWSTR *)RtlAllocateHeap (Peb->ProcessHeap,
0, 512 * sizeof(PWSTR));
ArgBuffer = (PWSTR)RtlAllocateHeap (Peb->ProcessHeap,
0,
ProcParams->CommandLine.Length + sizeof(WCHAR));
memcpy (ArgBuffer,
ProcParams->CommandLine.Buffer,
ProcParams->CommandLine.Length + sizeof(WCHAR));
while (ArgBuffer[i])
{
if (ArgBuffer[i] == L' ')
{
argc++;
ArgBuffer[i] = L'\0';
argv[argc-1] = &(ArgBuffer[afterlastspace]);
i++;
while (ArgBuffer[i] == L' ')
i++;
afterlastspace = i;
}
else
{
i++;
}
}
if (ArgBuffer[afterlastspace] != L'\0')
{
argc++;
ArgBuffer[i] = L'\0';
argv[argc-1] = &(ArgBuffer[afterlastspace]);
}
RtlInitUnicodeString(&UnicodeString,
L"\\CsrssInitDone");
InitializeObjectAttributes(&ObjectAttributes,
&UnicodeString,
EVENT_ALL_ACCESS,
0,
NULL);
Status = NtOpenEvent(&CsrssInitEvent,
EVENT_ALL_ACCESS,
&ObjectAttributes);
if (!NT_SUCCESS(Status))
{
DbgPrint("CSR: Failed to open csrss notification event\n");
}
if (CsrServerInitialization (argc, argv) == TRUE)
{
NtSetEvent(CsrssInitEvent,
NULL);
RtlFreeHeap (Peb->ProcessHeap,
0, argv);
RtlFreeHeap (Peb->ProcessHeap,
0,
ArgBuffer);
/* terminate the current thread only */
NtTerminateThread( NtCurrentThread(), 0 );
}
else
{
DisplayString( L"CSR: Subsystem initialization failed.\n" );
RtlFreeHeap (Peb->ProcessHeap,
0, argv);
RtlFreeHeap (Peb->ProcessHeap,
0,
ArgBuffer);
/*
* Tell SM we failed.
*/
NtTerminateProcess( NtCurrentProcess(), 0 );
}
}

84
os2/server/server.c Normal file
View File

@@ -0,0 +1,84 @@
/* $Id$
*
* server.c - OS/2 Enviroment Subsystem Server - Initialization
*
* ReactOS Operating System
*
* --------------------------------------------------------------------
*
* This software 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 software 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 software; see the file COPYING.LIB. If not, write
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
* MA 02139, USA.
*
* --------------------------------------------------------------------
*/
#include "os2srv.h"
//#define NDEBUG
#include <debug.h>
HANDLE Os2ApiPort = NULL;
/**********************************************************************
* NAME PRIVATE
* Os2StaticServerThread/1
*/
VOID STDCALL Os2StaticServerThread (PVOID x)
{
NTSTATUS Status = STATUS_SUCCESS;
PPORT_MESSAGE Request = (PPORT_MESSAGE) x;
PPORT_MESSAGE Reply = NULL;
ULONG MessageType = 0;
DPRINT("VMSSRV: %s called\n", __FUNCTION__);
MessageType = Request->u2.s2.Type;
DPRINT("VMSSRV: %s received a message (Type=%d)\n",
__FUNCTION__, MessageType);
switch (MessageType)
{
default:
Reply = Request;
Status = NtReplyPort (Os2ApiPort, Reply);
break;
}
}
/*=====================================================================
* PUBLIC API
*===================================================================*/
NTSTATUS STDCALL ServerDllInitialization (ULONG ArgumentCount,
LPWSTR *Argument)
{
NTSTATUS Status = STATUS_SUCCESS;
DPRINT("VMSSRV: %s called\n", __FUNCTION__);
// Get the listening port from csrsrv.dll
Os2ApiPort = CsrQueryApiPort ();
if (NULL == Os2ApiPort)
{
return STATUS_UNSUCCESSFUL;
}
// Register our message dispatcher
Status = CsrAddStaticServerThread (Os2StaticServerThread);
if (NT_SUCCESS(Status))
{
//TODO: perform the real OS/2 server internal initialization here
}
return Status;
}
/* EOF */

View File

@@ -1,154 +1,14 @@
# $Id: Makefile,v 1.7 2003/01/05 18:29:41 robd Exp $
#
# ReactOS POSIX+ Personality
#
PATH_TO_TOP = ../reactos
include $(PATH_TO_TOP)/rules.mak
POSIX_OTHER = server #lib
POSIX_TOOLS = mksystab
POSIX_LIBS = psxdll psxx
POSIX_APPS = baresh posixw32
POSIX_MODULES = $(POSIX_OTHER) $(POSIX_TOOLS) $(POSIX_LIBS) $(POSIX_APPS)
all: implib $(POSIX_MODULES)
implib: $(POSIX_MODULES:%=%_implib)
clean: $(POSIX_MODULES:%=%_clean)
install: $(POSIX_MODULES:%=%_install)
#dist: $(TOOLS_PATH)/rcopy$(EXE_POSTFIX) dist_clean dist_dirs \
# $(POSIX_MODULES:%=%_dist)
.PHONY: all implib clean
#.PHONY: all implib install dist
#
# Other POSIX+ Modules
#
$(POSIX_OTHER): %:
make -f Makefile -C $(POSIX_PATH)/$*
$(POSIX_OTHER:%=%_implib): %_implib:
make -f Makefile -C $(POSIX_PATH)/$* implib
$(POSIX_OTHER:%=%_clean): %_clean:
make -f Makefile -C $(POSIX_PATH)/$* clean
$(POSIX_OTHER:%=%_dist): %_dist:
make -f Makefile -C $(POSIX_PATH)/$* dist
$(POSIX_OTHER:%=%_install): %_install:
make -f Makefile -C $(POSIX_PATH)/$* install
.PHONY: $(POSIX_OTHER) $(POSIX_OTHER:%=%_implib) $(POSIX_OTHER:%=%_clean) $(POSIX_OTHER:%=%_install) $(POSIX_OTHER:%=%_dist)
#
# POSIX+ Tools
#
$(POSIX_TOOLS): %:
make -f Makefile -C $(POSIX_PATH)/tools/$*
$(POSIX_TOOLS:%=%_implib): %_implib:
make -f Makefile -C $(POSIX_PATH)/tools/$* implib
$(POSIX_TOOLS:%=%_clean): %_clean:
make -f Makefile -C $(POSIX_PATH)/tools/$* clean
$(POSIX_TOOLS:%=%_dist): %_dist:
make -f Makefile -C $(POSIX_PATH)/tools/$* dist
$(POSIX_TOOLS:%=%_install): %_install:
make -f Makefile -C $(POSIX_PATH)/tools/$* install
.PHONY: $(POSIX_LIBS) $(POSIX_LIBS:%=%_implib) $(POSIX_LIBS:%=%_clean) $(POSIX_LIBS:%=%_install) $(POSIX_LIBS:%=%_dist)
#
# POSIX+ DLLs
#
$(POSIX_LIBS): %:
make -f Makefile -C $(POSIX_PATH)/lib/$*
$(POSIX_LIBS:%=%_implib): %_implib:
make -f Makefile -C $(POSIX_PATH)/lib/$* implib
$(POSIX_LIBS:%=%_clean): %_clean:
make -f Makefile -C $(POSIX_PATH)/lib/$* clean
$(POSIX_LIBS:%=%_dist): %_dist:
make -f Makefile -C $(POSIX_PATH)/lib/$* dist
$(POSIX_LIBS:%=%_install): %_install:
make -f Makefile -C $(POSIX_PATH)/lib/$* install
.PHONY: $(POSIX_LIBS) $(POSIX_LIBS:%=%_implib) $(POSIX_LIBS:%=%_clean) $(POSIX_LIBS:%=%_install) $(POSIX_LIBS:%=%_dist)
#
# POSIX+ Programs
#
$(POSIX_APPS): %:
make -f Makefile -C $(POSIX_PATH)/apps/$*
$(POSIX_APPS:%=%_implib): %_implib:
make -f Makefile -C $(POSIX_PATH)/apps/$* implib
$(POSIX_APPS:%=%_clean): %_clean:
make -f Makefile -C $(POSIX_PATH)/apps/$* clean
$(POSIX_APPS:%=%_dist): %_dist:
make -f Makefile -C $(POSIX_PATH)/apps/$* dist
$(POSIX_APPS:%=%_install): %_install:
make -f Makefile -C $(POSIX_PATH)/apps/$* install
.PHONY: $(POSIX_APPS) $(POSIX_APPS:%=%_implib) $(POSIX_APPS:%=%_clean) $(POSIX_APPS:%=%_install) $(POSIX_APPS:%=%_dist)
etags:
find . -name "*.[ch]" -print | etags --language=c -
# EOF
#CFLAGS=-Iinclude
#all: lib/crt0w32.o
# make -C tools
# make -C lib
# make -C server
# make -C lib/psxdll
# make -C lib/psxx
# make -C apps/baresh
# make -C apps/posixw32
#lib/crt0w32.o: lib/crt0w32.c
#implib:
#clean:
# make -C lib clean
# make -C tools clean
# make -C server clean
# make -C lib/psxdll clean
# make -C lib/psxx clean
# make -C apps/baresh clean
# make -C apps/posixw32 clean
# - $(RM) lib/crt0w32.o
#include $(PATH_TO_TOP)/rules.mak
# EOF
all:
@echo To build "posix" there are two paths:
@echo ---
@echo 1. copy the posix folder into the reactos\modules folder
@echo 2. link reactos/modules/posix to posix
@echo UNIX
@echo cd $${ROS_SRC_ROOT}/reactos/modules
@echo ln -s $${ROS_SRC_ROOT}/posix posix
@echo WINDOWS
@echo cd %%ROS_SRC_ROOT%%\reactos\modules
@echo junction posix %%ROS_SRC_ROOT%%\posix
@echo ---
@echo Eventually you can run "make depends" in the %%ROS_SRC_ROOT%%\reactos
@echo directory to compile it.

340
posix/copying Normal file
View File

@@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

14
posix/directory.xml Normal file
View File

@@ -0,0 +1,14 @@
<group>
<directory name="tools">
<xi:include href="tools/directory.xml" />
</directory>
<directory name="apps">
<xi:include href="apps/directory.xml" />
</directory>
<directory name="lib">
<xi:include href="lib/directory.xml" />
</directory>
<directory name="server">
<xi:include href="server/psxsrv.xml" />
</directory>
</group>

View File

@@ -3,7 +3,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -280,7 +280,7 @@ POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
@@ -292,7 +292,7 @@ convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
Copyright (C) <year> <name of author>
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
@@ -306,14 +306,15 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

View File

@@ -4,7 +4,7 @@ Emanuele Aliberti <ea@iol.it>
Robert Bergkvist <fragdance@hotmail.com>
Hartmut Birr <hartmut.birr@gmx.de>
Aleksey Bragin <aleksey@studiocerebral.com>
Richard Campbell <eek2121@comcast.net>
Richard Campbell <betam4x@gmail.com>
Gunnar Andre' Dalsnes <hardon@online.no>
Arindam Das
Boudewijn Dekker <ariadne@xs4all.nl>

View File

@@ -2,7 +2,7 @@
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -485,7 +485,7 @@ convey the exclusion of warranty; and each file should have at least the
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.

View File

@@ -105,17 +105,48 @@
# -dm{module} Check only automatic dependencies for this module.
# -mi Let make handle creation of install directories. Rbuild will not generate the directories.
# -ps Generate proxy makefiles in source tree instead of the output tree.
# -ud Disable compilation units.
# -r Input XML
#
# ROS_AUTOMAKE
# Alternate name of makefile.auto
#
# check for versions of make that don't have features we need...
# the function "eval" is only available in 3.80+, which happens to be the minimum
# version that has the features we use...
# THIS CHECK IS BORROWED FROM THE "GMSL" PROJECT, AND IS COVERED BY THE GPL LICENSE
# YOU CAN FIND OUT MORE ABOUT GMSL - A VERY COOL PROJECT - AT:
# http://gmsl.sourceforge.net/
__gmsl_have_eval :=
__gmsl_ignore := $(eval __gmsl_have_eval := T)
ifndef __gmsl_have_eval
$(error ReactOS's makefiles use GNU Make 3.80+ features, you have $(MAKE_VERSION), you MUST UPGRADE in order to build ReactOS - Sorry)
endif
# END of code borrowed from GMSL ( http://gmsl.sourceforge.net/ )
.PHONY: all
.PHONY: clean
all: makefile.auto
ifeq ($(ROS_AUTOMAKE),)
ROS_AUTOMAKE=makefile.auto
endif
all: $(ROS_AUTOMAKE)
.SUFFIXES:
ifeq ($(HOST),)
ifeq ($(word 1,$(shell gcc -dumpmachine)),mingw32)
ifeq ($(findstring msys,$(shell sh --version 2>nul)),msys)
export OSTYPE = msys
HOST=mingw32-linux
else
HOST=mingw32-windows
endif
else
HOST=mingw32-linux
endif
@@ -207,9 +238,13 @@ host_ld = $(Q)ld
host_ar = $(Q)ar
host_objcopy = $(Q)objcopy
ifeq ($(HOST),mingw32-linux)
EXEPREFIX = ./
EXEPOSTFIX =
SEP = /
export EXEPREFIX = ./
ifeq ($(OSTYPE),msys)
export EXEPOSTFIX = .exe
else
export EXEPOSTFIX =
endif
export SEP = /
mkdir = -$(Q)mkdir -p
gcc = $(Q)$(PREFIX)-gcc
gpp = $(Q)$(PREFIX)-g++
@@ -224,10 +259,29 @@ ifeq ($(HOST),mingw32-linux)
cp = $(Q)cp
NUL = /dev/null
else # mingw32-windows
EXEPREFIX =
EXEPOSTFIX = .exe
ifeq ($(OSTYPE),msys)
HOST=mingw32-linux
export EXEPREFIX = ./
export EXEPOSTFIX = .exe
export SEP = /
mkdir = -$(Q)mkdir -p
gcc = $(Q)gcc
gpp = $(Q)g++
ld = $(Q)ld
nm = $(Q)nm
objdump = $(Q)objdump
ar = $(Q)ar
objcopy = $(Q)objcopy
dlltool = $(Q)dlltool
windres = $(Q)windres
rm = $(Q)rm -f
cp = $(Q)cp
NUL = /dev/null
else
export EXEPREFIX =
export EXEPOSTFIX = .exe
ROS_EMPTY =
SEP = \$(ROS_EMPTY)
export SEP = \$(ROS_EMPTY)
mkdir = -$(Q)mkdir
gcc = $(Q)gcc
gpp = $(Q)g++
@@ -241,6 +295,7 @@ else # mingw32-windows
rm = $(Q)del /f /q
cp = $(Q)copy /y
NUL = NUL
endif
endif
ifneq ($(ROS_INTERMEDIATE),)
@@ -290,9 +345,11 @@ ERRCODES_RC = lib$(SEP)kernel32$(SEP)errcodes.rc
include lib/lib.mak
include tools/tools.mak
-include makefile.auto
include boot/freeldr/bootsect/bootsect.mak
-include $(ROS_AUTOMAKE)
PREAUTO := \
$(BIN2C_TARGET) \
$(BIN2RES_TARGET) \
$(BUILDNO_H) \
$(BUGCODES_H) \
@@ -302,10 +359,14 @@ PREAUTO := \
$(NCI_SERVICE_FILES) \
$(GENDIB_DIB_FILES)
makefile.auto: $(RBUILD_TARGET) $(PREAUTO) $(XMLBUILDFILES)
$(ROS_AUTOMAKE): $(RBUILD_TARGET) $(PREAUTO) $(XMLBUILDFILES)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(ROS_RBUILDFLAGS) mingw
.PHONY: msvc
msvc: $(RBUILD_TARGET)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(ROS_RBUILDFLAGS) msvc
$(BUGCODES_H) $(BUGCODES_RC): $(WMC_TARGET) $(NTOSKRNL_MC)
$(ECHO_WMC)
@@ -313,11 +374,31 @@ $(BUGCODES_H) $(BUGCODES_RC): $(WMC_TARGET) $(NTOSKRNL_MC)
$(ERRCODES_H) $(ERRCODES_RC): $(WMC_TARGET) $(KERNEL32_MC)
$(ECHO_WMC)
$(Q)$(WMC_TARGET) -i -H $(ERRCODES_H) -o $(ERRCODES_RC) $(KERNEL32_MC)
$(Q)$(WMC_TARGET) -i -U -H $(ERRCODES_H) -o $(ERRCODES_RC) $(KERNEL32_MC)
.PHONY: msvc6
msvc6: $(RBUILD_TARGET)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(ROS_RBUILDFLAGS) -vs6.00 msvc
.PHONY: msvc7
msvc7: $(RBUILD_TARGET)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(ROS_RBUILDFLAGS) -vs7.00 msvc
.PHONY: msvc71
msvc71: $(RBUILD_TARGET)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(ROS_RBUILDFLAGS) -vs7.10 msvc
.PHONY: msvc8
msvc8: $(RBUILD_TARGET)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(ROS_RBUILDFLAGS) -vs8.00 msvc
.PHONY: makefile_auto_clean
makefile_auto_clean:
-@$(rm) makefile.auto $(PREAUTO) 2>$(NUL)
-@$(rm) $(ROS_AUTOMAKE) $(PREAUTO) 2>$(NUL)
.PHONY: clean
clean: makefile_auto_clean

91
reactos/ReactOS-ppc.xml Normal file
View File

@@ -0,0 +1,91 @@
<?xml version="1.0"?>
<!DOCTYPE project SYSTEM "tools/rbuild/project.dtd">
<project name="ReactOS" makefile="makefile.ppc" xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="config-ppc.xml">
<xi:fallback>
<xi:include href="config.template.xml" />
</xi:fallback>
</xi:include>
<xi:include href="baseaddress.xml" />
<property name="BOOTPROG_PREPARE" value="ppc-le2be" />
<property name="BOOTPROG_FLATFORMAT" value="-O elf32-powerpc -B powerpc:common" />
<property name="BOOTPROG_LINKFORMAT" value="-melf32ppc --no-omagic -Ttext 0xe00000 -Tdata 0xe10000" />
<property name="BOOTPROG_COPYFORMAT" value="--only-section=.text --only-section=.data --only-section=.bss -O aixcoff-rs6000" />
<define name="_M_PPC" />
<define name="_PPC_" />
<define name="__PowerPC__" />
<define name="_REACTOS_" />
<define name="__MINGW_IMPORT" empty="true" />
<define name="__restrict__" empty="true" />
<compilerflag>-v</compilerflag>
<if property="MP" value="1">
<define name="CONFIG_SMP" value="1" />
</if>
<if property="DBG" value="1">
<define name="DBG" value="1" />
<property name="DBG_OR_KDBG" value="true" />
</if>
<if property="DBG" value="0">
<compilerflag>-Os</compilerflag>
<compilerflag>-Wno-strict-aliasing</compilerflag>
</if>
<if property="KDBG" value="1">
<define name="KDBG" value="1" />
<property name="DBG_OR_KDBG" value="true" />
</if>
<compilerflag>-Wpointer-arith</compilerflag>
<include>.</include>
<include>include</include>
<include>include/reactos</include>
<include>include/libs</include>
<include>include/drivers</include>
<include>include/subsys</include>
<include>include/ndk</include>
<include>w32api/include</include>
<include>w32api/include/crt</include>
<include>w32api/include/ddk</include>
<directory name="apps">
<xi:include href="apps/directory.xml" />
</directory>
<directory name="boot">
<xi:include href="boot/boot.xml" />
</directory>
<directory name="bootdata">
<xi:include href="bootdata/bootdata.xml" />
</directory>
<directory name="drivers">
<xi:include href="drivers/directory.xml" />
</directory>
<directory name="hal">
<xi:include href="hal/directory.xml" />
</directory>
<directory name="include">
<xi:include href="include/directory.xml" />
</directory>
<directory name="lib">
<xi:include href="lib/directory.xml" />
</directory>
<directory name="media">
<xi:include href="media/directory.xml" />
</directory>
<directory name="modules">
<xi:include href="modules/directory.xml" />
</directory>
<directory name="ntoskrnl">
<xi:include href="ntoskrnl/ntoskrnl.xml" />
</directory>
<directory name="regtests">
<xi:include href="regtests/directory.xml" />
</directory>
<directory name="services">
<xi:include href="services/directory.xml" />
</directory>
<directory name="subsys">
<xi:include href="subsys/directory.xml" />
</directory>
</project>

View File

@@ -1,77 +1,86 @@
<?xml version="1.0"?>
<!DOCTYPE project SYSTEM "tools/rbuild/project.dtd">
<project name="ReactOS" makefile="makefile.auto" xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="config.xml">
<xi:fallback>
<xi:include href="config.template.xml" />
</xi:fallback>
</xi:include>
<xi:include href="baseaddress.xml" />
<define name="_M_IX86" />
<if property="MP" value="1">
<define name="CONFIG_SMP" value="1" />
</if>
<if property="DBG" value="1">
<define name="DBG" value="1" />
<property name="DBG_OR_KDBG" value="true" />
</if>
<if property="DBG" value="0">
<compilerflag>-Os</compilerflag>
<compilerflag>-Wno-strict-aliasing</compilerflag>
<compilerflag>-ftracer</compilerflag>
<compilerflag>-momit-leaf-frame-pointer</compilerflag>
<compilerflag>-mpreferred-stack-boundary=2</compilerflag>
</if>
<if property="KDBG" value="1">
<define name="KDBG" value="1" />
<property name="DBG_OR_KDBG" value="true" />
</if>
<compilerflag>-Wpointer-arith</compilerflag>
<include>include</include>
<include>include/reactos</include>
<include>w32api/include</include>
<include>w32api/include/ddk</include>
<directory name="apps">
<xi:include href="apps/directory.xml" />
</directory>
<directory name="boot">
<xi:include href="boot/boot.xml" />
</directory>
<directory name="bootdata">
<xi:include href="bootdata/bootdata.xml" />
</directory>
<directory name="drivers">
<xi:include href="drivers/directory.xml" />
</directory>
<directory name="hal">
<xi:include href="hal/directory.xml" />
</directory>
<directory name="include">
<xi:include href="include/directory.xml" />
</directory>
<directory name="lib">
<xi:include href="lib/directory.xml" />
</directory>
<directory name="media">
<xi:include href="media/directory.xml" />
</directory>
<directory name="modules">
<xi:include href="modules/directory.xml" />
</directory>
<directory name="ntoskrnl">
<xi:include href="ntoskrnl/ntoskrnl.xml" />
</directory>
<directory name="regtests">
<xi:include href="regtests/directory.xml" />
</directory>
<directory name="services">
<xi:include href="services/directory.xml" />
</directory>
<directory name="subsys">
<xi:include href="subsys/directory.xml" />
</directory>
</project>
<?xml version="1.0"?>
<!DOCTYPE project SYSTEM "tools/rbuild/project.dtd">
<project name="ReactOS" makefile="makefile.auto" xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="config.xml">
<xi:fallback>
<xi:include href="config.template.xml" />
</xi:fallback>
</xi:include>
<xi:include href="baseaddress.xml" />
<define name="_M_IX86" />
<define name="_X86_" />
<define name="__i386__" />
<define name="_REACTOS_" />
<if property="MP" value="1">
<define name="CONFIG_SMP" value="1" />
</if>
<if property="DBG" value="1">
<define name="DBG" value="1" />
<property name="DBG_OR_KDBG" value="true" />
</if>
<if property="DBG" value="0">
<compilerflag>-Os</compilerflag>
<compilerflag>-Wno-strict-aliasing</compilerflag>
<compilerflag>-ftracer</compilerflag>
<compilerflag>-momit-leaf-frame-pointer</compilerflag>
<compilerflag>-mpreferred-stack-boundary=2</compilerflag>
</if>
<if property="KDBG" value="1">
<define name="KDBG" value="1" />
<property name="DBG_OR_KDBG" value="true" />
</if>
<compilerflag>-Wpointer-arith</compilerflag>
<include>.</include>
<include>include</include>
<include>include/reactos</include>
<include>include/libs</include>
<include>include/drivers</include>
<include>include/subsys</include>
<include>include/ndk</include>
<include>w32api/include</include>
<include>w32api/include/crt</include>
<include>w32api/include/ddk</include>
<directory name="apps">
<xi:include href="apps/directory.xml" />
</directory>
<directory name="boot">
<xi:include href="boot/boot.xml" />
</directory>
<directory name="bootdata">
<xi:include href="bootdata/bootdata.xml" />
</directory>
<directory name="drivers">
<xi:include href="drivers/directory.xml" />
</directory>
<directory name="hal">
<xi:include href="hal/directory.xml" />
</directory>
<directory name="include">
<xi:include href="include/directory.xml" />
</directory>
<directory name="lib">
<xi:include href="lib/directory.xml" />
</directory>
<directory name="media">
<xi:include href="media/directory.xml" />
</directory>
<directory name="modules">
<xi:include href="modules/directory.xml" />
</directory>
<directory name="ntoskrnl">
<xi:include href="ntoskrnl/ntoskrnl.xml" />
</directory>
<directory name="regtests">
<xi:include href="regtests/directory.xml" />
</directory>
<directory name="services">
<xi:include href="services/directory.xml" />
</directory>
<directory name="subsys">
<xi:include href="subsys/directory.xml" />
</directory>
</project>

View File

@@ -1,3 +1,3 @@
<directory name="utils">
<xi:include href="utils/directory.xml" />
</directory>
<directory name="utils">
<xi:include href="utils/directory.xml" />
</directory>

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,14 @@
<directory name="net">
<xi:include href="net/directory.xml" />
</directory>
<directory name="rosperf">
<xi:include href="rosperf/rosperf.xml" />
</directory>
<directory name="ps">
<xi:include href="ps/ps.xml" />
</directory>
<group>
<directory name="net">
<xi:include href="net/directory.xml" />
</directory>
<directory name="shutdown">
<xi:include href="shutdown/shutdown.xml" />
</directory>
<directory name="ps">
<xi:include href="ps/ps.xml" />
</directory>
<directory name="rosperf">
<xi:include href="rosperf/rosperf.xml" />
</directory>
</group>

View File

@@ -0,0 +1,733 @@
/*
*
* dumprecbin - dumps a recycle bin database
*
* Copyright (c) 2005 by Thomas Weidenmueller <w3seek@reactos.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* TODO: - Support for Vista recycle bins (read the DeleteInfo NTFS streams, also NT 5.x)
* - Support for INFO databases (win95)
*/
#include <windows.h>
#include <winternl.h>
#include <sddl.h>
#include <ntsecapi.h>
#include <stdio.h>
#include <ctype.h>
#include <tchar.h>
#ifndef NT_SUCCESS
#define NT_SUCCESS(status) ((LONG)(status) >= 0)
#endif
typedef struct _RECYCLE_BIN
{
struct _RECYCLE_BIN *Next;
PSID Sid;
WCHAR User[255];
WCHAR Path[MAX_PATH + 1];
} RECYCLE_BIN, *PRECYCLE_BIN;
typedef enum
{
ivUnknown = 0,
ivINFO2
} INFO_VERSION, *PINFO_VERSION;
typedef struct _INFO2_HEADER
{
DWORD Version;
DWORD Zero1;
DWORD Zero2;
DWORD RecordSize;
} INFO2_HEADER, *PINFO2_HEADER;
typedef struct _INFO2_RECORD
{
DWORD Unknown;
CHAR AnsiFileName[MAX_PATH];
DWORD RecordNumber;
DWORD DriveLetter;
FILETIME DeletionTime;
DWORD DeletedPhysicalSize;
WCHAR FileName[MAX_PATH - 2];
} INFO2_RECORD, *PINFO2_RECORD;
static HANDLE
OpenAndMapInfoDatabase(IN LPTSTR szFileName,
OUT PVOID *MappingBasePtr,
OUT PLARGE_INTEGER FileSize)
{
HANDLE hFile, hMapping = INVALID_HANDLE_VALUE;
hFile = CreateFile(szFileName,
FILE_READ_DATA,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM,
NULL);
if (hFile != INVALID_HANDLE_VALUE)
{
if (GetFileSizeEx(hFile,
FileSize) &&
FileSize->QuadPart >= 0xF)
{
hMapping = CreateFileMapping(hFile,
NULL,
PAGE_READONLY,
0,
0,
NULL);
if (hMapping == NULL ||
!(*MappingBasePtr = MapViewOfFile(hMapping,
FILE_MAP_READ,
0,
0,
0)))
{
if (hMapping != NULL)
{
CloseHandle(hMapping);
}
hMapping = INVALID_HANDLE_VALUE;
}
}
CloseHandle(hFile);
}
return hMapping;
}
static VOID
UnmapAndCloseDatabase(IN HANDLE hMapping,
IN PVOID MappingBasePtr)
{
UnmapViewOfFile(MappingBasePtr);
CloseHandle(hMapping);
}
static INFO_VERSION
DetectDatabaseVersion(PVOID Header)
{
PINFO2_HEADER Info2 = (PINFO2_HEADER)Header;
INFO_VERSION Version = ivUnknown;
if (Info2->Version == 5 &&
Info2->Zero1 == 0 &&
Info2->Zero2 == 0 &&
Info2->RecordSize == 0x320)
{
Version = ivINFO2;
}
return Version;
}
static BOOL
IsValidRecycleBin(IN LPTSTR szPath)
{
TCHAR szFile[MAX_PATH + 1];
TCHAR szClsId[48];
INFO_VERSION DbVersion = ivUnknown;
_stprintf(szFile,
_T("%s\\desktop.ini"),
szPath);
/* check if directory contains a valid desktop.ini for the recycle bin */
if (GetPrivateProfileString(TEXT(".ShellClassInfo"),
TEXT("CLSID"),
NULL,
szClsId,
sizeof(szClsId) / sizeof(szClsId[0]),
szFile) &&
!_tcsicmp(_T("{645FF040-5081-101B-9F08-00AA002F954E}"),
szClsId))
{
HANDLE hDb;
LARGE_INTEGER FileSize;
PVOID pDbBase = NULL;
/* open the database and check the signature */
_stprintf(szFile,
_T("%s\\INFO2"),
szPath);
hDb = OpenAndMapInfoDatabase(szFile,
&pDbBase,
&FileSize);
if (hDb != INVALID_HANDLE_VALUE)
{
DbVersion = DetectDatabaseVersion(pDbBase);
UnmapAndCloseDatabase(hDb,
pDbBase);
}
}
return DbVersion != ivUnknown;
}
static BOOL
OpenLocalLSAPolicyHandle(IN ACCESS_MASK DesiredAccess,
OUT PLSA_HANDLE PolicyHandle)
{
LSA_OBJECT_ATTRIBUTES LsaObjectAttributes = {0};
NTSTATUS Status;
Status = LsaOpenPolicy(NULL,
&LsaObjectAttributes,
DesiredAccess,
PolicyHandle);
if (!NT_SUCCESS(Status))
{
SetLastError(LsaNtStatusToWinError(Status));
return FALSE;
}
return TRUE;
}
static BOOL
ConvertSIDToAccountName(IN PSID Sid,
OUT LPWSTR User)
{
DWORD AccountNameLen = 0;
DWORD DomainNameLen = 0;
SID_NAME_USE NameUse;
DWORD Error = ERROR_SUCCESS;
LPWSTR AccountName, DomainName;
BOOL Ret = FALSE;
if (!LookupAccountSidW(NULL,
Sid,
NULL,
&AccountNameLen,
NULL,
&DomainNameLen,
&NameUse))
{
Error = GetLastError();
if (Error == ERROR_NONE_MAPPED ||
Error != ERROR_INSUFFICIENT_BUFFER)
{
/* some unexpected error occured! */
goto ConvertSID;
}
}
AccountName = (LPWSTR)HeapAlloc(GetProcessHeap(),
0,
(AccountNameLen + DomainNameLen) * sizeof(WCHAR));
if (AccountName != NULL)
{
LSA_HANDLE PolicyHandle;
DomainName = AccountName + AccountNameLen;
if (!LookupAccountSidW(NULL,
Sid,
AccountName,
&AccountNameLen,
DomainName,
&DomainNameLen,
&NameUse))
{
goto BailFreeAccountName;
}
wcscpy(User,
AccountName);
Ret = TRUE;
if (OpenLocalLSAPolicyHandle(POLICY_LOOKUP_NAMES | POLICY_VIEW_LOCAL_INFORMATION,
&PolicyHandle))
{
PLSA_REFERENCED_DOMAIN_LIST ReferencedDomain;
PLSA_TRANSLATED_NAME Names;
PLSA_TRUST_INFORMATION Domain;
PLSA_UNICODE_STRING DomainName;
PPOLICY_ACCOUNT_DOMAIN_INFO PolicyAccountDomainInfo = NULL;
NTSTATUS Status;
Status = LsaLookupSids(PolicyHandle,
1,
&Sid,
&ReferencedDomain,
&Names);
if (NT_SUCCESS(Status))
{
if (ReferencedDomain != NULL &&
Names->DomainIndex >= 0)
{
Domain = &ReferencedDomain->Domains[Names->DomainIndex];
DomainName = &Domain->Name;
}
else
{
Domain = NULL;
DomainName = NULL;
}
switch (Names->Use)
{
case SidTypeAlias:
if (Domain != NULL)
{
/* query the domain name for BUILTIN accounts */
Status = LsaQueryInformationPolicy(PolicyHandle,
PolicyAccountDomainInformation,
(PVOID*)&PolicyAccountDomainInfo);
if (NT_SUCCESS(Status))
{
DomainName = &PolicyAccountDomainInfo->DomainName;
}
}
/* fall through */
case SidTypeUser:
{
if (Domain != NULL)
{
WCHAR *s;
/* NOTE: LSA_UNICODE_STRINGs are not always NULL-terminated! */
wcscpy(User,
AccountName);
wcscat(User,
L" (");
s = User + wcslen(User);
CopyMemory(s,
DomainName->Buffer,
DomainName->Length);
s += DomainName->Length / sizeof(WCHAR);
*(s++) = L'\\';
CopyMemory(s,
Names->Name.Buffer,
Names->Name.Length);
s += Names->Name.Length / sizeof(WCHAR);
*(s++) = L')';
*s = L'\0';
}
break;
}
case SidTypeWellKnownGroup:
{
break;
}
default:
{
_ftprintf(stderr,
_T("Unhandled SID type: 0x%x\n"),
Names->Use);
break;
}
}
if (PolicyAccountDomainInfo != NULL)
{
LsaFreeMemory(PolicyAccountDomainInfo);
}
LsaFreeMemory(ReferencedDomain);
LsaFreeMemory(Names);
}
LsaClose(PolicyHandle);
if (!NT_SUCCESS(Status))
{
Ret = FALSE;
goto BailFreeAccountName;
}
}
else
{
BailFreeAccountName:
HeapFree(GetProcessHeap(),
0,
AccountName);
goto ConvertSID;
}
}
ConvertSID:
if (!Ret)
{
LPWSTR StrSid;
Ret = ConvertSidToStringSidW(Sid,
&StrSid);
if (Ret)
{
wcscpy(User,
StrSid);
LocalFree((HLOCAL)StrSid);
}
}
return Ret;
}
static VOID
FreeRecycleBinsList(IN OUT PRECYCLE_BIN *RecycleBinsListHead)
{
PRECYCLE_BIN CurrentBin, NextBin;
CurrentBin = *RecycleBinsListHead;
while (CurrentBin != NULL)
{
NextBin = CurrentBin->Next;
LocalFree((HLOCAL)CurrentBin->Sid);
HeapFree(GetProcessHeap(),
0,
CurrentBin);
CurrentBin = NextBin;
}
*RecycleBinsListHead = NULL;
}
static BOOL
LocateRecycleBins(IN LPWSTR szDrive,
OUT PRECYCLE_BIN *RecycleBinsListHead)
{
TCHAR szRecBinPath[MAX_PATH + 1];
HANDLE FindResult;
WIN32_FIND_DATA FindData;
PRECYCLE_BIN NewBin;
BOOL Ret = FALSE;
FreeRecycleBinsList(RecycleBinsListHead);
/*
* search for recycle bins on volumes that support file security (NTFS)
*/
_stprintf(szRecBinPath,
_T("%lS\\RECYCLER\\*"),
szDrive);
FindResult = FindFirstFile(szRecBinPath,
&FindData);
if (FindResult != INVALID_HANDLE_VALUE)
{
do
{
if (FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY &&
_tcscmp(FindData.cFileName,
_T("..")) &&
_tcscmp(FindData.cFileName,
_T(".")))
{
PSID Sid;
if (ConvertStringSidToSid(FindData.cFileName,
&Sid))
{
_stprintf(szRecBinPath,
_T("%s\\RECYCLER\\%s"),
szDrive,
FindData.cFileName);
if (IsValidRecycleBin(szRecBinPath))
{
NewBin = (PRECYCLE_BIN)HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY,
sizeof(RECYCLE_BIN));
if (NewBin != NULL)
{
_tcscpy(NewBin->Path,
szRecBinPath);
/* convert the SID to an account name */
ConvertSIDToAccountName(Sid,
NewBin->User);
/* append the recycle bin */
*RecycleBinsListHead = NewBin;
RecycleBinsListHead = &NewBin->Next;
Ret = TRUE;
}
else
goto ContinueFreeSid;
}
else
{
ContinueFreeSid:
LocalFree((HLOCAL)Sid);
}
}
}
} while (FindNextFile(FindResult,
&FindData));
FindClose(FindResult);
}
/*
* search for recycle bins on volumes that don't support file security (FAT)
*/
_stprintf(szRecBinPath,
_T("%s\\Recycled"),
szDrive);
FindResult = FindFirstFile(szRecBinPath,
&FindData);
if (FindResult != INVALID_HANDLE_VALUE)
{
if (IsValidRecycleBin(szRecBinPath))
{
SID_IDENTIFIER_AUTHORITY WorldSia = {SECURITY_WORLD_SID_AUTHORITY};
PSID EveryoneSid;
/* create an Everyone SID */
if (AllocateAndInitializeSid(&WorldSia,
1,
SECURITY_WORLD_RID,
0,
0,
0,
0,
0,
0,
0,
&EveryoneSid))
{
NewBin = (PRECYCLE_BIN)HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY,
sizeof(RECYCLE_BIN));
if (NewBin != NULL)
{
_tcscpy(NewBin->Path,
szRecBinPath);
/* convert the SID to an account name */
ConvertSIDToAccountName(EveryoneSid,
NewBin->User);
/* append the recycle bin */
*RecycleBinsListHead = NewBin;
RecycleBinsListHead = &NewBin->Next;
Ret = TRUE;
}
else
FreeSid(EveryoneSid);
}
}
FindClose(FindResult);
}
return Ret;
}
static VOID
DiskFileNameFromRecord(OUT LPTSTR szShortFileName,
IN DWORD RecordNumber,
IN WCHAR cDriveLetter,
IN LPWSTR szFileName)
{
LPWSTR FileExt;
FileExt = wcsrchr(szFileName,
L'.');
if (FileExt != NULL)
{
_stprintf(szShortFileName,
_T("D%lC%d%lS"),
cDriveLetter,
RecordNumber,
FileExt);
}
else
{
_stprintf(szShortFileName,
_T("D%lC%d"),
cDriveLetter,
RecordNumber);
}
}
static BOOL
DumpRecycleBin(IN PRECYCLE_BIN RecycleBin)
{
WCHAR szFile[MAX_PATH + 1];
HANDLE hDb;
LARGE_INTEGER FileSize;
PVOID pDbBase = NULL;
INFO_VERSION Version = ivUnknown;
_tprintf(_T("Dumping recycle bin of \"%lS\":\n"),
RecycleBin->User);
_tprintf(_T("Directory: %lS\n\n"),
RecycleBin->Path);
_stprintf(szFile,
_T("%s\\INFO2"),
RecycleBin->Path);
hDb = OpenAndMapInfoDatabase(szFile,
&pDbBase,
&FileSize);
if (hDb != INVALID_HANDLE_VALUE)
{
Version = DetectDatabaseVersion(pDbBase);
/* dump the INFO2 database */
switch (Version)
{
case ivINFO2:
{
DWORD nRecords;
PINFO2_HEADER Info2Header = (PINFO2_HEADER)pDbBase;
PINFO2_RECORD Info2 = (PINFO2_RECORD)(Info2Header + 1);
int i = 0;
nRecords = (FileSize.QuadPart - sizeof(INFO2_HEADER)) / Info2Header->RecordSize;
while (nRecords != 0)
{
/* if the first character of the AnsiFileName is zero, the record
is considered deleted */
if (Info2->AnsiFileName[0] != '\0')
{
_tprintf(_T(" [%d] Record: #%d \"%lS\"\n"),
++i,
Info2->RecordNumber,
Info2->FileName);
DiskFileNameFromRecord(szFile,
Info2->RecordNumber,
(WCHAR)Info2->DriveLetter + L'a',
Info2->FileName);
_tprintf(_T(" Name on disk: \"%s\"\n"),
szFile);
_tprintf(_T(" Deleted size on disk: %d KB\n"),
Info2->DeletedPhysicalSize / 1024);
}
nRecords--;
Info2++;
}
break;
}
default:
break;
}
UnmapAndCloseDatabase(hDb,
pDbBase);
}
return FALSE;
}
static BOOL
SelectRecycleBin(IN LPWSTR szDrive)
{
BOOL Ret;
PRECYCLE_BIN RecycleBinsList = NULL;
Ret = LocateRecycleBins(szDrive,
&RecycleBinsList);
if (Ret)
{
if (RecycleBinsList->Next != NULL)
{
PRECYCLE_BIN CurrentBin = RecycleBinsList;
int n = 0, i = 0;
/* if there are multiple recycle bins ask the user which one to dump */
_tprintf(_T("There are several recycle bins on this drive. Select one:\n"));
while (CurrentBin != NULL)
{
_tprintf(_T(" [%d] %lS\n"),
++i,
CurrentBin->User);
CurrentBin = CurrentBin->Next;
n++;
}
_tprintf(_T("Enter the number: "));
DisplayPrompt:
_tscanf(_T("%d"),
&i);
if (i > n || i < 1)
{
_tprintf(_T("Please enter a number between 1 and %d: "),
n);
goto DisplayPrompt;
}
/* walk to the selected recycle bin */
CurrentBin = RecycleBinsList;
while (CurrentBin != NULL && i != 1)
{
CurrentBin = CurrentBin->Next;
i--;
}
/* dump it */
Ret = DumpRecycleBin(CurrentBin);
}
else
{
/* dump the first (and only) recycle bin */
Ret = DumpRecycleBin(RecycleBinsList);
}
}
else
{
_ftprintf(stderr,
_T("No recycle bins on this volume!\n"));
}
FreeRecycleBinsList(&RecycleBinsList);
return Ret;
}
static VOID
PrintHelp(VOID)
{
_ftprintf(stderr,
_T("Usage: dumprecbin C:\n"));
}
int
main(int argc,
char *argv[])
{
if (argc != 2 ||
strlen(argv[1]) != 2 || argv[1][1] != ':' ||
toupper(argv[1][0]) < 'A' || toupper(argv[1][0]) > 'Z')
{
PrintHelp();
return 1;
}
else
{
WCHAR szDrive[3];
_stprintf(szDrive,
_T("%lC:"),
argv[1][0]);
if (!SelectRecycleBin(szDrive))
return 1;
else
return 0;
}
}

View File

@@ -0,0 +1,13 @@
<module name="dumprecbin" type="win32cui" installbase="bin" installname="dumprecbin.exe">
<include base="dumprecbin">.</include>
<define name="__USE_W32API" />
<define name="UNICODE" />
<define name="_UNICODE" />
<define name="_WIN32_IE">0x0500</define>
<define name="_WIN32_WINNT">0x0600</define>
<define name="WINVER">0x0600</define>
<library>advapi32</library>
<library>kernel32</library>
<library>ntdll</library>
<file>dumprecbin.c</file>
</module>

View File

@@ -1,4 +1,23 @@
/*
/*
* ReactOS Win32 Applications
* Copyright (C) 2005 ReactOS Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS arp utility
* FILE: apps/utils/net/arp/arp.c
@@ -8,8 +27,8 @@
* GM 27/06/05 Created
*
*/
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
@@ -18,29 +37,100 @@
#include <ctype.h>
#include <winsock2.h>
#include <iphlpapi.h>
#define WIN32_LEAN_AND_MEAN
#define UNICODE
#define _UNICODE
/*
* Globals
*/
*/
const char SEPERATOR = '-';
int _CRT_glob = 0; // stop * from listing dir files in arp -d *
/*
* function declerations
*/
INT DisplayArpEntries(PTCHAR pszInetAddr, PTCHAR pszIfAddr);
*/
DWORD DoFormatMessage(DWORD ErrorCode);
INT PrintEntries(PMIB_IPNETROW pIpAddRow);
INT DisplayArpEntries(PTCHAR pszInetAddr, PTCHAR pszIfAddr);
INT Addhost(PTCHAR pszInetAddr, PTCHAR pszEthAddr, PTCHAR pszIfAddr);
INT Deletehost(PTCHAR pszInetAddr, PTCHAR pszIfAddr);
VOID Usage(VOID);
/*
* convert error code into meaningful message
*/
DWORD DoFormatMessage(DWORD ErrorCode)
{
LPVOID lpMsgBuf;
DWORD RetVal;
/* double brackets to silence the assignment warning message */
if ((RetVal = FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
ErrorCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* Default language */
(LPTSTR) &lpMsgBuf,
0,
NULL ))) {
_tprintf(_T("%s"), (LPTSTR)lpMsgBuf);
LocalFree(lpMsgBuf);
/* return number of TCHAR's stored in output buffer
* excluding '\0' - as FormatMessage does*/
return RetVal;
}
else
return 0;
}
/*
*
* Takes an ARP entry and prints the IP address,
* the MAC address and the entry type to screen
*
*/
INT PrintEntries(PMIB_IPNETROW pIpAddRow)
{
IN_ADDR inaddr;
TCHAR cMacAddr[20];
/* print IP addresses */
inaddr.S_un.S_addr = pIpAddRow->dwAddr;
_tprintf(_T(" %-22s"), inet_ntoa(inaddr));
/* print MAC address */
_stprintf(cMacAddr, _T("%02x-%02x-%02x-%02x-%02x-%02x"),
pIpAddRow->bPhysAddr[0],
pIpAddRow->bPhysAddr[1],
pIpAddRow->bPhysAddr[2],
pIpAddRow->bPhysAddr[3],
pIpAddRow->bPhysAddr[4],
pIpAddRow->bPhysAddr[5]);
_tprintf(_T("%-22s"), cMacAddr);
/* print cache type */
switch (pIpAddRow->dwType)
{
case MIB_IPNET_TYPE_DYNAMIC : _tprintf(_T("dynamic\n"));
break;
case MIB_IPNET_TYPE_STATIC : _tprintf(_T("static\n"));
break;
case MIB_IPNET_TYPE_INVALID : _tprintf(_T("invalid\n"));
break;
case MIB_IPNET_TYPE_OTHER : _tprintf(_T("other\n"));
break;
}
return EXIT_SUCCESS;
}
/*
*
* Takes optional parameters of an internet address and interface address.
@@ -62,136 +152,99 @@ INT DisplayArpEntries(PTCHAR pszInetAddr, PTCHAR pszIfAddr)
DWORD dwSize = 0;
PTCHAR pszIpAddr;
TCHAR szIntIpAddr[20];
/* Return required buffer size */
GetIpNetTable(NULL, &ulSize, 0);
/* allocate memory for ARP address table */
pIpNetTable = (PMIB_IPNETTABLE) malloc(ulSize * sizeof(BYTE));
ZeroMemory(pIpNetTable, sizeof(*pIpNetTable));
/* get Arp address table */
if (pIpNetTable != NULL) {
if (pIpNetTable != NULL)
GetIpNetTable(pIpNetTable, &ulSize, TRUE);
} else {
else
{
_tprintf(_T("failed to allocate memory for GetIpNetTable\n"));
free(pIpNetTable);
return -1;
exit(EXIT_FAILURE);
}
/* check there are entries in the table */
if (pIpNetTable->dwNumEntries == 0) {
/* check there are entries in the table */
if (pIpNetTable->dwNumEntries == 0)
{
_tprintf(_T("No ARP entires found\n"));
free(pIpNetTable);
return -1;
exit(EXIT_FAILURE);
}
/* try doing this in the way it's done above, it's clearer */
/* Retrieve the interface-to-ip address mapping
* table to get the IP address for adapter */
* table to get the IP address for adapter */
pIpAddrTable = (MIB_IPADDRTABLE *) malloc(dwSize);
GetIpAddrTable(pIpAddrTable, &dwSize, 0); // NULL ?
pIpAddrTable = (MIB_IPADDRTABLE *) malloc(dwSize);
//ZeroMemory(pIpAddrTable, sizeof(*pIpAddrTable));
if ((iRet = GetIpAddrTable(pIpAddrTable, &dwSize, TRUE)) != NO_ERROR) { // NO_ERROR = 0
if ((iRet = GetIpAddrTable(pIpAddrTable, &dwSize, TRUE)) != NO_ERROR)
{
_tprintf(_T("GetIpAddrTable failed: %d\n"), iRet);
_tprintf(_T("error: %d\n"), WSAGetLastError());
}
for (k=0; k < pIpAddrTable->dwNumEntries; k++) {
if (pIpNetTable->table[0].dwIndex == pIpAddrTable->table[k].dwIndex) {
//printf("printing pIpAddrTable->table[?].dwIndex = %lx\n", pIpNetTable->table[k].dwIndex);
for (k=0; k < pIpAddrTable->dwNumEntries; k++)
{
if (pIpNetTable->table[0].dwIndex == pIpAddrTable->table[k].dwIndex)
{
//printf("debug print: pIpAddrTable->table[?].dwIndex = %lx\n", pIpNetTable->table[k].dwIndex);
inaddr2.s_addr = pIpAddrTable->table[k].dwAddr;
pszIpAddr = inet_ntoa(inaddr2);
strcpy(szIntIpAddr, pszIpAddr);
}
}
}
/* print header, including interface IP address and index number */
_tprintf(_T("\nInterface: %s --- 0x%lx \n"), szIntIpAddr, pIpNetTable->table[0].dwIndex);
_tprintf(_T(" Internet Address Physical Address Type\n"));
/* go through all ARP entries */
for (i=0; i < pIpNetTable->dwNumEntries; i++) {
for (i=0; i < pIpNetTable->dwNumEntries; i++)
{
/* if the user has supplied their own internet addesss *
* only print the arp entry which matches that */
if (pszInetAddr) {
inaddr.S_un.S_addr = pIpNetTable->table[i].dwAddr;
if (pszInetAddr)
{
inaddr.S_un.S_addr = pIpNetTable->table[i].dwAddr;
pszIpAddr = inet_ntoa(inaddr);
/* check if it matches, print it */
if (strcmp(pszIpAddr, pszInetAddr) == 0) {
if (strcmp(pszIpAddr, pszInetAddr) == 0)
PrintEntries(&pIpNetTable->table[i]);
}
} else {
}
else
/* if an address is not supplied, print all entries */
PrintEntries(&pIpNetTable->table[i]);
}
}
free(pIpNetTable);
free(pIpAddrTable);
return 0;
return EXIT_SUCCESS;
}
/*
*
* Takes an ARP entry and prints the IP address,
* the MAC address and the entry type to screen
*
*/
INT PrintEntries(PMIB_IPNETROW pIpAddRow)
{
IN_ADDR inaddr;
TCHAR cMacAddr[20];
/* print IP addresses */
inaddr.S_un.S_addr = pIpAddRow->dwAddr;
_tprintf(_T(" %-22s"), inet_ntoa(inaddr)); //error checking
/* print MAC address */
_stprintf(cMacAddr, _T("%02x-%02x-%02x-%02x-%02x-%02x"),
pIpAddRow->bPhysAddr[0],
pIpAddRow->bPhysAddr[1],
pIpAddRow->bPhysAddr[2],
pIpAddRow->bPhysAddr[3],
pIpAddRow->bPhysAddr[4],
pIpAddRow->bPhysAddr[5]);
_tprintf(_T("%-22s"), cMacAddr);
/* print cache type */
switch (pIpAddRow->dwType) {
case MIB_IPNET_TYPE_DYNAMIC : _tprintf(_T("dynamic\n"));
break;
case MIB_IPNET_TYPE_STATIC : _tprintf(_T("static\n"));
break;
case MIB_IPNET_TYPE_INVALID : _tprintf(_T("invalid\n"));
break;
case MIB_IPNET_TYPE_OTHER : _tprintf(_T("other\n"));
break;
}
return 0;
}
/*
*
* Takes an internet address, a MAC address and an optional interface
* address as arguments and checks their validity.
* Fill out an MIB_IPNETROW structure and insert the data into the
* Fill out an MIB_IPNETROW structure and insert the data into the
* ARP cache as a static entry.
*
*/
@@ -199,73 +252,101 @@ INT Addhost(PTCHAR pszInetAddr, PTCHAR pszEthAddr, PTCHAR pszIfAddr)
{
PMIB_IPNETROW pAddHost;
PMIB_IPADDRTABLE pIpAddrTable;
DWORD dwIpAddr;
PMIB_IPNETTABLE pIpNetTable;
DWORD dwIpAddr = 0;
DWORD dwSize = 0;
ULONG ulSize = 0;
INT iRet, i, val;
TCHAR c;
/* error checking */
/* check IP address */
if (pszInetAddr != NULL) {
if ((dwIpAddr = inet_addr(pszInetAddr)) == INADDR_NONE) {
if (pszInetAddr != NULL)
{
if ((dwIpAddr = inet_addr(pszInetAddr)) == INADDR_NONE)
{
_tprintf(_T("ARP: bad IP address: %s\n"), pszInetAddr);
return -1;
exit(EXIT_FAILURE);
}
} else {
}
else
{
Usage();
return -1;
exit(EXIT_FAILURE);
}
/* check MAC address */
if (strlen(pszEthAddr) != 17) {
if (strlen(pszEthAddr) != 17)
{
_tprintf(_T("ARP: bad argument: %s\n"), pszEthAddr);
exit(EXIT_FAILURE);
}
for (i=0; i<17; i++)
{
if (pszEthAddr[i] == SEPERATOR)
continue;
if (!isxdigit(pszEthAddr[i]))
{
_tprintf(_T("ARP: bad argument: %s\n"), pszEthAddr);
exit(EXIT_FAILURE);
}
}
/* We need the IpNetTable to get the adapter index */
/* Return required buffer size */
GetIpNetTable(NULL, &ulSize, 0);
/* allocate memory for ARP address table */
pIpNetTable = (PMIB_IPNETTABLE) malloc(ulSize * sizeof(BYTE));
ZeroMemory(pIpNetTable, sizeof(*pIpNetTable));
/* get Arp address table */
if (pIpNetTable != NULL)
GetIpNetTable(pIpNetTable, &ulSize, TRUE);
else
{
_tprintf(_T("failed to allocate memory for GetIpNetTable\n"));
free(pIpNetTable);
return -1;
}
for (i=0; i<17; i++) {
if (pszEthAddr[i] == SEPERATOR) {
continue;
}
if (!isxdigit(pszEthAddr[i])) {
_tprintf(_T("ARP: bad argument: %s\n"), pszEthAddr);
return -1;
}
}
/* reserve memory on heap and zero */
pAddHost = (MIB_IPNETROW *) malloc(sizeof(MIB_IPNETROW));
ZeroMemory(pAddHost, sizeof(MIB_IPNETROW));
/* set dwIndex field to the index of a local IP address to
/* set dwIndex field to the index of a local IP address to
* indicate the network on which the ARP entry applies */
if (pszIfAddr) {
if (pszIfAddr)
sscanf(pszIfAddr, "%lx", &pAddHost->dwIndex);
} else {
/* map the IP to the index */
else
{
/* map the IP to the index */
pIpAddrTable = (MIB_IPADDRTABLE *) malloc(dwSize);
GetIpAddrTable(pIpAddrTable, &dwSize, 0);
pIpAddrTable = (MIB_IPADDRTABLE *) malloc(dwSize);
if ((iRet = GetIpAddrTable(pIpAddrTable, &dwSize, TRUE)) != NO_ERROR) { // NO_ERROR = 0
if ((iRet = GetIpAddrTable(pIpAddrTable, &dwSize, TRUE)) != NO_ERROR)
{
_tprintf(_T("GetIpAddrTable failed: %d\n"), iRet);
_tprintf(_T("error: %d\n"), WSAGetLastError());
}
printf("printing pIpAddrTable->table[0].dwIndex = %lx\n", pIpAddrTable->table[0].dwIndex);
pAddHost->dwIndex = 4;
//printf("debug print: pIpNetTable->table[0].dwIndex = %lx\n", pIpNetTable->table[0].dwIndex);
/* needs testing. I get the correct index on my machine, but need others
* to test their card index. Any problems and we can use GetAdaptersInfo instead */
pAddHost->dwIndex = pIpNetTable->table[0].dwIndex;
free(pIpAddrTable);
}
/* Set MAC address to 6 bytes (typical) */
pAddHost->dwPhysAddrLen = 6;
/* Encode bPhysAddr into correct byte array */
for (i=0; i<6; i++) {
for (i=0; i<6; i++)
{
val =0;
c = toupper(pszEthAddr[i*3]);
c = c - (isdigit(c) ? '0' : ('A' - 10));
@@ -275,103 +356,155 @@ INT Addhost(PTCHAR pszInetAddr, PTCHAR pszEthAddr, PTCHAR pszIfAddr)
c = c - (isdigit(c) ? '0' : ('A' - 10));
val += c;
pAddHost->bPhysAddr[i] = val;
}
/* copy converted IP address */
pAddHost->dwAddr = dwIpAddr;
/* set type to static */
pAddHost->dwType = MIB_IPNET_TYPE_STATIC;
/* Add the ARP entry */
if ((iRet = SetIpNetEntry(pAddHost)) != NO_ERROR) {
_tprintf(_T("The ARP entry addition failed: %d\n"), iRet);
return -1;
if ((iRet = SetIpNetEntry(pAddHost)) != NO_ERROR)
{
DoFormatMessage(iRet);
free(pAddHost);
exit(EXIT_FAILURE);
}
free(pAddHost);
return 0;
return EXIT_SUCCESS;
}
/*
*
* Takes an internet address and an optional interface address as
* Takes an internet address and an optional interface address as
* arguments and checks their validity.
* Add the interface number and IP to an MIB_IPNETROW structure
* and remove the entrty from the ARP cache.
* Add the interface number and IP to an MIB_IPNETROW structure
* and remove the entry from the ARP cache.
*
*/
INT Deletehost(PTCHAR pszInetAddr, PTCHAR pszIfAddr)
{
PMIB_IPNETROW pDelHost;
PMIB_IPADDRTABLE pIpAddrTable;
DWORD dwIpAddr;
PMIB_IPNETTABLE pIpNetTable;
ULONG ulSize = 0;
DWORD dwIpAddr = 0;
DWORD dwSize = 0;
INT iret;
INT iRet;
BOOL bFlushTable = FALSE;
/* error checking */
/* check IP address */
if (pszInetAddr != NULL) {
if ((dwIpAddr = inet_addr(pszInetAddr)) == INADDR_NONE) {
if (pszInetAddr != NULL)
{
/* if wildcard is given, set flag to delete all hosts */
if (strncmp(pszInetAddr, "*", 1) == 0)
bFlushTable = TRUE;
else if ((dwIpAddr = inet_addr(pszInetAddr)) == INADDR_NONE)
{
_tprintf(_T("ARP: bad IP address: %s\n"), pszInetAddr);
return -1;
exit(EXIT_FAILURE);
}
} else {
}
else
{
Usage();
exit(EXIT_FAILURE);
}
/* We need the IpNetTable to get the adapter index */
/* Return required buffer size */
GetIpNetTable(NULL, &ulSize, 0);
/* allocate memory for ARP address table */
pIpNetTable = (PMIB_IPNETTABLE) malloc(ulSize * sizeof(BYTE));
ZeroMemory(pIpNetTable, sizeof(*pIpNetTable));
/* get Arp address table */
if (pIpNetTable != NULL)
GetIpNetTable(pIpNetTable, &ulSize, TRUE);
else
{
_tprintf(_T("failed to allocate memory for GetIpNetTable\n"));
free(pIpNetTable);
return -1;
}
pIpAddrTable = (MIB_IPADDRTABLE*) malloc(sizeof(MIB_IPADDRTABLE));
pDelHost = (MIB_IPNETROW *) malloc(sizeof(MIB_IPNETROW));
ZeroMemory(pIpAddrTable, sizeof(MIB_IPADDRTABLE));
ZeroMemory(pDelHost, sizeof(MIB_IPNETROW));
/* set dwIndex field to the index of a local IP address to
/* set dwIndex field to the index of a local IP address to
* indicate the network on which the ARP entry applies */
if (pszIfAddr) {
if (pszIfAddr)
sscanf(pszIfAddr, "%lx", &pDelHost->dwIndex);
} else {
else
{
/* map the IP to the index */
if (GetIpAddrTable(pIpAddrTable, &dwSize, 0) == ERROR_INSUFFICIENT_BUFFER) {
if (GetIpAddrTable(pIpAddrTable, &dwSize, 0) == ERROR_INSUFFICIENT_BUFFER)
pIpAddrTable = (MIB_IPADDRTABLE *) malloc(dwSize);
}
if ((iret = GetIpAddrTable(pIpAddrTable, &dwSize, TRUE)) != NO_ERROR) {
_tprintf(_T("GetIpAddrTable failed: %d\n"), iret);
if ((iRet = GetIpAddrTable(pIpAddrTable, &dwSize, TRUE)) != NO_ERROR)
{
_tprintf(_T("GetIpAddrTable failed: %d\n"), iRet);
_tprintf(_T("error: %d\n"), WSAGetLastError());
}
pDelHost->dwIndex = 4; //pIpAddrTable->table[0].dwIndex;
}
/* copy converted IP address */
pDelHost->dwAddr = dwIpAddr;
/* Add the ARP entry */
if ((iret = DeleteIpNetEntry(pDelHost)) != NO_ERROR) {
_tprintf(_T("The ARP entry deletion failed: %d\n"), iret);
return -1;
/* needs testing. I get the correct index on my machine, but need others
* to test their card index. Any problems and we can use GetAdaptersInfo instead */
pDelHost->dwIndex = pIpNetTable->table[0].dwIndex;
}
if (bFlushTable == TRUE)
{
/* delete arp cache */
if ((iRet = FlushIpNetTable(pDelHost->dwIndex)) != NO_ERROR)
{
DoFormatMessage(iRet);
free(pIpAddrTable);
free(pDelHost);
return EXIT_FAILURE;
}
else
{
free(pIpAddrTable);
free(pDelHost);
return EXIT_SUCCESS;
}
}
else
/* copy converted IP address */
pDelHost->dwAddr = dwIpAddr;
/* Add the ARP entry */
if ((iRet = DeleteIpNetEntry(pDelHost)) != NO_ERROR)
{
DoFormatMessage(iRet);
free(pIpAddrTable);
free(pDelHost);
exit(EXIT_FAILURE);
}
free(pIpAddrTable);
free(pDelHost);
return 0;
return EXIT_SUCCESS;
}
/*
*
* print program usage to screen
*
*/
*/
VOID Usage(VOID)
{
_tprintf(_T("\nDisplays and modifies the IP-to-Physical address translation tables used by\n"
@@ -404,10 +537,10 @@ VOID Usage(VOID)
" > arp -s 157.55.85.212 00-aa-00-62-c6-09 .... Adds a static entry.\n"
" > arp -a .... Displays the arp table.\n\n"));
}
/*
/*
*
* Program entry.
* Parse command line and call the required function
@@ -415,35 +548,37 @@ VOID Usage(VOID)
*/
INT main(int argc, char* argv[])
{
const char N[] = "-N";
if ((argc < 2) || (argc > 5))
if ((argc < 2) || (argc > 5))
{
Usage();
return FALSE;
return EXIT_FAILURE;
}
if (argv[1][0] == '-') {
switch (argv[1][1]) {
/* FIX ME */
/* need better control for -a, as -N might not be arg 4 */
case 'a': if (argc == 2)
if (argv[1][0] == '-')
{
switch (argv[1][1])
{
case 'a': /* fall through */
case 'g':
if (argc == 2)
DisplayArpEntries(NULL, NULL);
else if (argc == 3)
DisplayArpEntries(argv[2], NULL);
else if ((argc == 5) && ((strcmp(argv[3], N)) == 0))
else if ((argc == 4) && ((strcmp(argv[2], "-N")) == 0))
DisplayArpEntries(NULL, argv[3]);
else if ((argc == 5) && ((strcmp(argv[3], "-N")) == 0))
DisplayArpEntries(argv[2], argv[4]);
else
Usage();
return EXIT_FAILURE;
break;
case 'g': break;
case 'd': if (argc == 3)
Deletehost(argv[2], NULL);
else if (argc == 4)
Deletehost(argv[2], argv[3]);
else
Usage();
return EXIT_FAILURE;
break;
case 's': if (argc == 4)
Addhost(argv[2], argv[3], NULL);
@@ -451,15 +586,17 @@ INT main(int argc, char* argv[])
Addhost(argv[2], argv[3], argv[4]);
else
Usage();
return EXIT_FAILURE;
break;
default:
Usage();
return -1;
return EXIT_FAILURE;
}
} else {
Usage();
return -1;
}
return 0;
}
else
Usage();
return EXIT_SUCCESS;
} /*
warning: suggest parentheses around assignment used as truth value
warning: char format, void arg (arg 2)*/

View File

@@ -1,11 +1,11 @@
<module name="arp" type="win32cui" installbase="system32" installname="arp.exe">
<include base="arp">.</include>
<define name="__USE_W32API" />
<library>kernel32</library>
<library>iphlpapi</library>
<library>ws2_32</library>
<library>shlwapi</library>
<file>arp.c</file>
<file>arp.rc</file>
</module>
<module name="arp" type="win32cui" installbase="system32" installname="arp.exe">
<include base="arp">.</include>
<define name="__USE_W32API" />
<library>kernel32</library>
<library>iphlpapi</library>
<library>ws2_32</library>
<library>shlwapi</library>
<file>arp.c</file>
<file>arp.rc</file>
</module>

View File

@@ -1,53 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Diagnostic Trace
//
#include <stdio.h>
#include <stdarg.h>
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <tchar.h>
#include "trace.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
void _DebugBreak(void)
{
DebugBreak();
}
void Trace(TCHAR* lpszFormat, ...)
{
va_list args;
int nBuf;
TCHAR szBuffer[512];
va_start(args, lpszFormat);
nBuf = _vsntprintf(szBuffer, sizeof(szBuffer)/sizeof(TCHAR), lpszFormat, args);
OutputDebugString(szBuffer);
// was there an error? was the expanded string too long?
//ASSERT(nBuf >= 0);
va_end(args);
}
void Assert(void* assert, TCHAR* file, int line, void* msg)
{
if (msg == NULL) {
printf("ASSERT -- %s occured on line %u of file %s.\n",
assert, line, file);
} else {
printf("ASSERT -- %s occured on line %u of file %s: Message = %s.\n",
assert, line, file, msg);
}
}
#else
void Trace(TCHAR* lpszFormat, ...) { };
void Assert(void* assert, TCHAR* file, int line, void* msg) { };
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////

View File

@@ -1,61 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Diagnostic Trace
//
#ifndef __TRACE_H__
#define __TRACE_H__
#ifdef _DEBUG
#ifdef _X86_
#define BreakPoint() _asm { int 3h }
#else
#define BreakPoint() _DebugBreak()
#endif
#ifndef ASSERT
#define ASSERT(exp) \
{ \
if (!(exp)) { \
Assert(#exp, __FILE__, __LINE__, NULL); \
BreakPoint(); \
} \
} \
#define ASSERTMSG(exp, msg) \
{ \
if (!(exp)) { \
Assert(#exp, __FILE__, __LINE__, msg); \
BreakPoint(); \
} \
}
#endif
//=============================================================================
// MACRO: TRACE()
//=============================================================================
#define TRACE Trace
#else // _DEBUG
//=============================================================================
// Define away MACRO's ASSERT() and TRACE() in non debug builds
//=============================================================================
#ifndef ASSERT
#define ASSERT(exp)
#define ASSERTMSG(exp, msg)
#endif
#define TRACE 0 ? (void)0 : Trace
#endif // !_DEBUG
void Assert(void* assert, TCHAR* file, int line, void* msg);
void Trace(TCHAR* lpszFormat, ...);
#endif // __TRACE_H__
/////////////////////////////////////////////////////////////////////////////

View File

@@ -1,30 +1,30 @@
<directory name="arp">
<xi:include href="arp/arp.xml" />
</directory>
<directory name="finger">
<xi:include href="finger/finger.xml" />
</directory>
<directory name="ftp">
<xi:include href="ftp/ftp.xml" />
</directory>
<directory name="ipconfig">
<xi:include href="ipconfig/ipconfig.xml" />
</directory>
<directory name="netstat">
<xi:include href="netstat/netstat.xml" />
</directory>
<directory name="ping">
<xi:include href="ping/ping.xml" />
</directory>
<directory name="route">
<xi:include href="route/route.xml" />
</directory>
<directory name="telnet">
<xi:include href="telnet/telnet.xml" />
</directory>
<directory name="tracert">
<xi:include href="tracert/tracert.xml" />
</directory>
<directory name="whois">
<xi:include href="whois/whois.xml" />
</directory>
<directory name="arp">
<xi:include href="arp/arp.xml" />
</directory>
<directory name="finger">
<xi:include href="finger/finger.xml" />
</directory>
<directory name="ftp">
<xi:include href="ftp/ftp.xml" />
</directory>
<directory name="ipconfig">
<xi:include href="ipconfig/ipconfig.xml" />
</directory>
<directory name="netstat">
<xi:include href="netstat/netstat.xml" />
</directory>
<directory name="ping">
<xi:include href="ping/ping.xml" />
</directory>
<directory name="route">
<xi:include href="route/route.xml" />
</directory>
<directory name="telnet">
<xi:include href="telnet/telnet.xml" />
</directory>
<directory name="tracert">
<xi:include href="tracert/tracert.xml" />
</directory>
<directory name="whois">
<xi:include href="whois/whois.xml" />
</directory>

View File

@@ -50,21 +50,10 @@ static char sccsid[] = "@(#)err.c 8.1 (Berkeley) 6/4/93";
extern char *__progname; /* Program name, from crt0. */
void
#ifdef __STDC__
err(int eval, const char *fmt, ...)
#else
err(eval, fmt, va_alist)
int eval;
const char *fmt;
va_dcl
#endif
{
va_list ap;
#if __STDC__
va_start(ap, fmt);
#else
va_start(ap);
#endif
verr(eval, fmt, ap);
va_end(ap);
}
@@ -85,21 +74,10 @@ verr(int eval, const char *fmt, va_list ap)
}
void
#if __STDC__
errx(int eval, const char *fmt, ...)
#else
errx(eval, fmt, va_alist)
int eval;
const char *fmt;
va_dcl
#endif
{
va_list ap;
#if __STDC__
va_start(ap, fmt);
#else
va_start(ap);
#endif
verrx(eval, fmt, ap);
va_end(ap);
}
@@ -115,20 +93,10 @@ verrx(int eval, const char *fmt, va_list ap)
}
void
#if __STDC__
warn(const char *fmt, ...)
#else
warn(fmt, va_alist)
const char *fmt;
va_dcl
#endif
{
va_list ap;
#if __STDC__
va_start(ap, fmt);
#else
va_start(ap);
#endif
vwarn(fmt, ap);
va_end(ap);
}
@@ -150,20 +118,10 @@ vwarn(fmt, ap)
}
void
#ifdef __STDC__
warnx(const char *fmt, ...)
#else
warnx(fmt, va_alist)
const char *fmt;
va_dcl
#endif
{
va_list ap;
#ifdef __STDC__
va_start(ap, fmt);
#else
va_start(ap);
#endif
vwarnx(fmt, ap);
va_end(ap);
}

View File

@@ -62,7 +62,6 @@
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "unistd.h"
#include "various.h"
#include "getopt.h"
@@ -74,7 +73,6 @@ int lflag, mflag, pplan, sflag;
static void userlist(int, char **);
void usage();
void netfinger(char *);
int
main(int argc, char **argv)

View File

@@ -1,12 +1,12 @@
<module name="finger" type="win32cui" installbase="system32" installname="finger.exe">
<include base="finger">.</include>
<module name="finger" type="win32cui" installbase="system32" installname="finger.exe">
<include base="finger">.</include>
<define name="__USE_W32API" />
<define name="__USE_W32_SOCKETS" />
<library>kernel32</library>
<library>ws2_32</library>
<file>finger.c</file>
<file>err.c</file>
<file>getopt.c</file>
<file>net.c</file>
<file>finger.rc</file>
</module>
<define name="__USE_W32_SOCKETS" />
<library>kernel32</library>
<library>ws2_32</library>
<file>finger.c</file>
<file>err.c</file>
<file>getopt.c</file>
<file>net.c</file>
<file>finger.rc</file>
</module>

View File

@@ -42,13 +42,15 @@ static char sccsid[] = "@(#)getopt.c 4.13 (Berkeley) 2/23/91";
#include <stdlib.h>
#include <string.h>
#include "getopt.h"
/*
* get option letter from argument vector
*/
int opterr = 1, /* if error message should be printed */
optind = 1, /* index into parent argv vector */
optopt; /* character checked for validity */
char *optarg; /* argument associated with option */
const char *optarg; /* argument associated with option */
#define BADCH (int)'?'
#define EMSG ""
@@ -56,7 +58,7 @@ char *optarg; /* argument associated with option */
int
getopt(int nargc, char * const *nargv, const char *ostr)
{
static char *place = EMSG; /* option letter processing */
static const char *place = EMSG; /* option letter processing */
register char *oli; /* option letter list index */
char *p;

View File

@@ -1,6 +1,6 @@
/* getopt.h */
extern char *optarg;
extern const char *optarg;
extern int optind;
int

View File

@@ -35,13 +35,15 @@
*/
#include <sys/types.h>
#include <winsock2.h>
#include "unistd.h"
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include "various.h"
int close(int);
void
netfinger(char *name)
{

View File

@@ -31,4 +31,6 @@ typedef long uid_t; // SunOS 5.5
#define index(s, c) strchr(s, c)
#define rindex(s, c) strrchr(s, c)
void netfinger(char *);
#endif

View File

@@ -25,7 +25,7 @@ static char sccsid[] = "@(#)cmds.c 5.18 (Berkeley) 4/20/89";
//#include <sys/param.h>
//#include <sys/wait.h>
#include <sys/stat.h>
#if !defined(WIN32)
#ifndef _WIN32
#include <sys/socket.h>
#include <arpa/ftp.h>
#include <netinet/in.h>
@@ -46,7 +46,6 @@ static char sccsid[] = "@(#)cmds.c 5.18 (Berkeley) 4/20/89";
#include "prototypes.h"
extern char *globerr;
extern char **glob();
extern char home[];
extern char *remglob();
extern char *getenv();
@@ -54,9 +53,9 @@ extern int allbinary;
extern off_t restart_point;
extern char reply_string[];
char *mname;
const char *mname;
jmp_buf jabort;
char *dotrans(), *domap();
const char *dotrans(), *domap();
extern short portnum;
extern char *hostname;
@@ -65,9 +64,9 @@ extern int autologin;
* Connect to peer server and
* auto-login, if possible.
*/
void setpeer(int argc, char *argv[])
void setpeer(int argc, const char *argv[])
{
char *host, *hookup();
char *host;
if (connected) {
printf("Already connected to %s, use close first.\n",
@@ -155,8 +154,8 @@ void setpeer(int argc, char *argv[])
}
struct types {
char *t_name;
char *t_mode;
const char *t_name;
const char *t_mode;
int t_type;
char *t_arg;
} types[] = {
@@ -172,13 +171,13 @@ struct types {
* Set transfer type.
*/
void settype(argc, argv)
char *argv[];
const char *argv[];
{
register struct types *p;
int comret;
if (argc > 2) {
char *sep;
const char *sep;
printf("usage: %s [", argv[0]);
sep = " ";
@@ -217,7 +216,7 @@ void settype(argc, argv)
}
}
char *stype[] = {
const char *stype[] = {
"type",
"",
0
@@ -266,9 +265,9 @@ void setebcdic()
/*
* Set file transfer mode.
*/
#if 0
/*ARGSUSED*/
void setmode(argc, argv)
void fsetmode(argc, argv)
char *argv[];
{
@@ -276,7 +275,7 @@ void setmode(argc, argv)
(void) fflush(stdout);
code = -1;
}
#endif
/*
* Set file transfer format.
@@ -309,11 +308,11 @@ void setstruct(argc, argv)
*/
void put(argc, argv)
int argc;
char *argv[];
const char *argv[];
{
char *cmd;
const char *cmd;
int loc = 0;
char *oldargv1, *oldargv2;
const char *oldargv1, *oldargv2;
if (argc == 2) {
argc++;
@@ -375,13 +374,12 @@ usage:
* Send multiple files.
*/
void mput(argc, argv)
char *argv[];
const char *argv[];
{
register int i;
int ointer;
void mabort();
extern jmp_buf jabort;
char *tp;
const char *tp;
if (argc < 2) {
(void) strcat(line, " ");
@@ -507,13 +505,13 @@ void mput(argc, argv)
}
void reget(argc, argv)
char *argv[];
const char *argv[];
{
(void) getit(argc, argv, 1, "r+w");
}
void get(argc, argv)
char *argv[];
const char *argv[];
{
(void) getit(argc, argv, 0, restart_point ? "r+w" : "w" );
}
@@ -522,11 +520,11 @@ void get(argc, argv)
* Receive one file.
*/
int getit(argc, argv, restartit, mode)
char *argv[];
char *mode;
const char *argv[];
const char *mode;
{
int loc = 0;
char *oldargv1, *oldargv2;
const char *oldargv1, *oldargv2;
if (argc == 2) {
argc++;
@@ -567,7 +565,8 @@ usage:
return (0);
}
if (loc && mcase) {
char *tp = argv[1], *tp2, tmpbuf[MAXPATHLEN];
const char *tp = argv[1];
char *tp2, tmpbuf[MAXPATHLEN];
while (*tp && !islower(*tp)) {
tp++;
@@ -650,7 +649,8 @@ usage:
return (0);
}
void
#if 0
static void
mabort()
{
int ointer;
@@ -670,16 +670,17 @@ mabort()
mflag = 0;
longjmp(jabort,0);
}
#endif
/*
* Get multiple files.
*/
void mget(argc, argv)
char *argv[];
const char *argv[];
{
char *cp, *tp, *tp2, tmpbuf[MAXPATHLEN];
const char *cp, *tp;
char *tp2, tmpbuf[MAXPATHLEN];
int ointer;
void mabort();
extern jmp_buf jabort;
if (argc < 2) {
@@ -757,7 +758,8 @@ remglob(argv,doswitch)
static FILE *ftemp = NULL;
static char **args;
int oldverbose, oldhash;
char *cp, *mode;
char *cp;
const char *mode;
if (!mflag) {
if (!doglob) {
@@ -809,7 +811,7 @@ remglob(argv,doswitch)
return (buf);
}
char *
static const char *
onoff(bool)
int bool;
{
@@ -1003,7 +1005,7 @@ void setdebug(argc, argv)
* on remote machine.
*/
void cd(argc, argv)
char *argv[];
const char *argv[];
{
if (argc < 2) {
@@ -1035,7 +1037,7 @@ void cd(argc, argv)
* on local machine.
*/
void lcd(argc, argv)
char *argv[];
const char *argv[];
{
char buf[MAXPATHLEN];
@@ -1065,7 +1067,7 @@ void lcd(argc, argv)
* Delete a single file.
*/
void delete(argc, argv)
char *argv[];
const char *argv[];
{
if (argc < 2) {
@@ -1090,11 +1092,10 @@ void delete(argc, argv)
* Delete multiple files.
*/
void mdelete(argc, argv)
char *argv[];
const char *argv[];
{
char *cp;
int ointer;
void mabort();
extern jmp_buf jabort;
if (argc < 2) {
@@ -1141,7 +1142,7 @@ void mdelete(argc, argv)
* Rename a remote file.
*/
void renamefile(argc, argv)
char *argv[];
const char *argv[];
{
if (argc < 2) {
@@ -1180,9 +1181,9 @@ usage:
* of remote files.
*/
void ls(argc, argv)
char *argv[];
const char *argv[];
{
char *cmd;
const char *cmd;
if (argc < 2)
argc++, argv[1] = NULL;
@@ -1213,11 +1214,11 @@ void ls(argc, argv)
* of multiple remote files.
*/
void mls(argc, argv)
char *argv[];
const char *argv[];
{
char *cmd, mode[1], *dest;
const char *cmd, *dest;
char mode[1];
int ointer, i;
void mabort();
extern jmp_buf jabort;
if (argc < 2) {
@@ -1276,7 +1277,7 @@ void mls(argc, argv)
* Do a shell escape
*/
/*ARGSUSED*/
int shell(argc, argv)
void shell(argc, argv)
char *argv[];
{
#if 0
@@ -1344,7 +1345,7 @@ int shell(argc, argv)
if (NumBytes == 0)
{
return(-1);
return;
}
AppName = ShellCmd;
@@ -1391,23 +1392,14 @@ int shell(argc, argv)
CloseHandle( ProcessInformation.hProcess);
}
if (Result)
{
return(-1);
}
else
{
return(0);
}
}
/*
* Send new user information (re-login)
*/
int user(argc, argv)
void user(argc, argv)
int argc;
char **argv;
const char **argv;
{
char acct[80], *getpass();
int n, aflag = 0;
@@ -1425,7 +1417,7 @@ int user(argc, argv)
printf("usage: %s username [password] [account]\n", argv[0]);
(void) fflush(stdout);
code = -1;
return (0);
return;
}
n = command("USER %s", argv[1]);
if (n == CONTINUE) {
@@ -1447,12 +1439,11 @@ int user(argc, argv)
if (n != COMPLETE) {
fprintf(stdout, "Login failed.\n");
(void) fflush(stdout);
return (0);
return;
}
if (!aflag && argc == 4) {
(void) command("ACCT %s", argv[3]);
}
return (1);
}
/*
@@ -1479,7 +1470,7 @@ void pwd()
* Make a directory.
*/
void makedir(argc, argv)
char *argv[];
const char *argv[];
{
if (argc < 2) {
@@ -1510,7 +1501,7 @@ void makedir(argc, argv)
* Remove a directory.
*/
void removedir(argc, argv)
char *argv[];
const char *argv[];
{
if (argc < 2) {
@@ -1541,7 +1532,7 @@ void removedir(argc, argv)
* Send a line, verbatim, to the remote machine.
*/
void quote(argc, argv)
char *argv[];
const char *argv[];
{
int i;
char buf[BUFSIZ];
@@ -1578,7 +1569,7 @@ void quote(argc, argv)
*/
void site(argc, argv)
char *argv[];
const char *argv[];
{
int i;
char buf[BUFSIZ];
@@ -1610,7 +1601,7 @@ void site(argc, argv)
}
void do_chmod(argc, argv)
char *argv[];
const char *argv[];
{
if (argc == 2) {
printf("usage: %s mode file-name\n", argv[0]);
@@ -1705,7 +1696,7 @@ void disconnect()
}
int confirm(cmd, file)
char *cmd, *file;
const char *cmd, *file;
{
char line[BUFSIZ];
@@ -1717,13 +1708,15 @@ int confirm(cmd, file)
return (*line != 'n' && *line != 'N');
}
void fatal(msg)
#if 0
static void fatal(msg)
char *msg;
{
fprintf(stderr, "ftp: %s\n", msg);
exit(1);
}
#endif
/*
* Glob a local file name specification with
@@ -1732,7 +1725,7 @@ void fatal(msg)
* from the expression, we return only the first.
*/
int globulize(cpp)
char **cpp;
const char **cpp;
{
char **globbed;
@@ -1785,7 +1778,8 @@ void account(argc,argv)
jmp_buf abortprox;
void
#if 0
static void
proxabort()
{
extern int proxy;
@@ -1802,12 +1796,12 @@ proxabort()
pswitch(0);
longjmp(abortprox,1);
}
#endif
void doproxy(argc,argv)
int argc;
char *argv[];
const char *argv[];
{
void proxabort();
register struct cmd *c;
struct cmd *getcmd();
// extern struct cmd cmdtab[];
@@ -1911,12 +1905,13 @@ void setntrans(argc,argv)
ntout[16] = '\0';
}
char *
const char *
dotrans(name)
char *name;
const char *name;
{
static char new[MAXPATHLEN];
char *cp1, *cp2 = new;
const char *cp1;
char *cp2 = new;
register int i, ostop, found;
for (ostop = 0; *(ntout + ostop) && ostop < 16; ostop++);
@@ -1953,7 +1948,7 @@ setpassive(argc, argv)
void setnmap(argc, argv)
int argc;
char *argv[];
const char *argv[];
{
char *cp;
@@ -1993,13 +1988,14 @@ void setnmap(argc, argv)
(void) strncpy(mapout, cp, MAXPATHLEN - 1);
}
char *
const char *
domap(name)
char *name;
const char *name;
{
static char new[MAXPATHLEN];
register char *cp1 = name, *cp2 = mapin;
char *tp[9], *te[9];
const char *cp1 = name;
char *cpn, *cp2 = mapin;
const char *tp[9], *te[9];
int i, toks[9], toknum = 0, match = 1;
for (i=0; i < 9; ++i) {
@@ -2042,33 +2038,34 @@ domap(name)
{
toks[toknum] = 0;
}
cp1 = new;
*cp1 = '\0';
cpn = new;
*cpn = '\0';
cp2 = mapout;
while (*cp2) {
match = 0;
switch (*cp2) {
case '\\':
if (*(cp2 + 1)) {
*cp1++ = *++cp2;
*cpn++ = *++cp2;
}
break;
case '[':
LOOP:
if (*++cp2 == '$' && isdigit(*(cp2+1))) {
if (*++cp2 == '0') {
char *cp3 = name;
const char *cp3 = name;
while (*cp3) {
*cp1++ = *cp3++;
*cpn++ = *cp3++;
}
match = 1;
}
else if (toks[toknum = *cp2 - '1']) {
char *cp3 = tp[toknum];
const char *cp3 = tp[toknum];
while (cp3 != te[toknum]) {
*cp1++ = *cp3++;
*cpn++ = *cp3++;
}
match = 1;
}
@@ -2082,24 +2079,24 @@ LOOP:
else if (*cp2 == '$' &&
isdigit(*(cp2+1))) {
if (*++cp2 == '0') {
char *cp3 = name;
const char *cp3 = name;
while (*cp3) {
*cp1++ = *cp3++;
*cpn++ = *cp3++;
}
}
else if (toks[toknum =
*cp2 - '1']) {
char *cp3=tp[toknum];
const char *cp3=tp[toknum];
while (cp3 !=
te[toknum]) {
*cp1++ = *cp3++;
*cpn++ = *cp3++;
}
}
}
else if (*cp2) {
*cp1++ = *cp2++;
*cpn++ = *cp2++;
}
}
if (!*cp2) {
@@ -2136,29 +2133,29 @@ LOOP:
case '$':
if (isdigit(*(cp2 + 1))) {
if (*++cp2 == '0') {
char *cp3 = name;
const char *cp3 = name;
while (*cp3) {
*cp1++ = *cp3++;
*cpn++ = *cp3++;
}
}
else if (toks[toknum = *cp2 - '1']) {
char *cp3 = tp[toknum];
const char *cp3 = tp[toknum];
while (cp3 != te[toknum]) {
*cp1++ = *cp3++;
*cpn++ = *cp3++;
}
}
break;
}
/* intentional drop through */
default:
*cp1++ = *cp2;
*cpn++ = *cp2;
break;
}
cp2++;
}
*cp1 = '\0';
*cpn = '\0';
if (!*new) {
return(name);
}
@@ -2217,7 +2214,7 @@ void syst()
void macdef(argc, argv)
int argc;
char *argv[];
const char *argv[];
{
char *tmp;
int c;
@@ -2293,7 +2290,7 @@ void macdef(argc, argv)
* get size of file on remote machine
*/
void sizecmd(argc, argv)
char *argv[];
const char *argv[];
{
if (argc < 2) {
@@ -2318,7 +2315,7 @@ void sizecmd(argc, argv)
* get last modification time of file on remote machine
*/
void modtime(argc, argv)
char *argv[];
const char *argv[];
{
int overbose;
@@ -2357,7 +2354,7 @@ void modtime(argc, argv)
* show status on reomte machine
*/
void rmtstatus(argc, argv)
char *argv[];
const char *argv[];
{
(void) command(argc > 1 ? "STAT %s" : "STAT" , argv[1]);
}
@@ -2366,7 +2363,7 @@ void rmtstatus(argc, argv)
* get file if modtime is more recent than current file
*/
void newer(argc, argv)
char *argv[];
const char *argv[];
{
if (getit(argc, argv, -1, "w")) {
printf("Local file \"%s\" is newer than remote file \"%s\"\n",

View File

@@ -24,20 +24,6 @@ static char sccsid[] = "@(#)cmdtab.c 5.9 (Berkeley) 3/21/89";
/*
* User FTP -- Command Tables.
*/
int setascii(), setbell(), setbinary(), setdebug(), setform();
int setglob(), sethash(), setmode(), setpeer(), setpassive(), setport();
int setprompt(), setstruct();
int settenex(), settrace(), settype(), setverbose();
int disconnect(), restart(), reget(), syst();
int cd(), lcd(), delete(), mdelete(), user();
int ls(), mls(), get(), mget(), help(), append(), put(), mput();
int quit(), renamefile(), status();
int quote(), rmthelp(), shell(), site();
int pwd(), makedir(), removedir(), setcr();
int account(), doproxy(), reset(), setcase(), setntrans(), setnmap();
int setsunique(), setrunique(), cdup(), macdef(), domacro();
int sizecmd(), modtime(), newer(), rmtstatus();
int do_chmod(), do_umask(), idle();
char accounthelp[] = "send account command to remote server";
char appendhelp[] = "append to a file";
@@ -140,7 +126,7 @@ struct cmd cmdtab[] = {
{ "mget", mgethelp, 1, 1, 1, mget },
{ "mkdir", mkdirhelp, 0, 1, 1, makedir },
{ "mls", mlshelp, 1, 1, 1, mls },
{ "mode", modehelp, 0, 1, 1, setmode },
{ "mode", modehelp, 0, 1, 1, fsetmode },
{ "modtime", modtimehelp, 0, 1, 1, modtime },
{ "mput", mputhelp, 1, 1, 1, mput },
{ "newer", newerhelp, 1, 1, 1, newer },

View File

@@ -30,13 +30,13 @@ static char sccsid[] = "@(#)domacro.c 1.6 (Berkeley) 2/28/89";
void domacro(argc, argv)
int argc;
char *argv[];
const char *argv[];
{
register int i, j;
register char *cp1, *cp2;
int i, j;
const char *cp1;
char *cp2;
int count = 2, loopflg = 0;
char line2[200];
extern char **glob();
struct cmd *getcmd(), *c;
if (argc < 2) {

View File

@@ -35,12 +35,11 @@ void blkfree(char **av0)
free(*av++);
}
char *glob(register char *v)
char **glob(register char *v)
{
return NULL;
}
int sleep(int time)
{
return time;
@@ -50,8 +49,8 @@ int herror(char *string)
{
return 0;
}
#if 0
#if 0
int gettimeofday(struct timeval *timenow,
struct timezone *zone)
{
@@ -114,7 +113,7 @@ int fgetcSocket(int s)
#endif
char *fprintfSocket(int s, char *format, ...)
const char *fprintfSocket(int s, const char *format, ...)
{
va_list argptr;
char buffer[10009];
@@ -128,7 +127,7 @@ char *fprintfSocket(int s, char *format, ...)
return NULL;
}
char *fputsSocket(char *format, int s)
const char *fputsSocket(const char *format, int s)
{
send(s, format, strlen(format), 0);
@@ -294,11 +293,13 @@ char *getpass (const char * prompt)
return NULL;
}
#if 0
// Stubbed out here. Should be changed in Source code...
int access(const char *filename, int accessmethod)
{
return 0;
}
#endif
#ifndef __GNUC__
#define EPOCHFILETIME (116444736000000000i64)

View File

@@ -25,7 +25,7 @@ static char sccsid[] = "@(#)ftp.c 5.28 (Berkeley) 4/20/89";
#include <sys/stat.h>
#if !defined(WIN32)
#ifndef _WIN32
#include <sys/param.h>
#include <sys/socket.h>
#include <sys/time.h>
@@ -98,9 +98,9 @@ sig_t lostpeer();
off_t restart_point = 0;
SOCKET cin, cout;
int dataconn(char *mode);
int dataconn(const char *mode);
int command(char *fmt, ...);
int command(const char *fmt, ...);
char *hostname;
@@ -203,19 +203,23 @@ bad:
return ((char *)0);
}
int login(char *host)
int login(const char *host)
{
char tmp[80];
char *user, *pass, *acct;
char *puser, *ppass, *pacct;
const char *user, *pass, *acct;
int n, aflag = 0;
user = pass = acct = 0;
if (ruserpass(host, &user, &pass, &acct) < 0) {
if (ruserpass(host, &puser, &ppass, &pacct) < 0) {
code = -1;
return(0);
}
user = puser;
pass = ppass;
acct = pacct;
while (user == NULL) {
char *myname = "none"; // This needs to become the usename env
const char *myname = "none"; // This needs to become the usename env
if (myname)
printf("Name (%s:%s): ", host, myname);
@@ -260,7 +264,7 @@ int login(char *host)
return (1);
}
void
static void
cmdabort(int sig)
{
extern jmp_buf ptabort;
@@ -273,7 +277,7 @@ cmdabort(int sig)
}
/*VARARGS1*/
int command(char *fmt, ...)
int command(const char *fmt, ...)
{
va_list ap;
int r;
@@ -422,7 +426,7 @@ getreply(expecteof)
}
}
int
static int
empty(mask, sec)
struct fd_set *mask;
int sec;
@@ -436,6 +440,7 @@ empty(mask, sec)
jmp_buf sendabort;
#if 0
void abortsend()
{
@@ -445,22 +450,22 @@ void abortsend()
(void) fflush(stdout);
longjmp(sendabort, 1);
}
#endif
#define HASHBYTES 1024
void sendrequest(char *cmd, char *local, char *remote, int printnames)
void sendrequest(const char *cmd, const char *local, const char *remote, int printnames)
{
FILE *fin;
int dout = 0;
int (*closefunc)(), _pclose(), fclose();
sig_t (*oldintr)(), (*oldintp)();
void abortsend();
char buf[BUFSIZ], *bufp;
long bytes = 0, hashbytes = HASHBYTES;
register int c, d;
struct stat st;
struct timeval start, stop;
char *mode;
const char *mode;
if (verbose && printnames) {
if (local && *local != '-')
@@ -710,7 +715,7 @@ null();// (void) signal(SIGPIPE, oldintp);
jmp_buf recvabort;
#if 0
void abortrecv()
{
@@ -720,17 +725,17 @@ void abortrecv()
(void) fflush(stdout);
longjmp(recvabort, 1);
}
#endif
void recvrequest(char *cmd, char *local, char *remote, char *mode,
void recvrequest(const char *cmd, const char *local, const char *remote, const char *mode,
int printnames)
{
FILE *fout;
FILE *fout = stdout;
int din = 0;
int (*closefunc)(), _pclose(), fclose();
void (*oldintr)(int), (*oldintp)(int);
void abortrecv();
int oldverbose, oldtype = 0, is_retr, tcrflag, nfnd, bare_lfs = 0;
char *gunique(), msg;
int oldverbose = 0, oldtype = 0, is_retr, tcrflag, nfnd, bare_lfs = 0;
char msg;
// static char *buf; // Szurgot: Shouldn't this go SOMEWHERE?
char buf[1024];
static int bufsize = 1024;
@@ -1252,7 +1257,7 @@ bad:
return (1);
}
int dataconn(char *mode)
int dataconn(const char *mode)
{
struct sockaddr_in from;
int s, fromlen = sizeof (from);
@@ -1277,7 +1282,7 @@ int dataconn(char *mode)
}
void ptransfer(direction, bytes, t0, t1)
char *direction;
const char *direction;
long bytes;
struct timeval *t0, *t1;
{
@@ -1417,6 +1422,7 @@ void pswitch(int flag)
jmp_buf ptabort;
int ptabflg;
#if 0
void
abortpt()
{
@@ -1427,15 +1433,15 @@ abortpt()
abrtflag = 0;
longjmp(ptabort, 1);
}
#endif
void proxtrans(cmd, local, remote)
char *cmd, *local, *remote;
const char *cmd, *local, *remote;
{
// void (*oldintr)(int);
//void abortpt(int);
int tmptype, oldtype = 0, secndflag = 0, nfnd;
extern jmp_buf ptabort;
char *cmd2;
const char *cmd2;
// struct
fd_set mask;
@@ -1756,6 +1762,7 @@ void reset()
}
}
#if 0
char *
gunique(local)
char *local;
@@ -1802,6 +1809,7 @@ gunique(local)
}
return(new);
}
#endif
int null(void)
{

View File

@@ -1,16 +1,16 @@
<module name="ftp" type="win32cui" installbase="system32" installname="ftp.exe" warnings="true">
<include base="ftp">.</include>
<define name="__USE_W32API" />
<define name="lint" />
<library>kernel32</library>
<library>ws2_32</library>
<library>iphlpapi</library>
<file>cmds.c</file>
<file>cmdtab.c</file>
<file>domacro.c</file>
<file>fake.c</file>
<file>ftp.c</file>
<file>main.c</file>
<file>ruserpass.c</file>
<file>ftp.rc</file>
</module>
<module name="ftp" type="win32cui" installbase="system32" installname="ftp.exe" allowwarnings="true">
<include base="ftp">.</include>
<define name="__USE_W32API" />
<define name="lint" />
<library>kernel32</library>
<library>ws2_32</library>
<library>iphlpapi</library>
<file>cmds.c</file>
<file>cmdtab.c</file>
<file>domacro.c</file>
<file>fake.c</file>
<file>ftp.c</file>
<file>main.c</file>
<file>ruserpass.c</file>
<file>ftp.rc</file>
</module>

View File

@@ -1,18 +1,10 @@
#include <winsock.h>
#include "fake.h"
#include "prototypes.h"
#include <setjmp.h>
//typedef void (*Sig_t)(int);
int fgetcSocket(int s);
char *fputsSocket(char *format, int s);
char *fprintfSocket(int s, char *format, ...);
int fputcSocket(int s, char putChar);
int fputSocket(int s, char *putChar, int len);
char *fgetsSocket(int s, char *string);
/* The following defines are from ftp.h and telnet.h from bsd.h */
/* All relevent copyrights below apply. */
@@ -138,7 +130,7 @@ extern char *stringbase; /* current scan point in line buffer */
extern char argbuf[200]; /* argument storage buffer */
extern char *argbase; /* current storage point in arg buffer */
extern int margc; /* count of arguments on input line */
extern char *margv[20]; /* args parsed from input line */
extern const char *margv[20]; /* args parsed from input line */
extern int cpend; /* flag: if != 0, then pending server reply */
extern int mflag; /* flag: if != 0, then active multi command */
@@ -148,12 +140,12 @@ extern int options; /* used during socket creation */
* Format of command table.
*/
struct cmd {
char *c_name; /* name of command */
char *c_help; /* help string */
const char *c_name; /* name of command */
const char *c_help; /* help string */
char c_bell; /* give bell when command completes */
char c_conn; /* must be connected to use command */
char c_proxy; /* proxy server may execute */
int (*c_handler)(); /* function to call */
void (*c_handler)(); /* function to call */
};
struct macel {
@@ -166,11 +158,6 @@ int macnum; /* number of defined macros */
struct macel macros[16];
char macbuf[4096];
extern char *tail();
extern char *remglob();
extern int errno;
extern char *mktemp();
#if defined(__ANSI__) || defined(sparc)
typedef void sig_t;
#else
@@ -178,4 +165,4 @@ typedef int sig_t;
#endif
typedef int uid_t;
int herror(char *s);

View File

@@ -28,7 +28,7 @@ static char sccsid[] = "@(#)main.c based on 5.13 (Berkeley) 3/14/89";
/*
* FTP User Program -- Command Interface.
*/
#if !defined(WIN32)
#ifndef _WIN32
#include <netdb.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
@@ -115,17 +115,18 @@ char *stringbase; /* current scan point in line buffer */
char argbuf[200]; /* argument storage buffer */
char *argbase; /* current storage point in arg buffer */
int margc; /* count of arguments on input line */
char *margv[20]; /* args parsed from input line */
const char *margv[20]; /* args parsed from input line */
int cpend; /* flag: if != 0, then pending server reply */
int mflag; /* flag: if != 0, then active multi command */
int options; /* used during socket creation */
static const char *slurpstring();
int main(int argc, char *argv[])
int main(int argc, const char *argv[])
{
register char *cp;
const char *cp;
int top;
#if 0
char homedir[MAXPATHLEN];
@@ -310,8 +311,6 @@ void cmdscanner(top)
int top;
{
register struct cmd *c;
struct cmd *getcmd();
extern int help();
if (!top)
(void) putchar('\n');
@@ -358,12 +357,12 @@ void cmdscanner(top)
struct cmd *
getcmd(name)
register char *name;
const char *name;
{
extern struct cmd cmdtab[];
register char *p, *q;
register struct cmd *c, *found;
register int nmatches, longest;
const char *p, *q;
struct cmd *c, *found;
int nmatches, longest;
longest = 0;
nmatches = 0;
@@ -394,8 +393,7 @@ int slrflag;
void makeargv()
{
char **argp;
char *slurpstring();
const char **argp;
margc = 0;
argp = margv;
@@ -411,7 +409,7 @@ void makeargv()
* implemented with FSM to
* handle quoting and strings
*/
char *
static const char *
slurpstring()
{
int got_one = 0;
@@ -535,7 +533,7 @@ OUT1:
* Help command.
* Call each command handler with argc == 0 and argv[0] == name.
*/
int help(argc, argv)
void help(argc, argv)
int argc;
char *argv[];
{
@@ -582,7 +580,7 @@ int help(argc, argv)
}
}
(void) fflush(stdout);
return 0;
return;
}
while (--argc > 0) {
register char *arg;
@@ -597,5 +595,4 @@ int help(argc, argv)
c->c_name, c->c_help);
}
(void) fflush(stdout);
return 0;
}

View File

@@ -1,31 +1,66 @@
int fgetcSocket(int s);
const char *fputsSocket(const char *format, int s);
const char *fprintfSocket(int s, const char *format, ...);
int fputcSocket(int s, char putChar);
int fputSocket(int s, char *putChar, int len);
char *fgetsSocket(int s, char *string);
char *hookup();
char **glob();
int herror(char *s);
int getreply(int expecteof);
int ruserpass(char *host, char **aname, char **apass, char **aacct);
int ruserpass(const char *host, char **aname, char **apass, char **aacct);
char *getpass(const char *prompt);
void makeargv(void);
void domacro(int argc, char *argv[]);
void proxtrans(char *cmd, char *local, char *remote);
void domacro(int argc, const char *argv[]);
void proxtrans(const char *cmd, const char *local, const char *remote);
int null(void);
int initconn(void);
void disconnect(void);
void ptransfer(char *direction, long bytes, struct timeval *t0, struct timeval *t1);
void ptransfer(const char *direction, long bytes, struct timeval *t0, struct timeval *t1);
void setascii(void);
void setbinary(void);
void setebcdic(void);
void settenex(void);
void tvsub(struct timeval *tdiff, struct timeval *t1, struct timeval *t0);
void setpassive(int argc, char *argv[]);
void setpeer(int argc, char *argv[]);
void setpeer(int argc, const char *argv[]);
void cmdscanner(int top);
void pswitch(int flag);
void quit(void);
int login(char *host);
int command(char *fmt, ...);
int globulize(char **cpp);
void sendrequest(char *cmd, char *local, char *remote, int printnames);
void recvrequest(char *cmd, char *local, char *remote, char *mode,
int login(const char *host);
int command(const char *fmt, ...);
int globulize(const char **cpp);
void sendrequest(const char *cmd, const char *local, const char *remote, int printnames);
void recvrequest(const char *cmd, const char *local, const char *remote, const char *mode,
int printnames);
int confirm(char *cmd, char *file);
int confirm(const char *cmd, const char *file);
void blkfree(char **av0);
int getit(int argc, char *argv[], int restartit, char *mode);
int getit(int argc, const char *argv[], int restartit, const char *mode);
int sleep(int time);
char *tail();
int errno;
char *mktemp();
void setbell(), setdebug();
void setglob(), sethash(), setport();
void setprompt();
void settrace(), setverbose();
void settype(), setform(), setstruct();
void restart(), syst();
void cd(), lcd(), delete(), mdelete();
void ls(), mls(), get(), mget(), help(), append(), put(), mput(), reget();
void status();
void renamefile();
void quote(), rmthelp(), site();
void pwd(), makedir(), removedir(), setcr();
void account(), doproxy(), reset(), setcase(), setntrans(), setnmap();
void setsunique(), setrunique(), cdup(), macdef();
void sizecmd(), modtime(), newer(), rmtstatus();
void do_chmod(), do_umask(), idle();
void shell(), user(), fsetmode();
struct cmd *getcmd();

View File

@@ -50,7 +50,7 @@ static FILE *cfile;
static char tokval[100];
static struct toktab {
char *tokstr;
const char *tokstr;
int tval;
} toktab[]= {
{"default", DEFAULT},
@@ -66,10 +66,11 @@ static struct toktab {
extern char *hostname;
static int token(void);
int ruserpass(char *host, char **aname, char **apass, char **aacct)
int ruserpass(const char *host, char **aname, char **apass, char **aacct)
{
char *hdir, buf[BUFSIZ], *tmp;
char myname[MAXHOSTNAMELEN], *mydomain;
const char *hdir, *mydomain;
char buf[BUFSIZ], *tmp;
char myname[MAXHOSTNAMELEN];
int t, i, c, usedefault = 0;
struct stat stb;
extern int errno;

View File

@@ -1,380 +1,423 @@
/* $Id: ipconfig.c
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Ipconfig utility
* FILE: apps/utils/net/ipconfig/ipconfig.c
* PURPOSE: Show and set network interface IP parameters
*/
/*
* History:
* ReactOS Win32 Applications
* Copyright (C) 2005 ReactOS Team
*
* 15/8/2002 (Robert Dickenson <robd@reactos.org>)
* Original version (PUBLIC DOMAIN and NO WARRANTY)
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS arp utility
* FILE: apps/utils/net/ipconfig/ipconfig.c
* PURPOSE:
* PROGRAMMERS: Ged Murphy (gedmurphy@gmail.com)
* REVISIONS:
* GM 14/09/05 Created
*
* 26/6/2005 (Tim Jobling <tjob800@yahoo.co.uk>)
* Relicense to GPL.
* Display NodeType with meaningfull Human readable names.
* Exclusively use TCHAR strings.
* Display Physical Address, DHCP enabled state, IP Addresses/Netmasks,
* Default Gateway, DHCP server and DHCP Lease times.
* Parse command line options.
* Default to only showing the IP/SM/DG is no options specified
* Handel option: /All and /?
* Display message about all unimplemented options.
* Changed C++ style commenting to C style
*
*/
#include <stdio.h>
*/
/*
* TODO:
* fix renew / release
* implement flushdns, registerdns, displaydns, showclassid, setclassid
* allow globbing on adapter names
*/
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iptypes.h>
#include <ipexport.h>
#include <tchar.h>
#include <string.h>
#include <ctype.h>
#include <winsock2.h>
#include <iphlpapi.h>
#ifdef _DEBUG
#include "trace.h"
#endif
#define UNICODE
#define _UNICODE
/* imported from iphlpapi.dll
GetAdapterOrderMap
GetInterfaceInfo
GetIpStatsFromStack
NhGetInterfaceNameFromGuid
NhpAllocateAndGetInterfaceInfoFromStack
*/
static TCHAR* GetNodeTypeName(UINT nNodeType)
LPCTSTR GetNodeTypeName(UINT NodeType)
{
switch (nNodeType) {
case 1: return _T("Broadcast");
case 2: return _T("Peer To Peer");
case 4: return _T("Mixed");
case 8: return _T("Hybrid");
default: return _T("unknown");
switch (NodeType) {
case 1: return _T("Broadcast");
case 2: return _T("Peer To Peer");
case 4: return _T("Mixed");
case 8: return _T("Hybrid");
default : return _T("unknown");
}
}
static TCHAR* GetInterfaceTypeName(UINT nInterfaceType)
LPCTSTR GetInterfaceTypeName(UINT InterfaceType)
{
switch (nInterfaceType) {
case MIB_IF_TYPE_OTHER: return _T("Other");
case MIB_IF_TYPE_ETHERNET: return _T("Ethernet");
case MIB_IF_TYPE_TOKENRING: return _T("Token Ring");
case MIB_IF_TYPE_FDDI: return _T("FDDI");
case MIB_IF_TYPE_PPP: return _T("PPP");
case MIB_IF_TYPE_LOOPBACK: return _T("Loopback");
case MIB_IF_TYPE_SLIP: return _T("SLIP");
default: return _T("unknown");
switch (InterfaceType) {
case MIB_IF_TYPE_OTHER: return _T("Other Type Of Adapter");
case MIB_IF_TYPE_ETHERNET: return _T("Ethernet Adapter");
case MIB_IF_TYPE_TOKENRING: return _T("Token Ring Adapter");
case MIB_IF_TYPE_FDDI: return _T("FDDI Adapter");
case MIB_IF_TYPE_PPP: return _T("PPP Adapter");
case MIB_IF_TYPE_LOOPBACK: return _T("Loopback Adapter");
case MIB_IF_TYPE_SLIP: return _T("SLIP Adapter");
default: return _T("unknown");
}
}
void PrintPhysicalAddr(PBYTE Addr, UINT len)
/* print MAC address */
PTCHAR PrintMacAddr(PBYTE Mac)
{
UINT i=0;
for (i=0; i<len; i++)
static TCHAR MacAddr[20];
_stprintf(MacAddr, _T("%02x-%02x-%02x-%02x-%02x-%02x"),
Mac[0], Mac[1], Mac[2], Mac[3], Mac[4], Mac[5]);
return MacAddr;
}
DWORD DoFormatMessage(DWORD ErrorCode)
{
LPVOID lpMsgBuf;
DWORD RetVal;
if ((RetVal = FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
ErrorCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* Default language */
(LPTSTR) &lpMsgBuf,
0,
NULL ))) {
_tprintf(_T("%s"), (LPTSTR)lpMsgBuf);
LocalFree(lpMsgBuf);
/* return number of TCHAR's stored in output buffer
* excluding '\0' - as FormatMessage does*/
return RetVal;
}
else
return 0;
}
INT ShowInfo(BOOL bAll)
{
PIP_ADAPTER_INFO pAdapterInfo = NULL;
PIP_ADAPTER_INFO pAdapter = NULL;
ULONG adaptOutBufLen;
PFIXED_INFO pFixedInfo;
ULONG netOutBufLen;
PIP_ADDR_STRING pIPAddr = NULL;
DWORD ErrRet = 0;
/* assign memory for call to GetNetworkParams */
pFixedInfo = (FIXED_INFO *) GlobalAlloc( GPTR, sizeof( FIXED_INFO ) );
netOutBufLen = sizeof(FIXED_INFO);
/* assign memory for call to GetAdapterInfo */
pAdapterInfo = (IP_ADAPTER_INFO *) malloc( sizeof(IP_ADAPTER_INFO) );
adaptOutBufLen = sizeof(IP_ADAPTER_INFO);
/* set required buffer size */
if(GetNetworkParams(pFixedInfo, &netOutBufLen) == ERROR_BUFFER_OVERFLOW)
{
GlobalFree(pFixedInfo);
pFixedInfo = (FIXED_INFO *) GlobalAlloc(GPTR, netOutBufLen);
}
/* set required buffer size */
if (GetAdaptersInfo( pAdapterInfo, &adaptOutBufLen) == ERROR_BUFFER_OVERFLOW)
{
free(pAdapterInfo);
pAdapterInfo = (IP_ADAPTER_INFO *) malloc (adaptOutBufLen);
}
if ((ErrRet = GetAdaptersInfo(pAdapterInfo, &adaptOutBufLen)) != NO_ERROR)
{
_tprintf(_T("GetAdaptersInfo failed : "));
DoFormatMessage(ErrRet);
return EXIT_FAILURE;
}
if ((ErrRet = GetNetworkParams(pFixedInfo, &netOutBufLen)) != NO_ERROR)
{
_tprintf(_T("GetNetworkParams failed : "));
DoFormatMessage(ErrRet);
return EXIT_FAILURE;
}
pAdapter = pAdapterInfo;
//HKEY hKey;
//LPCTSTR lpSubKey = _T("SYSTEM\\ControlSet\\Control\\Network");
_tprintf(_T("\nReactOS IP Configuration\n\n"));
if (bAll)
{
_tprintf(_T("%02X"), Addr[i]);
if ((i+1)<len)
_tprintf(_T("-"));
_tprintf(_T("\tHost Name . . . . . . . . . . . . : %s\n"), pFixedInfo->HostName);
_tprintf(_T("\tPrimary DNS Suffix. . . . . . . . : \n"));
_tprintf(_T("\tNode Type . . . . . . . . . . . . : %s\n"), GetNodeTypeName(pFixedInfo->NodeType));
if (pFixedInfo->EnableRouting)
_tprintf(_T("\tIP Routing Enabled. . . . . . . . : Yes\n"));
else
_tprintf(_T("\tIP Routing Enabled. . . . . . . . : No\n"));
if (pAdapter->HaveWins)
_tprintf(_T("\tWINS Proxy enabled. . . . . . . . : Yes\n"));
else
_tprintf(_T("\tWINS Proxy enabled. . . . . . . . : No\n"));
_tprintf(_T("\tDNS Suffix Search List. . . . . . : %s\n"), pFixedInfo->DomainName);
}
_tprintf(_T("\n"));
}
static void ShowNetworkFixedInfo()
{
FIXED_INFO* pFixedInfo = NULL;
ULONG OutBufLen = 0;
DWORD result;
while (pAdapter)
{
result = GetNetworkParams(NULL, &OutBufLen);
if (result == ERROR_BUFFER_OVERFLOW) {
pFixedInfo = (FIXED_INFO*)malloc(OutBufLen);
if (!pFixedInfo) {
_tprintf(_T("ERROR: failed to allocate 0x%08lX bytes of memory\n"), OutBufLen);
return;
_tprintf(_T("\n%s ...... : \n\n"), GetInterfaceTypeName(pAdapter->Type));
/* check if the adapter is connected to the media */
if (_tcscmp(pAdapter->IpAddressList.IpAddress.String, "0.0.0.0") == 0)
{
_tprintf(_T("\tMedia State . . . . . . . . . . . : Media disconnected\n"));
pAdapter = pAdapter->Next;
continue;
}
} else {
_tprintf(_T("ERROR: GetNetworkParams() failed to report required buffer size.\n"));
return;
}
_tprintf(_T("\tConnection-specific DNS Suffix. . : %s\n"), pFixedInfo->DomainName);
result = GetNetworkParams(pFixedInfo, &OutBufLen);
if (result == ERROR_SUCCESS) {
IP_ADDR_STRING* pIPAddr;
if (bAll)
{
_tprintf(_T("\tDescription . . . . . . . . . . . : %s\n"), pAdapter->Description);
_tprintf(_T("\tPhysical Address. . . . . . . . . : %s\n"), PrintMacAddr(pAdapter->Address));
if (pAdapter->DhcpEnabled)
_tprintf(_T("\tDHCP Enabled. . . . . . . . . . . : Yes\n"));
else
_tprintf(_T("\tDHCP Enabled. . . . . . . . . . . : No\n"));
_tprintf(_T("\tAutoconfiguration Enabled . . . . : \n"));
}
_tprintf(_T("\tHostName. . . . . . . . . . . : %s\n"), pFixedInfo->HostName);
_tprintf(_T("\tDomainName. . . . . . . . . . : %s\n"), pFixedInfo->DomainName);
_tprintf(_T("\tIP Address. . . . . . . . . . . . : %s\n"), pAdapter->IpAddressList.IpAddress.String);
_tprintf(_T("\tSubnet Mask . . . . . . . . . . . : %s\n"), pAdapter->IpAddressList.IpMask.String);
_tprintf(_T("\tDefault Gateway . . . . . . . . . : %s\n"), pAdapter->GatewayList.IpAddress.String);
_tprintf(_T("\tDNS Servers . . . . . . . . . : %s\n"), pFixedInfo->DnsServerList.IpAddress.String);
pIPAddr = pFixedInfo->DnsServerList.Next;
while (pIPAddr) {
_tprintf(_T("\t\t\t\t : %s\n"), pIPAddr->IpAddress.String);
pIPAddr = pIPAddr->Next;
}
if (bAll)
{
if (pAdapter->DhcpEnabled)
_tprintf(_T("\tDHCP Server . . . . . . . . . . . : %s\n"), pAdapter->DhcpServer.IpAddress.String);
_tprintf(_T("\tNodeType. . . . . . . . . . . : %d (%s)\n"), pFixedInfo->NodeType, GetNodeTypeName(pFixedInfo->NodeType));
_tprintf(_T("\tScopeId . . . . . . . . . . . : %s\n"), pFixedInfo->ScopeId);
_tprintf(_T("\tEnableRouting . . . . . . . . : %s\n"), pFixedInfo->EnableRouting ? _T("yes") : _T("no"));
_tprintf(_T("\tEnableProxy . . . . . . . . . : %s\n"), pFixedInfo->EnableProxy ? _T("yes") : _T("no"));
_tprintf(_T("\tEnableDns . . . . . . . . . . : %s\n"), pFixedInfo->EnableDns ? _T("yes") : _T("no"));
_tprintf(_T("\tDNS Servers . . . . . . . . . . . : "));
_tprintf(_T("%s\n"), pFixedInfo->DnsServerList.IpAddress.String);
pIPAddr = pFixedInfo -> DnsServerList.Next;
while (pIPAddr)
{
_tprintf(_T("\t\t\t\t\t %s\n"), pIPAddr ->IpAddress.String );
pIPAddr = pIPAddr ->Next;
}
if (pAdapter->HaveWins)
{
_tprintf(_T("\tPrimary WINS Server . . . . . . . : %s\n"), pAdapter->PrimaryWinsServer.IpAddress.String);
_tprintf(_T("\tSecondard WINS Server . . . . . . : %s\n"), pAdapter->SecondaryWinsServer.IpAddress.String);
}
if (pAdapter->DhcpEnabled)
{
_tprintf(_T("\tLease Obtained. . . . . . . . . . : %s"), _tasctime(localtime(&pAdapter->LeaseObtained)));
_tprintf(_T("\tLease Expires . . . . . . . . . . : %s"), _tasctime(localtime(&pAdapter->LeaseExpires)));
}
}
_tprintf(_T("\n"));
/*
_tprintf(_T("\n"),);
_tprintf(_T("GetNetworkParams() returned with %d\n"), pIfTable->NumAdapters);
pAdapter = pAdapter->Next;
_tprintf(_T("\tConnection specific DNS suffix: %s\n"), pFixedInfo->EnableDns ? _T("yes") : _T("no"));
*/
} else {
switch (result) {
case ERROR_BUFFER_OVERFLOW:
_tprintf(_T("The buffer size indicated by the pOutBufLen parameter is too small to hold the adapter information. The pOutBufLen parameter points to the required size\n"));
break;
case ERROR_INVALID_PARAMETER:
_tprintf(_T("The pOutBufLen parameter is NULL, or the calling process does not have read/write access to the memory pointed to by pOutBufLen, or the calling process does not have write access to the memory pointed to by the pAdapterInfo parameter\n"));
break;
case ERROR_NO_DATA:
_tprintf(_T("No adapter information exists for the local computer\n"));
break;
case ERROR_NOT_SUPPORTED:
_tprintf(_T("This function is not supported on the operating system in use on the local system\n"));
break;
default:
_tprintf(_T("0x%08lX - Use FormatMessage to obtain the message string for the returned error\n"), result);
break;
}
}
return 0;
}
static void ShowNetworkInterfaces()
INT Release(TCHAR Index)
{
IP_INTERFACE_INFO* pIfTable = NULL;
DWORD result;
DWORD dwNumIf;
DWORD dwOutBufLen = 0;
IP_ADAPTER_INDEX_MAP AdapterInfo;
DWORD dwRetVal = 0;
if ((result = GetNumberOfInterfaces(&dwNumIf)) != NO_ERROR) {
_tprintf(_T("GetNumberOfInterfaces() failed with code 0x%08lX - Use FormatMessage to obtain the message string for the returned error\n"), result);
return;
} else {
_tprintf(_T("GetNumberOfInterfaces() returned %lu\n"), dwNumIf);
}
/* if interface is not given, query GetInterfaceInfo */
if (Index == (TCHAR)NULL)
{
PIP_INTERFACE_INFO pInfo;
ULONG ulOutBufLen;
pInfo = (IP_INTERFACE_INFO *) malloc(sizeof(IP_INTERFACE_INFO));
ulOutBufLen = 0;
result = GetInterfaceInfo(pIfTable, &dwOutBufLen);
/*
dwOutBufLen = sizeof(IP_INTERFACE_INFO) + dwNumIf * sizeof(IP_ADAPTER_INDEX_MAP);
_tprintf(_T("GetNumberOfInterfaces() returned %d, dwOutBufLen %d\n"), dwNumIf, dwOutBufLen);
_tprintf(_T("sizeof(IP_INTERFACE_INFO) %d, sizeof(IP_ADAPTER_INDEX_MAP) %d\n"), sizeof(IP_INTERFACE_INFO), sizeof(IP_ADAPTER_INDEX_MAP));
*/
pIfTable = (IP_INTERFACE_INFO*)malloc(dwOutBufLen);
if (!pIfTable) {
_tprintf(_T("ERROR: failed to allocate 0x%08lX bytes of memory\n"), dwOutBufLen);
return;
}
/*
typedef struct _IP_ADAPTER_INDEX_MAP {
ULONG Index; // adapter index
WCHAR Name[MAX_ADAPTER_NAME]; // name of the adapter
} IP_ADAPTER_INDEX_MAP, * PIP_ADAPTER_INDEX_MAP;
typedef struct _IP_INTERFACE_INFO {
LONG NumAdapters; // number of adapters in array
IP_ADAPTER_INDEX_MAP Adapter[1]; // adapter indices and names
} IP_INTERFACE_INFO,*PIP_INTERFACE_INFO;
*/
result = GetInterfaceInfo(pIfTable, &dwOutBufLen);
if (result == NO_ERROR) {
UINT i;
_tprintf(_T("GetInterfaceInfo() returned with %ld adaptor entries\n"), pIfTable->NumAdapters);
for (i = 0; i < pIfTable->NumAdapters; i++) {
wprintf(L"[%d] %s\n", i + 1, pIfTable->Adapter[i].Name);
/*wprintf(L"[%d] %s\n", pIfTable->Adapter[i].Index, pIfTable->Adapter[i].Name);*/
/*HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\Tcpip_{DB0E61C1-3498-4C5F-B599-59CDE8A1E357}*/
/* Make an initial call to GetInterfaceInfo to get
* the necessary size into the ulOutBufLen variable */
if ( GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
{
GlobalFree(pInfo);
pInfo = (IP_INTERFACE_INFO *) malloc (ulOutBufLen);
}
} else {
switch (result) {
case ERROR_INVALID_PARAMETER:
_tprintf(_T("The dwOutBufLen parameter is NULL, or GetInterfaceInterface is unable to write to the memory pointed to by the dwOutBufLen parameter\n"));
break;
case ERROR_INSUFFICIENT_BUFFER:
_tprintf(_T("The buffer pointed to by the pIfTable parameter is not large enough. The required size is returned in the DWORD variable pointed to by the dwOutBufLen parameter\n"));
_tprintf(_T("\tdwOutBufLen: %lu\n"), dwOutBufLen);
break;
case ERROR_NOT_SUPPORTED:
_tprintf(_T("This function is not supported on the operating system in use on the local system\n"));
break;
default:
_tprintf(_T("0x%08lX - Use FormatMessage to obtain the message string for the returned error\n"), result);
break;
/* Make a second call to GetInterfaceInfo to get the actual data we want */
if ((dwRetVal = GetInterfaceInfo(pInfo, &ulOutBufLen)) == NO_ERROR )
{
AdapterInfo = pInfo->Adapter[0];
_tprintf(_T("name - %S\n"), pInfo->Adapter[0].Name);
}
else
{
_tprintf(_T("\nGetInterfaceInfo failed : "));
DoFormatMessage(dwRetVal);
}
}
free(pIfTable);
else
{
;
/* we need to be able to release connections by name with support for globbing
* i.e. ipconfig /release Eth* will release all cards starting with Eth...
* ipconfig /release *con* will release all cards with 'con' in their name
*/
}
/* Call IpReleaseAddress to release the IP address on the specified adapter. */
if ((dwRetVal = IpReleaseAddress(&AdapterInfo)) != NO_ERROR)
{
_tprintf(_T("\nAn error occured while releasing interface %s : "), _T("*name*"));
DoFormatMessage(dwRetVal);
}
return 0;
}
/*
typedef struct _IP_ADAPTER_INFO {
struct _IP_ADAPTER_INFO* Next;
DWORD ComboIndex;
char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
1 char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
UINT AddressLength;
2 BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
DWORD Index;
UINT Type;
3 UINT DhcpEnabled;
5 PIP_ADDR_STRING CurrentIpAddress;
IP_ADDR_STRING IpAddressList;
7 IP_ADDR_STRING GatewayList;
8 IP_ADDR_STRING DhcpServer;
BOOL HaveWins;
IP_ADDR_STRING PrimaryWinsServer;
IP_ADDR_STRING SecondaryWinsServer;
a time_t LeaseObtained;
b time_t LeaseExpires;
} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
*/
/*
Ethernet adapter VMware Virtual Ethernet Adapter (Network Address Translation (NAT) for VMnet8):
Connection-specific DNS Suffix . :
1 Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter (Network Address Translation (NAT) for VMnet8)
2 Physical Address. . . . . . . . . : 00-50-56-C0-00-08
3 DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
5 IP Address. . . . . . . . . . . . : 192.168.136.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
7 Default Gateway . . . . . . . . . :
8 DHCP Server . . . . . . . . . . . : 192.168.136.254
DNS Servers . . . . . . . . . . . :
a Lease Obtained. . . . . . . . . . : Monday, 30 December 2002 5:56:53 PM
b Lease Expires . . . . . . . . . . : Monday, 30 December 2002 6:26:53 PM
*/
static void ShowAdapterInfo(BOOL ShowAll)
INT Renew(TCHAR Index)
{
IP_ADAPTER_INFO* pAdaptorInfo;
IP_ADAPTER_INDEX_MAP AdapterInfo;
DWORD dwRetVal = 0;
/* if interface is not given, query GetInterfaceInfo */
if (Index == (TCHAR)NULL)
{
PIP_INTERFACE_INFO pInfo;
ULONG ulOutBufLen;
pInfo = (IP_INTERFACE_INFO *) malloc(sizeof(IP_INTERFACE_INFO));
ulOutBufLen = 0;
/* Make an initial call to GetInterfaceInfo to get
* the necessary size into the ulOutBufLen variable */
if ( GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
{
GlobalFree(pInfo);
pInfo = (IP_INTERFACE_INFO *) malloc (ulOutBufLen);
}
/* Make a second call to GetInterfaceInfo to get the actual data we want */
if ((dwRetVal = GetInterfaceInfo(pInfo, &ulOutBufLen)) == NO_ERROR )
{
AdapterInfo = pInfo->Adapter[0];
_tprintf(_T("name - %S\n"), pInfo->Adapter[0].Name);
} else {
_tprintf(_T("\nGetInterfaceInfo failed : "));
DoFormatMessage(dwRetVal);
}
}
else
{
;
/* we need to be able to renew connections by name with support for globbing
* i.e. ipconfig /renew Eth* will renew all cards starting with Eth...
* ipconfig /renew *con* will renew all cards with 'con' in their name
*/
}
/* Call IpRenewAddress to renew the IP address on the specified adapter. */
if ((dwRetVal = IpRenewAddress(&AdapterInfo)) != NO_ERROR)
{
_tprintf(_T("\nAn error occured while renew interface %s : "), _T("*name*"));
DoFormatMessage(dwRetVal);
}
return 0;
}
/* temp func for testing purposes */
VOID Info()
{
// Declare and initialize variables
PIP_INTERFACE_INFO pInfo;
ULONG ulOutBufLen;
DWORD dwRetVal;
PIP_ADDR_STRING pIpAddrString;
struct tm *LeaseTime;
pInfo = (IP_INTERFACE_INFO *) malloc( sizeof(IP_INTERFACE_INFO) );
ulOutBufLen = sizeof(IP_INTERFACE_INFO);
dwRetVal = 0;
if (ShowAll)
// Make an initial call to GetInterfaceInfo to get
// the necessary size in the ulOutBufLen variable
if ( GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
{
_tprintf(_T("\nAdaptor Information\t\n"));
free(pInfo);
pInfo = (IP_INTERFACE_INFO *) malloc (ulOutBufLen);
}
pAdaptorInfo = (IP_ADAPTER_INFO*)GlobalAlloc(GPTR, sizeof(IP_ADAPTER_INFO));
ulOutBufLen = sizeof(IP_ADAPTER_INFO);
if (ERROR_BUFFER_OVERFLOW == GetAdaptersInfo(pAdaptorInfo, &ulOutBufLen)) {
GlobalFree(pAdaptorInfo);
pAdaptorInfo = (IP_ADAPTER_INFO*)GlobalAlloc(GPTR, ulOutBufLen);
}
if ((dwRetVal = GetAdaptersInfo(pAdaptorInfo, &ulOutBufLen))) {
_tprintf(_T("Call to GetAdaptersInfo failed. Return Value: 0x%08lx\n"), dwRetVal);
} else {
while (pAdaptorInfo) {
/* print the type of interface before the Name of it */
_tprintf(_T("\n%s Adapter %s:\n\n"), GetInterfaceTypeName(pAdaptorInfo->Type), pAdaptorInfo->AdapterName);
if (ShowAll)
{
_tprintf(_T("\tDescription. . . . . . : %s\n"), pAdaptorInfo->Description);
/* print the Physical address to the screen*/
_tprintf(_T("\tPhysical Address . . . : "));
PrintPhysicalAddr(pAdaptorInfo->Address, pAdaptorInfo->AddressLength);
/* Now the DHCP state */
_tprintf(_T("\tDHCP Enabled . . . . . : %s\n"), pAdaptorInfo->DhcpEnabled ? _T("Yes") : _T("No"));
}
/* IP Addresses/Netmasks, there may be more than one */
pIpAddrString = &pAdaptorInfo->IpAddressList;
do{
_tprintf(_T("\tIP Address . . . . . . : %s\n"), pIpAddrString->IpAddress.String);
_tprintf(_T("\tSubnet Mask. . . . . . : %s\n"), pIpAddrString->IpMask.String);
pIpAddrString = pIpAddrString->Next;
}while (pIpAddrString!=NULL);
/* Default Gateway */
pIpAddrString = &pAdaptorInfo->GatewayList;
_tprintf(_T("\tDefault Gateway. . . . : %s\n"), pIpAddrString->IpAddress.String);
/* Print some stuff that is only relevant it dhcp is enabled */
if((pAdaptorInfo->DhcpEnabled)&&(ShowAll))
{
/* Display the DHCP server address */
pIpAddrString = &pAdaptorInfo->DhcpServer;
_tprintf(_T("\tDHCP Server. . . . . . : %s\n"), pIpAddrString->IpAddress.String);
/* Display the Lease times*/
LeaseTime = localtime(&pAdaptorInfo->LeaseObtained);
_tprintf(_T("\tLease Obtained . . . . : %s"), asctime(LeaseTime));
LeaseTime = localtime(&pAdaptorInfo->LeaseExpires);
_tprintf(_T("\tLease Expieres . . . . : %s"), asctime(LeaseTime));
}
pAdaptorInfo = pAdaptorInfo->Next;
// Make a second call to GetInterfaceInfo to get
// the actual data we need
if ((dwRetVal = GetInterfaceInfo(pInfo, &ulOutBufLen)) == NO_ERROR )
{
int i;
for (i=0; i<pInfo->NumAdapters; i++)
{
printf("\tAdapter Name: %S\n", pInfo->Adapter[i].Name);
printf("\tAdapter Index: %ld\n", pInfo->Adapter[i].Index);
printf("\tNum Adapters: %ld\n", pInfo->NumAdapters);
}
}
else
{
printf("GetInterfaceInfo failed.\n");
DoFormatMessage(dwRetVal);
}
}
const TCHAR szUsage[] = { _T("USAGE:\n" \
" ipconfig [/? | /all | /release [adapter] | /renew [adapter]\n" \
" | /flushdns | /registerdns\n" \
" | /showclassid adapter\n" \
" | /showclassid adapter\n" \
" | /setclassid adapter [classidtoset] ]\n" \
"\n" \
"adapter Full name or pattern with '*' and '?' to 'match',\n" \
" * matches any character, ? matches one character.\n" \
" Options\n" \
" /? Display this help message.\n" \
" /all Display full configuration information.\n" \
" /release Release the IP address for the specified adapter.\n" \
" /renew Renew the IP address for the specified adapter.\n" \
" /flushdns Purges the DNS Resolver cache.\n" \
" /registerdns Refreshes all DHCP leases and re-registers DNS names\n" \
" /displaydns Display the contents of the DNS Resolver Cache.\n" \
" /showclassid Displays all the dhcp class IDs allowed for adapter.\n" \
" /setclassid Modifies the dhcp class id.\n" \
"\n" \
"The default is to display only the IP address, subnet mask and\n" \
"default gateway for each adapter bound to TCP/IP.\n")
};
/*
"\n" \
"For Release and Renew, if no adapter name is specified, then the IP address\n" \
"leases for all adapters bound to TCP/IP will be released or renewed.\n" \
"\n" \
"For SetClassID, if no class id is specified, then the classid is removed.\n" \
"\n" \
"Examples:\n" \
" > ipconfig ... Show information.\n" \
" > ipconfig /all ... Show detailed information\n" \
" > ipconfig /renew ... renew all adapaters\n" \
" > ipconfig /renew EL* ... renew adapters named EL....\n" \
" > ipconfig /release *ELINK?21* ... release all matching adapters,\n" \
eg. ELINK-21, myELELINKi21adapter.\n"
*/
static void usage(void)
VOID Usage(VOID)
{
_fputts(szUsage, stderr);
_tprintf(_T("\nUSAGE:\n"
" ipconfig [/? | /all | /renew [adapter] | /release [adapter] |\n"
" /flushdns | /displaydns | /registerdns |\n"
" /showclassid adapter |\n"
" /setclassid adapter [classid] ]\n"
"\n"
"where\n"
" adapter Connection name\n"
" (wildcard characters * and ? allowed, see examples)\n"
"\n"
" Options:\n"
" /? Display this help message\n"
" /all Display full configuration information.\n"
" /release Release the IP address for the specified adapter.\n"
" /renew Renew the IP address for the specified adapter.\n"
" /flushdns Purges the DNS Resolver cache.\n"
" /registerdns Refreshes all DHCP leases and re-registers DNS names.\n"
" /displaydns Display the contents of the DNS Resolver Cache.\n"
" /showclassid Displays all the dhcp class IDs allowed for adapter.\n"
" /setclassid Modifies the dhcp class id.\n"
"\n"
"The default is to display only the IP address, subnet mask and\n"
"default gateway for each adapter bound to TCP/IP.\n"
"\n"
"For Release and Renew, if no adapter name is specified, then the IP address\n"
"leases for all adapters bound to TCP/IP will be released or renewed.\n"
"\n"
"For Setclassid, if no ClassId is specified, then the ClassId is removed.\n"
"\n"
"Examples:\n"
" > ipconfig ... Show information.\n"
" > ipconfig /all ... Show detailed information\n"
" > ipconfig /renew ... renew all adapters\n"
" > ipconfig /renew EL* ... renew any connection that has its\n"
" name starting with EL\n"
" > ipconfig /release *Con* ... release all matching connections,\n"
" eg. \"Local Area Connection 1\" or\n"
" \"Local Area Connection 2\"\n"));
}
int _tmain(int argc, TCHAR *argv[])
int main(int argc, char *argv[])
{
BOOL DoUsage=FALSE;
BOOL DoAll=FALSE;
@@ -384,14 +427,10 @@ int _tmain(int argc, TCHAR *argv[])
BOOL DoRegisterdns=FALSE;
BOOL DoDisplaydns=FALSE;
BOOL DoShowclassid=FALSE;
BOOL DoSetclassid=FALSE;
BOOL DoSetclassid=FALSE;
_tprintf(_T("\nReactOS IP Configuration\n\n"));
/*
Parse command line for options we have been given.
*/
if ( ((argc > 1))&&((argv[1][0]=='/')||(argv[1][0]=='-')) )
/* Parse command line for options we have been given. */
if ( (argc > 1)&&(argv[1][0]=='/') )
{
if( !_tcsicmp( &argv[1][1], _T("?") ))
{
@@ -400,11 +439,11 @@ int _tmain(int argc, TCHAR *argv[])
else if( !_tcsnicmp( &argv[1][1], _T("ALL"), _tcslen(&argv[1][1]) ))
{
DoAll = TRUE;
}
}
else if( !_tcsnicmp( &argv[1][1], _T("RELEASE"), _tcslen(&argv[1][1]) ))
{
DoRelease = TRUE;
}
DoRelease = TRUE;
}
else if( ! _tcsnicmp( &argv[1][1], _T("RENEW"), _tcslen(&argv[1][1]) ))
{
DoRenew = TRUE;
@@ -413,7 +452,7 @@ int _tmain(int argc, TCHAR *argv[])
{
DoFlushdns = TRUE;
}
else if( ! _tcsnicmp( &argv[1][1], _T("REGISTERDNS"), _tcslen(&argv[1][1]) ))
else if( ! _tcsnicmp( &argv[1][1], _T("FLUSHREGISTERDNS"), _tcslen(&argv[1][1]) ))
{
DoRegisterdns = TRUE;
}
@@ -431,52 +470,50 @@ int _tmain(int argc, TCHAR *argv[])
}
}
switch (argc)
switch (argc)
{
case 1: /* Default behaviour if options are given specified*/
ShowAdapterInfo(FALSE);
case 1: /* Default behaviour if no options are given*/
ShowInfo(FALSE);
break;
case 2: /* Process all the options that take no paramiters */
if ( DoUsage)
usage();
else if ( DoAll)
{
ShowNetworkFixedInfo();
ShowNetworkInterfaces();
ShowAdapterInfo(TRUE);
}
else if ( DoRelease)
printf("\nSorry /Release is not implemented yet\n");
else if ( DoRenew)
printf("\nSorry /Renew is not implemented yet\n");
else if ( DoFlushdns)
printf("\nSorry /Flushdns is not implemented yet\n");
else if ( DoRegisterdns)
printf("\nSorry /Registerdns is not implemented yet\n");
else if ( DoDisplaydns)
printf("\nSorry /Displaydns is not implemented yet\n");
if (DoUsage)
Usage();
else if (DoAll)
ShowInfo(TRUE);
else if (DoRelease)
Release((TCHAR)NULL);
else if (DoRenew)
Renew((TCHAR)NULL);
else if (DoFlushdns)
_tprintf(_T("\nSorry /flushdns is not implemented yet\n"));
else if (DoRegisterdns)
_tprintf(_T("\nSorry /registerdns is not implemented yet\n"));
else if (DoDisplaydns)
_tprintf(_T("\nSorry /displaydns is not implemented yet\n"));
else
usage();
Usage();
break;
case 3: /* Process all the options that can have 1 paramiters */
if ( DoRelease)
printf("\nSorry /Release is not implemented yet\n");
else if ( DoRenew)
printf("\nSorry /Renew is not implemented yet\n");
else if ( DoShowclassid)
printf("\nSorry /Showclassid is not implemented yet\n");
if (DoRelease)
_tprintf(_T("\nSorry /release [adapter] is not implemented yet\n"));
//Release(argv[2]);
else if (DoRenew)
_tprintf(_T("\nSorry /renew [adapter] is not implemented yet\n"));
else if (DoShowclassid)
_tprintf(_T("\nSorry /showclassid adapter is not implemented yet\n"));
else if (DoSetclassid)
_tprintf(_T("\nSorry /setclassid adapter is not implemented yet\n"));
else
usage();
Usage();
break;
case 4: /* Process all the options that can have 2 paramiters */
if ( DoSetclassid)
printf("\nSorry /Setclassid is not implemented yet\n");
if (DoSetclassid)
_tprintf(_T("\nSorry /setclassid adapter [classid]is not implemented yet\n"));
else
usage();
Usage();
break;
default:
usage();
Usage();
}
return 0;

View File

@@ -1,6 +1,5 @@
/* $Id$ */
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS TCP/IPv4 Win32 ipconfig\0"
#define REACTOS_STR_INTERNAL_NAME "ipconfig\0"
#define REACTOS_STR_ORIGINAL_FILENAME "ipconfig.exe\0"
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS TCP/IPv4 Win32 ipconfig\0"
#define REACTOS_STR_INTERNAL_NAME "ipconfig\0"
#define REACTOS_STR_ORIGINAL_FILENAME "ipconfig.exe\0"
#define REACTOS_STR_ORIGINAL_COPYRIGHT "Ged Murphy (gedmurphy@gmail.com)\0"
#include <reactos/version.rc>

View File

@@ -1,10 +1,9 @@
<module name="ipconfig" type="win32cui" installbase="system32" installname="ipconfig.exe" warnings="true">
<include base="ipconfig">.</include>
<define name="__USE_W32API" />
<library>kernel32</library>
<library>user32</library>
<library>iphlpapi</library>
<file>ipconfig.c</file>
<file>trace.c</file>
<file>ipconfig.rc</file>
</module>
<module name="ipconfig" type="win32cui" installbase="system32" installname="ipconfig.exe" allowwarnings="true">
<include base="ipconfig">.</include>
<define name="__USE_W32API" />
<library>kernel32</library>
<library>user32</library>
<library>iphlpapi</library>
<file>ipconfig.c</file>
<file>ipconfig.rc</file>
</module>

View File

@@ -1,53 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Diagnostic Trace
//
#include <stdio.h>
#include <stdarg.h>
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <tchar.h>
#include "trace.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
void _DebugBreak(void)
{
DebugBreak();
}
void Trace(TCHAR* lpszFormat, ...)
{
va_list args;
int nBuf;
TCHAR szBuffer[512];
va_start(args, lpszFormat);
nBuf = _vsntprintf(szBuffer, sizeof(szBuffer)/sizeof(TCHAR), lpszFormat, args);
OutputDebugString(szBuffer);
// was there an error? was the expanded string too long?
//ASSERT(nBuf >= 0);
va_end(args);
}
void Assert(void* assert, TCHAR* file, int line, void* msg)
{
if (msg == NULL) {
printf("ASSERT -- %s occured on line %u of file %s.\n",
assert, line, file);
} else {
printf("ASSERT -- %s occured on line %u of file %s: Message = %s.\n",
assert, line, file, msg);
}
}
#else
void Trace(TCHAR* lpszFormat, ...) { };
void Assert(void* assert, TCHAR* file, int line, void* msg) { };
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////

View File

@@ -1,61 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Diagnostic Trace
//
#ifndef __TRACE_H__
#define __TRACE_H__
#ifdef _DEBUG
#ifdef _X86_
#define BreakPoint() _asm { int 3h }
#else
#define BreakPoint() _DebugBreak()
#endif
#ifndef ASSERT
#define ASSERT(exp) \
{ \
if (!(exp)) { \
Assert(#exp, __FILE__, __LINE__, NULL); \
BreakPoint(); \
} \
} \
#define ASSERTMSG(exp, msg) \
{ \
if (!(exp)) { \
Assert(#exp, __FILE__, __LINE__, msg); \
BreakPoint(); \
} \
}
#endif
//=============================================================================
// MACRO: TRACE()
//=============================================================================
#define TRACE Trace
#else // _DEBUG
//=============================================================================
// Define away MACRO's ASSERT() and TRACE() in non debug builds
//=============================================================================
#ifndef ASSERT
#define ASSERT(exp)
#define ASSERTMSG(exp, msg)
#endif
#define TRACE 0 ? (void)0 : Trace
#endif // !_DEBUG
void Assert(void* assert, TCHAR* file, int line, void* msg);
void Trace(TCHAR* lpszFormat, ...);
#endif // __TRACE_H__
/////////////////////////////////////////////////////////////////////////////

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,60 @@
/* Maximum string lengths for ASCII ip address and port names */
#define HOSTNAMELEN 256
#define PORTNAMELEN 256
#define ADDRESSLEN HOSTNAMELEN+PORTNAMELEN
/* command line options */
BOOL bNoOptions = FALSE; // print default
BOOL bDoShowAllCons = FALSE; // -a
BOOL bDoShowEthStats = FALSE; // -e
BOOL bDoShowNumbers = FALSE; // -n
BOOL bDoShowProtoCons = FALSE; // -p
BOOL bDoShowRouteTable = FALSE; // -r
BOOL bDoShowProtoStats = FALSE; // -s
BOOL bDoDispSeqComp = FALSE; // -v
BOOL bLoopOutput = FALSE; // interval
/* Undocumented extended information structures available only on XP and higher */
typedef struct {
DWORD dwState; // state of the connection
DWORD dwLocalAddr; // address on local computer
DWORD dwLocalPort; // port number on local computer
DWORD dwRemoteAddr; // address on remote computer
DWORD dwRemotePort; // port number on remote computer
DWORD dwProcessId;
} MIB_TCPEXROW, *PMIB_TCPEXROW;
typedef struct {
DWORD dwNumEntries;
MIB_TCPEXROW table;
} MIB_TCPEXTABLE, *PMIB_TCPEXTABLE;
typedef struct {
DWORD dwLocalAddr; // address on local computer
DWORD dwLocalPort; // port number on local computer
DWORD dwProcessId;
} MIB_UDPEXROW, *PMIB_UDPEXROW;
typedef struct {
DWORD dwNumEntries;
MIB_UDPEXROW table;
} MIB_UDPEXTABLE, *PMIB_UDPEXTABLE;
/* function declerations */
BOOL ParseCmdline(int argc, char* argv[]);
BOOL DisplayOutput(VOID);
DWORD DoFormatMessage(DWORD ErrorCode);
VOID ShowIpStatistics(VOID);
VOID ShowIcmpStatistics(VOID);
VOID ShowTcpStatistics(VOID);
VOID ShowUdpStatistics(VOID);
VOID ShowEthernetStatistics(VOID);
VOID ShowTcpTable(VOID);
VOID ShowUdpTable(VOID);
PCHAR GetPortName(UINT Port, PCSTR Proto, CHAR Name[PORTNAMELEN], INT NameLen);
PCHAR GetIpHostName(BOOL local, UINT ipaddr, CHAR name[HOSTNAMELEN], int namelen);
VOID Usage(VOID);

View File

@@ -1,40 +1,7 @@
/* $Id$ */
#include <windows.h>
#include "resource.h"
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS TCP/IPv4 Win32 netstat\0"
#define REACTOS_STR_INTERNAL_NAME "netstat\0"
#define REACTOS_STR_ORIGINAL_FILENAME "netstat.exe\0"
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS TCP/IPv4 Win32 netstat\0"
#define REACTOS_STR_INTERNAL_NAME "netstat\0"
#define REACTOS_STR_ORIGINAL_FILENAME "netstat.exe\0"
#define REACTOS_STR_ORIGINAL_COPYRIGHT "Ged Murphy (gedmurphy@gmail.com)\0"
#include <reactos/version.rc>
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
#ifdef __GNUC__
STRINGTABLE DISCARDABLE
BEGIN
IDS_APP_TITLE "ReactOS netstat"
IDS_APP_USAGE "\n"\
"Displays current TCP/IP protocol statistics and network connections.\n\n"\
"NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]\n\n"\
" -a Displays all connections and listening ports.\n"\
" -e Displays Ethernet statistics. May be combined with -s\n"\
" -n Displays address and port numbers in numeric form.\n"\
" -p proto Shows connections for protocol 'proto' TCP or UDP.\n"\
" If used with the -s option to display\n"\
" per-protocol statistics, 'proto' may be TCP, UDP, or IP.\n"\
" -r Displays the current routing table.\n"\
" -s Displays per-protocol statistics. Statistics are shown for\n"\
" TCP, UDP and IP by default; use -p option to display\n"\
" information about a subset of the protocols only.\n"\
" interval Redisplays selected statistics every 'interval' seconds.\n"\
" Press CTRL+C to stop redisplaying. By default netstat will\n"\
" print the current information only once.\n"
END
#endif

View File

@@ -1,14 +1,13 @@
<module name="netstat" type="win32cui" installbase="system32" installname="netstat.exe" warnings="true">
<include base="netstat">.</include>
<define name="__USE_W32API" />
<define name="_WIN32_IE">0x600</define>
<define name="_WIN32_WINNT">0x501</define>
<library>kernel32</library>
<library>user32</library>
<library>ws2_32</library>
<library>snmpapi</library>
<library>iphlpapi</library>
<file>netstat.c</file>
<file>trace.c</file>
<file>netstat.rc</file>
</module>
<module name="netstat" type="win32cui" installbase="system32" installname="netstat.exe" allowwarnings="true">
<include base="netstat">.</include>
<define name="__USE_W32API" />
<define name="_WIN32_IE">0x600</define>
<define name="_WIN32_WINNT">0x501</define>
<library>kernel32</library>
<library>user32</library>
<library>ws2_32</library>
<library>snmpapi</library>
<library>iphlpapi</library>
<file>netstat.c</file>
<file>netstat.rc</file>
</module>

View File

@@ -1,7 +0,0 @@
#define RES_FIRST_INDEX 1
#define RES_LAST_INDEX 25
#define IDS_APP_TITLE 100
#define IDS_APP_USAGE 101

Some files were not shown because too many files have changed in this diff Show More